SolarOptimizer : optimisez votre consommation solaire

En effet ce n’est pas supporté de base mais tu peux facilement le faire avec un switch virtuel. Cherche dans ce forum il y a plein de’exemple

Hello, je n’ai pas essayé moi même. Attendez ce week-end du coup, je vais voir si ça passe.

@Jean-Marc_Collin
J’ai testé hier, et ça semble marcher correctement chez moi.
Merci pour la correction du YAML, ça semble marcher pour mes climatiseurs depuis.

J’ai honte de moi, mais j’avais sauté une étape. Même après avoir relu 20 fois…

Donc, ça marche.

Ca fonctionne, merci beaucoup.

bonjour,

j’ai un petit probleme, j’utilise SO pour la recharge d’un VE
pour une raison inconnu toutes les 35 minutes la puissance s’arrêtent puis redémarre 20 minutes après

durée mini d’allumage 30 min

durée mini extinction : 15 min

durée chgt puissance : 15 min

j’ai désinstalle SO puis réinstaller rien n’y fait

cela fonctionne avec la version 2 mais depuis la mise a jour en 3.x y a des dysfonctionnement chez moi

Merci

J’ai le même comportement, j’ai créé une issue sur le git. Mais je n’arrive pas à comprendre pourquoi, et je n’ai pas eu le temps de fournir des logs comme demandé.

il semble que ta conso solar optimizer devient positive a chaque fois, avant l’arrêt de ton VE donc pour moi c’est un comportement normal d’après ce qu’on peut voir de ces graphs.

Peut être qu’il te faut que tu ajuster des paramètres ?

Bon weekend

Ci joint un extrait des logs

2025-08-15 15:48:28.299 INFO (MainThread) [custom_components.solar_optimizer.coordinator] Refreshing Solar Optimizer calculation
2025-08-15 15:48:28.299 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is active
2025-08-15 15:48:28.300 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 2640 for device Charge Voiture cause can_change_power and amps is 12
2025-08-15 15:48:28.300 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device filtration_piscine_solar_optimizer cause not active
2025-08-15 15:48:28.300 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Calling recuit_simule with power_consumption=-1526.30, solar_power_production=2740.00 sell_cost=0.01, buy_cost=1.00, tax=0.00% devices=[<custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7f75779f2ba0>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7f75774d4f50>]
2025-08-15 15:48:28.300 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is not usable
2025-08-15 15:48:28.300 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is waiting
2025-08-15 15:48:28.300 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is active
2025-08-15 15:48:28.300 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is active
2025-08-15 15:48:28.300 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is not usable
2025-08-15 15:48:28.300 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] filtration_piscine_solar_optimizer is disabled. Forget it
2025-08-15 15:48:28.304 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Dealing with best_solution for Charge Voiture - {‹ power_max ›: 2640.0, ‹ power_min ›: 1320, ‹ power_step ›: 220, ‹ current_power ›: 2640, ‹ requested_power ›: 2640, ‹ name ›: ‹ Charge Voiture ›, ‹ state ›: True, ‹ is_usable ›: False, ‹ is_waiting ›: True, ‹ can_change_power ›: True, ‹ priority ›: 4}
2025-08-15 15:48:28.304 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is active
2025-08-15 15:48:28.304 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is not usable
2025-08-15 15:48:28.304 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Calculated data are: {‹ power_production ›: 2740, ‹ power_production_brut ›: 2740.0, ‹ power_consumption ›: -1526.3, ‹ sell_cost ›: 0.01, ‹ buy_cost ›: 1.0, ‹ sell_tax_percent ›: 0.0, ‹ battery_soc ›: 0, ‹ battery_charge_power ›: 0, ‹ priority_weight ›: 0, ‹ best_solution ›: [{‹ power_max ›: 2640.0, ‹ power_min ›: 1320, ‹ power_step ›: 220, ‹ current_power ›: 2640, ‹ requested_power ›: 2640, ‹ name ›: ‹ Charge Voiture ›, ‹ state ›: True, ‹ is_usable ›: False, ‹ is_waiting ›: True, ‹ can_change_power ›: True, ‹ priority ›: 4}], ‹ best_objective ›: 15.111881188118812, ‹ total_power ›: 2640, ‹ charge_voiture ›: <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7f75779f2ba0>}
2025-08-15 15:48:28.304 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Finished fetching Solar Optimizer data in 0.005 seconds (success: True)
2025-08-15 15:48:28.304 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-08-15 15:48:28.304 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is active
2025-08-15 15:48:28.306 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is active
2025-08-15 15:48:28.307 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is waiting
2025-08-15 15:48:28.307 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is not usable
2025-08-15 15:48:28.307 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-08-15 15:48:28.307 DEBUG (MainThread) [custom_components.solar_optimizer.switch] No device filtration_piscine_solar_optimizer found …
2025-08-15 15:48:58.270 INFO (MainThread) [custom_components.solar_optimizer.coordinator] Refreshing Solar Optimizer calculation
2025-08-15 15:48:58.271 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is active
2025-08-15 15:48:58.271 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 2640 for device Charge Voiture cause can_change_power and amps is 12
2025-08-15 15:48:58.271 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device filtration_piscine_solar_optimizer cause not active
2025-08-15 15:48:58.271 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Calling recuit_simule with power_consumption=-1526.30, solar_power_production=2736.00 sell_cost=0.01, buy_cost=1.00, tax=0.00% devices=[<custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7f75779f2ba0>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7f75774d4f50>]
2025-08-15 15:48:58.271 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is not usable
2025-08-15 15:48:58.271 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is active
2025-08-15 15:48:58.271 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is not usable
2025-08-15 15:48:58.271 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] filtration_piscine_solar_optimizer is disabled. Forget it
2025-08-15 15:48:58.273 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Dealing with best_solution for Charge Voiture - {‹ power_max ›: 2640.0, ‹ power_min ›: 1320, ‹ power_step ›: 220, ‹ current_power ›: 2640, ‹ requested_power ›: 2640, ‹ name ›: ‹ Charge Voiture ›, ‹ state ›: False, ‹ is_usable ›: False, ‹ is_waiting ›: False, ‹ can_change_power ›: True, ‹ priority ›: 4}
2025-08-15 15:48:58.274 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is active
2025-08-15 15:48:58.274 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Charge Voiture is not usable
2025-08-15 15:48:58.274 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Extinction de Charge Voiture
2025-08-15 15:48:58.274 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Applying action Deactivate for entity switch.switch_play_pause_wallbox. requested_power=0
2025-08-15 15:48:58.274 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Next availability date for Charge Voiture is 2025-08-15 16:03:58.274196+02:00

A 16:03:58 l’appareil a restart

Je pense vraiment qu’il y a quelque chose qui ne va pas :

  • Tout le temps en fin de cycle (chez moi j’ai mis 2h) et à tout les coups ça s’arrête après 2h et 5 minutes.

  • le boolean is_usable qui est a false, pour qu’elle raison ?

  • Après retour en version antérieure, on ne rencontre pas ce problème.

Hello,

De ce que je vois tu n’as tout simplement par assez de production. Quand la charge démarre, ta conso nette repasse en positif et donc après la durée minimale, ca s’arrête. Puis la conso nette redevient négative, donc ça relance la charge.

Tu dois pouvoir régler un peu la situation en jouant sur les couts d’achat et de revente. Il faut faire accepter à l’algorithme un cout d’achat et il faut donc baisser le cout d’achat vs cout de revente.

Ce qui est important c’est le rapport entre les 2 valeurs. Si cout d’achat = cout de revente → l’algo accepte d’acheter (importer), autant qu’il accepte de revendre (exporter).

Pareil pour @ben33880 , essaye ça.

Is_usable indique l’algo ne doit pas toucher au device. C’est possible quand :

  • l’entité enable est fausse,
  • quand la durée minimale d’activation n’est pas atteinte et que l’équipement a été allumé,
  • … etc

C’est tout à fait normal de l’avoir à false.

Tu parles de quelle version antérieure ? Vous êtes en quelle version ?
La dernière est la 3.6.0.

Je suis en 3.6.0.

Mon coût de revente est 0.13 et achat c’est le tempo donc en HP bleu un peu moins de 0.15

De mémoire en 3.0 je n’ai pas ce problème

J’ai le lissage activé et notre problème est sur un device qui peut changer de power donc normalement c’est au plugin de baisser la conso du device et non pas de l’éteindre

La conf achat / revente est : achat 1€, revente 0.01€

je suis en version 3.6.0

sur le graphique je ne comprends pas pourquoi a 13h il a coupé

Je vais regarder mais je charge aussi un VE et j’ai pas constaté de soucis.

Bonjour à tous
J’ai une ancienne version de SO (2.0.0) qui me donne entière satisfaction et correspond à mes besoins…
Cependant en voulant mettre à jour Home assistant Core mes entités n’étaient plus disponibles, je suppose qu’une version plus récente de SO réglerait le problème, d’où mes questions suivantes.
J’ai lu la méthodologie pour passer de la v2 à la v3…faut-il supprimer complétement le fichier configuration.yaml où le laisser seulement vide ?
J’ai pas mal d’automatisations liées aux entités SO, faudra t’il les refaire ?
Quels conseils auriez vous à me donner pour que la migration se passe le mieux possible, sauvegarde, copie d’écran pour reprendre les mêmes paramètres…(j’ai une certaine appréhension à effectuer la migration :wink: )

Bonjour,

J’essaie de paramétrer solar optimizer avec des résultats plutôt prometteurs pour l’instant. Je m’attaque à ma pompe de piscine et je but sur un petit souci.

Cette derniere est pilotée de plusieurs facons :

  • Mode manuel : je l’allume manuellement ou via le switch HA de l’entité pompe
  • Mode planifié : j’utilie un blueprint qui calcul le temps de filtration optimal en fonction e la température de l’eau et planifie le On et le Off de la pompe en heures creuse. ce temps de filtration depend du calcul en fonction de la température de l’eau, diminué du temps où la pompe a déjà été active sur les dernières 24h (ex : si la pompe a tourné 3h en journée, que le temps theorique est de 5h, elle tournera seulement 2h la nuit)
  • Mode optimisation solaire : dans ce cas, c’est solar optimizer qui doit me lancer la pompe en journée

Le lancement en journée fonctionne bien, pas de souci. Par contre, si la pompe est démarrée manuellement ou via la planification (et que les conditions d’ensoleillement ne sont pas atteintes), cette dernière s’arrête.

J’imagine qu’il faut jouer avec le “template d’utilisabilité” pour detecter un lancement hors solar optimizer, et donc le souhait que solar optimizer n’éteigne pas la pompe, mais je ne sais pas trop quel indicateur prendre ?

Pouvez vous m’aider ?

Merci

Norbert

tout dépend de comment tu active le mode planifié (et le mode manuel)

Mais je pense que le mieux est de gérer via un input_select, un peut comme ca :

Hello,

Si ton appareil SO de pompe a l entité enable à on et bien la pompe est gérée par SO.

Il y a deux choses qui m interpellent.

1. Filtrer sur les HC, si c est la nuit, ce n est pas recommandé.

2. Le but et l intérêt de gérer en parallèle en manuel, avec la planification et avec SO.

Cordialement

Oui, je sais, c’est un débat, mais c’est une maison secondaire avec un volet isolant et protégeant du soleil (dit autrement, quand le volet est fermé, la piscine est dans le noir), donc filtrer de jour ou de nuit, c’est pareil (enfin non, c’est moins cher)

Manuel : j’ai du monde dans la piscine, je lance la pompe (pour filtrer de jour)

Planification : juste s’assurer que le temps de filtration nécessaire sur 24h a bien été réalisé, je planifie donc un ON/OFF (équivalemment à mon fonctionnement manuel) pour atteindre ce temps théorique de filtration de préférence la nuit

SO : si il est possible dfe filtrer de jour grtuitement, et bien allons y, et si il manque du temps de filtration, on fait le reste la nuit (planification)

Norbert