Fragen zur Einbindung Display-Fernbedienung HM-RC-DIS-H-X-EU

Begonnen von samdave11, 06 März 2020, 20:41:31

Vorheriges Thema - Nächstes Thema

Otto123

ZitatDieser Beitrag gehört ins Wiki, nach redaktionieller Überarbeitung.
Kann ich leider nicht. Ich bin ja schon froh überhaupt eine Info dort zu haben ;)
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

samdave11

Zunächst einmal: vielen Dank für eure Hilfe!

Ich habe wie von frank vorgeschlagen mit tplSet gearbeitet. Es funktioniert!

Ich habe mich dann direkt gefragt, wie ich, wenn ich in 2 Monaten vergessen habe, was ich hier getan habe, diese Einstellung nachvollziehen kann. Gibt es einen besseren Weg als get regTable?

Jetzt hätte ich für den Moment nur noch einen Wunsch: ich möchte mit der Fernbedienung Shellskripte triggern. Dafür nehme ich dann eine virtuelle entity(?) + einen notify?

Otto123

ZitatDafür nehme ich dann eine virtuelle entity(?) + einen notify?
Ist ein guter Weg. Wobei der Trigger auch direkt funktioniert.

gegen vergessen hilft alle Schritte aufschreiben :)
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

frank

#18
ZitatIch habe mich dann direkt gefragt, wie ich, wenn ich in 2 Monaten vergessen habe, was ich hier getan habe, diese Einstellung nachvollziehen kann. Gibt es einen besseren Weg als get regTable?
cul_hm bietet auch eine "verwaltung" bestehender konfigurationen/peerings der devices. entweder lokal im device und/oder zentral über hminfo.
zum sichern zb "get saveConfig". siehe auch wiki.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

samdave11

Also,

ohne virtuelle Entity wird es nicht gehen, da auf der Fernbedienung die Buttons erst erscheinen, wenn es ein peering gibt.

Das passiert im Event monitor, wenn ich den gewünschten Button drücke:

2020-05-15 20:32:44 CUL_HM FB battery: ok
2020-05-15 20:32:44 CUL_HM FB FB_Btn_05 Short
2020-05-15 20:32:44 CUL_HM FB_Btn_05 Short 1_58 (to adapterdings)
2020-05-15 20:32:44 CUL_HM FB_Btn_05 trigger: Short_58
2020-05-15 20:32:44 CUL_HM FB_Btn_05 triggerTo_adapterdings: Short_58
2020-05-15 20:32:44 CUL_HM FB_Btn_05 trigger_cnt: 58


"adapterdings" ist meine virtuelle Entity.

Ich würde gerne das Event möglichst scharf beschreiben, um im Notify z. B. die unterschiedlichen Tastendrücke (short/long) unterschiedlich auswerten können.

Was funktioniert ist:

FB_Btn_05:triggerTo_adapterdings:.* {system ("meinsupershellskript.sh")}


Was aber bspw. nicht funktioniert, ist:

FB_Btn_05:triggerTo_adapterdings:Short_.* {system ("meinsupershellskript.sh")}


Selbst wenn ich spaßeshalber mal ein Short mit konkretem Zähler einstelle, klappt das auch nicht.

Otto123

Beginnen wir mal hinten:
{system ("meinsupershellskript.sh")} brauchst Du normal nicht. Es geht auch:
"meinsupershellskript.sh"
Funktioniert das genauso (also MIT "") in der FHEM Kommmandozeile?

Nimm doch als Trigger: Mach ich meistens so, das ist doch ziemlich exakt :)
FB_Btn_05:Short

Oder Du triggerst auf adapterdings :) der macht auch Events.

Gruß Otto
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

frank

FB_Btn_05:triggerTo_adapterdings:.Short_.* {system ("meinsupershellskript.sh")}
da hat wenigstens ein "punkt" für ein leerzeichen gefehlt.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

samdave11

Zitat von: Otto123 am 15 Mai 2020, 21:09:18
Beginnen wir mal hinten:
{system ("meinsupershellskript.sh")} brauchst Du normal nicht. Es geht auch:
"meinsupershellskript.sh"
Funktioniert das genauso (also MIT "") in der FHEM Kommmandozeile?
Das muss ich mir mal anschauen. Ich hatte da jetzt erstmal Code von meiner "Ist meine Waschmaschine fertig?"-Überwachung kopiert, der ist sehr alt und seinerseits auch von woanders herkopiert. Wenn jetzt die Nummer mit der Fernbedienung funktional läuft, wollte ich eh mal die Config aufräumen, das käme dann dazu.

Zitat von: Otto123 am 15 Mai 2020, 21:09:18
Nimm doch als Trigger: Mach ich meistens so, das ist doch ziemlich exakt :)
FB_Btn_05:Short
Funktioniert nicht.
Was hingegen funktioniert, ist:
FB_Btn_05.Short.*

samdave11

Zitat von: frank am 15 Mai 2020, 21:51:08
FB_Btn_05:triggerTo_adapterdings:.Short_.* {system ("meinsupershellskript.sh")}
da hat wenigstens ein "punkt" für ein leerzeichen gefehlt.
Aha! Das war das Problem.
Ist das generell ein "richtiger" Perl-Regexp, oder ist die Syntax dort nur angelehnt?
".*" ist ja dann einfach "0 bis n mal beliebiges Zeichen".

Otto123

Ja Sorry, meine Variante war:
FB:FB_Btn_05.Short

Deine Variante ist nicht gut, hab ich letztens gelernt.  8)
FB_Btn_05.Short.* muss sich gegen alle Events deines Systems "beweisen"
FB_Btn_05:Short.* muss sich nur gegen alle Events des Devices FB_Btn_05 "beweisen"

Beim notify regexp wird glaube ich intern noch ^ vorn und $ hinten angefügt, ansonsten ist der Trigger mMn richtiger regExp
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

samdave11

Wunderbar!

Das einzige, was noch fehlt ist dass die Befehle bestätigt werden. Das Senden des Kommandos wird aktuell noch rot.
Dazu ist wohl relevant:
https://wiki.fhem.de/wiki/HM-RC-4-2_Funkfernbedienung_4_Tasten#LED_.2F_R.C3.BCckantwort

Kann es sein, dass der Abschnitt nicht mehr aktuell ist?

Und wenn ich das model zu ändern versuche, wird auf modelForce verwiesen, aber in der Liste gibt es den generischen Typen receiver nicht. Muss ich da dann einfach irgendeinen konkreten Homematic-Aktor wählen?

Pfriemler

wenn es rot gibt, erwartet die FB die Antwort von einem peer, der aber nicht kommt.

Ansonsten ist es richtig, dass die Buttons dieser FB erst erscheinen, wenn es einen peer gibt. Da kann man aber für alle 20 dieser FB (und noch mehr) denselben virtuellen Button nehmen (sofern nicht eh ein "echtes" HM-Gerät gepeert ist). Die Auswertung sollte man dann aber doch wie beschrieben am Tasterevent machen.

FB_Btn_05:Short
funktioniert nicht weil es kein matchendes Event "Short" gibt (sondern sowas wie "Short_xx (to VCCU"). Otto hat schon die Lösung im Text.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Otto123

ZitatDas Senden des Kommandos wird aktuell noch rot.
Das bedeutet Du hast Deinen virtuellen Peer falsch gemacht.
Um das zu beurteilen müsstest Du mal alle beteiligte Geräte posten.

hminfo configCheck hilft Dir auch bei der Fehlersuche. ;)

Der Abschnitt in dem Wiki Artikel den Du gepostet hast kommt mir komisch vor. Allein das dort 3 mal der Begriff HMID falsch geschrieben steht ::) muss ich mir mal in Ruhe anschauen. Voriges Jahr gab es einige einschneidende Veränderungen in CUL_HM - kann sein, dass das so nicht mehr funktioniert.
Ich nutze für so etwas channels der VCCU, die ist sowieso da. Und ein ein Channel davon eignet sich prima als virtueller Peer für alle Fernbedienungen.
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

samdave11

Zitat von: Pfriemler am 15 Mai 2020, 23:47:22
wenn es rot gibt, erwartet die FB die Antwort von einem peer, der aber nicht kommt.
Jau, das habe ich verstanden.
Zitat von: Pfriemler am 15 Mai 2020, 23:47:22
Ansonsten ist es richtig, dass die Buttons dieser FB erst erscheinen, wenn es einen peer gibt. Da kann man aber für alle 20 dieser FB (und noch mehr) denselben virtuellen Button nehmen (sofern nicht eh ein "echtes" HM-Gerät gepeert ist).
Stimmt, guter Hinweis.


samdave11

Zitat von: Otto123 am 16 Mai 2020, 09:39:33
Das bedeutet Du hast Deinen virtuellen Peer falsch gemacht.
Der ist anscheinend garnicht gemacht worden. Die Liste der peers bei meiner virtuellen Entity war leer. Das habe ich dann behoben, wie auf dieser Wikiseite als zweiter Vorschlag unter C angegeben ist:
https://wiki.fhem.de/wiki/Diskussion:HM-RC-12_Funkfernbedienung_12_Tasten

Wobei, das war ja nur einseitig, ich habe dann wie unter 6. angegeben nochmal ein peerChan gemacht, jetzt ist das peering beidseitig und hmConfig beschwert sich über nichts mehr was diese Geräte angeht :)

Zitat von: Otto123 am 16 Mai 2020, 09:39:33
Ich nutze für so etwas channels der VCCU, die ist sowieso da. Und ein ein Channel davon eignet sich prima als virtueller Peer für alle Fernbedienungen.
Ich habe sowieso noch nicht verstanden, wo da der fundamentale Unterschied ist :)

Bezüglich Wiki: nicht nur da, auch in der FHEM-Doku sind mir schon öfter Tippfehler bzw. schlechtes/kaputtes Englisch aufgefallen. Ich könnte anbieten, da mal was zu überarbeiten.