Bonjour à toutes et à tous,
J’ai mis en service la semaine dernière mon installations photovoltaïque.
J’ai un onduleur solaire qui me fait remonter une info surplus de production.
J’aimerais piloter un dimmer Robotdyn, que j’ai déjà avec une Wemos d1 mini sous esphome pour moduler la puissance de mon ECS, avec mon surplus donc.
Jusqu’ici tout va bien.
Sauf que je suis encore une quiche en template et autre dans HA, venant récemment de Domoticz.
J’ai cherché partout dans les blueprints et sur internet, je n’ai rien trouvé. A moins que j’ai mal cherché…
J’en appel donc à votre aide, à charge de revanche, pour m’aider à programmer cela.
J’ai donc un sensor.solarman_feed_in_out_power qui me donne mon surplus.
Voilà j’espère susciter votre attention et votre aide…
Merci par avance.
System Information
version |
core-2023.3.0 |
installation_type |
Home Assistant OS |
dev |
false |
hassio |
true |
docker |
true |
user |
root |
virtualenv |
false |
python_version |
3.10.10 |
os_name |
Linux |
os_version |
5.15.84-v8 |
arch |
aarch64 |
timezone |
Europe/Paris |
config_dir |
/config |
Home Assistant Community Store
GitHub API |
ok |
GitHub Content |
ok |
GitHub Web |
ok |
GitHub API Calls Remaining |
4847 |
Installed Version |
1.31.0 |
Stage |
running |
Available Repositories |
1243 |
Downloaded Repositories |
7 |
Home Assistant Cloud
logged_in |
false |
can_reach_cert_server |
ok |
can_reach_cloud_auth |
ok |
can_reach_cloud |
ok |
Home Assistant Supervisor
host_os |
Home Assistant OS 9.5 |
update_channel |
stable |
supervisor_version |
supervisor-2023.01.1 |
agent_version |
1.4.1 |
docker_version |
20.10.22 |
disk_total |
228.5 GB |
disk_used |
7.1 GB |
healthy |
true |
supported |
true |
board |
rpi4-64 |
supervisor_api |
ok |
version_api |
ok |
installed_addons |
Mosquitto broker (6.1.3), ESPHome (2023.2.4), File editor (5.5.0), Samba share (10.0.0), Zigbee2MQTT (1.30.2-1), Home Assistant Google Drive Backup (0.110.1) |
Dashboards
dashboards |
1 |
resources |
1 |
views |
7 |
mode |
storage |
Recorder
oldest_recorder_run |
22 février 2023 à 13:06 |
current_recorder_run |
2 mars 2023 à 15:41 |
estimated_db_size |
226.18 MiB |
database_engine |
sqlite |
database_version |
3.38.5 |
En clair il me faut créer le code qui me permettra de faire varier la commande du robotdyn entre 25% et 100% avec un surplus solaire variant entre 600 w et 2400 w…
J’espère que j’ai été clair…
Merci par avance.
Salut,
tu ne devrais pas avoir besoin d’un blueprint pour ça, ce serait de la triche 
Voici quelques pistes:
Tu peux commencer par créer un automatisation qui aura pour déclencheur l’état numérique de ton surplus. Ca, ça devrait être faisable facilement.
Ceci aura pour conséquence que l’automatisation sera déclenchée à chaque changement de cette valeur.
La question est ensuite de savoir comment tu veux gérer les variations, que ce soit les nuages qui font chuter la prod ou le mirco-onde qui s’allume…
En gros si tu n’as plus de surplus tu veux tout couper tout de suite?
Après le calcul de % c’est à faire avec une expression template qui je suppose sera une règle de 3.
Ca peut se construire en passant par « outils de dev »>« modèles ».
Et les calculs ressemblent à quelque chose comme ça, pour calculer le % à appliquer.
{{ states.sensor.solarman_feed_in_out_power.state | int * 100 / 2400 }}
Il y a surement des choses à ajouter, si ton « feed in out » peut être négative ou positive.
Mais ce que je ferais c’est créer une entité de type sensor template, qui va avoir comme valeur de résultat du calcul ci-dessus, ce qui te permettre à tout moment d’avoir le %age d’ouverture théorique du dimmer en fonction du surplus.
Ceci permettra ensuite d’utiliser cette valeur dans l’automatisation pour changer sur ton esp quand tu le décide.
La doc des sensor template:
Ouchhhh que cela me paraît compliqué !!!
Je vais regarder cela…
Merci à toi pour tes explications.
Mais je sens que je ne suis pas sorti de l’auberge, n’ayant pas encore intégré la logique d’HA.
Mais non.
Rien de vraiment compliqué faut prendre étape par étape.
Après c’est sûr construire une logique comme ça sans d’abord faire d’autres choses pour comprendre un minimum avant de se lancer, c’est pas le mieux.
- faire des automatisations de base pour voir comment ça marche.
- créer des sensor template.
- se familiariser avec les expressions template.
C’est pour ça qu’une première étape pourrait être de se lancer à créer le sensor template que je disais.
Y’a pas de risque, ça ne va rien casser ni toucher a ton chauffe-eau 
Ce sujet, me fait fortement penser a ce topics ( sorry en anglais ) mais l’automatisation en elle-même est très parlante, donc même ceux qui l’anglais n’est pas la langue devrait arriver a comprendre :
Bonjour à tous,
@bmbleu , tu as le routeur de Cylric si tu veux .
Il est présent sur le forum photovoltaique et Apper solaire,
Il utilise un dimmer robodyn , HA …
A+
Thierry
Bonjour Thierry,
J’ai vu les travaux de Cylric, seulement, d’après ce que j’en ai vu, ce n’est pas en intégration directe dans HA…
Il faut passer par MQTT, que je n’utilise pas…
Hé ben ça à l’air de fonctionner…
Bon à peaufiner, mais ça avance.
Merci à vous tous pour votre aide
Maintenant, il faut que le résultat de mon calcul soit entre 25 et 100 ( % )
template:
- sensor:
name: « commande dimmer »
state: >
{{ states.sensor.solarman_feed_in_out_power.state | int * 100 / 2.5 }}
De plus, cette valeur ce suit pas les fluctuations de surplus.
Quand je regarde dans état / outil de développement, cela me ramène au redémarrage de HA
Comment dois-je faire ?
Pour les fluctuations, j’ai compris: le state class de ce sensor n’était pas renseigné…
Par contre, j’ai cherché depuis ce matin à limiter ma valeur maxi de commande_dimmer à 100, j’ai pas trouvé.
Et j’ai une ébauche d’automatisation qui ne fonctionne pas:
- id: ‹ 1677855143248 ›
alias: essai modulation ecs
description: ‹ ›
trigger:
- platform: numeric_state
entity_id: sensor.commande_dimmer
above: 25
condition: []
action:
- type: turn_on
device_id: 3c787ffc504dd694563aa0287ab59629
entity_id: light.dimmer_ecs_dimmer_ecs
domain: light
brightness_pct: ‹ {{ states(commande_dimmer) }} ›
mode: single
C’est la partie en vert qui ne fonctionne pas. Quand je met une valeur numérique à la place, cela fonctionne… Je sèche
Et pour mon maxi à 100, j’ai essayé ceci, mais sans résultats:
template:
-
sensor:
name: « commande_dimmer »
state: >
{{ min((states.sensor.solarman_input_output_power.state ) | int * 100 / 2.4 ) | round (0), 100) }}
Et la valeur calculée par mon template n’est pas un nombre entier…
template:
- sensor:
name: « commande_dimmer »
state: >
{{ states.sensor.solarman_input_output_power.state | int * 100 / 2.4 }}
J’y comprends plus rien du tout !!!`
`
Essaye min
pour limiter à 100, round
pour convertir en entier dans les templates.
J’ai essayé, j’ai mis l’essai en ligne, mais cela ne fonctionne pas:
{{ min((states.sensor.solarman_input_output_power.state ) | int * 100 / 2.4 ) | round (0), 100) }}
Si tu regardes dans le debugger de template tu vas voir que l’expression n’est pas bonne:
Il manque une ) fermante.
Celle-là marche (à adapter en fonction de ce que tu veux faire:
{{ min((states.sensor.solarman_input_output_power.state | int) * 100 / 2.4 | round(0) , 100) }}
Le debugger (Outil de dev / Modèle) est ton ami pour ce genre de problème.
2 « J'aime »
Bonjour à toutes et à tous, bonjour Jean-Marc,
Ah ben fallait me le dire que ça existait !!! LOL
Je vais regarder cela un peu plus tard…
Merci à tous pour le coup de main !!!
Eric
Je l’avais dit dans le premier message. 
Oh ça va AlexHass !!! Lol
Ça progresse tout doucement…
Bon week-end à vous tous
Eric
1 « J'aime »