Wer kennt es nicht. Man geht morgends zur Tür raus und sieht auf dem Weg zum Auto, das bei den Kindern noch das Licht brennt! Ach was wäre das doch schön, wenn es einen Knopf am Eingang gäbe, mit dem man einfach alle Lichter im Haus auschalten könnte :) ….. Auf gehts!

Ich betreibe einen Fibaro FGS-221, der eigentlich nur ein Relais besitzt, mit dem das Eingangslicht gesteuert wird (Z-Wave Name: FGS213: EG Eingang).

Er besitzt aber praktischerweise zwei Schaltereingänge. Der zweite Eingang kann wunderbar genutzt werden, um Szenen zum Home Assistant zu schicken. Also mal eben am Eingang (praktisch!) auf Doppelschalter umgebaut. Die zweite Wippe geht nun an den zweiten Eingang. ha!

Z-Wave-Konfiguration anpassen

Leider sind die „COMMAND_CLASS_CENTRAL_SCENE“ nicht komplett implementiert und es ist etwas Handarbeit nötig.
Geht aber schnell!

  1. Home Assistant Dienst beenden (!!!!).
  2. Im Konfigurationsverzeichnis die Datei zwcfg_XXXXXXXX.xml bearbeiten (XXXXXX durch eure ID ersetzen!)
  3. Hier nun den entspechenden Eintrag für das Gerät suchen, was die Szene auslösen soll.
    fängt z.B. mit

    <Node id=“12″ name=“FGS213: EG Eingang“ ….  an.

  4. Dort die CommandClass 91 suchen:

    <CommandClass id=“91″ name=“COMMAND_CLASS_CENTRAL_SCENE“….

  5. Dort nun die be iden Einträge anhängen:

    <Value type=“int“ genre=“user“ instance=“1″ index=“2″ label=“Scene 2 double“ units=““ read_only=“true“ write_only=“false“ verify_changes=“false“ poll_intensity=“0″ min=“-2147483648″ max=“2147483647″ value=“3″ />

    <Value type=“int“ genre=“user“ instance=“1″ index=“2″ label=“Scene 2 triple“ units=““ read_only=“true“ write_only=“false“ verify_changes=“false“ poll_intensity=“0″ min=“-2147483648″ max=“2147483647″ value=“4″ />

  6. In Summe sieht das dann in etwa so aus (achtet mal auf die Nummern):

    <CommandClass id=“91″ name=“COMMAND_CLASS_CENTRAL_SCENE“ version=“1″ request_flags=“5″ innif=“true“ scenecount=“0″>

    <Instance index=“1″ />

    <Value type=“int“ genre=“system“ instance=“1″ index=“0″ label=“Scene Count“ units=““ read_only=“true“ write_only=“false“ verify_changes=“false“ poll_intensity=“0″ min=“-2147483648″ max=“2147483647″ value=“0″ />

    <Value type=“int“ genre=“user“ instance=“1″ index=“2″ label=“Scene 2 doppelklick“ units=““ read_only=“true“ write_only=“false“ verify_changes=“false“ poll_intensity=“0″ min=“-2147483648″ max=“2147483647″ value=“3″ />

    <Value type=“int“ genre=“user“ instance=“1″ index=“2″ label=“Scene 2 tripleklick“ units=““ read_only=“true“ write_only=“false“ verify_changes=“false“ poll_intensity=“0″ min=“-2147483648″ max=“2147483647″ value=“4″ />

    </CommandClass>

  7. Erklärung: „index“ ist in der Hass-Konfiguration „scene_id“ und „value“ entspricht dem Wert „scene_data
  8. Nun kann der Home Assistant Dienst wieder gestartet werden.

Fibaro Switch Konfiguration

Jetzt müssen wir dem Fibaro auch noch beibringen, das er bitte auch auf Doppel- und Dreifachklicks reagieren soll und die Szenen ID zum Home Assistant schickt. Hier geht es mit der GUI weiter:

  • Configuration – Z-Wave
  • Dort in dem Feld „Nodes“ den Schalter auswählen der die Szene schalten soll:

Weiter unten können dann „Node config options“ die Parameter angepasst werden.
Wir passen den Parameter „29: S2 switch – scenes sent“ an:

  • Normalerweise schickt er nix (0)
  • Tragen wir ein 1 ein, schickt er bei einem Einfachklick die 1, oder
  • tragen wir eine 2 ein, schickt er bei einem Doppelklick die 2 oder
  • tragen wir eine 4 ein, schickt er bei einen Dreifachklick die 4. ODER?

Das Geheimnis ist kombinieren!
Sollen also nur auf Doppel- und Dreifachklick reagiert werden, tragen wir eine 6 ein (2 +4 = 6)

Mit einem Klick auf „Set Config Parameter“ ist der Wert im Schalter aktiviert.

Wie lässt sich das überprüfen? In der OZW_Log.txt kann es nachgelesen werden, z.B. mit:

#> cd /home/homeassistant
#> tail -n 100 -f OZW_Log.txt

Schalter Doppel- und Dreifachklicken:

Info, Node012, Received Central Scene set from node 12: scene id=2 in 3 seconds. Sending event notification.
2018-01-23 20:14:43.759 Detail, Node012, Refreshed Value: old value=4, new value=3, type=int

Info, Node012, Received Central Scene set from node 12: scene id=2 in 4 seconds. Sending event notification.
2018-01-23 20:14:41.859 Detail, Node012, Refreshed Value: old value=3, new value=4, type=int

Na? kommt euch das bekannt vor? :)

Home Assistant soll was machen

Zeit da einen schönen Automatismus draus zu machen.
Hier in dem Beispiel werden meine beiden Flurlampen im Erd- und Obergeschoss geschaltet:

  • Doppelklick: Beide Lampen aus
  • Dreifachklick: Beide Lampen wieder an
 #> nano automations.yaml
- alias: 'EG: Scene: Alles aus'
   id: 1a
   trigger:
     platform: event
     event_type: zwave.scene_activated
     event_data:
       entity_id: zwave.fgs213_eg_eingang
       scene_id: 2
       scene_data: 3
   action:
     - service: switch.turn_off
       entity_id: switch.fgs213_eg_flur_switch, switch.fgs213_og_flur_switch

- alias: 'EG: Scene: Alles an'
   id: 1b
   trigger:
     platform: event
     event_type: zwave.scene_activated
     event_data:
       entity_id: zwave.fgs213_eg_eingang
       scene_id: 2
       scene_data: 4
   action:
     - service: switch.turn_on 
       entity_id: switch.fgs213_eg_flur_switch, switch.fgs213_og_flur_switch

Die blauen Einträge müsst ihr natürlich noch an eure Schalternamen anpassen. Ach was sag ich denn.

Jetzt zum Abschluss noch die Automatismen neu laden und dann sind wir fertig.

Voila!