Welcher Datapoint für Tastensperre bei e-trv-2?

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

Antworten
gnatolf
Beiträge: 26
Registriert: 23.12.2020, 11:43
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 7 Mal

Welcher Datapoint für Tastensperre bei e-trv-2?

Beitrag von gnatolf » 01.07.2021, 22:45

Hallo,

im Titel schon die Frage. In der CCU-GUI kann man in Kanal 0 die "Globale Bediensperre" setzen, mit der die Tasten des Gerätes außer Kraft gesetzt werden können. Welcher ist der entsprechende Datenpunkt in Node-Red?

Falls es keiner ist - dann muss ich den Parameter irgendwie über ne CCU-Systemvariable exportieren und modifizieren, oder?

Ich kann übrigens wirklich niemandem empfehlen, so schöne, leuchtende und surrende Thermostate in Reichweite von 1.5jährigen zu installieren... ;)

Benutzeravatar
Baxxy
Beiträge: 10648
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 597 Mal
Danksagung erhalten: 2180 Mal

Re: Welcher Datapoint für Tastensperre bei e-trv-2?

Beitrag von Baxxy » 07.07.2021, 20:07

gnatolf hat geschrieben:
01.07.2021, 22:45
Falls es keiner ist
Das ist kein Datenpunkt des Gerätes. Das ist der Parameter "GLOBAL_BUTTON_LOCK" im Master Paramset von Kanal:0.
Könnte man bspw. mit einem Script setzen, aber bei Node-Red bin ich komplett raus.

Grüße
Baxxy

gnatolf
Beiträge: 26
Registriert: 23.12.2020, 11:43
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 7 Mal

Re: Welcher Datapoint für Tastensperre bei e-trv-2?

Beitrag von gnatolf » 07.07.2021, 23:57

Ach, uff. Ich bin leider nur bei node-red 'drin' :D

Aber danke für den Hinweis. Denke ich hab also die Möglichkeit, Skripte über node-red ausführen zu lassen. Hast du ein Beispiel für so ein Skript? Da habe ich außer Willen zur Einarbeitung nichts, mit dem ich anfangen könnte.

Benutzeravatar
Baxxy
Beiträge: 10648
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 597 Mal
Danksagung erhalten: 2180 Mal

Re: Welcher Datapoint für Tastensperre bei e-trv-2?

Beitrag von Baxxy » 08.07.2021, 00:16

gnatolf hat geschrieben:
07.07.2021, 23:57
Hast du ein Beispiel für so ein Skript?
Man kann sich mit Black's SDV ein passendes Script generieren lassen. Ich denke das ist aber nur innerhalb Homematic lauffähig.
Das sähe dann beispielhaft so aus:

Code: Alles auswählen

!- PutParamset Zuweisung vom SDV V4.07.03A LCL für Gerät: HmIP-eTRV-B1
string stdErr=""; string stdOut="";
string TCL="";
TCL= TCL # " {GLOBAL_BUTTON_LOCK {boolean 1}}"; !- DatenTyp Boolean beachten (1 = Sperre aktiv / 0 = Sperre inaktiv)

object oCHANNEL= dom.GetObject (ID_CHANNELS).Get ("Thermostat Heizung WZ: HmIP-eTRV-B1:0 - Service");
object oIFace= dom.GetObject (oCHANNEL.Interface () );
string sTCL= ^puts [xmlrpc ^ #oIFace.InterfaceUrl()# ^/ putParamset [list string \"^#oCHANNEL.Address()#^\"] [list string \"MASTER\"] [list struct \"^#TCL#^\"]]^;
system.Exec ("/bin/sh -c 'echo \"load tclrpc.so; " # sTCL # "\" |tclsh'",&stdOut,&stdErr); 
Vielleicht hilft dir das weiter.
Bestimmt kann man auch "remote" den Parameter ändern, aber da müssen mal die Experten ran. :wink:

Grüße
Baxxy
Zuletzt geändert von Baxxy am 08.07.2021, 07:59, insgesamt 1-mal geändert.

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Welcher Datapoint für Tastensperre bei e-trv-2?

Beitrag von Black » 08.07.2021, 07:52

Black schenkt Baxxy ein "l". :mrgreen: :mrgreen:
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Benutzeravatar
Baxxy
Beiträge: 10648
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 597 Mal
Danksagung erhalten: 2180 Mal

Re: Welcher Datapoint für Tastensperre bei e-trv-2?

Beitrag von Baxxy » 08.07.2021, 08:02

Black hat geschrieben:
08.07.2021, 07:52
Black schenkt Baxxy ein "l". :mrgreen: :mrgreen:
Oh je, ich schieb's mal auf die Uhrzeit... oder auf das Rhabarber-Bier. :P
(ist korrigiert)

Grüße
Baxxy

gnatolf
Beiträge: 26
Registriert: 23.12.2020, 11:43
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 7 Mal

Re: Welcher Datapoint für Tastensperre bei e-trv-2?

Beitrag von gnatolf » 08.07.2021, 20:51

Ohne mich jetzt extrem auszukennen, scheint das ja 'nur' per rpc die entsprechende Option zu setzen. Das könnte auch mit node-red gehen. Oder macht tclrcp.so noch krassere Verbindungsdetails?
Zuletzt geändert von gnatolf am 08.07.2021, 22:57, insgesamt 1-mal geändert.

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Welcher Datapoint für Tastensperre bei e-trv-2?

Beitrag von Black » 08.07.2021, 22:02

ich kenne jetzt nicht die einzelheiten, wie es nodered macht. faktisch musst du einen xmlrpc methodcall request auf dem schnittstellenprozess erzeugen.
du kannst dir den XML-Text selber zusammenbauen und an den passenden schnittstellenprozess schicken,
oder ein wrapper macht das und du übergibst ihm die parameter, die er dann umsetzt.

das macht in dem Homematik Beispiel die entsprechende TCL routine, das macht bei IOBroker ein SendTO an den entsprechenden Adapter u.s.w.
Grob aussehen müsste das so:

Code: Alles auswählen

<?xml version="1.0"?><methodCall><methodName>putParamSet</methodName><params><param><value><string>OEQxxxxxx:0</string></value></param><param><value><string>GLOBAL_BUTTON_LOCK</string></value></param><param><value><boolean>1</boolean></value></param></params></methodCall>
für die genaue Syntax musst du einen Nodered Profi fragen

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

gnatolf
Beiträge: 26
Registriert: 23.12.2020, 11:43
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 7 Mal

Re: Welcher Datapoint für Tastensperre bei e-trv-2?

Beitrag von gnatolf » 08.07.2021, 22:21

So schwierig war es mit den Hinweisen gar nicht (war sogar vor deinem absolut korrekten letzten Post drauf gekommen, Black :wink: ). Man kann den RPC-Event-node mit der Methode putParamset und dann den folgenden parametern füttern, hier aus Gründen der Übersichtlichkeit in einem function node formuliert:

Code: Alles auswählen

const paramset = [
    '<<Geräteadresse>>:0',
    'MASTER',
    {
        GLOBAL_BUTTON_LOCK: true,
    }
];
msg.payload = paramset
return msg;
Das ganze als über kompliziertes Beispiel im Flow:

Code: Alles auswählen

[{"id":"e5bd6298.0e6e","type":"debug","z":"cdb7abff.3cf718","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":750,"y":1360,"wires":[]},{"id":"67ba058.fa920fc","type":"ccu-rpc","z":"cdb7abff.3cf718","name":"Essbereich","ccuConfig":"38263145.35ea0e","iface":"HmIP-RF","method":"putParamset","params":"","topic":"${CCU}/${Interface}/${Method}","x":490,"y":1400,"wires":[["e5bd6298.0e6e"]]},{"id":"b7f9828d.7cf0a","type":"inject","z":"cdb7abff.3cf718","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"str","x":180,"y":1360,"wires":[["e5bd6298.0e6e","f1213a6d.a104f8"]]},{"id":"f1213a6d.a104f8","type":"function","z":"cdb7abff.3cf718","name":"","func":"const parameters = [\n    '<<Geräteadresse:0',\n    'MASTER',\n    {\n        GLOBAL_BUTTON_LOCK: true,\n    }\n];\nmsg.payload = parameters\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":320,"y":1400,"wires":[["67ba058.fa920fc"]]},{"id":"38263145.35ea0e","type":"ccu-connection","name":"Homematic","host":"localhost","regaEnabled":true,"bcrfEnabled":false,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":false,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","tls":false,"inSecure":false,"authentication":false,"username":"","password":"","queueTimeout":"5000","queuePause":"250","contextStore":""}]

Antworten

Zurück zu „RedMatic“