WEMOS ESP Easy "SWITCH" auslesen und mit If richtig abfragen

Begonnen von spel, 01 Juni 2016, 09:32:25

Vorheriges Thema - Nächstes Thema

spel

Hallo,

ich habe hier ein WEMOS D1 Mini Modul und habe ein Device "Switch" auf dem WEMOS Modul konfiguriert.

Ich möchte nun in einer Schleife auf den Wechsel von 0.00 auf 1.00 also von off zu on reagieren (es geht um die Benachrichtigung beim Türkklingeln):

define n_klingel notify Wemos02 { if ("SWITCH" en "0.00") { fhem ("set telegram message Türklingel!")

Aber so richtig funktioniert das nicht. ' eq "1.00" ' geht auch nicht. Auch möchte ich das eigentlich so machen, dass nur auf Statuswechsel was kommt bzw. ein Notify und dann für 5 Sekunden nichts weiter... Hatte das mit einem sleep 8 am Ende probiert.

Danke!

dev0

Zitat von: spel am 01 Juni 2016, 09:32:25
define n_klingel notify Wemos02 { if ("SWITCH" en "0.00") { fhem ("set telegram message Türklingel!")
Dir fehlen die Grundlagen. Siehe command ref: notify und Perl specials. Perl Grundlagen findest Du z.B. hier: https://wiki.selfhtml.org/wiki/Perl
Die ausgelösten Events siehst Du mit inform oder dem Event Monitor.

Ich gehe mal davon aus, dass es sich bei SWITCH um das Reading handeln soll, dann könnte der Code so aussehen:
define n_klingel notify Wemos02:SWITCH:.* { if ($EVTPART1 eq "0.00") { fhem ("set telegram message Türklingel!") }}
Oder ohne Perl:
define n_klingel notify Wemos02:SWITCH:.0.00 set telegram message Türklingel!

Zitat von: spel am 01 Juni 2016, 09:32:25
Auch möchte ich das eigentlich so machen, dass nur auf Statuswechsel was kommt bzw. ein Notify und dann für 5 Sekunden nichts weiter... Hatte das mit einem sleep 8 am Ende probiert.
Was soll ein sleep in dem Zusammenhang nützen?
Sieh Dir die globalen Attribute event-min-interval und event-on-(change|update)-reading an.