FHEM Forum

FHEM => Automatisierung => Thema gestartet von: ferby09 am 06 Mai 2016, 22:10:58

Titel: Alarmanlage-Attribute als if-Bedingung
Beitrag von: ferby09 am 06 Mai 2016, 22:10:58
Hallo,

ich versuche gerade, beim Scharfstellen des Alarms einen dummy auf dem floorplan auf on zu stellen. Dazu habe ich folgende notifies definiert und ausprobiert:

Alarmanlage { if ( AttrVal("Alarmanlage","level5xec","armwait") eq "armed") {fhem("set Alarm_ON on")} }

Alarmanlage { if ( AttrVal("Alarmanlage","level5xec","disarmed") eq "armed") {fhem("set Alarm_ON on")} }

Natürlich funktioniert dies mal wieder nicht so. Wie wäre das Problem stattdessen zu lösen?
Vielen Dank im Voraus.

LG
Titel: Antw:Alarmanlage-Attribute als if-Bedingung
Beitrag von: ferby09 am 08 Mai 2016, 11:58:11
Push
Titel: Antw:Alarmanlage-Attribute als if-Bedingung
Beitrag von: jmike am 08 Mai 2016, 12:27:30
Ich kann deinem Code nicht wirklich folgen. Die zwei lines machen genau das gleiche, du hast nur den default Wert geändert sollte das Attribut level5xec nicht existieren.

Warum macht du nicht "set Alarm_ON on" bei der wait-Action im Alarmmodul rein?
Und dann vermutlich "set Alarm_On off" bei der Disarm-Action...

Titel: Antw:Alarmanlage-Attribute als if-Bedingung
Beitrag von: ferby09 am 08 Mai 2016, 13:51:53
Das wollte ich auch erst machen, jedoch habe ich nicht nur einen Alarm in dem Alarmanlage-Modul erstellt. Da dieser dummy jedoch nur bei einem bestimmten Alarm ebenfalls aktiviert werden soll, geht es mit dieser Methode leider nicht.
Ich hatte den Syntax von AttrVal so verstanden, dass der default-Wert jener sein soll, welchen level5xec ha, bevor es auf armed wechselt.
Gibt es überhaupt noch die Bedingung AttrVal? Alles, was ich dazu finden konnte, war schon ein paar Jahre alt.
Titel: Antw:Alarmanlage-Attribute als if-Bedingung
Beitrag von: jmike am 08 Mai 2016, 14:30:28
Oke.

Ich denke das Event wonach du suchst sieht so aus:
Global global ATTR AAA level5xec armed

D.h. dein notify könnte so aussehen:

define AlarmLevel5ntfy notify global.ATTR.AAA.level5xec.armed.* set Alarm_ON on

bzw.

define AlarmLevel5ntfy notify global.ATTR.AAA.level5xec.disarmed.* set Alarm_ON off


lg
mike

Titel: Antw:Alarmanlage-Attribute als if-Bedingung
Beitrag von: ferby09 am 08 Mai 2016, 14:41:35
Vielen, vielen Dank!!!
Das hat perfekt funktioniert.

Natürlich musste ich noch global.ATTR.AAA.level5xec.armed.*
durch global.ATTR.Alarmanlage.level5xec.armed.*
ersetzen, weil das device bei mir anders heißt.
Titel: Antw:Alarmanlage-Attribute als if-Bedingung
Beitrag von: ferby09 am 10 Juni 2018, 20:52:52
Sorry, dass ich dieses alte Thema nochmal öffne, aber seit einiger Zeit funktioniert die o.g. Methode nicht mehr, um das Dummy device entsprechend zu schalten. Es wurde keine hiermit im Zusammenhang stehenden Einstellungen geändert. Wenn ich das notify mittels "Change wizard" erstellen möchte und als condition device meine Alarmanlage auswähle, erzeugt er mir für Level 5 folgenden Befehl:
Alarmanlage:level5:.*
Diesen habe ich dann wie folgt geändert, damit er nur berücksichtigt wird, wenn Level 5 scharf gestellt wird:
Alarmanlage:level5:armed

Das notify sieht also folgendermaßen aus:
Alarmanlage:level5:armed set Alarm_ON on

Leider funktioniert das nicht. Auch andere notifys im Zusammenhang mit dem Status der Alarmanlage funktionieren nicht mehr, also scheint sich etwas am Modul geändert zu haben.
Vielen Dank für Eure Hilfe.