Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

roberti
Beiträge: 30
Registriert: 03.10.2018, 13:19

Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben

Beitrag von roberti » 01.11.2018, 12:39

Hallo zusammen,

um den Eigenverbrauchsanteil meiner PV-Anlage automatisiert zu steigern, möchte ich den aktuellen Ertrag, bzw. Verbrauch der Anlage auslesen u. in Sys-Variablen schreiben um damit schaltbare Steckdosen je nach Ertragslage einschalten. So nach dem Prinzip ist ERTRAG minus VERBRAUCH größer 1000W schalte Steckdose ein.
Nach Anleitung diverser Beiträge bin ich so weit gekommen das ich meine CCU3, mit aktueller FW dazu bewegen konnte, den JSON-String per Script, wie folgt auslesen u. ausgeben kann:

Solarlog2.sh
solarlog2.zip
(617 Bytes) 188-mal heruntergeladen

Abfrage:
dom.GetObject("CUxD.CUX2801011:1.CMD_SETS").State("/usr/local/addons/solarlog2.sh");
dom.GetObject("CUxD.CUX2801011:1.CMD_QUERY_RET").State(1);
string response = dom.GetObject("CUxD.CUX2801011:1.CMD_RETS").State();
WriteLine(response);

Ausgabe:
PAC Leistung WR 0.838 kWh
PAC Leistung aller WR 0.929 kWh
Spannung U AC Wechselspannung 234 Volt
Spannung U DC Gleichspannung 492 Volt
Tages-Ertrag der WR 2.926 kWh
Tages-Ertrag der WR von gestern 11.161 kWh
Monats-Ertrag der WR 2.926 kWh
Jahres-Ertrag der WR 7941.92 kWh
Gesamtertrag aller WR 46039.6 kWh
momentaner Verbrauch 0.297 kWh
Tages-Verbrauch 3.748 kWh
Tages-Verbrauch von gestern 13.44 kWh
Monats-Verbrauch 3.748 kWh
Jahres-Verbrauch 5639.63 kWh
Summe aller Verbraucher 37546.6 kWh
Installierte Generatorleistung 8.58 kWp

Allerdings stehe ich gerade auf dem Schlauch wie ich diese Daten nun in verwertbare Variablen schreiben kann….
Könnt Ihr mir da weiterhelfen?

Vielen Dank im Voraus.
VG
Roberti

Homematic CCU3 -> FW 3.61.6
HM-Sec-SC-HmIP-eTRV-B-HmIP-SWDM-HMIP-PSM- HmIP-SLO-
HM-LC-Bl1PBU-FM- HM-Sen-RD-O-HM-LC-Bl1PBU-FM-HmIP-STHO
Solarlog 200 –FW 3.6.0-Fritz Dect-Wemo-Belkin-CUL-Stick+Max-FK

roberti
Beiträge: 30
Registriert: 03.10.2018, 13:19

Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben

Beitrag von roberti » 03.11.2018, 19:46

Keiner eine Idee?
Ich habe bereits Stunden verbracht, um das selber hinzubekommen, von Scripten habe noch keine große Ahnung.
VG
Roberti

Homematic CCU3 -> FW 3.61.6
HM-Sec-SC-HmIP-eTRV-B-HmIP-SWDM-HMIP-PSM- HmIP-SLO-
HM-LC-Bl1PBU-FM- HM-Sen-RD-O-HM-LC-Bl1PBU-FM-HmIP-STHO
Solarlog 200 –FW 3.6.0-Fritz Dect-Wemo-Belkin-CUL-Stick+Max-FK

modig
Beiträge: 130
Registriert: 23.11.2016, 10:37
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 29 Mal
Danksagung erhalten: 18 Mal

Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben

Beitrag von modig » 05.11.2018, 21:05

Schick mal die Ausgabe von folgendem Script (Script testen)

Code: Alles auswählen

var url = "http://192.168.113.27/getjp/";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -qO- --post-data='{"801":{"170":null}}'"#url#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1); 
string solardaten = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();

WriteLine (solardaten);
Karsten
Karsten

roberti
Beiträge: 30
Registriert: 03.10.2018, 13:19

Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben

Beitrag von roberti » 06.11.2018, 17:59

Hallo Modig,

ich würde sagen kommt nicht viel... Hängt aber, wenn ich das richtig gelesen habe, mit der FW des Solarlog zusammen, ab Ver. 3 funktionierte diese Abfrage glaube ich nicht mehr. Bei mir ist Ver. 3.6.0 drauf.
Über den ScripExecuter kommt das raus.

AUSGABE:

Code: Alles auswählen

{
  "sessionId": "",
  "httpUserAgent": "",
  "url": "null",
  "STDOUT": ""
}
VG
Roberti

Homematic CCU3 -> FW 3.61.6
HM-Sec-SC-HmIP-eTRV-B-HmIP-SWDM-HMIP-PSM- HmIP-SLO-
HM-LC-Bl1PBU-FM- HM-Sen-RD-O-HM-LC-Bl1PBU-FM-HmIP-STHO
Solarlog 200 –FW 3.6.0-Fritz Dect-Wemo-Belkin-CUL-Stick+Max-FK

modig
Beiträge: 130
Registriert: 23.11.2016, 10:37
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 29 Mal
Danksagung erhalten: 18 Mal

Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben

Beitrag von modig » 06.11.2018, 23:47

Wenn Deine obige Abfrage Daten liefert, sollte es meine auch. Die JSON-Schnittstelle ist offiziell und auch dokumentiert. Handbuch S. 310. Schwierig ist, das ich nicht testen kann...
Also Plan 'B':
Ändere den Inhalt in Deiner 'solarlog2.sh' wie folgt:

Code: Alles auswählen

#!/bin/sh
wget -qO- --post-data='{"801":{"170":null}}' http://192.168.113.27/getjp
Rufe dann folgendes Script auf:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801011:1.CMD_SETS").State("/usr/local/addons/solarlog2.sh");
dom.GetObject("CUxD.CUX2801011:1.CMD_QUERY_RET").State(1);
string response = dom.GetObject("CUxD.CUX2801011:1.CMD_RETS").State();
WriteLine(response);
Poste die Ausgabe hier.

Karsten
Karsten

roberti
Beiträge: 30
Registriert: 03.10.2018, 13:19

Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben

Beitrag von roberti » 07.11.2018, 17:57

Hi Modig,

das sieht schon besser aus...

Da kommt folgende Ausgabe:

Code: Alles auswählen

{"801":{"170":{"100":"07.11.18 17:45:45","101":0,"102":0,"103":0,"104":0,"105":10953,"106":10246,"107":59378,"108":7998371,"109":46096011,"110":707,"111":10400,"112":23618,"113":128155,"114":5764034,"115":37671022,"116":8580}}}

Zum Vergleich hier die etwa zeitgleiche Ausgabe mit meiner Solarlog.sh

Code: Alles auswählen

PAC Leistung WR 0 kWh
PAC Leistung aller WR 0 kWh
Spannung U AC Wechselspannung 0 Volt
Spannung U DC Gleichspannung 0 Volt
Tages-Ertrag der WR 10.953 kWh
Tages-Ertrag der WR von gestern 10.246 kWh
Monats-Ertrag der WR 59.378 kWh
Jahres-Ertrag der WR  7998.37 kWh
Gesamtertrag aller WR 46096 kWh
momentaner Verbrauch 0.49 kWh
Tages-Verbrauch 10.468 kWh
Tages-Verbrauch von gestern 23.618 kWh
Monats-Verbrauch 128.223 kWh
Jahres-Verbrauch 5764.1 kWh
Summe aller Verbraucher 37671.1 kWh
Installierte Generatorleistung 8.58 kWp


VG
Roberti

Homematic CCU3 -> FW 3.61.6
HM-Sec-SC-HmIP-eTRV-B-HmIP-SWDM-HMIP-PSM- HmIP-SLO-
HM-LC-Bl1PBU-FM- HM-Sen-RD-O-HM-LC-Bl1PBU-FM-HmIP-STHO
Solarlog 200 –FW 3.6.0-Fritz Dect-Wemo-Belkin-CUL-Stick+Max-FK

modig
Beiträge: 130
Registriert: 23.11.2016, 10:37
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 29 Mal
Danksagung erhalten: 18 Mal

Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben

Beitrag von modig » 07.11.2018, 20:16

Gut. :-)
Nun muss ich wissen, welche Daten Du in die Systemvariablen geschrieben haben willst. Kuck mal in die angehängte PDF und schreib mir die entsprechenden Zahlen aus der Spalte 'Index' auf.

Dann geht's los!

Karsten
Dateianhänge
daten.pdf
(230.55 KiB) 129-mal heruntergeladen
Karsten

roberti
Beiträge: 30
Registriert: 03.10.2018, 13:19

Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben

Beitrag von roberti » 07.11.2018, 20:53

ok also für mein Projekt
"nach dem Prinzip wenn ERTRAG minus VERBRAUCH größer z. B. 1000W schalte Fritz-Dect Steckdose mit Verbraucher ein."
reicht es mir Index 102 u. 110 in Variablen zu schreiben, mit den ich rechnen kann.
Sprich Datenpunkt Pdc + ConsPac damit könnte ich dann den PV-Anlagen Überschuss berechnen u. in Abhängigkeit den Verbraucher ein bzw. ausschalten
Der Rest wäre schöner wohnen.
Dateianhänge
102.JPG
102.JPG (16.17 KiB) 3019 mal betrachtet
110.JPG
110.JPG (13.25 KiB) 3019 mal betrachtet
VG
Roberti

Homematic CCU3 -> FW 3.61.6
HM-Sec-SC-HmIP-eTRV-B-HmIP-SWDM-HMIP-PSM- HmIP-SLO-
HM-LC-Bl1PBU-FM- HM-Sen-RD-O-HM-LC-Bl1PBU-FM-HmIP-STHO
Solarlog 200 –FW 3.6.0-Fritz Dect-Wemo-Belkin-CUL-Stick+Max-FK

modig
Beiträge: 130
Registriert: 23.11.2016, 10:37
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 29 Mal
Danksagung erhalten: 18 Mal

Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben

Beitrag von modig » 07.11.2018, 22:19

Probier mal:

Code: Alles auswählen

! ***Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben***
! Vor Aufrufen des Scriptes folgende Systemvariablen anlegen:
!   Name: SV_Pdc  Variablentyp: Zahl  Maßeinheit: W
!   Name: SV_consPac  Variablentyp: Zahl  Maßeinheit: W

! JSON-Daten mittels gekürzter 'solarlog2.sh' abrufen
dom.GetObject("CUxD.CUX2801011:1.CMD_SETS").State("/usr/local/addons/solarlog2.sh");
dom.GetObject("CUxD.CUX2801011:1.CMD_QUERY_RET").State(1);
string response = dom.GetObject("CUxD.CUX2801011:1.CMD_RETS").State();

! Variablen mit Werten füllen
! Im Klartext heisst das:   ',"',2    Rufe den 2. Datensatz auf, der mit Komma und Anfuehrungszeichen beginnt
! Danach:    ':',1   Also den Ersten Eintrag nach dem Doppelpunkt
! Zum Schluss in eine Integerzahl umwandeln
! Konkret ist der 2. Datensatz der mit Index 102 - der 10. der Index 110; alle anderen Indizes lassen sich auf gleiche Weise verarbeiten
var value_Pdc = (response.StrValueByIndex(',"',2)).StrValueByIndex(':',1).ToInteger();
var value_consPac = (response.StrValueByIndex(',"',10)).StrValueByIndex(':',1).ToInteger();

!Werte in Systemvariablen eintragen
dom.GetObject("SV_Pdc").State(value_Pdc);
dom.GetObject("SV_consPac").State(value_consPac);

Karsten
Karsten

roberti
Beiträge: 30
Registriert: 03.10.2018, 13:19

Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben

Beitrag von roberti » 07.11.2018, 22:46

Ich würde sagen das sieht sehr gut aus.. :-)

Ausgabe:

Code: Alles auswählen

{
  "sessionId": "",
  "httpUserAgent": "",
  "value_consPac": "490",
  "value_Pdc": "0",
  "response": "\{\"801\":\{\"170\":\{\"100\":\"07.11.18 22:38:00\",\"101\":0,\"102\":0,\"103\":0,\"104\":0,\"105\":10953,\"106\":10246,\"107\":59378,\"108\":7998371,\"109\":46096011,\"110\":490,\"111\":15512,\"112\":23618,\"113\":133267,\"114\":5769146,\"115\":37676134,\"116\":8580}}}",
  "STDOUT": ""
}
Wobei die Anlage z. Z. natürlich nicht produziert, somit Pdc = 0
Ich checke das morgen mal, wenn wieder Strom vom Dach kommt und gebe Dir ein Feedback
Ich sag schon mal Danke und bin dann erst mal weg...
Dateianhänge
PV.JPG
VG
Roberti

Homematic CCU3 -> FW 3.61.6
HM-Sec-SC-HmIP-eTRV-B-HmIP-SWDM-HMIP-PSM- HmIP-SLO-
HM-LC-Bl1PBU-FM- HM-Sen-RD-O-HM-LC-Bl1PBU-FM-HmIP-STHO
Solarlog 200 –FW 3.6.0-Fritz Dect-Wemo-Belkin-CUL-Stick+Max-FK

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“