Stukje context
Heb drie automations voor de aansturing van mijn WTW.
1. Zet de WTW naar maximaal als de badkamer luchtvochtigheid snel stijgt (binaire sensor) trapt de verhoging eenmalig af, voor de periode van 1 uur.
2. Zet de WTW naar maximaal, zolang het buiten koeler is dan binnen, en de temperatuur binnen te hoog is.
3. Start een script die ieder uur de WTW op de middelste stand instelt. De trigger is als de CO2 in de slaapkamer snel is gestegen op basis van een binaire sensor.
De WTW dient ieder uur aangezwengeld te worden, anders gaat ie terug naar de standaard modus (lage ventilatie snelheid).
Uitleg automation
Het probleem dat ik heb is met de derde automation, de WTW aansturen op basis van de CO2.
Eerder had ik een automation op basis van een vaste waarde, maar omdat de CO2 meters over een langere periode nog wel eens andere waardes willen geven, (stof, kwaliteit buitenlucht, luchtvochtigheid, batterij van de sensor?) is een vaste waarde niet handig.
Nu gebruik ik binaire sensoren als trigger, als de CO2 in % is gestegen tussen een aantal metingen, dan mag de WTW hoger draaien. Hiervoor wordt een script gestart die de WTW ieder uur op de stand middel instelt.
Ook heb ik een zelfde soort sensor die een daling in CO2 meet, voor als de slaapkamer weer leeg is. Deze triggers een automation die het script weer stopt.
Probleem zelf
Het probleem is echter dat, ondanks dat de triggers goed werken, het script soms toch door blijft lopen, en de ventilatie dus in de hogere stand blijft draaien.
Mijn vermoeden is dat het komt door de exception in de automation, die het script start. Deze wacht namelijk eerst tot de ventilator langzamer gaat draaien. (Deze exception zit er in, omdat ik niet wil dat de WTW langzamer graat draaien als deze door automation 1 of 2 nog op een hogere stand staat. Bijv. omdat er gedoucht is voor het slapen gaan).
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
26
27
28
29
30
31
32
33
34
35
36
37
| alias: WTW CO2 slaapkamer ventilatie verhogen
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.slaapkamer_occupancy_on
to: "on"
condition:
- condition: numeric_state
entity_id: sensor.netatmo_weerstation_co2
above: 700
enabled: false
action:
- if:
- condition: numeric_state
entity_id: fan.ventilation
attribute: percentage
above: 25
then:
- wait_for_trigger:
- platform: numeric_state
entity_id:
- fan.ventilation
attribute: percentage
below: 50
- metadata: {}
data: {}
target:
entity_id: script.wtw_op_niveau_midden
action: script.turn_on
else:
- metadata: {}
data: {}
target:
entity_id: script.wtw_op_niveau_midden
action: script.turn_on
mode: single |
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| alias: Slaapkamer ventilatie stoppen als slaapkamer leeg is
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.slaapkamer_occupancy_off
to: "on"
condition: []
action:
- action: script.turn_off
data: {}
target:
entity_id: script.wtw_op_niveau_midden
mode: single |
Ik heb even geen ideeën meer. Hoe kan ik dit het handigste oplossen?
AMD Ryzen 7 9800X3D | Corsair H150i Elite LCD | GIGABYTE X670E AORUS XTREME | G.Skill Trident Z F5-7800J3646H16GX2-TZ5RK | Inno3D GeForce RTX 4090 iCHILL X3 | Corsair HX1000i | Crucial T700 4TB | Intel Optane 905P 1.5TB | MP600 NH 8TB | Corsair iCUE 5000T