Triggern von "at" @ Update eines Readings auf einen def. Wert nach Zeit (Licht)

Begonnen von Tardar, 28 Juni 2019, 22:42:36

Vorheriges Thema - Nächstes Thema

Tardar

Hallo zusammen,

ich nutze einen CC2531 am Fhem-Pi.
Leider kann ich damit bei Hue Lampen kein on-for-timer nutzen (ich bekomme das so nicht hin :().
Daher dachte ich, dass es vielleicht klüger ist, in einem "at" zu sagen, dass wenn sich ein Reading des Bewegungsmelders auf einen bestimmten Wert updated (es muss kein changeReading sein) ich eine Lampe nach xx Minuten wieder ausschalte.

Aktuell probiere ich es so (funktionieren tut es so nicht):
{SonoffRF:RfReceived_Data == "E1C5AE"} define kuechenlampeAus at +*00:00:10 set Kuechenlampe off

Am Device, was das ReadingUpdate enthält, gibt es ein event-on-update-reading (auf alle Readings mit .*), durch welches das at funktionieren sollte.


Freue mich auf Hilfe von Euch, bei der Hitze ist mein Hirn etwas im Hintertreffen :)

VIele Grüße und besten Dank
Tardar

MadMax-FHEM

Was soll der gepostete Code denn tun?
Wieso sollte er auf irgendwas reagieren?

Ist das Teil eines Notify!?

Poste doch mal alles!

Wenn das was du gepostet hast schon alles ist, kann das nicht gehen...

define nOff notify Device:Reading defmod atOff at +*00:00:10 set Lampe off

Mal als "Pseudo-Code"...

Ein list vom Device mit dem "gewünschten" Reading wäre auch gut...

Ansonsten: Eventmonitor öffnen, auf passenden Event warten, markieren und Notify anlegen lassen und dann mit "at" anpassen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Tardar

Ich nutze Sonoff Bewegungsmelder, welche als Reading ein "RfReceived_Data" via MQTT liefern.
Dies möchte ich prüfen. Das Reading ändert sich bspw. auf "12345" und wenn das geschehen ist, möchte ich nach x Minuten eine Lampe ausschalten. Diese wird mit einem notify nach Erkennung des Bewegungsmelders eingeschaltet.

Das notify:
(SonoffRF:RfReceived_Data.*)

IF ([SonoffRF:RfReceived_Data] eq "12345")
(set Kuechenlampe on)


Das Device Kuechenlampe soll dann nach bspw. 10 Minuten wieder ausgeschaltet werden.

Das event aus dem event-Monitor ist nach Auslösen des Bewegungsmelders folgendes:
2019-06-28 22:57:52 MQTT_DEVICE SonoffRF RfReceived_Sync: 12470
2019-06-28 22:57:52 MQTT_DEVICE SonoffRF RfReceived_RfKey: None
2019-06-28 22:57:52 MQTT_DEVICE SonoffRF RfReceived_Data: 12345
2019-06-28 22:57:52 MQTT_DEVICE SonoffRF RfReceived_Low: 420
2019-06-28 22:57:52 MQTT_DEVICE SonoffRF RfReceived_High: 1220


Das list des Devices mit dem Reading:


Internals:
   FUUID      5c43e21d-f33f-510d-f1a1-f9b57d93dae8d7a4
   IODev      Mosquitto
   NAME       SonoffRF
   NR         70
   STATE      incoming publish received
   TYPE       MQTT_DEVICE
   Helper:
     DBLOG:
       RfReceived_Data:
         DBLogging:
           TIME       1561755472.18226
           VALUE      12345
       RfReceived_RfKey:
         DBLogging:
           TIME       1561755472.18226
           VALUE      None
       Sensor:
         DBLogging:
           TIME       1561755472.10438
           VALUE      {"RfReceived":{"Sync":12470,"Low":420,"High":1220,"Data":"12345","RfKey":"None"}}
   READINGS:
     2019-06-28 22:57:52   RfReceived_Data 12345
     2019-06-28 22:57:52   RfReceived_High 1220
     2019-06-28 22:57:52   RfReceived_Low  420
     2019-06-28 22:57:52   RfReceived_RfKey None
     2019-06-28 22:57:52   RfReceived_Sync 12470
     2019-06-28 22:57:52   Sensor          {"RfReceived":{"Sync":12470,"Low":420,"High":1220,"Data":"12345","RfKey":"None"}}
     2019-06-28 22:57:52   transmission-state incoming publish received
   message_ids:
   sets:
   subscribe:
     /SmartHome/Interface/Sonoff_Bridge/tele/RESULT
   subscribeExpr:
     ^\/SmartHome\/Interface\/Sonoff_Bridge\/tele\/RESULT$
   subscribeQos:
     /SmartHome/Interface/Sonoff_Bridge/tele/RESULT 0
   subscribeReadings:
     /SmartHome/Interface/Sonoff_Bridge/tele/RESULT:
       cmd       
       name       Sensor
Attributes:
   DbLogExclude .*
   DbLogInclude RfReceived_Data,RfReceived_RfKey,Sensor
   IODev      Mosquitto
   alias      Sonoff RF Bridge
   event-on-update-reading .*
   group      RF Bridge
   mqttName   SonoffBridge
   mqttRoom   Wohnzimmer
   room       92_Zentrale
   stateFormat transmission-state
   subscribeReading_Sensor /SmartHome/Interface/Sonoff_Bridge/tele/RESULT

MadMax-FHEM

Du kannst auch ganz einfach an das vorhandene set Lampe on ein sleep anhängen und dann set Lampe off

set Kuechenlampe on,sleep 600,set Kuechenlampe off

Ich bin allerdings nicht sicher wie die korrekte Schreibweise beim fhem-IF ist.
Also ob "Strichpunkt", "Doppel-Strichpunkt" oder gar "Komma" zum Trennen weiterer Befehle...

EDIT: Komma statt meiner Strichpunkte sollte laut commandref funktionieren (Code angepasst)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Tardar

Mir war nicht bewusst, dass ich aus dem eventMonitor Devices anlegen kann *indieeckestellundschäm*

So funktioniert es nun:
SonoffRF:RfReceived_Data:.12345 defmod atOff at +*00:00:10 set Kuechenlampe off


Device aus dem eventMonitor erstellt und dann nach deinem Muster angepasst.
So machts das ganzue ja echt easy, die Readings korrekt anzugeben.
Vielen lieben Dank für den kurzen Hinweis :)

Ein schönes Wochenende gewünscht ;)

MadMax-FHEM

Kein Thema...

Mit dem sleep bei deinem "Einschalt-Notify" (was es ja schon gibt!?) sparst du das "at"...

Und wenn du das Notify aus dem Eventmonitor statt des jetzigen für's Einschalten nimmst (das für das "at") kannst du im bestehenden die IF-Abfrage sparen... ;)

Anmerkung: je genauer die RegEx (bei Notify, DOIF, ...) "gefasst" ist, desto weniger musst du im Notify etc. prüfen und v.a. das Notify wird erst gar nicht so oft angestossen!

(Vergleiche mal das RegEx [.* -> "höre auf alles] deines set-Notify mit der des für den "at" aus dem Eventmonitor)

Gruß und ebenso schönes WE, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)