Was hat zwei Daumen und einen irrational komplexen Lichtschalter gebaut?

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.

1 Antwort zu “Was hat zwei Daumen und einen irrational komplexen Lichtschalter gebaut?”

  1. 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.

Kommentare sind geschlossen.