Readings auslesen (Hue-Lampe nur ändern, wenn ausgeschaltet)

Begonnen von dantist, 27 Juni 2015, 23:51:15

Vorheriges Thema - Nächstes Thema

dantist

Hallo zusammen,

ich versuche mich grade an Readings, komme aber auf keinen grünen Zweig. Ich habe ein Device "HUEDevice1" und möchte das Reading "onoff" auslesen.

Bisher habe ich eine Regel, dass die Lampe zu einer festen Uhrzeit eingeschaltet und auf einen bestimmten Farbwert gesetzt wird. Das möchte ich jetzt dahingehend einschränken, dass die Lampe nur geschaltet wird, wenn sie zu besagter Uhrzeit noch ausgeschaltet ist.

Freue mich über jeden Hinweis.

Gruß
Daniel

dantist

Niemand eine Idee? Neben dem Reading "onoff" gibt es auch ein Internal "STATE", in dem steht, was ich brauche. An eines von beiden muss doch irgendwie ranzukommen sein?

krikan

#2
Siehe z.B. http://fhem.de/Heimautomatisierung-mit-fhem.pdf Seite 38f.

EDIT: Schau Dir vielleicht auch mal http://fhem.de/commandref#set iVm http://fhem.de/commandref#devspec an. Vielleicht kannst Du Kommandos wie z.B. "set room=kitchen:FILTER=STATE=on off" nutzen.

dantist

define SetLichtAn notify HUEDevice9 set LichtAn $EVENT

Damit schaffe ich es schonmal, dass etwas in "LichtAn" geschrieben wird, wenn sich die Lampe ändert.

Allerdings steht nicht der an/aus-Status in $EVENT, sondern der RGB-Wert in der Form "rgb: a18080". Habe es schon mit HUEDevice9:STATE versucht, aber dann passiert gar nichts mehr.

An der fhem-Doku verzweifle ich seit Tagen, bin wohl etwas verwöhnt von der lesbareren Syntax bei pimatic & co. Würde mich sehr über einen Tip freuen, wie ich das notify auf bestimmte Internals und Readings setzen kann.

Paddinho

Zitat von: dantist am 27 Juni 2015, 23:51:15
Bisher habe ich eine Regel, dass die Lampe zu einer festen Uhrzeit eingeschaltet und auf einen bestimmten Farbwert gesetzt wird.

Ich vermute die Regel wirst du mit dem AT-Befehl gemacht haben.

Dann hilft dir vielleicht dieser Link weiter:
http://forum.fhem.de/index.php?topic=17895.210

justme1968

dein notify reagiert auf alle events weil du nicht angegeben hast auf welches speziell es reagieren soll.

ansonsten brauchst du für das was du willst kein notify sondern in deinem bestehenden code zum einschalten eine abfrage auf den aktuellen status.

wenn du ein at und das perl if verwendes bekommst du den wert mit ReadingsVal.

wenn du das fhem IF oder DOIF verwendest Schau dort nach der syntax nach.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968