Hallo,
Ich habe da ein DoIf, in dem ich mit set_Reading ein internes Reading setze, z.B. mit:
set_Reading("motion","nomotion",1);
Das klappt natürlich auch, aber es wird kein Event erzeugt.
Im Event-Monitor ist nichts zu sehen und ein zweites DoIf reagiert auch nicht darauf.
Hier die Definition:
defmod di_VZ.BWM DOIF BWM_Decke_ein {["^MQTT2_shellyix3_68C63AFA9B7B$:^input_0:.1$"];;\
::Log 1, "di_VZ.BWM: in BWM_Decke_ein";;\
set_Reading("motion","motion",1);;\
}\
BWM_Decke_aus {["^MQTT2_shellyix3_68C63AFA9B7B$:^input_0:.0$"];;\
::Log 1, "di_VZ.BWM: in BWM_Decke_aus";;\
if([?BWM.Vorzimmer] eq "nomotion") {\
set_Reading("motion","nomotion",1);;\
}\
}\
\
BWM_deConz_ein {["^BWM.Vorzimmer:^motion$"];;\
::Log 1, "di_VZ.BWM: in BWM_deConz_ein";;\
set_Reading("motion","motion",1);;\
}\
BWM_deConz_aus {["^BWM.Vorzimmer:^nomotion$"];;\
::Log 1, "di_VZ.BWM: in BWM_deConz_aus";;\
if([?MQTT2_shellyix3_68C63AFA9B7B:input_0] eq "0") {\
set_Reading("motion","nomotion",1);;\
}\
}
attr di_VZ.BWM devStateIcon motion:people_sensor nomotion:message_presence
attr di_VZ.BWM event-on-change-reading mode,state
attr di_VZ.BWM room test
attr di_VZ.BWM stateFormat motion
attr di_VZ.BWM verbose 5
Was mache ich falsch?
Danke im Voraus
Lg, Gerhard
Guten Morgen,
ZitatWas mache ich falsch?
das hier:
Zitatattr di_VZ.BWM event-on-change-reading mode,state
event-on-change-xx attribute sind Filter, sie lassen sie nur die genannten events durch, alles andere wird unterdrückt. Du müsstest also das Reading motion dort mit aufnehemen.
Viel Erfolg!
Sany
Edit: du kannst das gewünschte aber auch mit
set_State erreichen, statt des Readings. Bei set_State ist das Erzeugen einens Events der Standard (siehe Doku). stateFormat ist dann auch überflüssig.
Hallo Sany,
tausendmal drübergeschaut und trotzdem nicht gecheckt.
Klar war das der Fehler.
Danke Dir!
lg, Gerhard
:)