FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Timmi am 21 Oktober 2015, 18:32:00

Titel: Licht Zeitsteuern
Beitrag von: Timmi am 21 Oktober 2015, 18:32:00
Hallo zusammen,

ich habe mit notify eine einfache Lichtsteuerung gebaut (das ist nur ein Beispiel), das funktioniert auch, allerdings bekomme ich folgende Fehlermeldungen:

blinkerA already defined, delete it first
blinkerB already defined, delete it first

bzw.

Please define blinkerA first
Please define blinkerB first


define Licht_on_off notify Licht { if (Value ("Intervall") eq "Activ") {fhem ("set Keller on;; define blinkerA at +00:00:10 set Flur on-for-timer 20;; define blinkerB at +00:00:20 set Zimmer on-for-timer 30")} else {fhem ("set Keller off;; set Flur off;; set Zimmer off;; set blinkerA inactive;; set blinkerB inactive");;}}



Das kann man auch mit DIOF lösen, aber ich würde gerne wissen, warum diese Fehlermeldungen entstehen !?

Wäre sehr nett, wenn mir jemand helfen könnte.

Vielen Dank !
Tim
Titel: Antw:Licht Zeitsteuern
Beitrag von: gero am 21 Oktober 2015, 18:57:51
Wenn du blinkerA und blinkerB einmal per define angelegt hast, kannst du es nicht nochmal anlegen, ohne es vorher zu löschen.

Gruß,
Gero
Titel: Antw:Licht Zeitsteuern
Beitrag von: Timmi am 21 Oktober 2015, 19:22:53
Danke für deine Antwort!

Das heisst, es fehlen am Ende : delete blinkerA;; delete BlinkeB ?

Und warum gibt es diese Fehlermeldungen :

Please define blinkerB first
Please define blinkerA first
Titel: Antw:Licht Zeitsteuern
Beitrag von: marvin78 am 21 Oktober 2015, 19:24:11
Schau dir mal defmod an (commandref). Das ist das, was du brauchst.
Titel: Antw:Licht Zeitsteuern
Beitrag von: Timmi am 21 Oktober 2015, 19:38:59
Vielen Danke !

Ist der Befehl nun mit "defmod" so richtig :


define Licht_on_off notify Licht { if (Value ("Intervall") eq "Activ") {fhem ("set Keller on;; defmod blinkerA at +00:00:10 set Flur on-for-timer 20;; defmod blinkerB at +00:00:20 set Zimmer on-for-timer 30")} else {fhem ("set Keller off;; set Flur off;; set Zimmer off;; set blinkerA inactive;; set blinkerB inactive");;}}


Es gibt weiterhin Fehlermeldungen :

Please define blinkerA first
Please define blinkerB first

GrußTim
Titel: Antw:Licht Zeitsteuern
Beitrag von: marvin78 am 21 Oktober 2015, 19:42:43
Das inactive setzen am Ende kannst und musst du dir sparen. Die ats existieren ja nach dem Ausführen bzw. zu dem Zeitpunkt nicht (mehr).
Titel: Antw:Licht Zeitsteuern
Beitrag von: Timmi am 21 Oktober 2015, 19:53:19
Herzlichen Dank !

Es gibt keine Fehlermeldungen mehr  :)

Gruß
Tim