EFR Smartmeter auslesen und Variablen in Homemtic schreiben

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

m21muc
Beiträge: 9
Registriert: 21.04.2017, 22:47

Re: EFR Smartmeter auslesen und Variablen in Homemtic schrei

Beitrag von m21muc » 30.04.2017, 01:49

WOW - :D :D :D
Vielen, herzlichen Dank, Alchy - das funktioniert wie am Schnürchen... KLASSE :!: :!: :!:
Kann ich mich irgendwie erkenntlich zeigen...?

Schönes, langes Wochenende!!

wispat
Beiträge: 19
Registriert: 09.01.2016, 12:48

Re: EFR Smartmeter auslesen und Variablen in Homemtic schreiben

Beitrag von wispat » 15.09.2018, 15:43

Hallo
Ich habe ein ähnliches Gerät (Voltoplus) und wollte dies anhand dieses Scriptes ausführen. Leider schreibt er die falsche Zahl in die Variable, resp. er schreibt alle Werte in die Variable...

Ich brauche nur einen Wert den wert Leistung "P"
Was mache ich falsch???

Code: Alles auswählen

! EFR Smart-Meter auslesen und Werte speichern
! v0.1 (c) by Alchy
und das kommt dabei raus
in der Variable Solar erscheint eine 9:

Code: Alles auswählen

{
  "index": "\"year\":2018,\"month\":9,\"day\":15,\"hour\":13,\"minute\":34,\"second\":34}}]}",
  "sessionId": "",
  "STDOUT": "Wert: \"-1605\"} aus Register: P wurde in Variable: Solar gespeichert\r\nWert: \"46551\"} aus Register: fwdEn wurde in Variable: Solar gespeichert\r\nWert: \"45567\"} aus Register: rvsEn wurde in Variable: Solar gespeichert\r\nWert: \"100\"} aus Register: AO1 wurde in Variable: Solar gespeichert\r\nWert: \"100\"} aus Register: AO2 wurde in Variable: Solar gespeichert\r\nWert: \"100\"} aus Register: my-PV1 wurde in Variable: Solar gespeichert\r\nWert: \"0\"} aus Register: abl1 wurde in Variable: Solar gespeichert\r\nWert: \"1\"} aus Register: DO1 wurde in Variable: Solar gespeichert\r\nWert: \"1\"} aus Register: DO2 wurde in Variable: Solar gespeichert\r\nWert: \"0\"} aus Register: LEDS wurde in Variable: Solar gespeichert\r\nWert: \"1\"} aus Register: LEDP wurde in Variable: Solar gespeichert\r\nWert:  aus Register: date_time wurde in Variable: Solar gespeichert\r\nWert: 9 aus Register: 01 wurde in Variable: Solar gespeichert\r\n",
  "url": "http:\/\/192.168.178.110\/api\/v1\/values",
  "code": "01",
  "srueck": "U1\",\"value\":\"23703\"},\{\"id\":\"U2\",\"value\":\"23719\"},\{\"id\":\"U3\",\"value\":\"23670\"},\{\"id\":\"I1\",\"value\":\"-3072\"},\{\"id\":\"I2\",\"value\":\"-3540\"},\{\"id\":\"I3\",\"value\":\"-819\"},\{\"id\":\"P\",\"value\":\"-1605\"},\{\"id\":\"fwdEn\",\"value\":\"46551\"},\{\"id\":\"rvsEn\",\"value\":\"45567\"},\{\"id\":\"AO1\",\"value\":\"100\"},\{\"id\":\"AO2\",\"value\":\"100\"},\{\"id\":\"my-PV1\",\"value\":\"100\"},\{\"id\":\"abl1\",\"value\":\"0\"},\{\"id\":\"DO1\",\"value\":\"1\"},\{\"id\":\"DO2\",\"value\":\"1\"},\{\"id\":\"LEDS\",\"value\":\"0\"},\{\"id\":\"LEDP\",\"value\":\"1\"},\{\"id\":\"date_time\",\"value\":\{\"year\":2018,\"month\":9,\"day\":15,\"hour\":13,\"minute\":34,\"second\":34}}]}",
  "codel": "P",
  "liste": "P=Solar",
  "i": "19",
  "name": "Solar",
  "indexl": "P=Solar",
  "namel": "Solar",
  "il": "1",
  "value": "9",
  "httpUserAgent": ""
}
Zuletzt geändert von alchy am 17.09.2018, 18:57, insgesamt 1-mal geändert.
Grund: Scriptcopy gelöscht

alchy
Beiträge: 10744
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 671 Mal

Re: EFR Smartmeter auslesen und Variablen in Homemtic schreiben

Beitrag von alchy » 17.09.2018, 21:54

Dir ist klar, das "ein ähnliches Gerät" nicht gaaanzz der richtige Weg ist? :mrgreen:
Wenn ich richtig gezählt habe, sollte das Script deinen Wert aus deiner Anlage holen:

Code: Alles auswählen

! Voltoplus auslesen und Wert speichern
! v0.1 (c) by Alchy
var url = "http://192.168.178.110/api/v1/values";
string name = "Name deiner Speichervariable";
! das war es schon - ab hier Finger weg 
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q  --auth-no-challenge -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State(); 
if(!srueck ==""){
string value = srueck.StrValueByIndex(",",13).StrValueByIndex(":",1);
value = value.Substr(1, value.Length()-3).ToFloat();
if (dom.GetObject(ID_SYSTEM_VARIABLES).Get(name)){dom.GetObject(ID_SYSTEM_VARIABLES).Get(name).State(value);
WriteLine("Wert: "#value #" wurde in Variable: " #name #" gespeichert"); 
}else{
WriteLine("Wert: "#value #" konnte NICHT in Variable: " #name #" gespeichert werden"); 
}}else{WriteLine("Abfrage nicht erfolgreich");}
Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

wispat
Beiträge: 19
Registriert: 09.01.2016, 12:48

Re: EFR Smartmeter auslesen und Variablen in Homemtic schreiben

Beitrag von wispat » 18.09.2018, 09:07

Super!!! Funktioniert einwandfrei
Vielen Dank :D :D :D

Tobizeili
Beiträge: 2
Registriert: 13.11.2020, 19:55
System: CCU

Re: EFR Smartmeter auslesen und Variablen in Homemtic schreiben

Beitrag von Tobizeili » 14.11.2020, 06:32

Hallo zusammen,

ich hab ebenfalls ein Voltoplus Regler, den ich mit der CCU und eurem Script auslesen möchte. Ich habe eine Speichervariable als Zahl angelegt (Voltoplus), im Cux ein Gerät erstellt und die IP entsprechend angepasst..... im Script die IP und den Namen der Variable Voltoplus eingetragen, der Aufruf ist periodisch alle Minute. Muss im Script der "Cux Kanal" auch angepasst werden bei mir lautet er 2803001? Irgendwas mach ich leider falsch, es kommt kein Wert an bzw. die Variable ändert sich nicht.

Grüße Tobi

s.hofmann
Beiträge: 2
Registriert: 04.01.2022, 08:40
System: CCU und Access Point
Hat sich bedankt: 2 Mal

Re: EFR Smartmeter auslesen und Variablen in Homemtic schreiben

Beitrag von s.hofmann » 04.01.2022, 13:15

Hi Alchy,

Super vielen Dank für dein Skript;
Dies hat auch kurz super funktioniert, jetzt kommt allerdings immer die Meldung : Abfage nicht erfolgreich;

hast du eine Möglichkeit mir zu helfen ?
der URL String im Browser an sich liefert, die Kompletten String zurück;
Cuxd und Cuxd hab ich meiner Meinung nach auch richtig installiert;

Stephan
Dateianhänge
Cuxd_exec.png

alchy
Beiträge: 10744
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 671 Mal

Re: EFR Smartmeter auslesen und Variablen in Homemtic schreiben

Beitrag von alchy » 04.01.2022, 20:24

Ohje, was für ein alter Thread .
Welches Script meint du denn? Sind ja mehrere, wenn ich das richtig sehe. :|

Allgemein, wenn Abfrage nicht erfolgreich kommt, ist die Rückgabe leer.
Steht was im >> Fehlerprotokoll <<?

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

s.hofmann
Beiträge: 2
Registriert: 04.01.2022, 08:40
System: CCU und Access Point
Hat sich bedankt: 2 Mal

Re: EFR Smartmeter auslesen und Variablen in Homemtic schreiben

Beitrag von s.hofmann » 04.01.2022, 20:48

Ich hab mal das Skript und den Syslog angehängt

alchy
Beiträge: 10744
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 671 Mal

Re: EFR Smartmeter auslesen und Variablen in Homemtic schreiben

Beitrag von alchy » 04.01.2022, 21:21


Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“