Licht an per Sonoff-Bridge und PIR

Begonnen von eisi, 29 August 2019, 15:46:09

Vorheriges Thema - Nächstes Thema

eisi

Hallo,
ich habe noch ein kleines Problem:
Ein PIR-Sensor soll einer Sonoff-Bridge sagen, wenn Bewegung herrscht. Dann soll das Licht (im Moment noch ein Dummy) für 5 Sekunden angeschaltet werden.


define Motion_light dummy
attr Motion_light setList on off

define Funkschalter_2_1 DOIF ([MQTT2_Wlan_Bridge_01:RfReceived_Data] eq "E7D74E" ) (set Motion_Detect_1 motion)

define Motion_Detect_1 dummy
attr Motion_Detect_1 setList motion off

define FLBewegungsmelderEin notify Motion_Detect_1:motion set Motion_light on;;set Motion_Detect_1 off;;set Funkschalter_2_1 cmd_2

define watchdogFLBewegungsMelder watchdog Motion_Detect_1:motion 00:00:05 SAME set Motion_light off;; trigger watchdogFLBewegungsMelder Motion_Detect_1


Manchmal geht es, manchmal nicht. Geht sowas geschickter?

Lieben Gruß
3 x Rasp mit fhem 5.8 | 1 Rasp mit Kodi |1x Cube | 15 x MaxLan Thermostate und 18 Fensterschalter | 30 WLAN Schalter Sonoff | Diverse Sensoren mit Arduino | Tablet mit FTUI 2.6

Beta-User

1. Nutze list und RAW-Definitionsauszüge und editiere nicht in der cfg rum.
2. "An sich" sollte ein notify und ein "on-for-timer 5" dasselbe machen, ohne das ganze Datengeschubse mit den dummys und watchdog.
Dazu solltest du mal den Event-Monitor bemühen, um das notify "herzustellen", das auf den Eingang eines Datenpakets mit E7D74E auf dem Reading RfReceived_Data des Geräts MQTT2_Wlan_Bridge_01 reagiert ;) . Siehe Wiki zum Event-Monitor und zu notify.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

eisi

Ich habe nicht an der CFG selber gebastelt  :( . Das mache ich nur nach großen Änderungen um die Datei mal wieder "formschön" zu bekommen.
Hintergrund des Ganzen ist, dass der PIR per Funk das Signal sendet. Also frage ich diese Änderung ab. Die muss ich aber Rückgängig machen, falls wieder eine Bewegung kommt.
Sonst bleibt das E7D74E im Data stehen und es passiert halt keine Änderung.
Wenn sich nun im Raum jemand bewegt, soll das Licht anbleiben. Wenn nicht, dann ausgehen. Daher hatte ich den Watchdog bemüht.
3 x Rasp mit fhem 5.8 | 1 Rasp mit Kodi |1x Cube | 15 x MaxLan Thermostate und 18 Fensterschalter | 30 WLAN Schalter Sonoff | Diverse Sensoren mit Arduino | Tablet mit FTUI 2.6

Beta-User

Das mit der Editiererei war nur als Hinweis gemeint, weil es offensichtlich ein direkter Auszug ist... Es ist klar, dass das mit dem Problem nichts zu tun hat und war nicht böse gemeint.
Aber: Eine "formschöne" cfg ist kein Wert an sich, es besteht in der Regel weder Anlaß, sich die in Gänze anzuschauen, noch ist das immer "einfach so" möglich (z.B., wenn man wie ich configDB nutzt ;) ).

Das Ziel hatte ich verstanden (denke ich jedenfalls), aber nachdem du meinen Hinweis in irgendeinem anderen Thread zu "do always" (bzgl. DOIF) schon nicht sehen wolltest, und hier um ggf. radikale Vorschläge gebeten hast, wollte ich dem gerne Folge leisten...

Hir nochmal der Versuch, das etwas besser zu ordnen:

1. Im Event-Monitor solltest du jedes "Datenpaket mit E7D74E" sehen, wenn es eingeht. (=> bitte verifizieren...)
2. Wenn das der Fall ist, kannst du ein notify (oder ein do-always-DOIF) basteln, das darauf immer wieder reagiert.

3. Was die Frage angeht, was dann an Folgeaktivitäten erforderlich ist angeht ("Anweisung" im Sinne von https://wiki.fhem.de/wiki/Notify), ist das uU. zu umständlich gedacht. Wenn der Aktor "on-for-timer" "versteht", brauchst du nichts weiter, als den timer (immer wieder) neu zu setzen. Alles andere ist unnötig... Das war mit "Datengeschubse" gemeint.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

eisi

Hatte ich auch nicht böse verstanden :)
Ja, das Datenpaket kommt jedes Mal.
Mein Problem war nur, dass das DOIF immer beim CMD1 stehen bleibt und damit den Status nicht ändert.
Also Ausgangssituation: CMD2 beim DOIF, Paket kommt, CMD1 beim DOIF. Das bleibt dann so stehen, bis irgendwann mal ein anderes Paket eines anderen Sensors kommt.

Dann werde ich mal basteln.
Danke dir :-)
3 x Rasp mit fhem 5.8 | 1 Rasp mit Kodi |1x Cube | 15 x MaxLan Thermostate und 18 Fensterschalter | 30 WLAN Schalter Sonoff | Diverse Sensoren mit Arduino | Tablet mit FTUI 2.6