Intégration Solar Optimizer - Optimisation de sa consommation Solaire

@Jean-Marc_Collin saurais-tu me dire s’il y a une certaine inertie avant que les appareils se coupent une fois le raz_time atteint?

Aujourd’hui mes appareils ont continué à chauffer jusque 08:16 ald de s’arrêter a 06:00? et pourquoi 8:16?
Comme si le raz leur auraient permis de reprendre (ou continuer) la chauffe puisque on_time est bien remis a zéro à 6:00 sur la capture ci-dessous (je sais pas trop si c’est compréhensible !)
A 6:00, mon chauffe-eau et mon sèche serviette fonctionnaient !

réglage chauffe-eau

friendly_name: Solar Optimizer-Chauffe-Eau On time today
last_datetime_on: null
max_on_time_per_day_min: 240
min_on_time_per_day_min: 240
raz_time: "06:00:00"
should_be_forced_offpeak: false
offpeak_time: "02:00:00"

réglage sèche serviette

friendly_name: Solar Optimizer-Sèche-Serviette On time today
last_datetime_on: null
max_on_time_per_day_min: 180
min_on_time_per_day_min: 180
raz_time: "06:00:00"
should_be_forced_offpeak: false
offpeak_time: "03:00:00"

Logs de 06:00

   7256  2024-11-23 05:58:43.714 INFO (MainThread) [custom_components.tarif_edf.coordinator] {'contract_power': '9', 'contract_type': 'hphc', 'last_refresh_at': datetime.datetime(2024, 11, 22, 18, 55, 39, 938099), 'tarif_actuel_ttc': None, 'hphc_fixe_ttc': 200.33, 'hphc_variable_hc_ttc': 0.2068, 'hphc_variable_hp_ttc': 0.27}
   7257: 2024-11-23 05:58:44.575 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Chauffe-Eau - Set on_time=14257
   7258: 2024-11-23 05:58:44.596 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sèche-Serviette - Set on_time=10656
   7264  2024-11-23 05:59:43.714 INFO (MainThread) [custom_components.tarif_edf.coordinator] {'contract_power': '9', 'contract_type': 'hphc', 'last_refresh_at': datetime.datetime(2024, 11, 22, 18, 55, 39, 938099), 'tarif_actuel_ttc': None, 'hphc_fixe_ttc': 200.33, 'hphc_variable_hc_ttc': 0.2068, 'hphc_variable_hp_ttc': 0.27}
   7265: 2024-11-23 05:59:44.575 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Chauffe-Eau - Set on_time=14317
   7266: 2024-11-23 05:59:44.597 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sèche-Serviette - Set on_time=10716
   7267: 2024-11-23 06:00:00.111 INFO (MainThread) [custom_components.solar_optimizer.sensor] Call of _on_midnight to reset onTime
   7268: 2024-11-23 06:00:00.111 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Chauffage SPA - Set on_time=0
   7269: 2024-11-23 06:00:00.398 INFO (MainThread) [custom_components.solar_optimizer.sensor] Call of _on_midnight to reset onTime
   7270: 2024-11-23 06:00:00.399 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sèche-Serviette - Set on_time=0
   7271  2024-11-23 06:00:00.421 DEBUG (MainThread) [homeassistant.components.automation.gestion_alarme] Automation trigger 'None' triggered by time
   7274  2024-11-23 06:00:00.422 INFO (MainThread) [homeassistant.components.automation.gestion_alarme] Hub 2 Plus - Gestion Alarme: Choose at step 1: choice 2: Executing step call service
   7275: 2024-11-23 06:00:00.477 INFO (MainThread) [custom_components.solar_optimizer.sensor] Call of _on_midnight to reset onTime
   7276: 2024-11-23 06:00:00.478 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Chauffe-Eau - Set on_time=0
   7277  2024-11-23 06:00:21.618 INFO (MainThread) [surepy.client] 🐾 e[38;2;255;0;255m·e[0m GET app.api.surehub.io/api/report/household/61453: 404 | <ClientResponse(https://app.api.surehub.io/api/report/household/61453) [404 Not Found]>
   7282  2024-11-23 06:00:43.715 INFO (MainThread) [custom_components.tarif_edf.coordinator] {'contract_power': '9', 'contract_type': 'hphc', 'last_refresh_at': datetime.datetime(2024, 11, 22, 18, 55, 39, 938099), 'tarif_actuel_ttc': None, 'hphc_fixe_ttc': 200.33, 'hphc_variable_hc_ttc': 0.2068, 'hphc_variable_hp_ttc': 0.27}
   7283: 2024-11-23 06:00:44.577 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Chauffe-Eau - Set on_time=44
   7284: 2024-11-23 06:00:44.598 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sèche-Serviette - Set on_time=44
   7285  2024-11-23 06:00:46.442 INFO (MainThread) [custom_components.versatile_thermostat.underlyings] VersatileThermostat-Thermostat Ch3-switch.shelly_radiateur_ch3 - start heating for 0 min 58 sec
   7286: 2024-11-23 06:01:07.726 INFO (MainThread) [custom_components.solar_optimizer.coordinator] Refreshing Solar Optimizer calculation
   7287  2024-11-23 06:01:07.773 INFO (MainThread) [hass_nabucasa.google_report_state] Timeout while waiting to receive message
   7291  2024-11-23 06:01:44.444 INFO (MainThread) [custom_components.versatile_thermostat.underlyings] VersatileThermostat-Thermostat Ch3-switch.shelly_radiateur_ch3 - stop heating for 4 min 1 sec
   7292: 2024-11-23 06:01:44.579 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Chauffe-Eau - Set on_time=104
   7293: 2024-11-23 06:01:44.599 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sèche-Serviette - Set on_time=104
   7294  2024-11-23 06:02:03.969 DEBUG (MainThread) [homeassistant.components.automation.eteindre_lumiere_terrasse] Automation trigger 'None' triggered by state of device_tracker.asus_ai2401_c
   7298  2024-11-23 06:02:43.714 INFO (MainThread) [custom_components.tarif_edf.coordinator] {'contract_power': '9', 'contract_type': 'hphc', 'last_refresh_at': datetime.datetime(2024, 11, 22, 18, 55, 39, 938099), 'tarif_actuel_ttc': None, 'hphc_fixe_ttc': 200.33, 'hphc_variable_hc_ttc': 0.2068, 'hphc_variable_hp_ttc': 0.27}
   7299: 2024-11-23 06:02:44.579 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Chauffe-Eau - Set on_time=164
   7300: 2024-11-23 06:02:44.600 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sèche-Serviette - Set on_time=164
   7301  2024-11-23 06:02:56.766 INFO (MainThread) [hass_nabucasa.google_report_state] Timeout while waiting to receive message

Logs de 08:16 quand tous c’est coupé

   8628  2024-11-23 08:14:43.714 INFO (MainThread) [custom_components.tarif_edf.coordinator] {'contract_power': '9', 'contract_type': 'hphc', 'last_refresh_at': datetime.datetime(2024, 11, 22, 18, 55, 39, 938099), 'tarif_actuel_ttc': None, 'hphc_fixe_ttc': 200.33, 'hphc_variable_hc_ttc': 0.2068, 'hphc_variable_hp_ttc': 0.27}
   8629: 2024-11-23 08:14:44.728 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Chauffe-Eau - Set on_time=8084
   8630: 2024-11-23 08:14:44.745 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sèche-Serviette - Set on_time=8084
   8631  2024-11-23 08:15:02.147 INFO (MainThread) [custom_components.versatile_thermostat.underlyings] VersatileThermostat-Thermostat SaM-switch.shelly_radiateur_salon - start heating for 4 min 15 sec
   8635  2024-11-23 08:15:43.714 INFO (MainThread) [custom_components.tarif_edf.coordinator] {'contract_power': '9', 'contract_type': 'hphc', 'last_refresh_at': datetime.datetime(2024, 11, 22, 18, 55, 39, 938099), 'tarif_actuel_ttc': None, 'hphc_fixe_ttc': 200.33, 'hphc_variable_hc_ttc': 0.2068, 'hphc_variable_hp_ttc': 0.27}
   8636: 2024-11-23 08:15:44.729 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Chauffe-Eau - Set on_time=8144
   8637: 2024-11-23 08:15:44.745 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sèche-Serviette - Set on_time=8144
   8638: 2024-11-23 08:16:07.726 INFO (MainThread) [custom_components.solar_optimizer.coordinator] Refreshing Solar Optimizer calculation
   8639: 2024-11-23 08:16:07.735 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Calling service switch/turn_off for entity switch.shelly_chauffe_eau
   8640: 2024-11-23 08:16:07.739 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sending event solar_optimizer_state_change_event with action Deactivate for entity switch.shelly_chauffe_eau with requested_power 0 and current_power 2300
   8641: 2024-11-23 08:16:07.740 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Calling service switch/turn_off for entity switch.seche_serviette
   8642  2024-11-23 08:16:07.740 INFO (MainThread) [homeassistant.helpers.script.seche_serviette] Sèche-Serviette: Running template script
   8643  2024-11-23 08:16:07.741 INFO (MainThread) [homeassistant.helpers.script.seche_serviette] Sèche-Serviette: Executing step call service
   8644: 2024-11-23 08:16:07.742 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sending event solar_optimizer_state_change_event with action Deactivate for entity switch.seche_serviette with requested_power 0 and current_power 800
   8645: 2024-11-23 08:16:07.742 INFO (MainThread) [custom_components.solar_optimizer.coordinator] Calculated data are: {'power_production': 0, 'power_production_brut': 0.0, 'power_consumption': 5411.0, 'sell_cost': 0.13, 'buy_cost': 0.27, 'sell_tax_percent': 10.0, 'battery_soc': 0, 'best_solution': [{'power_max': 2300, 'power_min': -1, 'power_step': 0, 'current_power': 2300, 'requested_power': 0, 'name': 'Chauffe-Eau', 'state': False, 'is_usable': True, 'is_waiting': False, 'can_change_power': False}, {'power_max': 800, 'power_min': -1, 'power_step': 0, 'current_power': 800, 'requested_power': 0, 'name': 'Sèche-Serviette', 'state': False, 'is_usable': True, 'is_waiting': False, 'can_change_power': False}], 'best_objective': 1612.325581395349, 'total_power': 0, 'chauffe_eau': <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe7953d8770>, 'seche_serviette': <custom_components.solar_optimizer.managed_device.ManagedDevice object at 0x7fe795207260>}
   8646: 2024-11-23 08:16:07.893 INFO (MainThread) [custom_components.solar_optimizer.sensor] Call of on_state_change at 2024-11-23 08:16:07.893541+01:00 with event <Event state_changed[L]: entity_id=switch.seche_serviette, old_state=<state switch.seche_serviette=on; friendly_name=Sèche-Serviette @ 2024-11-23T03:01:07.985079+01:00>, new_state=<state switch.seche_serviette=off; friendly_name=Sèche-Serviette @ 2024-11-23T08:16:07.893289+01:00>>
   8647: 2024-11-23 08:16:07.894 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Sèche-Serviette - Set on_time=8167
   8648: 2024-11-23 08:16:07.894 INFO (MainThread) [custom_components.solar_optimizer.switch] Appel de on_state_change à 2024-11-23 08:16:07.894376 avec l'event <Event state_changed[L]: entity_id=switch.seche_serviette, old_state=<state switch.seche_serviette=on; friendly_name=Sèche-Serviette @ 2024-11-23T03:01:07.985079+01:00>, new_state=<state switch.seche_serviette=off; friendly_name=Sèche-Serviette @ 2024-11-23T08:16:07.893289+01:00>>
   8649  2024-11-23 08:16:21.397 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall switch.turn_off (c:01JDBY1GDRA7AFWJ1D4BV053KM): entity_id=['switch.shelly_chauffe_eau']>

   8727  homeassistant.exceptions.HomeAssistantError: Setting state for entity Shelly EM failed, state: {'turn': 'off'}, error: DeviceConnectionError(ClientConnectorError(ConnectionKey(host='192.168.1.46', port=80, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None), OSError(113, "Connect call failed ('192.168.1.46', 80)")))
   8728: 2024-11-23 08:16:30.204 INFO (MainThread) [custom_components.solar_optimizer.sensor] Call of on_state_change at 2024-11-23 08:16:30.204660+01:00 with event <Event state_changed[L]: entity_id=switch.shelly_chauffe_eau, old_state=<state switch.shelly_chauffe_eau=on; friendly_name=Shelly EM @ 2024-11-23T02:01:07.767621+01:00>, new_state=<state switch.shelly_chauffe_eau=off; friendly_name=Shelly EM @ 2024-11-23T08:16:30.203878+01:00>>
   8729: 2024-11-23 08:16:30.205 INFO (MainThread) [custom_components.solar_optimizer.managed_device] Chauffe-Eau - Set on_time=8189
   8730: 2024-11-23 08:16:30.205 INFO (MainThread) [custom_components.solar_optimizer.switch] Appel de on_state_change à 2024-11-23 08:16:30.205391 avec l'event <Event state_changed[L]: entity_id=switch.shelly_chauffe_eau, old_state=<state switch.shelly_chauffe_eau=on; friendly_name=Shelly EM @ 2024-11-23T02:01:07.767621+01:00>, new_state=<state switch.shelly_chauffe_eau=off; friendly_name=Shelly EM @ 2024-11-23T08:16:30.203878+01:00>>
   8731  2024-11-23 08:16:31.571 INFO (MainThread) [custom_components.versatile_thermostat.underlyings] VersatileThermostat-Thermostat Ch3-switch.shelly_radiateur_ch3 - stop heating for 4 min 11 sec
   8764  2024-11-23 08:20:43.715 INFO (MainThread) [custom_components.tarif_edf.coordinator] {'contract_power': '9', 'contract_type': 'hphc', 'last_refresh_at': datetime.datetime(2024, 11, 22, 18, 55, 39, 938099), 'tarif_actuel_ttc': None, 'hphc_fixe_ttc': 200.33, 'hphc_variable_hc_ttc': 0.2068, 'hphc_variable_hp_ttc': 0.27}
   8765: 2024-11-23 08:21:07.726 INFO (MainThread) [custom_components.solar_optimizer.coordinator] Refreshing Solar Optimizer calculation

Je suis sincèrement désolé de te solliciter autant
Merci d’avance

Hello @AndAriel

Oui: la durée du cycle, qui est de 5 min par défaut, mais pas plus.

Tu dois être un des rares avec min = max à chaque fois. C’est curieux et si ça se trouve c’est ça le soucis. C’est pas forcément un cas que j’avais imaginé. Essaye peut être de faire que le max soit > au min qui l’usage plus normal et de faire en sorte de décaler un peu les durées. Tu as toujours offpeak_time+durée = raz_time à la seconde près. Comme y a des cycles qui ne tombent pas sur les minutes, on n’est pas à l’abris d’un bug.
Mets 230 au lieu de 24à et 170 au lieu de 180 par exemple et min < max pour voir.

1 « J'aime »

Hello @Chris73,
pour la priorisation, voici ce que j’ai fait pour prioriser mon chauffe eau par rapport à la charge de la voiture électrique (j’ai eu l’idée tout récemment, je n’ai pas encore testé :wink:)

J’ai une entité de type History stats qui me renvoie en temps réel, le temps quotidien de fonctionnement de mon chauffe eau.
J’ai une entité de input number qui indique le temps minimum quotidien de mon chauffe eau (je le modifie en fonction des saisons)

Ensuite au niveau du solar_optimizer.yaml j’ajoute pour la voiture la ligne ci-dessous

 check_usable_template: "{{ states('sensor.temps_chauffe_eau')|float|round(2) > states('input_number.duree_minimum_chauffe_eau')|float }}"

Ainsi la voiture ne pourra être « gérée » par solar optimizer qu’une fois que le chauffe eau aura atteint le temps de fonctionnement minimum…logiquement cela devrait fonctionner

2 « J'aime »

Salut,

Bien vu comme approche : dis nous dès que tu as testé/validé le concept ! :slight_smile:

@Jean-Marc_Collin ,
un truc que je comprend pas avec la nouvelle fonction lié a min_on_time_per_day_min & max_on_time_per_day_min :

Quand on arrive a l’heure off_peak, en déclenche sur l’attribut min_on_time_per_day_min mais, après, on arrête sur le timer max_on_time_per_day_min

Donc, actuellement si via le solaire on arrive pas a min_on_time_per_day_min (ce qui peut arriver beaucoup de fois en hiver), on vas systématiquement aller jusqu’à max_on_time_per_day_min

Moi, je pense que ça serait mieux en off_peak, d’arrêter sur min_on_time_per_day_min mais en journée ( excédentaire niveau solaire) , arrêter sur max_on_time_per_day_min.

par exemple avec

     min_on_time_per_day_min: 180
     max_on_time_per_day_min: 300

par jour de beau temps, le ballon pourrait chauffer jusqu’a 5h et a minima 3h pour être sur que l’eau est assez chaude.
Or actuellement avec cette configuration :

  • Si il a fait 181 minutes en solaires, il ne sera pas déclencher la nuit
  • Si il a fait 179 minutes en solaires, il fera 121 minutes en plus la nuit, (et comme des douches sont prises souvent le soir, le ballon veut bien déclencher à ce moment et vider la batterie « inutilement » ou consommer d’Enedis « inutilement » )
1 « J'aime »

@Jean-Marc_Collin Et je vient de me rendre compte d’un autre souci :

Le compteur de temps d’utilisation des équipements se remet a 0 lors d’un restart de home assistant.
Donc a chaque restart, mise a jour ou …, les equipements vont etre allumer en off_peak par solar_optimizer et pour longtemps :

Hello,

Non, je suis sur que non. Le on_time est sauvegardé et restauré au démarrage. Je suis sur de moi, je le surveille aussi pas mal.
Après, on est jamais a l’abris. Donne moi une preuve irréfutable :stuck_out_tongue_winking_eye: (attribut on_time, avant / après restart par exemple).

Tester a l’instant : ( j’ai laisser l’heure de l’ordi exprès )
avant : 3m42sec (seulement 4minutes car j’ai redemarrer HA avant d’où mon message d’avant )

Apres restart d’HA : 4 secondes

Ok. On dirait bien que tu as raison. Tu l’arrêtes comment HA ?

Salut,
99% du temps, je passe par Outils de développement / YAML / Redémarrer / Redémarrer Home Asistant

Bonjour,

C’est normal que le « on time today » soit exprimé en secondes ?

C’est suite à la mise à jour HA de ce soir ?

C’est un delai en seconde mais ca doit s’afficher sous la forme hh:mm:ss :

Capture d’écran 2024-12-04 à 22.29.31

Je n’ai pas fait de mise à jour. Je ne comprends pas.

Bonsoir

Voici un exemple ce soir

Je parlais mis à jour du logiciel HA core hier soir