[Tuto] Home assistant et MsunPV

Plus d'informations
04 Juil 2023 11:27 - 04 Juil 2023 11:33 #61 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
Bonjour
Au vu des valeurs sur tes graphiques je pense que tu as un problème d'échelle sur tes valeurs de enconso, enpv_j et eninj.
Vérifie que tu soit bien soit en kWh soit en Wh car j'ai l'impression que tes valeurs sont divisées par 1000.

A la base sur le tuto je travaille de partout en Wh car de base mon routeur me remonte des Wh et c'est pour cela que quand j'ai créé les sensors énergie j'ai fait une division par 1000 car le dashboard énergie demandait des kWh
Si jamais ton routeur remonte des kWh (il me semble que c'est possible maintenant) alors il faudra enlevé la division par 1000 dans le code des sensors énergie
Dernière édition: 04 Juil 2023 11:33 par Tochy.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
05 Juil 2023 08:15 #62 par M@tt
Réponse de M@tt sur le sujet [Tuto] Home assistant et MsunPV
Super merci.
En fait la division par 1000 était bonne, ptêtre un truc qui avait pas été pris en compte. Ça fonctionne maintenant.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
09 Aoû 2023 07:34 #63 par Paps42
Réponse de Paps42 sur le sujet [Tuto] Home assistant et MsunPV
Salut Tochy,

je me permet de revenir vers toi puisque j'ai un problème avec mes shell_command.

j'ai remarqué ce matin que lorsque je lance mon script j'ai une erreur :
Échec de l'appel du service script/script_off_sortie3. 'utf-8' codec can't decode byte 0xe9 in position 162: invalid continuation byte

j'ai regardé ce qui bloque et c'est la shell_command. cela fonctionnait parfaitement chez moi jusqu'a encore une mise a jour je suppose.
de mon coté, j'ai pas trouvé ce qui cloche.

je voulais savoir si chez toi cela fonctionne ?
si tu as une idée de ce qui merdouille ?

tiens moi au courant.

@+

ps: voici ci dessous mes commandes :
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
09 Aoû 2023 10:55 #64 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
Je viens de regarder et j'ai aussi le même genre d'erreur dans mes journaux par contre de mon coté cela n'empêche pas mes commandes de fonctionner. Bizarre.
Je pense comme toi que cela est du à une mise a jour récente de HA. Va falloir investiguer

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
09 Aoû 2023 12:26 #65 par Paps42
Réponse de Paps42 sur le sujet [Tuto] Home assistant et MsunPV
Effectivement la commande fonctionne malgré l'erreur aussi chez moi !

enfin presque, le script est lancé et se fait en partie puisque l'erreur bloque sur l'envoi de la commande (qui elle fonctionne et est exécuté).
et comme dans mon script, sur tes conseils, j'avais mis la requête de réactualisation du statut par rapport au xml du msunpv, et bien, cette réactualisation ne fonctionne pas.

du coup le statut de mon bouton ne reviens pas immédiatement, il me faut attendre le délai de réactualisation de la requête automatique toutes les 30 secondes.
(j'ai contourné le problème en créant une automatisation pour lancer une requête d'actualisation chaque fois qu'un sensors de mon msunpv est modifié et la cela fonctionne.)

je pense que ce problème doit venir d'une mise a jour si cela le fait aussi chez toi.
c'est ca qui est pénible par rapport au mise a jour, cela n'apporte pas toujours que du bon.

en tout cas si de ton coté tu trouve a solutionner différemment ce problème, tiens nous informé.

Merci a toi.

@+

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
10 Aoû 2023 21:08 #66 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
A priori l'erreur viendrai d'un problème sur l'encodage du fichier xml du routeur qui serai en iso-8859-1 alors que la commande curl sur home assistant s'effectue elle en utf-8. Surtout la réponse de la commande curl en fait.
Du coup l'erreur se produit à cause des caractères accentués contenu dans le xml, byte 0xe9 correspondant à un "é".

Ne pouvant pas agir sur l'encodage du fichier xml, j'ai essayé de dire à curl de travaillé en format iso-8859-1 mais sans succès. Je sais même pas si c'est possible dans home assistant d'ailleurs à mins d'aller faire des modifs dans les fichiers système peut être.
Du coup aujourd'hui y repensant je me suis dit que par msapp on pouvait changer certains noms de commandes sans savoir si le xml était généré avec des nom prédéfinis ou avec ceux que l'on choisissait (Ce qui me paraissait le plus probable d'ailleurs).

J'ai donc modifié ma config sur msapp pour virer tous les accents présents, le but étant de n'avoir plus que des caractères qui sont encodés de la même façon en iso-8859-1 qu'en utf-8.
Pour ma par je n'en avait que 3 (config par défaut sur un deux voies).

J'ai modifé :
- Le nom PowRéso de S1 PowReso en PowReso dans l'onglet entrées/sorties de msapp
- Le nom VoltRés de S5 VoltRes en VoltRes dans l'onglet entrées/sorties de msapp
- Dans les paramètres de Cmd8 Test Routeur dans l'onglet commandes de msapp, le nom de Zéro par Zero

Suite à ça j'ai appliqué la nouvelle config et fait affiché le xml dans un navigateur pour voir si j'avais toujours des accents ou pas. Il n'y en avait plus. J'ai testé la commande sur home assistant et je n'ai plus d'erreur.
Après ça je me suis félicité de n'avoir mis aucun accent quand j'ai écrit tous les sensors pour le MsunPv dans home assistant. :lol: (déjà qu'un de ces quatre il va falloir que je corrige les float et les int pour avoir une valeur par defaut)

A toi de jouer
Les utilisateur(s) suivant ont remercié: etienneroussel

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
11 Aoû 2023 08:12 #67 par Paps42
Réponse de Paps42 sur le sujet [Tuto] Home assistant et MsunPV
Tochy, t'es un killer ... :)

je vais essayer cette modif dans le weekend, je te tiendrais informé.

Merci de tes investigations et du partage de la solution.

@+, bon weekend

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
22 Aoû 2023 11:40 #68 par syl2222fr
Réponse de syl2222fr sur le sujet [Tuto] Home assistant et MsunPV
+1 . T'est un super Killer.

Avant hier, suite à une grosse conso clim en journée , mon automatisation avait décidé de chauffer le CE la nuit (pfff, en plein été ....) et j'avais rencontré ce bug.
A peine rencontré, à peine réparé !
Merci à toi

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
01 Sep 2023 17:24 #69 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
Nouvelle méthode pour intégrer le MsunPV à home assistant

Afin de rendre l'intégration du MsunPV plus simple et plus accessible aux débutants, j'ai profité de la réécriture des template sensors pour les rendre conforme à la "nouvelle norme" de home assistant, pour tout rassemblé en un seul et même fichier que vous pouvez télécharger à la fin de ce post.

Ce fichier comprend les sensors pour les entrées, les compteurs, les commandes et également les sensors pour le dashboard énérgie de home assistant.


Méthode d'installation :

- Télécharger le fichier msunpv.zip à la fin de ce post et en extraire le fichier msunpv.yaml
- Dans le répertoire config de home assistant créer un répertoire nommé packages (si il n'est pas déjà présent)
- Dans ce répertoire packages coller simplement le fichier msunpv.yaml
- Ouvrir le fichier msunpv.yaml pour remplacer "IP_DU_MSUNPV" par l'adresse IP de votre routeur partout ou cela est nécessaire (11 fois)
- Ouvrir le fichier configuration.yaml et ajouter les lignes suivantes (si elles ne sont pas déjà présentes)
homeassistant:
  packages: !include_dir_named packages
- Faire une vérification de la configuration à l'aide des outils de développement de home assistant pour vérifier que tout est bon et relancer home assistant
- c'est tout


Le code du fichier msunpv.yaml :
#Fichier de configuration des sensors msunpv

rest:
  #Récupération des données
  - resource: http://IP_DU_MSUNPV/status.xml
    scan_interval: 20
    method: GET
    sensor:
      - name: "msunpv_xml"
        json_attributes_path: "$.xml"
        value_template: "OK"
        json_attributes:
          - "inAns"
          - "cmdPos"
          - "cptVals"

template:
  - sensor:
      #Les entrées
      - name: msunpv_powreso #Puissance réseau
        unique_id: "msunpv_powreso"
        state: >-
          {{ (state_attr('sensor.msunpv_xml', 'inAns')|replace(" ","")|replace(",",".")).split(";")[0] |float }}
        device_class: power
        unit_of_measurement: "W"

      - name: msunpv_powpv #Puissance panneaux
        unique_id: "msunpv_powpv"
        state: >-
          {{ (state_attr('sensor.msunpv_xml', 'inAns')|replace(" ","")|replace(",",".")).split(";")[1] |float }}
        device_class: power
        unit_of_measurement: "W"

      - name: msunpv_outbal #% routage cumulus
        unique_id: "msunpv_outbal"
        state: >-
          {{ (state_attr('sensor.msunpv_xml', 'inAns')|replace(" ","")|replace(",",".")).split(";")[2] |int }}
        unit_of_measurement: "%"

      - name: msunpv_outrad #% routage radiateur
        unique_id: "msunpv_outrad"
        state: >-
          {{ (state_attr('sensor.msunpv_xml', 'inAns')|replace(" ","")|replace(",",".")).split(";")[3] |int }}
        unit_of_measurement: "%"

      - name: msunpv_voltres #Tension réseau
        unique_id: "msunpv_voltres"
        state: >-
          {{ (state_attr('sensor.msunpv_xml', 'inAns')|replace(" ","")|replace(",",".")).split(";")[4] |float }}
        unit_of_measurement: "V"

      - name: msunpv_t_bal1 #Température cumulus
        unique_id: "msunpv_t_bal1"
        state: >-
          {{ (state_attr('sensor.msunpv_xml', 'inAns')|replace(" ","")|replace(",",".")).split(";")[5] |float }}
        unit_of_measurement: "°C"

      - name: msunpv_t_sdb #Température salle de bain
        unique_id: "msunpv_t_sdb"
        state: >-
          {{ (state_attr('sensor.msunpv_xml', 'inAns')|replace(" ","")|replace(",",".")).split(";")[6] |float }}
        unit_of_measurement: "°C"

      - name: msunpv_t_amb #Température ambiante
        unique_id: "msunpv_t_amb"
        state: >-
          {{ (state_attr('sensor.msunpv_xml', 'inAns')|replace(" ","")|replace(",",".")).split(";")[7] |float }}
        unit_of_measurement: "°C"

      #Les compteurs
      - name: msunpv_enconso #Consommation réseau journalière
        unique_id: "msunpv_enconso"
        state: >-
          {% set cptVals =state_attr('sensor.msunpv_xml', 'cptVals')|replace(" ","") %}
          {{ cptVals.split(";")[0]|int(base=16)/10 |float }}
        unit_of_measurement: "Wh"
        device_class: energy

      - name: msunpv_eninj #Production injectée journalière
        unique_id: "msunpv_eninj"
        state: >-
          {% set cptVals =state_attr('sensor.msunpv_xml', 'cptVals')|replace(" ","") %}
          {{ (0 if cptVals.split(";")[1]|int(base=16)|int == 0 else ((0xFFFFFFFF - cptVals.split(";")[1]|int(base=16)) * -1)/10) |float }}
        unit_of_measurement: "Wh"
        device_class: energy

      - name: msunpv_enpv_j #Production panneaux journalière
        unique_id: "msunpv_enpv_j"
        state: >-
          {% set cptVals =state_attr('sensor.msunpv_xml', 'cptVals')|replace(" ","") %}
          {{ (0 if cptVals.split(";")[2]|int(base=16)|int == 0 else ((0xFFFFFFFF - cptVals.split(";")[2]|int(base=16)) * -1)/10) |float }}
        unit_of_measurement: "Wh"
        device_class: energy

      - name: msunpv_enpv_p #Production panneaux totale
        unique_id: "msunpv_enpv_p"
        state: >-
          {% set cptVals =state_attr('sensor.msunpv_xml', 'cptVals')|replace(" ","") %}
          {{ (0 if cptVals.split(";")[3]|int(base=16)|int == 0 else ((0xFFFFFFFF - cptVals.split(";")[3]|int(base=16)) * -1)/10) |float }}
        unit_of_measurement: "Wh"
        device_class: energy

      #Les commandes manu/auto/test routeur
      - name: msunpv_cmdpos
        unique_id: "msunpv_cmdpos"
        state: >-
          {{ state_attr('sensor.msunpv_xml', 'cmdPos') }}

      # template sensors for dashboard energy
      - name: "energie_enconso" #Consommation journalière
        unit_of_measurement: "kWh"
        state: "{{ (states('sensor.msunpv_enconso')|float /1000) }}"
        device_class: energy
        state_class: total_increasing

      - name: "energie_enpv_j" #Production panneaux journalière
        unit_of_measurement: "kWh"
        state: "{{ (states('sensor.msunpv_enpv_j')|float /1000 *-1) }}"
        device_class: energy
        state_class: total_increasing

      - name: "energie_eninj" #Production injectée journalière
        unit_of_measurement: "kWh"
        state: "{{ (states('sensor.msunpv_eninj')|float /1000 *-1) }}"
        device_class: energy
        state_class: total_increasing

shell_command:
  #Commandes msunpv
  msunpv_manubal_on: "curl -X POST -d 'parS=1;0;0;0;0;0;0;2;' http://IP_DU_MSUNPV/index.xml"
  msunpv_autobal_on: "curl -X POST -d 'parS=2;0;0;0;0;0;0;2;' http://IP_DU_MSUNPV/index.xml"
  msunpv_manurad_on: "curl -X POST -d 'parS=4;0;0;0;0;0;0;2;' http://IP_DU_MSUNPV/index.xml"
  msunpv_autorad_on: "curl -X POST -d 'parS=8;0;0;0;0;0;0;2;' http://IP_DU_MSUNPV/index.xml"
  msunpv_manubal_manurad_on: "curl -X POST -d 'parS=5;0;0;0;0;0;0;2;' http://IP_DU_MSUNPV/index.xml"
  msunpv_manubal_autorad_on: "curl -X POST -d 'parS=9;0;0;0;0;0;0;2;' http://IP_DU_MSUNPV/index.xml"
  msunpv_autobal_manurad_on: "curl -X POST -d 'parS=6;0;0;0;0;0;0;2;' http://IP_DU_MSUNPV/index.xml"
  msunpv_autobal_autorad_on: "curl -X POST -d 'parS=10;0;0;0;0;0;0;2;' http://IP_DU_MSUNPV/index.xml"
  msunpv_reset_commandes: "curl -X POST -d 'parS=0;0;0;0;0;0;0;2;' http://IP_DU_MSUNPV/index.xml"
  msunpv_arret_routage: "curl -X POST -d 'parS=0;0;0;0;0;0;0;1;' http://IP_DU_MSUNPV/index.xml"

Pour les explications concernant le fonctionnement vous pouvez vous reporter au premier post de ce sujet elles restent valables.

Si vous avez déjà intégré le routeur à home assistant par l'ancienne méthode et que vous n'avez effectué aucun changement dans le code vous pouvez très bien supprimer les anciens sensors et mettre en place les nouveaux, tout continuera à fonctionné de la même façon, historique compris.
Si vous avez modifié des noms de sensors et autres (valeurs de compteurs en positif, W au lieu de pourcentage etc.) il faudra faire les même modifications sur le nouveau code pour que le changement (si vous souhaitez le faire) soit transparent. Franchement rien d'insurmontable et le changement n'ai pas obligatoire.

Le fichier msunpv :

Fichier attaché :

Nom du fichier : msunpv.zip
Taille du ficher :1 ko
Pièces jointes :
Les utilisateur(s) suivant ont remercié: etienneroussel, Soleilll, DarkGamelle

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
03 Sep 2023 09:50 #70 par Computer
Réponse de Computer sur le sujet [Tuto] Home assistant et MsunPV
Un grand merci à toi Tochy ;)
Je vais essayer ça dès que possible.
Super partage

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
03 Sep 2023 10:17 #71 par DarkGamelle
Réponse de DarkGamelle sur le sujet [Tuto] Home assistant et MsunPV
Un grand Merci Tochy !
Pouvoir ajouter les potentialités d'Home Assistant au MsunPv, c est vraiment Top!
Ça devrait me faciliter la tâche pour gérer mes consommateurs qui ne sont pas connectés sur mon tableau électrique principal (pompe de piscine par exemple) , gérer la limitation d'injection, etc...
J ai hâte de recevoir mon routeur pour mettre en place tout ça ;)
Bonne journée ensoleillé.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
13 Sep 2023 14:09 #72 par syl2222fr
Réponse de syl2222fr sur le sujet [Tuto] Home assistant et MsunPV
Salut.

A tout hasard, l'un d'entre vous a déja installé la Maj 104a sur son routeur ?
A-t'il constaté une régression versus HA ?

J'avoue ne pas avoir le temps de faire l'ensemble des tests :(

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
13 Sep 2023 17:12 #73 par etienneroussel
Réponse de etienneroussel sur le sujet [Tuto] Home assistant et MsunPV

Salut.

A tout hasard, l'un d'entre vous a déja installé la Maj 104a sur son routeur ?
A-t'il constaté une régression versus HA ?

J'avoue ne pas avoir le temps de faire l'ensemble des tests :(

Salut, idem pour moi, tout marche impeccable tant niveau routeur que HA donc flemme pour l'instant de tout refaire, j'attends d'avoir de la dispo ;)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
13 Sep 2023 18:28 #74 par Tochy
Réponse de Tochy sur le sujet [Tuto] Home assistant et MsunPV
De ce que j'en ai compris car je n'ai pas fait la mise à jour, à partir du moment où tu remets ta config il ne devrait y avoir aucune différence.
Par contre pour les nouvelles config de bases il faudra peut être ajuster au niveau de pow_pv et des compteurs qui seront maintenant en positif.
Il faudrait que j'ai entre les mains un fichier status.xml de la nouvelle version pour être sûr.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
13 Sep 2023 19:43 #75 par patrick
Réponse de patrick sur le sujet [Tuto] Home assistant et MsunPV
Toutafé, à part cette inversion de PowPV et des compteurs associés, tout devrait fonctionner de la même façon.

Connexion ou Créer un compte pour participer à la conversation.

Propulsé par Kunena