Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

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

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

Beitrag von roberti » 08.11.2018, 18:05

Hi Modig,

einwandfrei das funktioniert so wie es soll, THX :)

SV_PV.JPG
SV_PV.JPG (23.69 KiB) 98 mal betrachtet

Ich habe mal versucht die Berechnung mit einzubauen, ich hoffe das geht so oder ist das zu dilettantisch?
Was mir dabei aufgefallen ist, das die SysVar`s offensichtlich nicht für die direkte Berechnung verwendet werden können.
Ist das so vorgegeben?
Ansonsten genau das was ich mir vorgestellt habe und bei der super Doku. kann ich bei Bedarf auch alle anderen Werte rausziehen Top!

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/solarlog2a.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 101 - der 10. der Index 110; alle anderen Indizes lassen sich auf gleiche Weise verarbeiten
var value_Pdc = (response.StrValueByIndex(',"',1)).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);

! Berechnung des PV-Anlagen Überschuss und schreiben in SysVar SV_PV_Ueberschuss
var u = value_Pdc-value_consPac;
dom.GetObject("SV_PV_Ueberschuss").State(u);
!WriteLine(value_Pdc);
!WriteLine(value_consPac);
!WriteLine(u);
Dateianhänge
PV_Berechnung.JPG
VG
Roberti

Homatic CCU3 -> FW 3.41.7
Solarlog 200 –FW 3.6.0

modig
Beiträge: 14
Registriert: 23.11.2016, 10:37

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

Beitrag von modig » 08.11.2018, 18:37

Hallo Roberti,
wo willst Du mit den Systemvariablen rechnen? Hier im Script oder in der CCU?

Karsten

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

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

Beitrag von roberti » 08.11.2018, 20:04

Ja ich habe zunächst versucht mit Deinen im Script befüllten SysVars direkt zu rechnen, aber im Scriptexecuter wurde lediglich NULL ausgeben. Mit den Hilfsvariablen dagegen ohne Probleme.
VG
Roberti

Homatic CCU3 -> FW 3.41.7
Solarlog 200 –FW 3.6.0

modig
Beiträge: 14
Registriert: 23.11.2016, 10:37

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

Beitrag von modig » 08.11.2018, 20:32

Da hast Du ein kleines Verständnisproblem. 8)
Die Zeile

Code: Alles auswählen

dom.GetObject("SV_Pdc").State(value_Pdc);
schreibt den Wert der (Script-)Variablen 'value_Pdc' in die (CCU-System-)Variable 'SV_Pdc'. 'value_Pdc' steht Dir also im Script selber, 'SV_Pdc' innerhalb der CCU zur Verfügung.

Willst Du nun im Script mit einer Systemvariablen rechnen, musst Du diese also erstmal ins Script holen:

Code: Alles auswählen

var reingeholt = dom.GetObject("SV_Pdc").Value();
Erst dann steht sie im Script zur Verfügung.


Karsten

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

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

Beitrag von roberti » 08.11.2018, 22:27

Alles klar das war mir tatsächlich so nicht bewusst. D. h. dann aber auch, so wie die Berechnung oben in meinem Script steht ist das dann i. O.?
VG
Roberti

Homatic CCU3 -> FW 3.41.7
Solarlog 200 –FW 3.6.0

modig
Beiträge: 14
Registriert: 23.11.2016, 10:37

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

Beitrag von modig » 10.11.2018, 17:42

Klar, wenn's funktioniert, ist's OK. :-)
Einzig würde ich die Bezeichnung der Variablen 'u' sprechend wählen - sonst weisst Du später nicht mehr, wofür die ist.

Karsten

HM_User
Beiträge: 151
Registriert: 24.10.2012, 14:29
Wohnort: Nähe Esslingen

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

Beitrag von HM_User » 14.11.2018, 10:36

Hallo Roberti,
hallo Modig,

ich habe mit großem Interesse diesen Thread verfolgt. Ich selber besitze einen Solarlog 300 und suche nach genau dieser Möglichkeit die Daten für die Weiterverarbeitung herauszuholen.
Dazu habe ich aber noch einige Defizite im Wissen.
Wie spreche ich den Solarlog an? Ist die Schnittstelle so offen, dass ich über die IP Adresse darauf zugreifen kann?
Der Ablauf wäre dann wie folgt!?
Das Script wird zeitgesteuert gestartet und holt die Daten aus dem Solarlog.
Das nächste Script schreibt diese Daten in eine lesbare Variable mit der ich dann in den Programmen tun und lassen kann was ich möchte?

Vielen Dank im Vorraus.
Gruß Stefan

Derzeit verbaut

Homematic Funk, wired und IP

HM_User
Beiträge: 151
Registriert: 24.10.2012, 14:29
Wohnort: Nähe Esslingen

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

Beitrag von HM_User » 14.11.2018, 17:04

Hallo,

noch ein Frage:
wie bekomme ich die .sh Datei auf die CCU.
Versuche es grade mit filezila und ssh.
Aber ich finde bei Google den Port nicht.
Gruß Stefan

Derzeit verbaut

Homematic Funk, wired und IP

Antworten

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