Sinds vorige week heb ik twee Sessy's hangen op zolder. Afgelopen dagen heb ik een aantal scripts geschreven voor HA om Sessy's aan te sturen. In eerste instantie om mijn twee Sessy's uit te zetten wanneer mijn EV gaat laden. Daarmee voorkom ik dat stroom uit de Sessy's de EV invloeit.
Ik deel de scripts hieronder ter leering ende vermaeck.
Twee rest_command scripts, de om een Sessy's power strategy uit te lezen:
rest_command: sessy_get_power_strategy: url: "http://{{host}}/api/v1/power/active_strategy" method: GET headers: authorization: "Basic {{auth}}" sessy_set_power_strategy: url: "http://{{host}}/api/v1/power/active_strategy" method: POST headers: authorization: "Basic {{auth}}" content_type: "application/json" payload: '{"strategy":"{{power_strategy}}"}'
Script om de power strategy van een Sessy aan te passen indien afwijkend van huidige strategie:
script: sessy_set_power_strategy: sequence: - action: rest_command.sessy_get_power_strategy data: host: "{{host}}" auth: "{{auth}}" response_variable: sessy_response - if: "{{ sessy_response['status'] == 200 }}" then: - variables: current_strategy: "{{ sessy_response['content']['strategy'] }}" - if: "{{ current_strategy != strategy }}" then: - action: system_log.write data: message: "Transition {{host}} from {{current_strategy}} to {{strategy}}" level: info - action: rest_command.sessy_set_power_strategy data: host: "{{host}}" auth: "{{auth}}" power_strategy: "{{strategy}}" response_variable: sessy_response - if: "{{ sessy_response['status'] != 200 }}" then: - action: system_log.write data: message: "Could not set new power strategy: {{sessy_response}}" level: error
Vervolgens twee scripts om mijn twee Sessy's om te schakelen:
script: sessy_pause: sequence: - action: script.sessy_set_power_strategy data: host: sessy1.mijndomein.nl auth: !secret sessy1_auth strategy: POWER_STRATEGY_IDLE - action: script.sessy_set_power_strategy data: host: sessy2.mijndomein.nl auth: !secret sessy2_auth strategy: POWER_STRATEGY_IDLE sessy_resume: sequence: - action: script.sessy_set_power_strategy data: host: sessy1.mijndomein.nl auth: !secret sessy1_auth strategy: POWER_STRATEGY_ECO - action: script.sessy_set_power_strategy data: host: sessy2.mijndomein.nl auth: !secret sessy2_auth strategy: POWER_STRATEGY_ECO
En vier bijbehorende automatiseringen. Deze zorgen ervoor dat de Sessy's gepauzeerd worden wanneer mijn auto thuis laadt (niet-thuis laden moet natuurlijk geen invloed hebben op mijn thuisbatterijen). De vier automatiseringen doen het volgende:
1. Wanneer EV begint met laden, en indien auto thuis is, dan Sessy's pauzeren
2. Wanneer EV thuis komt, en indien auto aan het laden is, dan Sessy's pauzeren
3. Indien EV stopt met laden, dan Sessy's in ECO modus
4. Indien EV thuis wegrijdt, dan Sessy's in ECO modus
Dit is zo gekozen omdat je niet weet welke sensor in Home Assistant eerst geüpdate wordt wanneer je thuis komt en meteen gaat laden, de geo-positie of de laadstatus. Regel 1 en 2 zorgen ervoor dat volgorde van het bijwerken van de sensoren niet uitmaakt. En regels 3 en 4 zorgen dat de Sessy's altijd terugvallen in ECO modus wanneer het thuis-laden stopt.
automation: - id: on_car_starts_charging triggers: trigger: state entity_id: sensor.car_charging_status to: "charging" condition: - condition: state entity_id: device_tracker.car state: "home" actions: - action: script.sessy_pause - id: on_car_comes_home triggers: trigger: state entity_id: device_tracker.car to: "home" condition: - condition: state entity_id: sensor.car_charging_status state: "charging" actions: - action: script.sessy_pause - id: on_car_stops_charging triggers: trigger: state entity_id: sensor.car_charging_status from: "charging" actions: - action: script.sessy_resume - id: on_car_leaves_home triggers: trigger: state entity_id: device_tracker.car from: "home" actions: - action: script.sessy_resume
Tot zover. Hopelijk is dit nuttig voor mensen die nog weinig van HA weten maar wel hun Sessy's willen aansturen. Commentaar en suggesties welkom.
Het resultaat van deze scripts en automatiseringen is in bijgevoegd plaatje te zien. Zodra de EV gaat laden gaan de Sessy's op IDLE. En zodra de auto stopt met laden, of het laden even pauzeert (EV laden wordt bij mij aangestuurd door Frank Energie), dan gaan de Sessy's weer op ECO.
Ineens kwam ik in een andere thread de repo van PimDoos tegen. Daarin gezien dat de ruwe API calls die ik hierboven deed helemaal niet nodig zijn. Heb inmiddels de pause en resume scripts aangepast:
script: sessy_pause: sequence: - action: select.select_option target: entity_id: select.sessy1_power_strategy data: option: "idle" - action: select.select_option target: entity_id: select.sessy2_power_strategy data: option: "idle" sessy_resume: sequence: - action: select.select_option target: entity_id: select.sessy1_power_strategy data: option: "eco" - action: select.select_option target: entity_id: select.sessy2_power_strategy data: option: "eco"
Waarom niet de sessy intergratie gebruikt binnen HA gemaakt door Pim doos zie : https://github.com/PimDoos/ha-sessy
Had je veel werkt gescheelt en door vele Sessy eigenearen in gebruik.
Haha ja klopt, zie mijn tweede bericht. Ik had me niet voldoende verdiept in wat die integratie allemaal kon. Maar toch een middagje leuk zelf geprobeerd 🙂