Hauptmenü

notify löst nicht aus

Begonnen von hanske, 06 Juli 2015, 10:26:11

Vorheriges Thema - Nächstes Thema

hanske

Hallo,

eines meiner beiden Notifys mit identischer RegEx wird nicht ausgeführt:

Dieses ist der Trigger:

dm_alarm:check_on {
if (Value("dm_armedAlarm") eq "on"){fhem("set dm_alarm on")}
else {fhem("set dm_alarm off")}
}


Wenn ich
set dm_alarm check_on

aufrufe wird dm_alarm auf "on" gesetzt und
dieses Notify wird ausgelöst:


dm_alarm:on { if ((Value("dm_armedAlarm") eq "on") &&(Value("dm_stickyAlarm") ne "on")) {fhem("set dm_stickyAlarm on")}}


dieses Notify wird allerdings nicht ausgelöst:

dm_alarm:on { Log3(undef,1,"EventTest: NAME=$NAME EVENT=$EVENT") }

unabhängig davon was in den geschweiften Klammern steht.
Selbst wen ich das erste Notify auf "disabled" setzte wird das zweite Notify nicht aufgerufen.

Kann mir da jemand weiterhelfen?
Danke

Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte

CoolTux


dm_alarm:on { if (Value("dm_armedAlarm") eq "on") && Value("dm_stickyAlarm") ne "on") {fhem("set dm_stickyAlarm on")}}


Geht es eventuell so?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

hanske

nein, geht leider auch nicht.
wenn ich aber "set dm_alarm on" gegen "trigger dm_alarm on" ersetze werden beide Notifys ausgelöst.
also:
dm_alarm:check_on {
if (Value("dm_armedAlarm") eq "on"){fhem("trigger dm_alarm on")}
else {fhem("set dm_alarm off")}
}

geht, aber mein dm_alarm (übrigens ein dummy) ändert seinen Status natürlich nicht.
Ein "trigger dm_alarm on" gefolgt von "set dm_alarm on" wiederum verhindert das Auslösen des zweiten Notifys.
Also:
dm_alarm:check_on {
if (Value("dm_armedAlarm") eq "on"){fhem("trigger dm_alarm on;set dm_alarm on")}
else {fhem("set dm_alarm off")}
}

geht dann wieder nicht.
Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte

justme1968

mach vor dem set direkt im gleichen fhem aufruf noch ein

  sleep 0.1;

dann ist das setzen des status asynchron zum notify und sollte auch das event erzeugen.

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

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

hanske

Danke, so geht es.
Ist aber schon etwas unzuverlässig, wenn auf ein set nur einige notifys reagieren.
Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte

justme1968

es reagieren schon alle direkten notifys. das problem ist das verschachteln und das ist in der commandref auch beschrieben.

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

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

hanske

Ich habe es in der Commandref nicht gefunden.

Sowas ist also nicht zu empfehlen?
dm_dummy1:check_on {fhem("set dm_dummy1 on")}


Ist es denn erlaubt einen anderen dummy zu setzen?
dm_dummy1:check_on {fhem("set dm_dummy2 on")}

oder muss man dann immer trigger verwenden
dm_dummy1:check_on {fhem("trigger dm_dummy2 on")}


danke und grüße
Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte

justme1968

trigger setzt keine readings sondern erzeugt nur ein event.

set ist nur eine abkürzung für setreading <device> state

es steht bei setreading:
ZitatNote: setreading won't generate an event for device X, if it is called from a notify for device X. Use "sleep 0.1; streaming X Y Z" in this case.

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

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

hanske

Ok, alles klar.

Mich hat nur gewundert, dass ja eines der beiden Notifys ausgelöst wurde, das andere aber nicht, obwohl die RegEx identisch war.
Ich werde aber in Zukunft auf solche Strukturen mehr achten.

danke
Raspberry Pi (Wheezy), Aeon Labs Z-Wave USB Stick 2, HM-USB Adapter, EBUS 2.0 mit Wemos
diverse HM und Z-Wave Geräte