Duty Cycle CCU2 & CCU3 mit HM Script auslesen und speichern

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

SigiMOE
Beiträge: 165
Registriert: 09.02.2016, 16:57
System: Alternative CCU (auf Basis OCCU)
Wohnort: Steinheim an der Murr
Hat sich bedankt: 2 Mal

Re: Duty Cycle CCU2 mit HM Script auslesen und speichern

Beitrag von SigiMOE » 22.04.2017, 22:45

ok vielen Dank für den Hinweis, ich habe es jetzt auf 80 °C geändert, dies sollte reichen.... :-)

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: Duty Cycle CCU2 mit HM Script auslesen und speichern

Beitrag von Bratmaxe » 26.04.2017, 07:34

Muss das Skript in einem programm ausgeführt werden?

Wenn ich es unter Programme-> Skripte teste, dann erhalte ich immer den Wert "0".
Oder funktioniert das Skript nicht auf einem Raspberry Pi mit RaspberryMatic?

Gruß Carsten
Gruß Carsten

Benutzeravatar
JRiemann
Beiträge: 3903
Registriert: 12.11.2015, 21:05
Wohnort: Aurich
Danksagung erhalten: 3 Mal

Re: Duty Cycle CCU2 mit HM Script auslesen und speichern

Beitrag von JRiemann » 26.04.2017, 08:19

Das Skript wird zyklisch (z.B. alle 10 Min.) in einem Programm ausgeführt.
So wie es in der Beschreibung auf Seite 1 auch genau erklärt ist.
Das Skript arbeitet auf allen Systemen (CCU, YAHM, RaspiMatic)

Was wird genau beim ausführen in "Skript testen" angezeigt?
Viele Grüße!
Jörg

ptweety
Beiträge: 522
Registriert: 07.01.2017, 16:48
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 48 Mal
Danksagung erhalten: 66 Mal

Re: Duty Cycle CCU2 mit HM Script auslesen und speichern

Beitrag von ptweety » 12.05.2017, 18:06

Vielen Dank für das Script.

Ich habe für meinen Anwendungsbereich eine kleine Abwandlung gemacht und sende die Daten nicht an eine Systemvariable, sondern per curl an eine InfluxDB, um das Ergebnis dann mit Grafana auszuwerten und zu visualisieren:

Code: Alles auswählen

! DutyCycle CCU mit HM Script und CUxD.exec (c) by Alchy v 0.1
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("echo 'load tclrpc.so; puts [xmlrpc http://127.0.0.1:2001/ listBidcosInterfaces ]'|tclsh |grep -o 'DUTY_CYCLE.[0-9]*.'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string duty_cycle = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State().StrValueByIndex(" ",1);
! WriteLine(duty_cycle);
string curl_cmd = "/usr/local/addons/cuxd/curl -i -XPOST 'http://<IP>:8086/write?u=<USER>&p=<PASSWD>' --data-binary 'duty_cycle,host=ccu2,type=CCU2,adress=<DEVICE> value=" #duty_cycle #"'";
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State(curl_cmd);
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
string curl_ret = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
! WriteLine(curl_ret);
Das Ganze sieht dann so aus:
Dateianhänge
duty-cycle.png

almrausch
Beiträge: 255
Registriert: 10.12.2016, 21:20
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: Duty Cycle CCU2 mit HM Script auslesen und speichern

Beitrag von almrausch » 18.06.2017, 17:07

Geht das nicht auch ohne CUxD? Wenn ich das richtig sehe, wird hier CUxD doch "nur" als Ersatz für den "bösen" System.exec verwendet, der ja nach letzten Erkenntnissen gar nicht so böse ist.

Leider bin ich als Skript-Anfänger noch nicht in der Lage, das zu beurteilen und Skripte mit dem Exec-Gerät von CUxD wieder auf System.exec umzuschreiben.
Gruß Ralf

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: Duty Cycle CCU2 mit HM Script auslesen und speichern

Beitrag von Herbert_Testmann » 18.06.2017, 19:07

almrausch hat geschrieben:Geht das nicht auch ohne CUxD?
ja.

Es gibt einen langen Beitrag ersetzen von exec durch cuxD
Da kannst Du nachlesen und die Zeilen entsprechend umgekehrt anpassen
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

almrausch
Beiträge: 255
Registriert: 10.12.2016, 21:20
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: Duty Cycle CCU2 mit HM Script auslesen und speichern

Beitrag von almrausch » 18.06.2017, 20:05

Den Beitrag kenne ich und damit habe ich es auch versucht. Der eigentliche "Command" ist ja

Code: Alles auswählen

"echo 'load tclrpc.so; puts [xmlrpc http://127.0.0.1:2001/ listBidcosInterfaces ]'|tclsh |grep -o 'DUTY_CYCLE.[0-9]*.'"
Also habe ich es mit folgendem Skript versucht:

Code: Alles auswählen

WriteLine ("Start");
string stdout;
string stderr;
system.Exec("echo 'load tclrpc.so; puts [xmlrpc http://127.0.0.1:2001/ listBidcosInterfaces ]'|tclsh |grep -o 'DUTY_CYCLE.[0-9]*.'", &stdout, &stderr);
WriteLine ("Stop");
Es wird aber nichts ausgegeben. Lasse ich die Zeile mit systemExec() weg, erfolgt eine Ausgabe.
Gruß Ralf

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: Duty Cycle CCU2 mit HM Script auslesen und speichern

Beitrag von Herbert_Testmann » 18.06.2017, 22:58

Hallo

ich habe keine ahnung vom diesem Script kram.
Aber könnte es sein, dass die Rückgabe in stdout steht?
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

almrausch
Beiträge: 255
Registriert: 10.12.2016, 21:20
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: Duty Cycle CCU2 mit HM Script auslesen und speichern

Beitrag von almrausch » 18.06.2017, 23:00

Ja, da würde die wohl stehen. Aber wenn die Ausgaben für Start/Stop nicht kommen, wird da erst gar nichts ausgeführt.
Gruß Ralf

Benutzeravatar
onkeltommy
Beiträge: 1392
Registriert: 07.05.2016, 08:03
Wohnort: Wien
Hat sich bedankt: 28 Mal
Danksagung erhalten: 26 Mal

Re: Duty Cycle CCU2 mit HM Script auslesen und speichern

Beitrag von onkeltommy » 13.07.2017, 21:39

Hi

da ich wegen ein paar Spinnereien auf Fehlersuche bin, hab ich auch Deinen Script eingesetzt ! TopTop !

Nur ein Problem...... ich hab Deine Variablen in die CCU so übernommen, wie im Script verwendet.

Nur.. Status_DutyCycle bleibt auf 0

DC1,2,3 geben Werte aus - CCU2, GateWay1, GateWay2
CON1,2,3 sind auf on, also Verbindung

Script im Testfenster läuft auch korrekt durch - soll der Null sein oder klappt was nicht ?

Danke im Voraus

lG

Tom
lG
Thomas
--------------------------
RaspberryMatic 3.73.9.20240130 @ TinkerS (Produktivsystem) & Historian @ SynologyVM & 2x RB3+ @ Nachwuchs

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“