SolarOptimizer : optimisez votre consommation solaire

(re)Hello @alex71

ok je regarde le code et ça me parait évident maintenant. Le condition pour qu’on puisse appliqué un changement est la suivante:

result = self._check_usable_template.async_render(context) and (
                now >= self._next_date_available
                or (self._can_change_power and now >= self._next_date_available_power)
            )

Si la next_date_available (prochaine dispo) est dépassée alors l’équipement est utilisable indépendamment de la next_date_available_power (prochaine dispo de la puissance).

C’est exactement mon hypothèse ci-dessus. Je vais faire une beta rapide, si des fois tu pouvais la tester rapidement. Je te pingues quand elle est prête.

EDIT: elle est là Release 3.6.0.beta2 · jmcollin78/solar_optimizer · GitHub
Je suis absent jeudi et vendredi donc prochain test possible si ce n’est pas bon, ce week-end.

Pour installer une beta il faut aller dans HACS et forcer la version à installer.

Attention je ne l’ai pas testé donc si ça ne marche pas → rollback (et prends les logs avant)

1 « J'aime »

Bizarre le code :

if self._can_change_power:
result = result and now >= self._next_date_available_power
else:
result = result and now >= self._next_date_available_power

Attention on t’a a l’oeil …

Salut @Jean-Marc_Collin

Merci de ta réactivité :wink:
J’ai mis à jour comme demandé, je m’occupe de tester ça et de récupérer les logs si je constate quelque chose de bizarre.

Salut @Jean-Marc_Collin

Bon il s’est passé quelque chose d’etrange au moment du changement de puissance avec la 3.6.0 béta 2 :grimacing:.

Juste avant de changer la puissance, il a coupé mon device surpresseur pour liberer des watts à 10:40:28.668, il change la puissance du device pool & PAC à 3900W ( à 10:40:28.654).
Jusque là tout est ok.

Dans la foulé à 10:40:58.672, il m’a coupé mon device pool & PAC (sur lequel il venait de changer la puissance), sans raison apparente car ma pompe n’avait même pas eu le temps de se mettre en route (uniquement le circulateur), donc la conso de pool & PAC était encore faible (environs 1100W) à ce moment là.

Donc pour moi il y a deux questions :

  • quelle est la raison de la coupure de la pompe ?
  • venant de changer sa puissance, ne devrait on pas interdire la coupure du device pendant le « temps min de puissance » en rechargeant « prochaine dispo » à la valeur de « temps min de puissance », même si l’appareil est allumé depuis le temps min ?

Zoom sur l’historique des devices et différents sensors à ce moment là :


Legende :

  • Jaune : total power
  • Bleu : puissance réel du device pool & PAC
  • Rouge : puissance d’injection
  • Vert : puissance batterie

Après la coupure, et après le temps off min (prochaine dispo < 0), le device reste « not usable » :


Le device est redevenu disponible au moment où « prochaine dispo puissance » est devenu <= 0

Voici le log complet de cette periode:

2025-06-12 10:40:28.654 INFO (MainThread) [custom_components.solar_optimizer.coordinator] Refreshing Solar Optimizer calculation
2025-06-12 10:40:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device Lave vaisselle  cause not active
2025-06-12 10:40:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device Machine à laver cause not active
2025-06-12 10:40:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device Pompe piscine  cause not active
2025-06-12 10:40:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  is active
2025-06-12 10:40:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 1200.0 for device Surpresseur piscine  cause active and not can_change_power
2025-06-12 10:40:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is active
2025-06-12 10:40:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 900 for device Pool & PAC cause can_change_power and amps is 900.0
2025-06-12 10:40:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Calling recuit_simule with power_consumption=-1210.00, solar_power_production=3960.00 sell_cost=0.10, buy_cost=0.20, tax=0.00% devices=[<custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105f95d30>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105ecafd0>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105ecb610>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105512490>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe1055139d0>]
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Lave vaisselle  is disabled. Forget it
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Machine à laver is disabled. Forget it
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Pompe piscine  is disabled. Forget it
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  is active
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  is active
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is active
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is active
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding 3000 power to current_power (900)
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 3900
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding 3000 power to current_power (900)
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 3900
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] ---> On garde l'objectif voisin
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] ---> C'est la meilleure jusque là
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] ---> On garde l'objectif voisin
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] ---> On garde l'objectif voisin
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding 3000 power to current_power (900)
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 3900
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (900)
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (900)
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] ---> On garde l'objectif voisin
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding 3000 power to current_power (900)
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 3900
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (900)
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (900)
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] ---> On garde l'objectif voisin
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (900)
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (900)
2025-06-12 10:40:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] ---> On garde l'objectif voisin
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (900)
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] ---> On garde l'objectif voisin
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding 3000 power to current_power (900)
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 3900
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding 3000 power to current_power (900)
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 3900
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding 3000 power to current_power (900)
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 3900
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] ---> On garde l'objectif voisin
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -6000 power to current_power (3900)
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is -2100
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Adding -3000 power to current_power (3900)
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] New requested_power is 900
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Dealing with best_solution for Surpresseur piscine  - {'power_max': 1200.0, 'power_min': -1, 'power_step': 0, 'current_power': 1200.0, 'requested_power': 0, 'name': 'Surpresseur piscine ', 'state': False, 'is_usable': True, 'is_waiting': False, 'can_change_power': False, 'priority': 4}
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  is active
2025-06-12 10:40:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Extinction de Surpresseur piscine 
2025-06-12 10:40:28.668 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Applying action Deactivate for entity switch.surpresseur_piscine. requested_power=0
2025-06-12 10:40:28.668 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Next availability date for Surpresseur piscine  is 2025-06-12 10:45:28.668037+02:00
2025-06-12 10:40:28.668 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Calling service switch/turn_off for entity switch.surpresseur_piscine
2025-06-12 10:40:28.668 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sending event solar_optimizer_state_change_event with action Deactivate for entity switch.surpresseur_piscine with requested_power 0 and current_power 1200.0
2025-06-12 10:40:28.668 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Dealing with best_solution for Pool & PAC - {'power_max': 3900.0, 'power_min': 900, 'power_step': 3000, 'current_power': 900, 'requested_power': 3900, 'name': 'Pool & PAC', 'state': True, 'is_usable': True, 'is_waiting': False, 'can_change_power': True, 'priority': 16}
2025-06-12 10:40:28.668 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is active
2025-06-12 10:40:28.669 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Change power of Pool & PAC to 3900
2025-06-12 10:40:28.669 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Applying action ChangePower for entity switch.pompe_piscine. requested_power=3900
2025-06-12 10:40:28.669 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Next availability date for power change for Pool & PAC is 2025-06-12 11:00:28.669056+02:00
2025-06-12 10:40:28.669 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Calling service input_number/set_value for entity input_number.puissance_total_piscine_pac
2025-06-12 10:40:28.669 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sending event solar_optimizer_change_power_event with action ChangePower for entity input_number.puissance_total_piscine_pac with requested_power 3900 and current_power 900
2025-06-12 10:40:28.669 INFO (MainThread) [custom_components.solar_optimizer.coordinator] Calculated data are: {'power_production': 3960, 'power_production_brut': 4014.0, 'power_consumption': -0.0, 'sell_cost': 0.1, 'buy_cost': 0.2016, 'sell_tax_percent': 0.0, 'battery_soc': 73.0, 'battery_charge_power': -1210.0, 'priority_weight': 0, 'best_solution': [{'power_max': 1200.0, 'power_min': -1, 'power_step': 0, 'current_power': 1200.0, 'requested_power': 0, 'name': 'Surpresseur piscine ', 'state': False, 'is_usable': True, 'is_waiting': False, 'can_change_power': False, 'priority': 4}, {'power_max': 3900.0, 'power_min': 900, 'power_step': 3000, 'current_power': 900, 'requested_power': 3900, 'name': 'Pool & PAC', 'state': True, 'is_usable': True, 'is_waiting': False, 'can_change_power': True, 'priority': 16}], 'best_objective': 394.3766578249338, 'total_power': 3900, 'surpresseur_piscine': <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105512490>, 'pool_pac': <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe1055139d0>}
2025-06-12 10:40:28.669 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Finished fetching Solar Optimizer data in 0.015 seconds (success: True)
2025-06-12 10:40:28.670 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:40:28.670 DEBUG (MainThread) [custom_components.solar_optimizer.switch] No device lave_vaisselle found ...
2025-06-12 10:40:28.670 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:40:28.670 DEBUG (MainThread) [custom_components.solar_optimizer.switch] No device machine_a_laver found ...
2025-06-12 10:40:28.670 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:40:28.670 DEBUG (MainThread) [custom_components.solar_optimizer.switch] No device pompe_piscine found ...
2025-06-12 10:40:28.670 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:40:28.670 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  is active
2025-06-12 10:40:28.670 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  is active
2025-06-12 10:40:28.670 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  is waiting
2025-06-12 10:40:28.670 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:40:28.670 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is active
2025-06-12 10:40:28.671 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is active
2025-06-12 10:40:28.671 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is not usable
2025-06-12 10:40:28.765 INFO (MainThread) [custom_components.solar_optimizer.sensor] Call of on_state_change at 2025-06-12 10:40:28.765553+02:00 with event <Event state_changed[L]: entity_id=switch.surpresseur_piscine, old_state=<state switch.surpresseur_piscine=on; friendly_name=Surpresseur_piscine @ 2025-06-12T09:19:58.744058+02:00>, new_state=<state switch.surpresseur_piscine=off; friendly_name=Surpresseur_piscine @ 2025-06-12T10:40:28.765137+02:00>>
2025-06-12 10:40:28.765 DEBUG (MainThread) [custom_components.solar_optimizer.sensor] The managed device becomes off - increment the delta time
2025-06-12 10:40:28.766 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  - Set on_time=4830
2025-06-12 10:40:28.766 INFO (MainThread) [custom_components.solar_optimizer.switch] Appel de on_state_change à 2025-06-12 10:40:28.766148 avec l'event <Event state_changed[L]: entity_id=switch.surpresseur_piscine, old_state=<state switch.surpresseur_piscine=on; friendly_name=Surpresseur_piscine @ 2025-06-12T09:19:58.744058+02:00>, new_state=<state switch.surpresseur_piscine=off; friendly_name=Surpresseur_piscine @ 2025-06-12T10:40:28.765137+02:00>>
2025-06-12 10:40:28.766 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  is waiting
2025-06-12 10:40:58.654 INFO (MainThread) [custom_components.solar_optimizer.coordinator] Refreshing Solar Optimizer calculation
2025-06-12 10:40:58.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device Lave vaisselle  cause not active
2025-06-12 10:40:58.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device Machine à laver cause not active
2025-06-12 10:40:58.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device Pompe piscine  cause not active
2025-06-12 10:40:58.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device Surpresseur piscine  cause not active
2025-06-12 10:40:58.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is active
2025-06-12 10:40:58.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 3900 for device Pool & PAC cause can_change_power and amps is 3900.0
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Calling recuit_simule with power_consumption=-2130.00, solar_power_production=3987.00 sell_cost=0.10, buy_cost=0.20, tax=0.00% devices=[<custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105f95d30>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105ecafd0>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105ecb610>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105512490>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe1055139d0>]
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Lave vaisselle  is disabled. Forget it
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Machine à laver is disabled. Forget it
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Pompe piscine  is disabled. Forget it
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  is waiting
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is not usable
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is active
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is not usable
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.667 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.668 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.669 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.670 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.670 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.670 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:40:58.670 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Dealing with best_solution for Surpresseur piscine  - {'power_max': 1200.0, 'power_min': -1, 'power_step': 0, 'current_power': 0, 'requested_power': 0, 'name': 'Surpresseur piscine ', 'state': False, 'is_usable': True, 'is_waiting': True, 'can_change_power': False, 'priority': 4}
2025-06-12 10:40:58.672 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Dealing with best_solution for Pool & PAC - {'power_max': 3900.0, 'power_min': 900, 'power_step': 3000, 'current_power': 3900, 'requested_power': 3900, 'name': 'Pool & PAC', 'state': False, 'is_usable': False, 'is_waiting': False, 'can_change_power': True, 'priority': 16}
2025-06-12 10:40:58.672 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is active
2025-06-12 10:40:58.672 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is not usable
2025-06-12 10:40:58.672 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Extinction de Pool & PAC
2025-06-12 10:40:58.673 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Applying action Deactivate for entity switch.pompe_piscine. requested_power=0
2025-06-12 10:40:58.673 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Next availability date for Pool & PAC is 2025-06-12 10:50:58.673172+02:00
2025-06-12 10:40:58.673 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Calling service switch/turn_off for entity switch.pompe_piscine
2025-06-12 10:40:58.674 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sending event solar_optimizer_state_change_event with action Deactivate for entity switch.pompe_piscine with requested_power 0 and current_power 3900
2025-06-12 10:40:58.674 INFO (MainThread) [custom_components.solar_optimizer.coordinator] Calculated data are: {'power_production': 3987, 'power_production_brut': 4014.0, 'power_consumption': 20.0, 'sell_cost': 0.1, 'buy_cost': 0.2016, 'sell_tax_percent': 0.0, 'battery_soc': 73.0, 'battery_charge_power': -2150.0, 'priority_weight': 0, 'best_solution': [{'power_max': 1200.0, 'power_min': -1, 'power_step': 0, 'current_power': 0, 'requested_power': 0, 'name': 'Surpresseur piscine ', 'state': False, 'is_usable': True, 'is_waiting': True, 'can_change_power': False, 'priority': 4}, {'power_max': 3900.0, 'power_min': 900, 'power_step': 3000, 'current_power': 3900, 'requested_power': 3900, 'name': 'Pool & PAC', 'state': False, 'is_usable': False, 'is_waiting': False, 'can_change_power': True, 'priority': 16}], 'best_objective': 706.2334217506633, 'total_power': 0, 'surpresseur_piscine': <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105512490>, 'pool_pac': <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe1055139d0>}
2025-06-12 10:40:58.674 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Finished fetching Solar Optimizer data in 0.020 seconds (success: True)
2025-06-12 10:40:58.674 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:40:58.674 DEBUG (MainThread) [custom_components.solar_optimizer.switch] No device lave_vaisselle found ...
2025-06-12 10:40:58.674 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:40:58.675 DEBUG (MainThread) [custom_components.solar_optimizer.switch] No device machine_a_laver found ...
2025-06-12 10:40:58.675 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:40:58.675 DEBUG (MainThread) [custom_components.solar_optimizer.switch] No device pompe_piscine found ...
2025-06-12 10:40:58.675 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:40:58.675 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  is waiting
2025-06-12 10:40:58.675 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:40:58.675 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is active
2025-06-12 10:40:58.675 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is active
2025-06-12 10:40:58.675 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is waiting
2025-06-12 10:40:58.675 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is not usable
2025-06-12 10:40:58.744 INFO (MainThread) [custom_components.solar_optimizer.sensor] Call of on_state_change at 2025-06-12 10:40:58.744893+02:00 with event <Event state_changed[L]: entity_id=switch.pompe_piscine, old_state=<state switch.pompe_piscine=on; friendly_name=Pompe_piscine @ 2025-06-12T09:38:58.741885+02:00>, new_state=<state switch.pompe_piscine=off; friendly_name=Pompe_piscine @ 2025-06-12T10:40:58.744184+02:00>>
2025-06-12 10:40:58.745 DEBUG (MainThread) [custom_components.solar_optimizer.sensor] The managed device becomes off - increment the delta time
2025-06-12 10:40:58.745 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is not usable
2025-06-12 10:40:58.746 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC - Set on_time=5550
2025-06-12 10:40:58.746 INFO (MainThread) [custom_components.solar_optimizer.switch] Appel de on_state_change à 2025-06-12 10:40:58.746596 avec l'event <Event state_changed[L]: entity_id=switch.pompe_piscine, old_state=<state switch.pompe_piscine=on; friendly_name=Pompe_piscine @ 2025-06-12T09:38:58.741885+02:00>, new_state=<state switch.pompe_piscine=off; friendly_name=Pompe_piscine @ 2025-06-12T10:40:58.744184+02:00>>
2025-06-12 10:40:58.746 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is waiting
2025-06-12 10:40:58.746 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is not usable
2025-06-12 10:40:59.091 DEBUG (MainThread) [custom_components.solar_optimizer.sensor] Call of _on_update_on_time at 2025-06-12 10:40:59.091804+02:00
2025-06-12 10:40:59.092 DEBUG (MainThread) [custom_components.solar_optimizer.sensor] Call of _on_update_on_time at 2025-06-12 10:40:59.092053+02:00
2025-06-12 10:40:59.092 DEBUG (MainThread) [custom_components.solar_optimizer.sensor] Call of _on_update_on_time at 2025-06-12 10:40:59.092145+02:00
2025-06-12 10:40:59.106 DEBUG (MainThread) [custom_components.solar_optimizer.sensor] Call of _on_update_on_time at 2025-06-12 10:40:59.106920+02:00
2025-06-12 10:40:59.115 DEBUG (MainThread) [custom_components.solar_optimizer.sensor] Call of _on_update_on_time at 2025-06-12 10:40:59.115357+02:00
2025-06-12 10:41:28.653 INFO (MainThread) [custom_components.solar_optimizer.coordinator] Refreshing Solar Optimizer calculation
2025-06-12 10:41:28.653 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device Lave vaisselle  cause not active
2025-06-12 10:41:28.653 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device Machine à laver cause not active
2025-06-12 10:41:28.653 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device Pompe piscine  cause not active
2025-06-12 10:41:28.653 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device Surpresseur piscine  cause not active
2025-06-12 10:41:28.653 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Set current_power to 0 for device Pool & PAC cause not active
2025-06-12 10:41:28.653 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Calling recuit_simule with power_consumption=-3170.00, solar_power_production=4000.00 sell_cost=0.10, buy_cost=0.20, tax=0.00% devices=[<custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105f95d30>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105ecafd0>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105ecb610>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105512490>, <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe1055139d0>]
2025-06-12 10:41:28.653 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Lave vaisselle  is disabled. Forget it
2025-06-12 10:41:28.653 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Machine à laver is disabled. Forget it
2025-06-12 10:41:28.653 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] Pompe piscine  is disabled. Forget it
2025-06-12 10:41:28.653 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  is waiting
2025-06-12 10:41:28.653 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is not usable
2025-06-12 10:41:28.653 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is waiting
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is not usable
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.654 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.655 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.656 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.657 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.658 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.659 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.660 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.661 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.662 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.663 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.664 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.simulated_annealing_algo] not can_change_power and is_waiting -> do nothing
2025-06-12 10:41:28.665 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Dealing with best_solution for Surpresseur piscine  - {'power_max': 1200.0, 'power_min': -1, 'power_step': 0, 'current_power': 0, 'requested_power': 0, 'name': 'Surpresseur piscine ', 'state': False, 'is_usable': True, 'is_waiting': True, 'can_change_power': False, 'priority': 4}
2025-06-12 10:41:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Dealing with best_solution for Pool & PAC - {'power_max': 3900.0, 'power_min': 900, 'power_step': 3000, 'current_power': 0, 'requested_power': 0, 'name': 'Pool & PAC', 'state': False, 'is_usable': False, 'is_waiting': True, 'can_change_power': True, 'priority': 16}
2025-06-12 10:41:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is not usable
2025-06-12 10:41:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Calculated data are: {'power_production': 4000, 'power_production_brut': 4014.0, 'power_consumption': 10.0, 'sell_cost': 0.1, 'buy_cost': 0.2016, 'sell_tax_percent': 0.0, 'battery_soc': 73.0, 'battery_charge_power': -3180.0, 'priority_weight': 0, 'best_solution': [{'power_max': 1200.0, 'power_min': -1, 'power_step': 0, 'current_power': 0, 'requested_power': 0, 'name': 'Surpresseur piscine ', 'state': False, 'is_usable': True, 'is_waiting': True, 'can_change_power': False, 'priority': 4}, {'power_max': 3900.0, 'power_min': 900, 'power_step': 3000, 'current_power': 0, 'requested_power': 0, 'name': 'Pool & PAC', 'state': False, 'is_usable': False, 'is_waiting': True, 'can_change_power': True, 'priority': 16}], 'best_objective': 1051.06100795756, 'total_power': 0, 'surpresseur_piscine': <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe105512490>, 'pool_pac': <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe1055139d0>}
2025-06-12 10:41:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.coordinator] Finished fetching Solar Optimizer data in 0.013 seconds (success: True)
2025-06-12 10:41:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:41:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.switch] No device lave_vaisselle found ...
2025-06-12 10:41:28.666 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:41:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.switch] No device machine_a_laver found ...
2025-06-12 10:41:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:41:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.switch] No device pompe_piscine found ...
2025-06-12 10:41:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:41:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Surpresseur piscine  is waiting
2025-06-12 10:41:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.switch] Calling _handle_coordinator_update for Active
2025-06-12 10:41:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is waiting
2025-06-12 10:41:28.667 DEBUG (MainThread) [custom_components.solar_optimizer.managed_device] Pool & PAC is not usable

Plus tard il a bien remis en route le device pool & PAC à 10:00:58
Le chauffage à 10:21:28 avec la coupure du surpresseur en même temps
Rebelotte à 10:31:28 coupure du device pool & PAC au moment où « prochaine dispo » <= 0 alors qu’on venais de changé la puissance il n’y a que 10 minutes

Je repasse en 3.5.2 pour le moment

1 « J'aime »

Bonjour @Jean-Marc_Collin

Je tiens tout d’abord à te remercier pour ce développement. J’imagine le temps passé derrière. C’est incroyable.

Pour ma part je suis novice sur HA et mon job c’est mecano et donc pas très très fort en développement.

J’essaie depuis 2 semaines à faire fonctionner ton système sur mon HA. Je dois faire quelque de mal car j’arrive même pas à activer un commutateur d’une prise connectée.

J’ai ma consomation instantané en W. « Conso inst »(négative si je produit). J’ai ma production instantané « produit inst » en W.
Je ne revend pas … J’ai un système de batterie virtuelle avec la société Urban solar. Juste je récupère l’énergie du réseau le soir quand je produit plus à 0,05euro.

J’ai donc créé les variables prix prix exporté a 0,01€ et prix importé a 0,05€ puis la taxe a 0.

J’ai ensuite créé un service pour mon cumulus. Celui-ci consomme 2800w et je veux l’activer 1h par jour avec au moins 15min de marche.

Mais je ne sais pas pourquoi, cela ne fonctionne pas.
Je dois forcément faire quelque choses de mal. Ou une info pas bonne …





J’ai essayé en mode événement et mode service rien ne change.

Par la suite, je souhaite intégrer ma tesla. Je n’ai pas encore réussi, mais j’ai pas vraiment pris le temps de chercher comment l’intégrer car il semble que les applications ne fonctionne pas. Si tu as des conseils je suis preneur également. Après je vais vouloir la rajouter à ton application.

Pourrais tu m’aider.
Merci d’avance.
Pas d’urgence.
Bonne soirée.
Nicolas.

Salut @Morel_Nicolas

Essaye en changeant le Mode d’Action « Événement » par Appel d’action

Chez moi c’est configuré comme ça et ça fonctionne

2 « J'aime »

Merci pour ton aide.
Je vais essayer pour demain. La dernière fois ça vas pas fonctionner. Mais depuis j’ai fait d’autres truc qui sais.

Merci d’avance.
Nico.

Hello @alex71 ,

Désolé mais le patch a été fait trop rapidement et n’était pas bon.
Voici la bonne version avec des tests qui sont ok cette fois: Release 3.6.0 · jmcollin78/solar_optimizer · GitHub

Merci à @ben33880 d’avoir relevé l’erreur - ca m’apprendra a vouloir aller trop vite.

1 « J'aime »

Hello @Morel_Nicolas ,

Ta formulation est ambigüe. Juste pour être sûr, il faut que la consommation instantanée soit négative si tu renvoies de la puissance dans le réseau (donc tu charges ta batterie virtuelle) - donc tu produis plus que ce que tu consommes. Elle doit être positive si tu consommes plus que ce que tu produis (donc tu décharches ta batterie virtuelle).

Dans ton cas, essaye plutot d’avoir le même prix pour l’achat et la revente. Tu ne revends pas certes, mais tu veux quand même maximiser l’utilisation de ta production et éviter la charge / décharge de la batterie virtuelle. La taxe à 0 c’est bien.

Comme dit @yoyouri, c’est ça qui ne va pas :
Capture d’écran 2025-06-14 à 10.59.26

Tu veux allumer / éteindre ton switch donc il faut mettre 'Appel d’action", les actions sont en dessous et sont bonnes (switch/turn_on[off]). Avec l’option Evènement, SO ne fait rien d’autre que d’envoyer un évènement et c’est à toi de capter l’évent dans une automatisation pour en faire ce que tu veux. C’est utile si tu veux faire des choses compliquées. Toi tu veux simplement allumer / éteindre le switch.

Le reste à l’air bon :

1 « J'aime »

@Jean-Marc_Collin

J ai de nouveau eu le cas cette semaine.

J ai désactivé l option de recalcul en cas de changement pour voir si j ai le même comportement

Bonjour @Jean-Marc_Collin

Un grand merci pour ton retour.
Je met en place suite à vos remarques et je reviens vers vous. Ca vas le faire. J’en suis sur :wink::wink::wink::wink:

Concernant Tesla. Avez vous des conseils. Impossible de me connecter sur le Tesla. Ci-joint la copie d’écran.

J’ai pas coché l’option Feel

Je suis passé par l’intégration de HACS et pas les 3 déjà intégré.

Merci d’avance l’équipe.
Nicolas

Pour intégrer Tesla il faut suivre ici : Configuration de l'addon Tesla Http Proxy

C’est pas facile à mettre en place surtout pour les débutants.

1 « J'aime »

Merci @Jean-Marc_Collin

Je vais m’y tenté a tête reposée. :joy::joy::joy:. :muscle::muscle::muscle:.
Demain déjà je vais voir. Mais je pense que vos modifications vont m’aider. :wink:.

Bonne soirée un grand merci pour l’aide.
Nico.

1 « J'aime »

J ai mis à jour en 3.6.0 puis redémarrage de HA et j ai toujours le soucis.

Le ballon de 2200W s allume alors que la puissance disponible est loin d être atteinte

custom_components.solar_optimizer.coordinator] Refreshing Solar Optimizer calculatione[0m
e[32m2025-06-15 09:01:03.336 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Calling service switch/turn_on for entity switch.module_ballon_eau_chaudee[0m
e[32m2025-06-15 09:01:03.339 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sending event solar_optimizer_state_change_event with action Activate for entity switch.module_ballon_eau_chaude with requested_power 2200.0 and current_power 0e[0m
e[32m2025-06-15 09:01:03.341 INFO (MainThread) [custom_components.solar_optimizer.coordinator] Calculated data are: {'power_production': 1110, 'power_production_brut': 2220.0, 'power_consumption': -1519.0, 'sell_cost': 0.1276, 'buy_cost': 0.195154, 'sell_tax_percent': 0.0, 'battery_soc': 0, 'battery_charge_power': 0, 'priority_weight': 0, 'best_solution': [{'power_max': 2200.0, 'power_min': -1, 'power_step': 0, 'current_power': 0, 'requested_power': 2200.0, 'name': "Ballon d'eau chaude", 'state': True, 'is_usable': True, 'is_waiting': False, 'can_change_power': False, 'priority': 4}, {'power_max': 1100.0, 'power_min': -1, 'power_step': 0, 'current_power': 0, 'requested_power': 0, 'name': 'Lave-vaisselle', 'state': False, 'is_usable': False, 'is_waiting': False, 'can_change_power': False, 'priority': 4}], 'best_objective': 411.76832510209016, 'total_power': 2200.0, 'ballon_d_eau_chaude': <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7f626fdfd0>, 'lave_vaisselle': <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7f62637250>}e[0m
e[32m2025-06-15 09:01:03.439 INFO (MainThread) [custom_components.solar_optimizer.sensor] Call of on_state_change at 2025-06-15 09:01:03.439726+02:00 with event <Event state_changed[L]: entity_id=switch.module_ballon_eau_chaude, old_state=<state switch.module_ballon_eau_chaude=off; friendly_name=Module ballon @ 2025-06-15T08:56:39.050025+02:00>, new_state=<state switch.module_ballon_eau_chaude=on; friendly_name=Module ballon @ 2025-06-15T09:01:03.437157+02:00>>e[0m
e[32m2025-06-15 09:01:03.442 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Ballon d'eau chaude - Set on_time=475e[0m
e[32m2025-06-15 09:01:03.442 INFO (MainThread) [custom_components.solar_optimizer.switch] Appel de on_state_change à 2025-06-15 09:01:03.442548 avec l'event <Event state_changed[L]: entity_id=switch.module_ballon_eau_chaude, old_state=<state switch.module_ballon_eau_chaude=off; friendly_name=Module ballon @ 2025-06-15T08:56:39.050025+02:00>, new_state=<state switch.module_ballon_eau_chaude=on; friendly_name=Module ballon @ 2025-06-15T09:01:03.437157+02:00>>e[0m
e[32m2025-06-15 09:01:04.058 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Ballon d'eau chaude - Set on_time=476e[0m
e[

Je ne vois ce qui cloche dans ma conf.

Tu produis 2200 w et la puissance allumée par SO est de 2200 w.

Es-tu sur que c’est pas normal ?

Si je regarde dans les logs je vois que la conso nette est de -1500 w:
power_consumption': -1519.0

Donc avec tes réglages de prix d’achat / prix de vente, il considère que le plus intéressant pour toi est d’acheter un peu pour éviter de revendre 1500 W.

Ca n’a rien d’incohérent en fonction des couts. Augmente le prix d’achat si tu considères que ce n’est pas bon.

Question a 2 balles : power_production et power_production_brut ça correspond à quoi ?

C’est ta production solaire remontée par le capteur (brut) et lissée (le pas brut)

Ah comme j ai coché en config la case Lisser… A quoi cela sert stp ?

Je comprends que c est un soucis ICC :smiley:

Ce n’ est jamais simple de faire la distinction entre comment cela fonctionne vraiment et comment nous pensons/aimerions que ça fonctionne.

1 « J'aime »

Salut @Jean-Marc_Collin

Merci pour la mise à jour.
Pas de soucis pour la version bêta, c’est aussi un peu de le but.

De ce que j’ai observé avec la 3.6.0:

  • La mise en route du device se fait uniquement sur « prochaine dispo » <= 0 ET « prochaine dispo puissance » <= 0
  • Le changement de puissance se fait bien lorsque " prochaine dispo puissance"<=0
  • L’arrêt se fait uniquement si « prochaine dispo »<= 0, sans prendre en compte « prochaine dispo puissance »

Donc, dans le cas où on vient de changer la puissance depuis moins de temps que la durée min de puissance, et si « prochaine dispo » <=0 alors SO à le droit de couper le device (c’est ce que j’ai observé en tout cas)
Est-ce le fonctionnement voulu ?

J’aurais pensé que lorsqu’un changement de puissance à lieu, la valeur de « prochaine dispo » soit réinitialisée à la valeur de la durée min de puissance de façon à interdire la coupure du device pendant au moins la durée de puissance min. Ou alors deuxième solution, que la coupure du device se fasse comme la mise en route, c’est à dire que si « prochaine dispo » <= 0 ET « prochaine dispo puissance » <= 0

En gros, par rapport à la 3.5.2, au lieu de baisser la puissance trop top, il coupe la device trop tot
J’espère que c’est compréhensible.