Hallo,
wie reagiere ich auf einen Statuswechsel bei einem dummy Device um damit z.B. einen Aktor zu schalten.
Der Status kann die Werte 0 oder 1 haben.
Wenn sich der Zustand des dummy-Device von 0 auf 1 änder, schalte ich den Aktor ein, wenn er von 1 auf 0 fällt wieder aus.
den Aktor schalte ich mit set Lampe A0 ein und mit set Lampe AI aus.
define notifylampe notify <dummy>:.1
set Lampe A0
geht irgendwie nicht.
Ich habe da mal wieder einen Gedankenfehler drin...
djhans
Schau im event monitor wie das event wirklich aussieht. da ist kein dopppunkt nach dem device namen.
gruss
andre
Hi,
danke! Das war es!
also:
define notifyTag notify Nacht.0 set EnO_BettLicht AI
...wie macht man das denn richtig, wenn man in Abhängigkeit von "States" unterschiedliche Aktionen auslösen möchte. Um bei diesem Bsp. zu bleiben, würde ich einfach ein zweites Notify definieren, das ist aber keine "saubere" Lösung, oder?
define notifyNacht notify Nacht.1 set EnO_BettLicht AI
djhans
da gibt es kein 'richtig'
entweder zwei notifys oder in einem notify auf $EVENT prüfen.
was elleganter ist hängt davon ab wie viel code in beiden fällen gemeinsam ist.
gruss
andre
Hi,
ok.
das würde dann so aussehen:
define notifyNacht notify Nacht set EnO_BettLicht $EVENT
Nacht kann aber nur "0" und "1" und dann würde $EVENT auch "0" und "1" annehmen. Der Aktor benötigt aber "AI" und "A0".
Das würde dann aber nicht funktionieren.
So steht es auch im Anfänger pdf.
djhans
das geht dann mit etwas in der art:define notifyNacht notify Nacht {my $cmd=($EVENT==0?'A0':'AI'); fhem "set EnO_BettLicht $CMD";}
es ist geschmackssache ob das einfacher ist als zwei einfache notifys.
gruss
andre
Hallo,
tja! Da sind die perl Programmierer am Start! Das verdränge ich irgendwie immer....sieht nach regulärem Ausdruck aus! ich glaube ich bleibe bei den zwei Notifys ;D
Vielen Dank für die Schulung!
Christian.
Ist leider keine Regex sondern ein simples if then else, in verkürzter Form.
Aber ich glaube mit 2 notifies bist du besser bedient. :)