Alarmanlage-Attribute als if-Bedingung

Begonnen von ferby09, 06 Mai 2016, 22:10:58

Vorheriges Thema - Nächstes Thema

ferby09

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

ferby09


jmike

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


ferby09

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.

jmike

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


ferby09

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.

ferby09

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.