Hauptmenü

notify Frage

Begonnen von Heron, 19 Mai 2017, 20:42:13

Vorheriges Thema - Nächstes Thema

Heron

Hallo,

eine kleine Frage:

ich habe ein notify definiert. Das DEF sieht folgendermaßen aus:


CUL_FHTTK_194d8b.(open|closed)
{
  if("$EVENT" eq "open")
    { fhem("set FS20_774a74 on") }
  else
    { fhem("set FS20_774a74 off"); }
}


Das Ganze soll so funktionieren: Wenn das Fenster auf ist, wird die Steckdose einschaltet, ist das Fenster zu, soll sie ausgeschaltet werden.

Das obige funktioniert, wenn ich mit "trigger CUL_FHTTK_194d8b open" oder ".. closed" das teste.

Mache ich das Fenster auf und zu, funktioniert es nicht.


Im Log sehe ich einen kleinen Unterschied:

per Trigger ausgelöst, steht  ... CUL_FHTTK194d8b closed (oder open)
und per realem Fenster ausgelöst, steht da CUL_FHTTK194d8b Closed (oder Open)

Ich kann per trigger aber auch kein Open oder Closed setzen (Groß-/Kleinschreibung).

...Mein Problem: Wo ist mein Problem an der Stelle? Ist es tatsächlich die Groß-/Kleinschreibung? oder liegt es noch woanders?

Danke,
Heron

CoolTux

Mache bitte den Eventmonitor auf und schaue welches Event tatsächlich an kommt wenn Du das Fenster auf und zu machst. Dann kannst auch gleich die Zeile ganz markieren und sagen create Notify
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

Heron

Wenn ich das Fenster direkt betätige, kommt der Eintrag:


....
2017-05-19 20:48:54 CUL_FHTTK CUL_FHTTK_194d8b Window: Closed
2017-05-19 20:48:54 CUL_FHTTK CUL_FHTTK_194d8b Reliability: ok
2017-05-19 20:48:54 CUL_FHTTK CUL_FHTTK_194d8b Battery: ok
2017-05-19 20:48:54 CUL_FHTTK CUL_FHTTK_194d8b Closed
2017-05-19 20:48:54 CUL_FHTTK CUL_FHTTK_194d8b RSSI: -63
2017-05-19 20:48:54 CUL_FHTTK CUL_FHTTK_194d8b RAWMSG: T194D8B02
....


per Trigger:

....
2017-05-19 20:53:05 FS20 FS20_774a74 on
2017-05-19 20:53:05 CUL_FHTTK CUL_FHTTK_194d8b open
2017-05-19 20:53:06 FS20 FS20_774a74 on
2017-05-19 20:53:06 FS20 FS20_774a74 RAWMSG: 810b04xx0101a001774a740011
2017-05-19 20:53:06 FS20 FS20_774a74 RSSI: -44.5
....


Btw. Warum taucht das im Log immer 2x auf?

Danke und Gruß,
Heron

CoolTux


CUL_FHTTK_194d8b Closed


Das ist das entscheidende. Hierauf kannst du triggern


CUL_FHTTK_194d8b.(Open|Closed)


Bitte mal probieren.
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

Benni

#4
Zitat von: CoolTux am 19 Mai 2017, 21:00:41

CUL_FHTTK_194d8b Closed


Das ist das entscheidende. Hierauf kannst du triggern


CUL_FHTTK_194d8b.(Open|Closed)


Achtung: open taucht aber anscheinend trotzdem klein geschrieben im Eventmonitor auf:

Zitat
...
2017-05-19 20:53:05 CUL_FHTTK CUL_FHTTK_194d8b open
...

CUL_FHTTK_194d8b.([Oo]pen|[Cc]losed)


damit wäre es dann egal ob vorne groß oder klein geschrieben.


Zitat von: Heron am 19 Mai 2017, 20:54:29
Btw. Warum taucht das im Log immer 2x auf?

Dagegen hilft evtl. eine Anpassung über das Attribut event-on-change-reading

Heron

Ja, das wars,

manchmal sieht man den Baum vor lauter Bäumen nicht. Ich dachte, ich hätte es schon probiert gehabt.

Zur Vollständigkeit das Script:



CUL_FHTTK_194d8b.(Open|Closed)
{
  if("$EVENT" eq "Open")
    { fhem("set FS20_774a74 on") }
  else
    { fhem("set FS20_774a74 off"); }
}


Danke vielmals,
Heron

CoolTux

Zitat von: Benni am 19 Mai 2017, 21:04:43

CUL_FHTTK_194d8b.([Oo]pen|[Cc]losed)



Ich vergesse jedesmal das man es so erschlagen kann. Bei mir kommt immer nur entweder oder an. Danke Benni
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

Heron

Ja, danke, das ist noch besser:


CUL_FHTTK_194d8b.([Oo]pen|[Cc]losed)
{
  if("$EVENT" eq "Open")
    { fhem("set FS20_774a74 on") }
  else
    { fhem("set FS20_774a74 off"); }
}



Gruß,
Heron

Benni

#8
Zitat von: Heron am 19 Mai 2017, 21:28:32
Ja, danke, das ist noch besser:


CUL_FHTTK_194d8b.([Oo]pen|[Cc]losed)
{
  if("$EVENT" eq "Open")
    { fhem("set FS20_774a74 on") }
  else
    { fhem("set FS20_774a74 off"); }
}


So ist es aber sinnlos, denn dein if(...) berücksichtigt so trotzdem nur die Großschreibung.
Außerdem verwendest du zu viele unnötige Anführungszeichen!


if($EVENT =~ /[Oo]pen/)


macht es dann passend (und die Anführungszeichen sind auch plötzlich weg  ;) )