OK, hier is hoe ik in Home Assistant een setje helpers / automations heb gemaakt die mijn PiB's op "discharge only" zetten. Dit kan nuttig zijn bij een dynamisch contract, zodat je bv in de "dure" ochtenduren zonnestroom teruglevert zodat je daar meer geld voor krijgt, maar als er een verbruiker wordt ingeschakeld, deze wel op de PiB werkt.
Het systeem als geheel is halfautomatisch. Ik denk de avond ervoor even kort na over de stroomprijze, het te verwachten verbruik en de te verwachten zonnestroom-opbrengst. Het systeem schakelt zichzelf ook uit, zodat de uiteindelijke modus altijd NOM is. Voor een volgende dag zet ik het dan 's avonds weer aan als ik dat nodig vind.
Het systeem bestaat uit de volgende vier componenten (met de entiteitnaam zoals hij bij heeft erachter):
- Een helper die het hele systeem aan- en uitzet. input_boolean.battery_charge_strategically
- Een automation die de PiB's op pauze zet. automation.battery_strategic_charging_on
- Een automation die de PiB's op NOM zet als hij netafname ziet. automation.battery_nom_when_power_is_drawn_from_grid
- Een automation die het systeem voorgoed uitzet, tot hij door mij weer wordt geactiveerd. automation.battery_disable_strategic_charging_at_time
(let niet op de rare namen, dat krijg je als je dit soort dingen zonder enige planning bouwt

)
1. Een helper die het hele systeem aan- en uitzet. input_boolean.battery_charge_strategically
Ga naar Settings -> Devices & Services -> Helpers -> Create helper
Selecteer Toggle
Geef de helper een naam
Klik op Create
De helper staat nu klaar. Ik heb deze op de frontpage van mijn HA staan zodat ik hem eenvoudig aan en uit kan zetten.
2. Een automation die de PiB's op pauze zet. automation.battery_strategic_charging_on
Hier heb ik nog een condition in gezet dat de SoC van de PiB's (in mijn geval het gemiddelde van twee PiB's - dat is een andere helper) boven de 25% moet zijn. De gedachte hierachter is dat ik met zo'n lage SoC de PiB's toch liever oplaad dan pauze laat staan, zodat de kans dat ik later op de dag energie (of vermogen) tekort komt kleiner wordt.
De YAML-code daarvan is dit:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| alias: Battery pause when discharge only is ON
description: ""
triggers:
- trigger: numeric_state
entity_id:
- sensor.hw_battery_power
for:
hours: 0
minutes: 5
seconds: 0
above: 100
conditions:
- condition: state
entity_id: input_boolean.battery_charge_strategically
state: "on"
- condition: numeric_state
entity_id: sensor.hw_battery_soc
above: 25
actions:
- device_id: ffcfdbdc45d336c9dae03d9926617988
domain: select
entity_id: bfd405c566315012613a67f5f68afb2f
type: select_option
option: standby
mode: single |
Ik merk dat ik niet goed in tekst omschreven krijg hoe je dit in de visual editor aanmaakt. Als het goed is moet je bovenstaande yaml-code kunnen plakken, ik weet alleen niet hoe het met de device-ID's gaat. Maar als je dan na het plakken terug switcht naar de visual editor, dan zou je moeten kunnen zien hoe de automation opgebouwd is.
De logica komt neer op:
Als er voor langer dan 5 minuten meer dan 100 watt de PiB's in gaat, en de SoC van de PiB's is hoger dan 25% en de helper input_boolean.battery_charge_strategically is aan, zet dan de PiB's op pauze.
De 5 minuten is om klapperen te voorkomen, vooral in de situatie als het vermogen van de PV langzaam stijgt, en de koelkast/vriezen schakelen. Kun je korter zetten, kun je langer zetten.
3. Een automation die de PiB's op NOM zet als hij netafname ziet. automation.battery_nom_when_power_is_drawn_from_grid
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| alias: Battery discharge only
description: ""
triggers:
- type: power
device_id: d82ee0338b75bb49215660b906c8e202
entity_id: 1a31a0109dadd63bae74fa57c054dcae
domain: sensor
trigger: device
above: 0.1
for:
hours: 0
minutes: 0
seconds: 20
conditions:
- condition: state
entity_id: input_boolean.battery_charge_strategically
state: "on"
actions:
- device_id: ffcfdbdc45d336c9dae03d9926617988
domain: select
entity_id: bfd405c566315012613a67f5f68afb2f
type: select_option
option: zero
mode: single |
De logica is: als er voor langer dan 20 seconden afname van het stroomnet gedeteceerd wordt, en de helper input_boolean.battery_charge_strategically is aan, zet dan de PiB's op zero (NOM).
4. Een automation die het systeem voorgoed uitzet, tot hij door mij weer wordt geactiveerd. automation.battery_disable_strategic_charging_at_time
Deze automation zet de helper (nr 1) uit op een ingesteld tijdstip. Dit is de YAML-code:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| alias: Battery disable discharge only at time
description: ""
triggers:
- trigger: time
at: "11:00:00"
conditions: []
actions:
- action: input_boolean.turn_off
metadata: {}
data: {}
target:
entity_id: input_boolean.battery_charge_strategically
- device_id: ffcfdbdc45d336c9dae03d9926617988
domain: select
entity_id: bfd405c566315012613a67f5f68afb2f
type: select_option
option: zero
mode: single |
Ik moet nog even iets bedenken dat ik dit tijdstip makkelijk aan kan passen vanaf het standaard dashboard, nu klik ik nog naar de automations en pas het daar aan.
Het hele systeem gebruik ik als volgt:
's Avonds (dit moet na zonsondergang) bedenk ik me het volgende:
- Wordt er voor morgen veel zonne-energie verwacht of niet? Hoe gaat dat verdeeld zijn over de dag?
- Verwacht ik morgen veel elektriciteitsverbruik?
- Hoe laat daalt de prijs morgenochtend van "duur" naar "goedkoop"?
Als ik weinig zon verwacht, en/of veel elektriciteitsverbruik, doe ik niets. Ik zet de helper niet aan.
Verwacht ik voldoende zon en/of niet veel elektriciteitsverbruik dan zet ik de helper aan. In de Tibber app check ik hoe laat de prijs naar "goedkoop" gaat en stel dat in automation nummer 4 in.
De volgende ochtend gaat het dan automatisch als volgt:
- De hele nacht staat de PiB op discharge only, m.a.w. de woning draait op de batterij.
- Als de zon opkomt, en de PiB is voor langer dan 5 minuten met meer dan 100 watt geladen, én de SoC is meer dan 25%, dan zet automation nummer 2 de PiB op pauze. De overtollige zonnestroom gaat nu het net op, waar je er hopelijk veel geld voor krijgt.
- [Als er een zware verbruiker wordt aangezet waardoor er meer dan 100 watt uit het stroomnet wordt geleverd, zet automation nummer 3 na 20 seconden de PiB weer op zero (NOM) zodat je geen dure stroom verbruikt. Als dit verbruik stopt, zet automation nummer 2 de PiB na 5 minuten weer op pauze./li]
- Als het in automation nummer 4 ingestelde tijdstip arriveert, zet die automation de PiB op zero (NOM) en zet de helper uit, zodat de PiB op NOM staat, tot ik het die avond weer activeer.
Ik hoop dat jullie er iets mee kunnen, ik vind het zelf niet super duidelijk, maar ik merk dat HA zich niet echt leent om iets beknopt in tekst uit te leggen.
Xtool D1 10w laser cutter - IoT moet nooit op internet - 3x HomeWizard plug-in batterij, totaal 8,1 kWh / 2400 watt / 2400 watt, aansturing met Home Assistant