FHEM Forum

Verschiedenes => Bastelecke => ESP Familie => Thema gestartet von: spel am 01 Juni 2016, 09:32:25

Titel: WEMOS ESP Easy "SWITCH" auslesen und mit If richtig abfragen
Beitrag von: spel am 01 Juni 2016, 09:32:25
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!
Titel: Antw:WEMOS ESP Easy "SWITCH" auslesen und mit If richtig abfragen
Beitrag von: dev0 am 01 Juni 2016, 10:31:32
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.