Reading zeitversetzt ändern - userReadings?

Begonnen von Cybers, 13 Mai 2022, 16:29:36

Vorheriges Thema - Nächstes Thema

Cybers

Hallo,

ich möchte in einem eigenen Reading "Status" den Wert aus dem Reading "state" wie folgt übernehmen:
wenn "state" auf on -> "Status" ebenfalls direkt auf on
wenn "state" auf off -> "Status" erst nach 3 Minuten auf off

Kann ich das mit userReadings realisieren? Wenn ja, wie?

Gruß, Sascha
FHEM 6.2 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Beta-User

Geht prinzipiell. Hier mal ein Beispiel als Spielmaterial, bitte melden, wenn es nicht selbsterklärend ist...
define du_test dummy
attr du_test readingList state
attr du_test setList state:motion
attr du_test userReadings occupancy:motion {fhem("sleep 30 nomotion_$name quiet;;setreading $name state nomotion")}
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

Otto123

@Jörg der hier "occupancy " ist ein bisschen fies ;D ;D ;D
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

 :P es hat also jemand ausprobiert ;D 8) ...

Wieso findest du das "fies"? Nur weil gleich wieder was "eingespart" wurde und man sich deswegen ein klein wenig irritiert fühlt...? Och komm....
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

Otto123

Zitatwenn es nicht selbsterklärend ist...
Finde das userReading  ;D
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

Zitat von: Otto123 am 13 Mai 2022, 21:51:36
Finde das userReading  ;D
...oder auch: such' den watchdog ;) ....

(Das Ding hatte ich vor längerem mal auf die Seite gelegt - jetzt ist  mir wieder "da war doch was" in den Sinn gekommen) ;D . Paßt doch, oder 8) ?
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

Cybers

Zitat von: Beta-User am 13 Mai 2022, 16:52:13
Geht prinzipiell. Hier mal ein Beispiel als Spielmaterial, bitte melden, wenn es nicht selbsterklärend ist...
define du_test dummy
attr du_test readingList state
attr du_test setList state:motion
attr du_test userReadings occupancy:motion {fhem("sleep 30 nomotion_$name quiet;;setreading $name state nomotion")}


Grundsätzlich danke für deine Hilfe. Und es ist für mich tatsächlich nicht selbsterklärend... Vielleicht kannst du mir es erläutern...

Gruß, Sascha
FHEM 6.2 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Beta-User

Hast du mal versucht, die einzige in der Detailansicht des Devices vorhandenen Schaltoption zu nutzen?

Wenn nein, mach' mal "set du_test motion" und beobachte das Device für die angegebene "sleep"-Zeit ;) ... (du kannst die beliebig verkürzen).

Welche Readings hast du danach?

Anders gesagt: Vermutlich brauchst du deinen "Umweg" über das Hilfsreading "Status" nicht, sondern der Vorschlag wäre, direkt "state" wieder auf "off" zu stellen.

Das ganze ist KNX, oder tippe ich damit daneben?
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

Cybers

#8
ich bin nicht über den Dummy gegangen, sondern habe versucht es direkt in meinem Device anzupassen. Ist ein Shelly...
Dieser Beitrag hier ist der gleiche Ansatz: https://forum.fhem.de/index.php/topic,127542.msg1221640.html#msg1221640
Mein Tor schließt sich nach 3 Minuten automatisch. Der Shelly löst nur den Schaltimpuls von einer Sekunde per on-for-timer aus. Das heißt der Shelly steht schon wieder auf off und das Tor ist noch geöffnet. Um den Status über Homekit richtig anzeigen zu können, brauche ich die Verzögerung von 3 Minuten.

Gruß, Sascha
FHEM 6.2 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Otto123

der Dummy war auch nicht zum "drüber gehen" sondern nur zum verstehen  ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

Zitat von: Cybers am 16 Mai 2022, 13:35:22
ich bin nicht über den Dummy gegangen, sondern habe versucht es direkt in meinem Device anzupassen. Ist ein Shelly...
Dieser Beitrag hier ist der gleiche Ansatz: https://forum.fhem.de/index.php/topic,127542.msg1221640.html#msg1221640
Mein Tor schließt sich nach 3 Minuten automatisch. Der Shelly löst nur den Schaltimpuls von einer Sekunde per on-for-timer aus. Das heißt der Shelly steht schon wieder auf off und das Tor ist noch geöffnet. Um den Status über Homekit richtig anzeigen zu können, brauche ich die Verzögerung von 3 Minuten.

Gruß, Sascha
Mir war schon klar, dass das in etwa dieselbe Richtung hat, aber es wurde mal wieder https://forum.fhem.de/index.php/topic,71806.0.html nicht beachtet...

Hätte ich gewußt, dass es um einen Shelly geht (und es sich um MQTT2_DEVICE handelt?!?), hätte ich gleich noch einen Thread mit angeschlossen:
Zitat von: Beta-User am 14 Mai 2022, 12:05:31
Thx. Eventuell hast du auch diesen dummy bereits mit der Frage nach den Laufzeiten zusammengebracht?
Hihi, der Reed sollte halt m.E. direkt nach "state"... (aber nicht in jedem Fall gleich, daher der "pseudo-watchdog"-Hinweis von oben...) Dafür sollte das relay dort (state) raus.
Aber so tappen wir eben alle "etwas im Dunkeln", wie man das denn jetzt konkret vollends zusammenbasteln kann. Aber jetzt hast du ja erst mal wieder Material zum Nachdenken :P .
Falls noch nicht MQTT2_DEVICE: Das mit dem Reed gibt ggf. eine Verbesserung hinsichtlich der sicheren Bestimmung des wahren Zustands, geht aber (derzeit) nur mit M2D, nicht mit dem Shelly-Modul.
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

Beta-User

Aber falls mal jemand doch mal einen "Status" für ein Shelly-Device-Modul sucht, hier ein Beispieldummy als Steinbruch ::) :

defmod du_test dummy
attr du_test readingList state
attr du_test setList on off
attr du_test useSetExtensions 1
attr du_test userReadings Status:on { fhem("sleep 5 moving_$name quiet;;setreading $name Status closed");; return 'moving' }
attr du_test webCmd on-for-timer 0.2
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

Cybers

Danke für die Unterstützung. Mir war nicht bewusst, dass sich userReadings je nach Device-Typ anders verhält. Sonst hätte ich direkt geschrieben, daß es um einen Shelly geht. Ich habe die Funktionsweise aber jetzt auch nachvollziehen können.

Gruß, Sascha
FHEM 6.2 auf Raspberry PI 4 / Smartvisu
Eltako Serie 14: FAM14, FGW14-USB, FSB14, FSR14-4x, FSR14-2x, FDG14, FTS14-EM in Kombination mit Jung F50 24V Tastern
1-Wire Temperatursensoren
aus alter Zeit:
Gott sei Dank nur noch 3 Homematic Jalousie- & Schaltaktoren! Wer sich mit Funk auskennt, legt Kabel

Beta-User

Zitat von: Cybers am 17 Mai 2022, 11:29:46
Danke für die Unterstützung. Mir war nicht bewusst, dass sich userReadings je nach Device-Typ anders verhält. Sonst hätte ich direkt geschrieben, daß es um einen Shelly geht. Ich habe die Funktionsweise aber jetzt auch nachvollziehen können.
...das ist so etwas "schief"...

userReadings in dummy ist etwas "speziell", weil manche User glauben, man könnte damit "einfach so" Daten aus anderen Devices "importieren" (ohne dass das irgendwie getriggert wird).

Ansonsten ist es "immer das gleiche". ABER: Man kann damit eben auch "richtige" Readings anders belegen oder verändern, und bei MQTT2_DEVICE (und anderen "offenen" Modulen) kommt dann ggf. noch dazu, dass man die "richtigen" Readingnamen im Prinzip selbst frei wählen kann. Was da dann wie "sinnstiftend" zusammengepuzzelt werden kann, ist eine nicht ganz triviale Frage, und falls du Hilfe dabei suchst, müßte man wissen, über was man konkret spricht... (Bisher wissen wir nur, dass ein Shelly im Einsatz ist, aber weder, welche Einbindungsvariante du gewählt hast, noch, ob da ein Reed-Kontakt verbaut ist, der den "geschlossen" (oder "offen"?)-Zustand zuverlässig detektiert).
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