Routeur Solaire

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 :slight_smile:

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 :slight_smile:

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. :wink:

Oh ça va AlexHass !!! Lol

Ça progresse tout doucement…

Bon week-end à vous tous

Eric

1 « J'aime »