Geen Github helaas en ben ik voorlopig ook niet van plan, maar als je specifieke vragen hebt, beantwoord ik ze graag.
Sure!
Away
De Away functie is redelijk omslachtig omdat ik met die away/home knoppen wilde werken. Er zijn dan ook drie input_booleans: twee om away/home te overrulen (en dat ook in de UI te tonen) en eentje die functioneert als ultieme away/home status van het huis (input_boolean.afwezig). Die laatste staat op 'on' als zowel mijn vrouw als ik weg zijn.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
| #Away
- alias: 'Thuis'
initial_state: 'true'
trigger:
- platform: state
entity_id: group.persons
to: 'home'
condition:
- condition: state
entity_id: input_boolean.afwezig
state: 'on'
action:
service: input_boolean.turn_off
data:
entity_id: input_boolean.afwezig
- alias: 'Afwezig'
initial_state: 'true'
trigger:
- platform: state
entity_id: group.persons
to: 'not_home'
condition:
- condition: state
entity_id: input_boolean.afwezig
state: 'off'
- condition: state
entity_id: input_boolean.afwezig_thuis
state: 'off'
action:
service: input_boolean.turn_on
data:
entity_id: input_boolean.afwezig
- alias: 'Afwezig knop aan'
initial_state: 'true'
trigger:
- platform: state
entity_id: input_boolean.afwezig_afwezig
to: 'on'
action:
- service: input_boolean.turn_off
data:
entity_id: input_boolean.afwezig_thuis
- service: input_boolean.turn_on
data:
entity_id: input_boolean.afwezig
- alias: 'Afwezig knop uit'
initial_state: 'true'
trigger:
- platform: state
entity_id: input_boolean.afwezig_afwezig
to: 'off'
action:
- service: input_boolean.turn_off
data:
entity_id: input_boolean.afwezig
- alias: 'Thuis knop aan'
initial_state: 'true'
trigger:
- platform: state
entity_id: input_boolean.afwezig_thuis
to: 'on'
action:
- service: input_boolean.turn_off
data:
entity_id: input_boolean.afwezig_afwezig
- service: input_boolean.turn_off
data:
entity_id: input_boolean.afwezig
- alias: 'Thuis knop uit'
initial_state: 'true'
trigger:
- platform: state
entity_id: input_boolean.afwezig_thuis
to: 'off'
action:
- service: input_boolean.turn_off
data:
entity_id: input_boolean.afwezig |
Dus wat gebeurt er?
Als we thuiskomen (group.persons zitten beide persons in waar dus per person 3 device_trackers aan gekoppeld zijn) moet de status altijd op home komen te staan. Ik zie geen use cases om ons op afwezig te laten staan op het moment dat we daadwerkelijk thuis zijn.
Het kan zijn dat er oppas is, dus dan zetten we thuis de home knop al om. Als wij daarna weggaan moet de status niet meer op away springen, vandaar de condition bij de tweede automation.
Als we handmatig de status op away zetten met input_boolean.afwezig_afwezig (ja, I know, niet echt een fijne benaming), dan gaat uiteraard de status van input_boolean.afwezig op 'on' (dus away). Echter wanneer we de status manueel op home hadden staan, moet die input_boolean uiteraard uitgeschakeld worden, immers beide statussen kunnen niet tegelijkertijd.
Wanneer de manuele knoppen uitgezet worden schakelt de status van het huis ook mee.
Uiteraard gebruik ik input_boolean.afwezig in overige automations, zoals hieronder.
Vakantie
Deze is niet zo lastig. Wanneer input_boolean.afwezig 24 uur die status heeft, schakelt een andere input_boolean.vakantie in. Als we dan weer thuiskomen schakelt die weer uit. Het komt overigens nooit voor dat wij zelf langer dan 24 uur het huis uit zijn, terwijl er wel iemand anders is...
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
| - alias: 'Vakantie'
initial_state: 'true'
trigger:
- platform: state
entity_id: input_boolean.afwezig
to: 'on'
for:
hours: 24
action:
service: input_boolean.turn_on
data:
entity_id: input_boolean.vakantie
- alias: 'Terug van vakantie'
initial_state: 'true'
trigger:
- platform: state
entity_id: input_boolean.afwezig
to: 'off'
condition:
- condition: state
entity_id: input_boolean.vakantie
state: 'on'
action:
service: input_boolean.turn_off
data:
entity_id: input_boolean.vakantie |
Lampen dochters
We hebben nog jonge dochters die in principe rond 19:00 uur of later naar bed gaan. In principe zijn ze in de tijd ervoor niet boven op hun slaapkamer (maar beneden of op de logeerkamer waar hun TV staat). Dus dit is goed te schakelen op tijd. Na 30 minuten schakelt de lamp dus aan. Ik heb er wel een input_boolean aan gehangen om de automation evt. uit te schakelen. Sinds kort hangt er onder de hoogslaper van een van de twee een bewegingssensor. Die wil ik er dus in gaan gebruiken. De 30 minuten gaan dan dus in zodra er een lamp aan is en geen beweging meer is (wat betekent dat er óf niemand op de kamer is, óf zij in bed ligt en wij ook weg van de kamer).
De tweede automation schakelt binnen 5 minuten tussen andere tijden.
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: 'Lamp Sophie na lezen'
initial_state: 'true'
trigger:
platform: state
entity_id: light.sophie
to: 'on'
for:
minutes: 30
condition:
- condition: state
entity_id: input_boolean.sophie_lezen
state: 'on'
- condition: time
after: '18:30:00'
before: '22:00:00'
action:
- service: light.turn_off
entity_id: light.sophie
- alias: 'Lamp Sophie uit s nachts'
initial_state: 'true'
trigger:
platform: state
entity_id: light.sophie
to: 'on'
for:
minutes: 5
condition:
- condition: state
entity_id: input_boolean.sophie_slapen
state: 'on'
- condition: time
after: '22:00:00'
before: '06:25:00'
action:
- service: light.turn_off
entity_id: light.sophie |
Melding lampen
Hier triggert de input_boolean.afwezig na 2 minuten op het moment dat er nog lampen aan staan in de group.lampen (altijd onthouden om lampen daar toe te voegen als er nieuwe in het netwerk bijkomen). In die melding zit een action die de tweede automation triggert op het moment dat er op de action wordt geklikt. Waarom niet direct alles uitschakelen? Soms zijn we even een boodschap doen, of even naar mijn schoonouders (aan de overkant) terwijl er nog kinderen of evt. anderen aanwezig zijn. En om dan elke keer met de away knop te werken is ook ongewenst.
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
38
39
40
41
42
| #Melding lampen aan
- alias: 'Nog lampen aan'
initial_state: 'true'
trigger:
platform: state
entity_id: input_boolean.afwezig
from: 'off'
to: 'on'
for:
minutes: 2
condition:
- condition: state
entity_id: group.lampen
state: 'on'
- condition: state
entity_id: input_boolean.lampen_melding
state: 'on'
action:
- service: notify.mobile_app_barrymossel
data:
title: 'Lampen'
message: 'Er staan nog een of meerdere lampen aan. Wil je deze uitzetten?'
data:
actions:
- action: lampen_uit
title: Zet lampen uit
color: '#F92772'
priority: high
ttl: 0
ledColor: '#F92772'
- alias: 'Lampen uitzetten melding'
initial_state: 'on'
trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: lampen_uit
action:
- service: homeassistant.turn_off
data:
entity_id: group.lampen |