Guten Abend zusammen,
das Eingangslicht soll je nach HomeStatus unterschiedlich leuchten:
define EingangsLichtNacht_An DOIF ([Homestatus] = 1) (set HUEDevice22 rgb 010100:pct 01) DOELSEIF ([HomeStatus2] = 2) (set HUEDevice22 rgb FFC494:pct 01) DOELSEIF ([HomeStatus] = 3) (set HUEDevice22 rgb 00001D:pct 01) DOELSE set HUEDevice22 rgb 00001D:pct 01
wird das Licht mit set EingangsLichtNacht_An on
aktiviert, passiert nichts. Es gibt auch keinen Fehler im Log.
Was mache ich falsch ?
Gruß
Ersetz das "=" mal mit "=="
Das Attribut do always würde wahrscheinlich auch helfen.
danke für die schnelle Antwort.
define EingangsLichtNacht_An DOIF ([Homestatus] ==1) (set HUEDevice22 rgb 010100:pct 01) DOELSEIF ([HomeStatus] ==2) (set HUEDevice22 rgb FFC494:pct 01) DOELSEIF ([HomeStatus] ==3) (set HUEDevice22 rgb 00001D:pct 01) DOELSE set HUEDevice22 rgb 00001D:pct 01
schaltet aber auch nicht. Kein Fehler im Log.
Gruß
Zitat von: geiercasi am 07 September 2017, 21:43:06
wird das Licht mit set EingangsLichtNacht_An on
aktiviert, passiert nichts. Es gibt auch keinen Fehler im Log.
Das liegt primär daran, dass DOIF keinen Fehler meldet wenn es mit ungültigen set Befehlen beschickt wird.
Du könntest z.B. mit
set EingangsLichtNacht_An cmd_1
einen bestimmten Zustand des DOIFs setzen.
Aber eigentlich würde das DOIF arbeiten wenn Du den HomeStatus setzt. ;)
Beachte den Hinweis von Fixel2012.
Ist die zweite Bedingung so gewollt? [HomeStatus
2]
Gruß Otto
nein, HomeStatus2 war falsch.
set HUEDevice22 rgb FFC494:pct 01
alleine funktioniert.
list HomeStatus
Internals:
CFGFN ./FHEM/cfg/homemodus.cfg
NAME HomeStatus
NR 344
STATE 1
TYPE dummy
READINGS:
2017-09-07 17:08:16 state 1
Attributes:
room 97 Anwesenheit
setList HomeStatus 1 2 3 4
danke für Eure mühe !
Na dann set HomeStatus 1
oder set HomeStatus 2
usw.
Jedes mal sollte was passieren.
Stimmt, funktioniert. Es soll aber erst aktiviert werden,wenn man EingangsLichtNacht einschaltet (set EingangsLichtNacht_An on).
define EingangsLichtNacht_An notify EingangsLichtNacht:on DOIF ([HomeStatus] ==1) (set HUEDevice22 rgb 010100:pct 01) DOELSEIF ([HomeStatus] ==2) (set HUEDevice22 rgb FFC494:pct 01) DOELSEIF ([HomeStatus] ==3) (set HUEDevice22 rgb 00001D:pct 10) DOELSEIF ([HomeStatus] ==4) (set HUEDevice22 rgb 00001D:pct 20)
Ein notify scheint hier aber der falsche weg zu sein. "Unknown argument on, choose one of active addRegexpPart inactive removeRegexpPart " lautet der Fehler.
sorry Du hast das Prinzip nicht verstanden. :'(
Du kannst das DOIF EingangsLichtNacht_An aktivieren und deaktivieren.
set EingangsLichtNacht_An enable und
set EingangsLichtNacht_An disable
Lies bitte die Doku und hier https://wiki.fhem.de/wiki/Hauptseite alles was bei "Wie fange ich an" steht.
wow....
wie kommt man denn da drauf:
Zitatdefine EingangsLichtNacht_An notify EingangsLichtNacht:on DOIF ([HomeStatus] ==1) (set HUEDevice22 rgb 010100:pct 01) DOELSEIF ([HomeStatus] ==2) (set HUEDevice22 rgb FFC494:pct 01) DOELSEIF ([HomeStatus] ==3) (set HUEDevice22 rgb 00001D:pct 10) DOELSEIF ([HomeStatus] ==4) (set HUEDevice22 rgb 00001D:pct 20)
bitte Ottos Hinweis beachten!!!
und dann evtl. mal im wiki nach Eventmonitor gucken, und dort wie man daraus DOIFs/notifys/.... erzeugen lassen kann.
Blond & zu wenige gelesen. In dem Fall, Blond ;)
Viele Fehler fallen auf, wenn man eine sinnvolle Schreibweise wählt, z.B. für jeden Zweig eine neue Zeile nimmt. Das "Homestatus2" wäre dir dann sofort ins Auge gesprungen.
Außerdem erleichtert es das Lesen für "Fremde" wie uns ungemein.
Noch viel mehr Fehler fallen auf, wenn man FHEM wirklich so verwendet wie es gedacht ist und solchen Quatsch nicht macht -> ./FHEM/cfg/homemodus.cfg