This guy!
Angefangen hat es als Projekt, die Automatisierung im Wohnzimmer zu vereinfachen und dann ist alles irgendwie eskaliert. Das alles nur, weil Tutti behauptet hat, es würde bei mir spuken, bloß weil ein einziges Mal das Licht angegangen ist und ich nicht wusste warum. Ach ja, die Grafik ist noch ein bisschen vereinfacht, weil mir etwas erst hinterher eingefallen ist. In Automatisierungen sieht das übrigens so aus (Ich habe das bisher genau keine Sekunde lang getestet):
###############################################################################
### ==> An
###############################################################################
###
# Coming from 'Bewohnt' (Occupied) or 'Leer' (Empty)
# Event either 'main switch' (1002) or 'up button' (2002)
# TV is off
###
- id: state_living_room_set_to_on_with_remote
alias: "Wohnzimmer - Zustand mit Remote auf An schalten"
trigger:
- platform: event
event_type: deconz_event
event_data:
id: tradfri_switch_wohnzimmer_1
event: 1002
- platform: event
event_type: deconz_event
event_data:
id: tradfri_switch_wohnzimmer_2
event: 1002
- platform: event
event_type: deconz_event
event_data:
id: tradfri_switch_wohnzimmer_1
event: 2002
- platform: event
event_type: deconz_event
event_data:
id: tradfri_switch_wohnzimmer_2
event: 2002
condition:
- condition: or
conditions:
- condition: state
entity_id: input_select.state_living_room
state: 'Leer'
- condition: state
entity_id: input_select.state_living_room
state: 'Bewohnt'
- condition: state
entity_id: media_player.fernseher_wohnzimmer
state: 'off'
action:
- service: input_select.select_option
data:
entity_id: input_select.state_living_room
option: 'An'
###
# Coming from 'Gedaemmt' (Dimmed)
# Event either 'up button' (2002) or TV turning off
###
- id: state_living_room_set_to_on_from_dimmed
alias: "Wohmzimmer - Zustand auf An schalten (war vorher gedämmt)"
trigger:
- platform: event
event_type: deconz_event
event_data:
id: tradfri_switch_wohnzimmer_1
event: 2002
- platform: event
event_type: deconz_event
event_data:
id: tradfri_switch_wohnzimmer_2
event: 2002
- platform: state
entity_id: media_player.fernseher_wohnzimmer
to: 'off'
for: '00:00:12'
action:
- service: input_select.select_option
data:
entity_id: input_select.state_living_room
option: 'An'
###############################################################################
### ==> Leer
###############################################################################
###
# Coming from 'Bewohnt' (Occupied)
# Event 'No occupancy'
###
- id: state_living_room_set_to_empty_automatically
alias: "Wohmzimmer - Zustand nach Timeout auf Leer schalten"
trigger:
- platform: state
entity_id: binary_sensor.occupancy_living_room
to: 'off'
condition:
- condition: or
conditions:
- condition: state
entity_id: input_select.state_living_room
state: 'Bewohnt'
action:
- service: input_select.select_option
data:
entity_id: input_select.state_living_room
option: 'Leer'
###
# Coming from 'An' (On) or 'Gedaemmt' (Dimmed)
# Event 'no one there for 20 minutes'
###
- id: state_living_room_set_to_empty_automatically
alias: "Wohmzimmer - Zustand nach Timeout auf Leer schalten"
trigger:
- platform: state
entity_id: binary_sensor.occupancy_living_room
to: 'off'
for: '00:20:00'
condition:
- condition: or
conditions:
- condition: state
entity_id: input_select.state_living_room
state: 'Gedaemmt'
- condition: state
entity_id: input_select.state_living_room
state: 'An'
action:
- service: input_select.select_option
data:
entity_id: input_select.state_living_room
option: 'Leer'
###
# Coming from either 'An' (On) or 'Gedaemmt' (Dimmed)
# Event 'main switch'
# No occupancy
###
- id: state_living_room_set_to_off_with_remote_no_occupancy
alias: "Wohmzimmer - Zustand mit Remote auf Aus schalten, wenn niemand da ist"
trigger:
- platform: event
event_type: deconz_event
event_data:
id: tradfri_switch_wohnzimmer_1
event: 1002
- platform: event
event_type: deconz_event
event_data:
id: tradfri_switch_wohnzimmer_2
event: 1002
condition:
- condition: or
conditions:
- condition: state
entity_id: input_select.state_living_room
state: 'Gedaemmt'
- condition: state
entity_id: input_select.state_living_room
state: 'An'
- condition: state
entity_id: binary_sensor.occupancy_living_room
state: 'off'
action:
- service: input_select.select_option
data:
entity_id: input_select.state_living_room
option: 'Leer'
###############################################################################
### ==> Bewohnt
###############################################################################
###
# Coming from 'Leer' (Empty)
# Event 'Occupied'
###
- id: state_living_room_set_to_occupied_on_occupancy
alias: "Wohnzimmer - Zustand auf Bewohnt schalten wenn jemand dort ist"
trigger:
- platform: state
entity_id: binary_sensor.occupancy_living_room
to: 'on'
condition:
- condition: state
entity_id: input_select.state_living_room
state: 'Leer'
action:
- service: input_select.select_option
data:
entity_id: input_select.state_living_room
option: 'Bewohnt'
###
# Coming from either 'An' (On) or 'Gedaemmt' (Dimmed)
# Event 'main switch'
# Occupancy
###
- id: state_living_room_set_to_occupied_with_remote
alias: "Wohnzimmer - Zustand mit Remote auf Bewohnt schalten"
trigger:
- platform: event
event_type: deconz_event
event_data:
id: tradfri_switch_wohnzimmer_1
event: 1002
- platform: event
event_type: deconz_event
event_data:
id: tradfri_switch_wohnzimmer_2
event: 1002
condition:
- condition: or
conditions:
- condition: state
entity_id: input_select.state_living_room
state: 'An'
- condition: state
entity_id: input_select.state_living_room
state: 'Gedaemmt'
- condition: state
entity_id: binary_sensor.occupancy_living_room
state: 'on'
action:
- service: input_select.select_option
data:
entity_id: input_select.state_living_room
option: 'Bewohnt'
###############################################################################
### ==> Gedaemmt
###############################################################################
###
# Coming from either 'Bewohnt' (Occupied), 'An' (On) or 'Leer' (Empty)
# Event either 'TV turning on' or 'down button' (3002)
###
- id: state_living_room_set_to_dimmed
alias: "Wohnzimmer - Zustand auf Gedämmt schalten"
trigger:
- platform: event
event_type: deconz_event
event_data:
id: tradfri_switch_wohnzimmer_1
event: 3002
- platform: event
event_type: deconz_event
event_data:
id: tradfri_switch_wohnzimmer_2
event: 3002
- platform: state
entity_id: media_player.fernseher_wohnzimmer
to: 'on'
condition:
- condition: or
conditions:
- condition: state
entity_id: input_select.state_living_room
state: 'Bewohnt'
- condition: state
entity_id: input_select.state_living_room
state: 'An'
- condition: state
entity_id: input_select.state_living_room
state: 'Leer'
action:
- service: input_select.select_option
data:
entity_id: input_select.state_living_room
option: 'Gedaemmt'
Das seltsame Denglisch, gerade in den Kommentaren, rührt übrigens daher, dass ich vor kurzem die komplette Konfiguration auf GitHub veröffentlicht habe und das für Leute, die kein Deutsch sprechen, wenigstens so verständlich sein soll, dass sie es nachvollziehen können. Mir haben die Repositories anderer Leute massiv beim Einstieg geholfen (und helfen mir immer noch) und ich hoffe, dass meine Konfiguration auch mal jemandem helfen kann.
Ich habe gerade Home Assistant neu gestartet und nichts ist explodiert! Wenn ihr in zwei Stunden noch nicht von mir gehört habt wurde ich von einem intelligenten Lichtschalter aufgefressen.