[Tuto] Home assistant et MsunPV
- lopes maxime
- Hors Ligne
- Membre premium
-
- Messages : 155
- Remerciements reçus 3
Connexion ou Créer un compte pour participer à la conversation.
- Tochy
- Auteur du sujet
- Absent
- Membre platinium
-
- Messages : 528
- Remerciements reçus 98
msunpv_commandes: "curl -X POST -d 'parS={{ states('input_select.msunpv_command_sortie_1') }};0;0;0;0;0;0;{{ states('input_select.msunpv_command_test_routeur') }};' http://192.168.1.211/index.xml"
msunpv_commandes: "curl -X POST --data-urlencode 'parS={{ states('input_select.msunpv_command_sortie_1') }};0;0;0;0;0;0;{{ states('input_select.msunpv_command_test_routeur') }};' http://192.168.1.211/index.xml"
En fait le : -d devient --data-urlencode
Redémarrage HA
Ensuite tu lances un script du msunpv par exemple script.msunpv_s2_auto et tu regardes si ça allume autorad ou si ça éteint tout.
Pour maxime, tu fais la même modif en veillant bien à ton ip en fin de ligne (j'ai mis celle de joebart dans l'exemple) et tu relance le même test que tu as déjà fait.
Connexion ou Créer un compte pour participer à la conversation.
- lopes maxime
- Hors Ligne
- Membre premium
-
- Messages : 155
- Remerciements reçus 3
manubal
autobal
manurad
autorad
je n est pas essayer les combinaisons mais je pense que si sa fonctionne pour ca sa fonctionne pour le reste .
Connexion ou Créer un compte pour participer à la conversation.
- Tochy
- Auteur du sujet
- Absent
- Membre platinium
-
- Messages : 528
- Remerciements reçus 98
Connexion ou Créer un compte pour participer à la conversation.
- lopes maxime
- Hors Ligne
- Membre premium
-
- Messages : 155
- Remerciements reçus 3
Connexion ou Créer un compte pour participer à la conversation.
- Joebart81
- Hors Ligne
- Membre senior
-
- Messages : 42
- Remerciements reçus 0
"Setup of package 'msunpv_2_2' failed: Invalid package definition 'msunpv_2_2': expected dict for dictionary value @ data. Package will not be initialized"
Connexion ou Créer un compte pour participer à la conversation.
- Tochy
- Auteur du sujet
- Absent
- Membre platinium
-
- Messages : 528
- Remerciements reçus 98
Reprends le contenu complet du fichier sur le github, je les ai mis à jour et remplace ton adresse ip dedans ça devrais être bon.
Connexion ou Créer un compte pour participer à la conversation.
- Joebart81
- Hors Ligne
- Membre senior
-
- Messages : 42
- Remerciements reçus 0
OK j'essaierai de reprendre celui du github complet pour voir, je te tiendrai informé, là j'ai pas la dispo pour le faire.
Connexion ou Créer un compte pour participer à la conversation.
- Tochy
- Auteur du sujet
- Absent
- Membre platinium
-
- Messages : 528
- Remerciements reçus 98
j ai 4.1 Wc
cumulus 3000W
routeur 2x2
2 ssr un pour le cumulus et un pour un radiateur a bain d huile de 1500W
mon radiateur de cuisine fait 1500W et le mode boost lui monte le thermostat a 25° au lieu des 20° ou 17,5° suivant les horaires . ( integrer a HA via mon pilotage elec )
en fait ce que je veut c est priorisé le cumulus , quand celui ci est chaud routage sur le radiateur a bain d huile et donc injection en même temp suivant production .
et si production supérieur a 1800W pendant 1 min et compteur injection supérieur a 0.05 W ( ce qui confirme que le cumulus est plein ) alors démarrage du radiateur cuisine en mode boost et surplus dans le radiateur a bain d huile
Voici l'automatisation que j'ai créé et qui ne se déclenche pas.alias: radiateur cuisine ON description: "" triggers: - trigger: numeric_state entity_id: - sensor.msunpv_powpv for: hours: 0 minutes: 1 seconds: 0 below: -1800 conditions: - condition: numeric_state entity_id: sensor.energie_msunpv_eninj above: 0.05 actions: - device_id: 0210c5381bbf1d21009d1dc719774412 domain: climate entity_id: 5abb37f0e9dbcb3863c4f0efb34197bf type: set_preset_mode preset_mode: boost mode: restart
La raison le plus probable du non déclenchement est que la puissance fournie par les panneaux est déjà inférieure à -1800W au moment de la création de l'automatisation.
En effet, dans HA les triggers (déclencheurs) s'active au moment ou le trigger devient vrai et non pas si il est déjà vrai. Dans le cas ci dessus ça sera au moment ou la puissance des panneaux passera inférieure à -1800W pendant 1 minute et non pas si la puissance est déjà inférieure à -1800W depuis au moins une minute.
A cela s'ajoute la condition que l'injection vers le réseau soit supérieure à 0.05.
Du coup même si la puissance PV passe < -1800W et qu'a ce moment on a pas encore injecté il y'a très peut de chance que l'automatisation se déroule.
Si on rajoute à ça la forme d'une courbe de production :
On voit qu'il n'ya qu'un moment dans la journée ou la puissance PV passe au dessus de 1800W
Il faudrait donc qu'a ce moment précis toutes les conditions soient réunies pour arriver au résultat voulu.
Comment résoudre ce problème
Déjà on a vu au dessus que la puissance PV n'est pas le bon trigger.
On sait dans l'énoncé du problème qu'en temps normal, le cumulus (3000W) chauffe et que le reste part sur un radiateur (1500W) ce qui constitue une puissance de 4500W supérieure à la puissance max des panneaux donc pas de surplus.
Quand le cumulus aura fini sa chauffe on aura alors du surplus.
On pourrait donc partir sur:
Quand powreso < -10W (injection)
Et si powpv < -1800W
Alors passe le radiateur cuisine en boost
Problème: Si au moment du passage en injection on a assez de puissance PV cela ne déclenchera pas non plus.
Le mieux à mon avis est dans ce cas de se baser sur un trigger temporel et ça tombe bien l'intégration du msunpv va chercher les valeurs du routeur toutes les 30s.
Donc je prendrais en trigger:
trigger: state
entity_id:
- sensor.msunpv_xml
Ce qui se traduit par: Quand une valeur du fichier xml du routeur change
Et en pratique c'est toute les 30s
En conditions:
condition: state
entity_id: input_boolean.cumulus_hot
state: "on"
Il y'a aussi la condition:
Et si puissance PV < -1800W
Mais celle là je la garde pour les actions puisque ça va me permettre d'activer ou désactiver le mode boost en fonction de si on est < -1800W ou >-1800W
Et donc en actions:
choose:
- conditions:
- condition: numeric_state
entity_id: sensor.msunpv_powpv
below: -1800
sequence:
- actions:
- device_id: 0210c5381bbf1d21009d1dc719774412
domain: climate
entity_id: 5abb37f0e9dbcb3863c4f0efb34197bf
type: set_preset_mode
preset_mode: boost
et je rajoute une action par défaut
default:
- device_id: 0210c5381bbf1d21009d1dc719774412
domain: climate
entity_id: 5abb37f0e9dbcb3863c4f0efb34197bf
type: set_preset_mode
preset_mode: pas boost
Ce qui nous donne au final:
alias: radiateur cuisine ON
description: ""
triggers:
- trigger: state
entity_id:
- sensor.msunpv_xml
conditions:
- condition: state
entity_id: input_boolean.cumulus_hot
state: "on"
actions:
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.msunpv_powpv
below: -1800
sequence:
- actions:
- device_id: 0210c5381bbf1d21009d1dc719774412
domain: climate
entity_id: 5abb37f0e9dbcb3863c4f0efb34197bf
type: set_preset_mode
preset_mode: boost
default:
- device_id: 0210c5381bbf1d21009d1dc719774412
domain: climate
entity_id: 5abb37f0e9dbcb3863c4f0efb34197bf
type: set_preset_mode
preset_mode: pas boost
mode: single
Donc en résumé:
Toutes les 30S si le cumulus n'est pas chaud, rien ne se passe, l'automatisation s'arrête.
Si le cumulus est chaud, 2 cas possibles:
powpv > -1800W alors mode pas boost sur le radiateur cuisine (action par défaut)
powpv < -1800W alors mode boost sur le radiateur cuisine
30s plus tard au repart au début puisque c'est le cycle de déclenchement de l'automatisation.
On peut améliorer en testant dans les actions si le mode boost est déjà enclencher ou pas.
on aurait dans ce cas la 2 actions distinctes et plus d'action par défaut:
- une option avec si powpv < -1800W et si mode boost = off alors mode boost = on
- une option avec si powpv > -1800W et mode boost = on alors mode boost = off
Je ne dis pas que c'est la meilleure façon de faire, il y en à très certainement d'autre et de plus je n'ai pas tester cette automatisation donc je suis peut être passé à coté de certaines choses.
Je sais que l'on a perdu au passage l'histoire des 1 minute à -1800W mais on ne peut pas le faire directement dans une condition, il faut pour cela passer par un sensor intermédiaire.
La discussion est ouverte.
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Tochy
- Auteur du sujet
- Absent
- Membre platinium
-
- Messages : 528
- Remerciements reçus 98
Pour cela il va falloir détecter une injection sur le réseau.
En premier lieu on crée un input_booléan à l'aide de l'UI (paramètres/appareils et service/entrées) et on choisit interrupteur.
On lui donne l'id: input_boolean.cumulus_hot puisque c'est celui que j'ai choisi dans l'automatisation au dessus.
Ensuite on a besoin de deux automatisations une pour le mettre à ON et une pour le remettre à OFF
Pour mettre à ON
alias: Capteurs - Cumulus chaud
description: ""
triggers:
- entity_id: sensor.msunpv_powreso
for:
hours: 0
minutes: 5
seconds: 0
below: -50
trigger: numeric_state
conditions: []
actions:
- target:
entity_id:
- input_boolean.cumulus_hot
data: {}
action: input_boolean.turn_off
- data: {}
target:
entity_id: input_boolean.cumulus_hot
action: input_boolean.turn_on
mode: single
Pour mettre à OFF
alias: Capteurs - Cumulus reset
description: ""
triggers:
- at: "06:55:00"
trigger: time
conditions: []
actions:
- data: {}
target:
entity_id: input_boolean.cumulus_hot
action: input_boolean.turn_off
mode: single
Connexion ou Créer un compte pour participer à la conversation.
- lopes maxime
- Hors Ligne
- Membre premium
-
- Messages : 155
- Remerciements reçus 3
si j ai bien compris il me faut creer 3 automatismes ?
un pour mettre l interrupteur cumulus chaud en ON .
un pour mettre l interrupteur cumulus chaud en OFF .
un pour mettre le radiateur en mode boost ou pas boost suivant l etat de l interrupteur et la production pv .
par contre pas trop compris pourquoi le off a 6h55?
Connexion ou Créer un compte pour participer à la conversation.
- Tochy
- Auteur du sujet
- Absent
- Membre platinium
-
- Messages : 528
- Remerciements reçus 98
Elle me coupe aussi la marche forcée si j'en ai une de programmer la nuit (juste avant la fin des heures creuses chez moi)
Oui 3 auto, une pour la chauffe, une pour cumulus chaud et une pour remettre le cumulus à froid pour repartir sur un cycle de détection d'injection le lendemain.
Ps: il se peut qu'il y ai des erreurs d'indentation dans le code (ou erreurs tout court d'ailleurs) car n'ayant pas ton sensor.climate j'ai un peu bidouiller. Pareil pour le mode_preset j'ai mis "pas boost" pour changer de mode et je me doute bien que ton mode ne s'appelle pas comme ça.
Connexion ou Créer un compte pour participer à la conversation.
- DarkGamelle
- Hors Ligne
- Membre junior
-
- Messages : 38
- Remerciements reçus 7
Je peux me tromper, mais si le mode boost n'est utilisé que dans le cas d'utilisation du surplus, il y a peut être plus simple et sans s'appuyer sur la production PV.
Au changement d'état du msunpv xml, : tester :
- si injection de plus de 300w et si mode boost non activé alors activation du mode boost
- si consommation et si mode boost activé alors désactivation du mode boost
Connexion ou Créer un compte pour participer à la conversation.
- lopes maxime
- Hors Ligne
- Membre premium
-
- Messages : 155
- Remerciements reçus 3
je ne veut pas forcement du surplus ma condition c est cumulus chaud et -1800W de prod mini radiateur en mode boost si il reste du surplus sa sera pour un radiateur brancher sur un deuxieme ssr , si moins de -1800w pas de boost .
tochy j avais effectivement des erreurs dans yaml
je l ai refait et je n est plus d erreur d indiquer est ce que cela te semble coherent ?
alias: radiateur cuisine ON
description: ""
triggers:
- trigger: state
entity_id:
- sensor.msunpv_xml
conditions:
- condition: state
entity_id: input_boolean.input_boolean_cumulus_hot
state: "on"
- condition: numeric_state
entity_id: sensor.msunpv_powpv
below: -1800
- condition: numeric_state
entity_id: sensor.msunpv_powpv
above: -1800
actions:
- device_id: 0210c5381bbf1d21009d1dc719774412
domain: climate
entity_id: 5abb37f0e9dbcb3863c4f0efb34197bf
type: set_preset_mode
preset_mode: boost
- device_id: 0210c5381bbf1d21009d1dc719774412
domain: climate
entity_id: 5abb37f0e9dbcb3863c4f0efb34197bf
type: set_preset_mode
preset_mode: none
mode: single
je n est pas trouver pour mettre le "default" du coup je trouve que c est contradictoire .
si j enleve la partie "default" et que je creer un quatrieme automatisme simple qui dit si powreso au dessus de 50 pendant 1 min alors radiateur en mode none (pas boost ) sa pourais peut etre le faire .
une auto pour cumulus chaud ON
une auto pour cumulus chaud OFF
une auto pour radiateur BOOST ( si cumulus ON et si -1800 powpv)
une auto pour radiateur NONE
alias: radiateur cuisine ON
description: ""
triggers:
- trigger: state
entity_id:
- sensor.msunpv_xml
conditions:
- condition: state
entity_id: input_boolean.input_boolean_cumulus_hot
state: "on"
- condition: numeric_state
entity_id: sensor.msunpv_powpv
below: -1800
actions:
- device_id: 0210c5381bbf1d21009d1dc719774412
domain: climate
entity_id: 5abb37f0e9dbcb3863c4f0efb34197bf
type: set_preset_mode
preset_mode: boost
mode: single
Connexion ou Créer un compte pour participer à la conversation.
- lopes maxime
- Hors Ligne
- Membre premium
-
- Messages : 155
- Remerciements reçus 3
je ne veut pas forcement du surplus ma condition c est cumulus chaud et -1800W de prod mini radiateur en mode boost si il reste du surplus sa sera pour un radiateur brancher sur un deuxieme ssr , si moins de -1800w pas de boost .
tochy j avais effectivement des erreurs dans yaml
je l ai refait et je n est plus d erreur d indiquer est ce que cela te semble coherent ?
alias: radiateur cuisine ON
description: ""
triggers:
- trigger: state
entity_id:
- sensor.msunpv_xml
conditions:
- condition: state
entity_id: input_boolean.input_boolean_cumulus_hot
state: "on"
- condition: numeric_state
entity_id: sensor.msunpv_powpv
below: -1800
- condition: numeric_state
entity_id: sensor.msunpv_powpv
above: -1800
actions:
- device_id: 0210c5381bbf1d21009d1dc719774412
domain: climate
entity_id: 5abb37f0e9dbcb3863c4f0efb34197bf
type: set_preset_mode
preset_mode: boost
- device_id: 0210c5381bbf1d21009d1dc719774412
domain: climate
entity_id: 5abb37f0e9dbcb3863c4f0efb34197bf
type: set_preset_mode
preset_mode: none
mode: single
je n est pas trouver pour mettre le "default" du coup je trouve que c est contradictoire .
si j enleve la partie "default" et que je creer un quatrieme automatisme simple qui dit si powreso au dessus de 50 pendant 1 min alors radiateur en mode none (pas boost ) sa pourais peut etre le faire .
une auto pour cumulus chaud ON
une auto pour cumulus chaud OFF
une auto pour radiateur BOOST ( si cumulus ON et si -1800 powpv)
une auto pour radiateur NONE
alias: radiateur cuisine ON
description: ""
triggers:
- trigger: state
entity_id:
- sensor.msunpv_xml
conditions:
- condition: state
entity_id: input_boolean.input_boolean_cumulus_hot
state: "on"
- condition: numeric_state
entity_id: sensor.msunpv_powpv
below: -1800
actions:
- device_id: 0210c5381bbf1d21009d1dc719774412
domain: climate
entity_id: 5abb37f0e9dbcb3863c4f0efb34197bf
type: set_preset_mode
preset_mode: boost
mode: single
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
MSun-PV
-
Vos installations
- [Tuto] Home assistant et MsunPV