Oui c’est mieux l’été, on est d’accord.
Salut , Merci pour ta contribution.
J’essaye de mettre en place ton intégration pour la charge de mon véhicule EV renault, piloté par une borne lektrico. Cette borne n’a pas d’entité switch pour activer ou stoper la charge mais une entité de type button : button.1p7k_charge_start.
Du coup lors de l’ajoute de ton intégration j’ai ce message:
Invalid config for [solar_optimizer]: Entity button.1p7k_charge_start belongs to domain button, expected ['input_boolean', 'switch', 'humidifier', 'climate'] for dictionary value @ data['solar_optimizer']['devices'][0]['entity_id']. Got 'button.1p7k_charge_start'. (See /config/configuration.yaml, line 29).
On dirait que l’intégration ne prend pas en charge mon cas.
Tu aurais une solution à me proposer ?
merci
Floppy84
Bonjour,
J’aimerais dimmer un convecteur avec un robotdyn et un Esp32 sous esphome j’ai déjà un routeur Maxpv sur mon ballon mais j’ai toujours de l’export je cherche à diriger ce surplus dans un radiateur. J’ai installé solar Optimizer, j’ai bien les capteurs de l’intégration, mais je sèche sur la partie lovelace et la carte, je ne sais où mettre ces codes. Et si vous aviez un exemple avec le module robotdyn je suis preneur.
Merci Laurent
Bonjour,
oui en effet les entités button ne sont pas possibles pour l’instant. J’avoue que je ne savais même pas ca existait.
Si tu veux bien m’ajouter une issue de type Feature request dans Githib je le ferais dès que j’ai un moment (pas tout de suite en tout cas).
En attendant tu peux toujours te faire un switch virtuel qui va commander ton button et mettre ce switch virtuel dans Solar Optimizer.
Un exemple dans un autre contexte (à adapter):
- platform:template
switches:
radiator_soan:
friendly_name: radiator_soan_inv
value_template: "{{ is_state('switch.radiateur_soan', 'off') }}"
turn on:
service: switch.turn_off <-------- button.turn_off si ca existe
data:
entity_id: switch.radiateur_soan
turn_off:
service: switch.turn_on <--------- button.turn_on
data:
entity_id: switch.radiateur_soan
icon_template: "{% if is_state('switch.radiateur_soan', 'on') %}mdi:radiator-disabled{% else %}mdi:radiator{% endif %}"
Bonjour,
Non je n’ai pas d’exemple avec un Robodyn mais coté HA il est vu comment ? C’est une entité number ? Si oui, il faut adapter l’exemple donné pour une Tesla et ça doit marcher.
J’ai bien créé un switch virtuel ça a l’air de marcher mais je ne comprends pas la fin de la procédure d’installation pour avoir l’interface lovelace ou mettre ce code?
Pour le robotdyn sous esphome je m’en occupe cette semaine je vous dirai, merci pour la réponse
Salut, yes je vais te créer ca. merci
En tout cas le workaround du virtual switch a l’air ok avec la syntax suivante pour info :
switch:
- platform: template
switches:
switch_button_1p7k:
friendly_name: swtich_button_1p7k_charge
value_template: "{{ is_state('switch.button_1p7k', 'off') }}"
turn_off:
service: button.press
data: {}
target:
entity_id: button.1p7k_charge_stop
turn_on:
service: button.press
data: {}
target:
entity_id: button.1p7k_charge_start
icon_template: "{% if is_state('switch.button_1p7k', 'on') %}mdi:car-electric-outline{% else %}mdi:car-electric{% endif %}"
Par contre pour l’histoire de la page lovelace, j’ai pas tout saisi. J’ai créé une nouvelle page, ou j’ai collé ton template. J’ai ensuite ajouté une custom card avec le code fourni, et j’obtiens un truc qui me laisse penser que je fais n’importe quoi :
Cannot read properties of undefined (reading 'managed_device_power')
Je ne sais pas si l’intégration fonctionne encore, car je me suis contenté d’ajouter les input_number et faire l’intégration et vérifié la création des entité. Je check ca demain.
Merci
Cordialement,
Le code declutering template se met en haut de page du dashboard qui en a besoin.
Pour cela il faut

Puis (toujours les 3 …),
Choisir ‹ editeur de configuration ›.
Il faut mettre le code tout en haut de la page (et bien sur avoir installé l’intégration decluttering_template).
Y a des conversations qui en parle mieux qu’ici au besoin dans ce forum.
Alors suite pour l’intégration du robotdyn.
une fois installé avec un esp32 et esphome, j’ai une entité Light ou je peu régler le brightness de 0 à 255. J’ai donc linké cette entité à un switch, et également (avec une automation) couplé un input number avec la valeur de brightness. J’ai un Tor sur l’arrivée électrique générale en positif quand je consomme et négatif en surproduction et la production solaire disponible via l’onduleur.
Je n’ai pas eu le temps de me penché sur la partie lovelace et declutering template.
J’ai bien des valeurs dans les entités Solar Optimizer mais seulement la journée, et avec tout ces switch je ne sais pas lesquelles activer?
Merci Laurent
Voici 1 des problèmes:
Logger: homeassistant.components.sensor
Source: components/sensor/__init__.py:528
Integration: Capteur (documentation, issues)
First occurred: 18:24:37 (3 occurrences)
Last logged: 18:24:37
Entity sensor.total_power (<class 'custom_components.solar_optimizer.sensor.SolarOptimizerSensorEntity'>) is using state class 'total' which is impossible considering device class ('power') it is using; expected None or one of 'measurement'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/jmcollin78/solar_optimizer/issues
Entity sensor.power_production (<class 'custom_components.solar_optimizer.sensor.SolarOptimizerSensorEntity'>) is using state class 'total' which is impossible considering device class ('power') it is using; expected None or one of 'measurement'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/jmcollin78/solar_optimizer/issues
Entity sensor.power_production_brut (<class 'custom_components.solar_optimizer.sensor.SolarOptimizerSensorEntity'>) is using state class 'total' which is impossible considering device class ('power') it is using; expected None or one of 'measurement'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/jmcollin78/solar_optimizer/issues
Et le 2ème
Cette erreur provient d'une intégration personnalisée
Logger: custom_components.solar_optimizer.coordinator
Source: custom_components/solar_optimizer/coordinator.py:115
Integration: solar_optimizer (documentation, issues)
First occurred: 18:24:59 (5 occurrences)
Last logged: 18:44:58
Power production is not valued. Solar Optimizer will be disabled
Voici ma configuration yaml
algorithm:
initial_temp: 1000
min_temp: 0.1
cooling_factor: 0.95
max_iteration_number: 1000
devices:
- name: "dimmer radiateur"
entity_id: "switch.dimmer"
# La puissance minimale de charge est 660 W (soit 1 Amp car convert_power_divide_factor=660 aussi)
power_min: 1
# La puissance minimale de charge est 3960 W (soit 5 Amp (= 3960/600) )
power_max: 1500
# le step de 660 soit 1 Amp après division par convert_power_divide_factor
power_step: 10
# Utilisable si le mode de charge est "Solaire" et la voiture est branchée sur le chargeur et elle est chargée à moins de 90 % (donc ca s'arrête tout seul à 90% )
#check_usable_template: "{{ True }}"
duration_min: 1
# 15 min de stop charge minimum
duration_stop_min: 1
# L'entité qui pilote l'ampérage de charge
power_entity_id: "input_number.dimmer"
# 5 min minimum entre 2 changements de puissance
duration_power_min: 1
# l'activation se fait par un appel de service
action_mode: "service_call"
activation_service: "light/turn_on"
deactivation_service: "light/turn_off"
# le changement de puissance se fait par un appel de service
change_power_service: "number/set_value"
# le facteur permettant de convertir la puissance consigne en Ampères (number.tesla_charging_amps prend des Ampères)
convert_power_divide_factor: 6
Ca fonctionne maintenant, merci
Bonjour,
J’ai à nouveau une question:
J’ai juste la partie set value pour l’augmentation de l’ampérage qui semble poser problème.
Le mode debug de l’intégration me dit :
ValueError: Value 1.0 for number.1p7k_user_limit is outside valid range 6 - 32
En effet ma borne n’accepte des valeurs qu’entre 6 et 32 ampères.
Sur un automatisation nocture, j’utilise : un set value {{ states('number.1p7k_user_limit') | int + 1 }}
Mais là, je n’ai aucune idée de comment paramétrer Solar Optimizer pour gérer ca.
Merci
Le soucis à l’air plutot lié à la borne minimale. Du coup c’est certainement le power_min qu’il faut régler.
Il faut que tu te débrouilles pour que l’amperage min ne soit jamais inférieur à 6.
En monophasé tu devrais mettre:
power_min = 6x220
power_max = 32x220
et convert_power_divide_factor = 220
power_min et power_max doivent être donné en Watts et convert_power_divide_factor doit être 220 (A = W / 220)
et ça va naturellement faire le job.
J’ai donc modifié mon fichier mais ça ne fonctionne pas, j’ai toujours 2 erreurs ds le journal
Voici le code modifié
algorithm:
initial_temp: 1000
min_temp: 0.1
cooling_factor: 0.95
max_iteration_number: 1000
devices:
- name: "dimmer radiateur"
entity_id: "switch.switch_light_radia"
# La puissance minimale de charge est 660 W (soit 1 Amp car convert_power_divide_factor=660 aussi)
power_min: 1320
# La puissance minimale de charge est 3960 W (soit 5 Amp (= 3960/600) )
power_max: 7040
# le step de 660 soit 1 Amp après division par convert_power_divide_factor
power_step: 10
# Utilisable si le mode de charge est "Solaire" et la voiture est branchée sur le chargeur et elle est chargée à moins de 90 % (donc ca s'arrête tout seul à 90% )
#check_usable_template: "{{ True }}"
duration_min: 1
# 15 min de stop charge minimum
duration_stop_min: 1
# L'entité qui pilote l'ampérage de charge
power_entity_id: "input_number.dimmer"
# 5 min minimum entre 2 changements de puissance
duration_power_min: 1
# l'activation se fait par un appel de service
action_mode: "service_call"
activation_service: "light/turn_on"
deactivation_service: "light/turn_off"
# le changement de puissance se fait par un appel de service
change_power_service: "number/set_value"
# le facteur permettant de convertir la puissance consigne en Ampères (number.tesla_charging_amps prend des Ampères)
convert_power_divide_factor: 220
Et les erreurs ds le journal
Première
Logger: homeassistant.components.sensor
Source: components/sensor/__init__.py:528
Integration: Capteur (documentation, issues)
First occurred: 14:09:11 (3 occurrences)
Last logged: 14:09:11
Entity sensor.total_power (<class 'custom_components.solar_optimizer.sensor.SolarOptimizerSensorEntity'>) is using state class 'total' which is impossible considering device class ('power') it is using; expected None or one of 'measurement'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/jmcollin78/solar_optimizer/issues
Entity sensor.power_production (<class 'custom_components.solar_optimizer.sensor.SolarOptimizerSensorEntity'>) is using state class 'total' which is impossible considering device class ('power') it is using; expected None or one of 'measurement'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/jmcollin78/solar_optimizer/issues
Entity sensor.power_production_brut (<class 'custom_components.solar_optimizer.sensor.SolarOptimizerSensorEntity'>) is using state class 'total' which is impossible considering device class ('power') it is using; expected None or one of 'measurement'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/jmcollin78/solar_optimizer/issues
Deuxième
Cette erreur provient d'une intégration personnalisée
Logger: custom_components.solar_optimizer.coordinator
Source: custom_components/solar_optimizer/coordinator.py:115
Integration: solar_optimizer (documentation, issues)
First occurred: 14:09:42 (1 occurrences)
Last logged: 14:09:42
Power production is not valued. Solar Optimizer will be disabled
Je sèche…
Les premiers sont des warnings et peuvent être ignorés.
Le deuxième me parait clair : tu n’as aucune production solaire, donc rien à optimiser. Soit ton capteur de la production est pas bon, soit il ne remonte pas de valeur, soit va savoir. Regarde ce que tu as mis en capteur de production et fait en sorte que cette production soit positive, sinon ça ne peut pas marcher.
Super, Merci j’ai testé ce weekend et ca fonctionne.
Cela fait bien varier la puissance de la borne en fonction de la puissance solaire et de ma conso.
Par contre je ne sais pas pour quelle raison. Je n’ai jamais l’action switch off qui donc arrête la charge alors que je n’ai quasiment plus de production solaire.
Je me suis mis en mode debbug et je ne vois effectivement aucun évènements switch_off.
Par contre lorsque j’appuie sur la pastille de ton intégration lovelace, ca arrête bien la charge:
(bon la capture n’est pas celle que j’ai quand la voiture est branchée à la borne) mais j’appuie sur la pastille (qui est orange lors de la charge) pour arrêter la charge.
Voici ma config.
algorithm:
initial_temp: 1000
min_temp: 0.1
cooling_factor: 0.95
max_iteration_number: 1000
devices:
- name: "Renault-megane-VE"
entity_id: "switch.switch_button_1p7k"
power_min: 1320
power_max: 1980
power_step: 220
power_entity_id: "number.1p7k_user_limit"
check_usable_template: "{{ is_state('sensor.1p7k_state', 'Connected,NeedAuth') or is_state('sensor.1p7k_state', 'Charging') }}"
# 30min de charge minimum
duration_min: 30
# 5 min minimum entre 2 changements de puissance
duration_power_min: 5
action_mode: "service_call"
activation_service: "switch/turn_on"
deactivation_service: "switch/turn_off"
# le changement de puissance se fait par un appel de service
change_power_service: "number/set_value"
#le facteur permettant de convertir la puissance consigne en Ampères (number.1p7k_user_limit prend des Ampères)
convert_power_divide_factor: 220```
Voici la config de mon virtual switch:
```switch:
- platform: template
switches:
switch_button_1p7k:
friendly_name: switch_button_1p7k_charge
unique_id: switch_button_1p7k_charge
value_template: "{{ is_state('switch.button_1p7k', 'off') }}"
turn_off:
service: button.press
data: {}
target:
entity_id: button.1p7k_charge_stop
turn_on:
service: button.press
data: {}
target:
entity_id: button.1p7k_charge_start
icon_template: "{% if is_state('switch.button_1p7k', 'on') %}mdi:car-electric-outline{% else %}mdi:car-electric{% endif %}"
Je ne trouve pas la cause pour le moment.
Merci de ton aide.
Hello, es-tu sur du nom du switch dans la conf ?
Des fois, il y a switch.switch_button_1p7k et des fois switch_button_1p7k_charge
J’ai tout renommé en switch_button_1p7k_charge :
On verra bien lors de mon prochain test:
switch:
- platform: template
switches:
switch_button_1p7k_charge:
friendly_name: switch_button_1p7k_charge
unique_id: switch_button_1p7k_charge
value_template: "{{ is_state('switch.switch_button_1p7k_charge', 'off') }}"
turn_off:
service: button.press
data: {}
target:
entity_id: button.1p7k_charge_stop
turn_on:
service: button.press
data: {}
target:
entity_id: button.1p7k_charge_start
icon_template: "{% if is_state('switch.switch_button_1p7k_charge', 'off') %}mdi:car-electric-outline{% else %}mdi:car-electric{% endif %}"
Merci encore ![]()
Bonjour !
Je cherche a monitorer mon onduleur et a contrôler plus efficacement le démarrage de mon groupe électrogène.
J ai l impression que les 2 sujets sont similaires (je peux me tromper et si c est le cas merci de me dire ou poster)
J ai un onduleur solarix pli 5000-48, des batteries pylontech us 2000 plus et un groupe électrogène avec démarrage par contact sec.
Le soucis est que le groupe électrogène ne se démarre pas toujours et je n ai aucun contrôle a distance…
Je souhaiterais connecter un raspberry pi 3b+ dessus pour pouvoir a distance :
Voir le niveau des batteries
Pouvoir démarrer mon groupe
Pouvoir programmer les conditions d allumage du groupe en fonction : de l heure, de l ensoleillement et du niveau des batteries
Pouvoir recevoir une notification sous un certain seuil de batterie
Avoir accès à l historique
Je n ai jamais utilisé de raspberry pi et j ai des bases bases de python
Pensez vous que c est réalisables et est ce que Solar optimizer pourrait m’ aider?
Merci d avance!
Bonjour @Mouchkit ,
Je vois pas bien comment Solar Optimizer qui démarre / stoppe des switchs (en gros) en fonction d’une production solaire, va aider.
Explique nous comment tu comptes faire ?



