FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: grooves am 20 März 2021, 12:23:48

Titel: Notify aus Notify, warum geht das nicht
Beitrag von: grooves am 20 März 2021, 12:23:48
Hallo, Frage an die Experten,
warum geht das hier nicht ?


....
attr Rollo webCmd 100:0:STOP:cmd:shutter_nr
attr Rollo widgetOverride cmd:0,10,20,30,40,50,60,70,80,90,100 shutter_nr:right,mid_right,mid_left,left,all

define Rollo_webcmd notify Rollo:cmd.* {\
Log 1, "Rollo webcmd: $EVTPART1";;\
fhem("set Rollo $EVTPART1");;\
return;; }

define Rollo_cmd notify Rollo:([0-9]|[0-9][0-9]|[1][0][0]) {\
Log 1, "Rollo cmd: $EVENT EV0: $EVTPART0";;\
fhem("set Rollo STOP");;\
return;; }


wenn ich eine Wert über das webcmd notify setze,
sehe ich im Eventmanager das ein richtiges Event ausgelöst wird:
er aber nicht in im cmd notify landet,

2021-03-20 12:14:19 dummy Rollo cmd 0
2021-03-20 12:14:19 dummy Rollo 0

wenn ich es direkt über attr webCmd, z.B. 0, auslöse,
wird genau dasselbe Event erzeugt, und er landet dann auch im cmd nofty,
das sieht man weil er den STOP event auslöst

2021-03-20 12:14:26 dummy Rollo 0
2021-03-20 12:14:26 dummy Rollo STOP
2021-03-20 12:14:26 dummy Rollo STOP

was ist da der Unterschied,
bitte fragt mich nicht warum ich den Umweg über cmd notify mache,
das hat andere Gründe, das ganze ist stark abgerüstet um das Problem besser sichtbar zu machen

Für jede Hilfe dankbar,
Mike
Titel: Antw:Notify aus Notify, warum geht das nicht
Beitrag von: Otto123 am 20 März 2021, 13:30:18
Hallo Mike,

nur ein Versuch ersetze das fhem("set Rollo $EVTPART1") mal durch fhem("sleep 0.1;;set Rollo $EVTPART1") bzw. in der DEF mit fhem("sleep 0.1;set Rollo $EVTPART1")

Gruß Otto
Titel: Antw:Notify aus Notify, warum geht das nicht
Beitrag von: grooves am 20 März 2021, 16:32:15
Hallo Otto,

ist ja n Ding, das geht jetzt,
war also so ne Art "race condition"
da hätte ich lange suchen können, :-)

Besten Danke nochmal,
und Grüße,
Mike
Titel: Antw:Notify aus Notify, warum geht das nicht
Beitrag von: Otto123 am 21 März 2021, 02:21:44
Hallo Mike,
Richtig erkannt und steht hier
https://commandref.fhem.de/commandref_DE.html#setreading
Zwar für setreading aber es gilt auch für set

Gruß Otto