Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben
Moderator: Co-Administratoren
Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben
Hallo Stefan,
genau die SysVars die Du benötigst müssen erstmal angelegt werden.
Das Script liest die Werte in einem Rutsch aus und schreibt sie dann in die zuvor angelegten Variablen.
Was das Thema Script basierende Programme zeitgesteuert erstellen betrifft, empfehle ich das Du Dir die folgende Seite mal anzuschaust.
https://www.elv.de/Homematic-Scriptpro ... ail_58916
Und zum Thema Installation u. Konfiguration von CUxD liest ich mal hier ein.
https://www.elv.de/CUxD-%E2%80%93-das- ... ail_49667
Wenn Du damit durch bist, ist zu bedenken, dass für mein Projekt lediglich der Index 101 (1) = Anlagenleistung u. 110 (10)= Gesamtverbrauch (fett) in den folgenden beiden Zeilen ausgelesen wird.
Was Du genau benötigst weiß ich natürlich nicht. Die Liste (Daten.pdf) hat Modig weiter vorne hochgeladen. Da musst Du dir, die für Dich relevanten Indexwerte raussuchen und die Zeilen entsprechend abändern.
var value_Pdc = (response.StrValueByIndex(',"',1)).StrValueByIndex(':',1).ToInteger();
var value_consPac = (response.StrValueByIndex(',"',10)).StrValueByIndex(':',1).ToInteger();
und nun viel Erfolg!
genau die SysVars die Du benötigst müssen erstmal angelegt werden.
Das Script liest die Werte in einem Rutsch aus und schreibt sie dann in die zuvor angelegten Variablen.
Was das Thema Script basierende Programme zeitgesteuert erstellen betrifft, empfehle ich das Du Dir die folgende Seite mal anzuschaust.
https://www.elv.de/Homematic-Scriptpro ... ail_58916
Und zum Thema Installation u. Konfiguration von CUxD liest ich mal hier ein.
https://www.elv.de/CUxD-%E2%80%93-das- ... ail_49667
Wenn Du damit durch bist, ist zu bedenken, dass für mein Projekt lediglich der Index 101 (1) = Anlagenleistung u. 110 (10)= Gesamtverbrauch (fett) in den folgenden beiden Zeilen ausgelesen wird.
Was Du genau benötigst weiß ich natürlich nicht. Die Liste (Daten.pdf) hat Modig weiter vorne hochgeladen. Da musst Du dir, die für Dich relevanten Indexwerte raussuchen und die Zeilen entsprechend abändern.
var value_Pdc = (response.StrValueByIndex(',"',1)).StrValueByIndex(':',1).ToInteger();
var value_consPac = (response.StrValueByIndex(',"',10)).StrValueByIndex(':',1).ToInteger();
und nun viel Erfolg!
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
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
Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben
Danke roberti,
ich glaube mein Problem liegt schon am json String.
Ich finde nicht und nirgends etwas, womit ich den String testen kann, ob überhaupt an der Schnittstelle etwas heraus kommt.
Gibt es da einen Http Befehl?
Die Solarlog ist an Ort und Stelle und hat auch die Berechtigungen. (Die Ip des Solarlog ist eingetragen)
Das Script ist in ein Programm eingebunden und die richtigen Adressen der CuxD Fernbedienung eingetragen. (Bei mir CUX2801001:1
Die Varianten sind auch angelegt.
Die Scripte melden beim Script testen nichts zurück.
Danke für die Links, aber die habe ich schon vorher gelesen. Wenn nicht mehr an dem CuxD Geräte eingestellt werden muss, dann ist das auch erledigt.
Die Werte die ausgelesen werden, reichen mir völlig aus. Da ich auch "nur" die Einspeiseleistung haben möchte um Großverbraucher einschalten zukönnen.
Soweit schon mal vielen Dank.
ich glaube mein Problem liegt schon am json String.
Ich finde nicht und nirgends etwas, womit ich den String testen kann, ob überhaupt an der Schnittstelle etwas heraus kommt.
Gibt es da einen Http Befehl?
Die Solarlog ist an Ort und Stelle und hat auch die Berechtigungen. (Die Ip des Solarlog ist eingetragen)
Das Script ist in ein Programm eingebunden und die richtigen Adressen der CuxD Fernbedienung eingetragen. (Bei mir CUX2801001:1
Die Varianten sind auch angelegt.
Die Scripte melden beim Script testen nichts zurück.
Danke für die Links, aber die habe ich schon vorher gelesen. Wenn nicht mehr an dem CuxD Geräte eingestellt werden muss, dann ist das auch erledigt.
Die Werte die ausgelesen werden, reichen mir völlig aus. Da ich auch "nur" die Einspeiseleistung haben möchte um Großverbraucher einschalten zukönnen.
Soweit schon mal vielen Dank.
Gruß Stefan
Derzeit verbaut
Homematic Funk, wired und IP
Derzeit verbaut
Homematic Funk, wired und IP
Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben
Hallo Stefan,
teste mal was ausgegeben wird, wenn Du über Putty die solarlog2.sh an der Konsole ausführst und poste mal die Ausgabe?
teste mal was ausgegeben wird, wenn Du über Putty die solarlog2.sh an der Konsole ausführst und poste mal die Ausgabe?
Code: Alles auswählen
#!/bin/sh
wget -qO- --post-data='{"801":{"170":null}}' http://IP-Solarlog/getjp
Zuletzt geändert von roberti am 19.11.2018, 22:47, insgesamt 1-mal geändert.
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
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
Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben
Guten Abend,
was ist den genau das Problem, ich habe bis auf die CUxD Nummer alles auch beim Solarlog 300 für mich übernommen.
Zudem habe ich mir alle Daten des JSON scripts erweitert, bis auf die auslesezeit kann ich alle Daten auch beim 300er auslesen.
Rechte auf der solarlog2.sh auf 755 gestellt? Auch hier die CUxD Daten angepasst?
Gruß Mark
was ist den genau das Problem, ich habe bis auf die CUxD Nummer alles auch beim Solarlog 300 für mich übernommen.
Zudem habe ich mir alle Daten des JSON scripts erweitert, bis auf die auslesezeit kann ich alle Daten auch beim 300er auslesen.
Rechte auf der solarlog2.sh auf 755 gestellt? Auch hier die CUxD Daten angepasst?
Gruß Mark
Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben
Guten morgen,
@roberti, werde ich heute Nachmittag mal ausprobieren und posten. Mit Putty habe ich vor 5 Jahren zuletzt gearbeitet...
@ Mark, die Rechte habe ich auf 700 stehen. Die CuxD daten sind angepasst. Werde ich auch nachher mal auf 755 umstellen.
Danke mal wieder soweit.
@roberti, werde ich heute Nachmittag mal ausprobieren und posten. Mit Putty habe ich vor 5 Jahren zuletzt gearbeitet...
@ Mark, die Rechte habe ich auf 700 stehen. Die CuxD daten sind angepasst. Werde ich auch nachher mal auf 755 umstellen.
Danke mal wieder soweit.
Gruß Stefan
Derzeit verbaut
Homematic Funk, wired und IP
Derzeit verbaut
Homematic Funk, wired und IP
Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben
Hallo,
ich habe die solarlog2.sh mit den Rechten 755 versehen.
Ich habe die Variablen geprüft und sie heißen exakt so wie im Script.
Wenn ich das Script teste, erscheint da "nichts", das Feld bleibt leer.
Das Cuxd Gerät habe ich eingerichtet und die Adresse im Script entsprechend geändert.
Ich weiß derzeit nicht weiter.
Bitte um weitere Hilfestellung.
ich habe die solarlog2.sh mit den Rechten 755 versehen.
Ich habe die Variablen geprüft und sie heißen exakt so wie im Script.
Wenn ich das Script teste, erscheint da "nichts", das Feld bleibt leer.
Das Cuxd Gerät habe ich eingerichtet und die Adresse im Script entsprechend geändert.
Ich weiß derzeit nicht weiter.
Bitte um weitere Hilfestellung.
Gruß Stefan
Derzeit verbaut
Homematic Funk, wired und IP
Derzeit verbaut
Homematic Funk, wired und IP
Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben
Hallo,
in der Konsole hat es jetzt endlich funktioniert.
Hat ein wenig gedauert, bis ich mich da rein gearbeitet hatte. Das ist das Ergebnis. Ertrag derzeit gleich Null, da es dunkel ist.
Das Script sieht für mich nur ein wenig komisch aus. und hier noch das Programm Bei Script testen passiert leider nichts.
Bei Programm ausführen, passiert auch nichts.
Nochmal danke für die bisherige Hilfe
in der Konsole hat es jetzt endlich funktioniert.
Hat ein wenig gedauert, bis ich mich da rein gearbeitet hatte. Das ist das Ergebnis. Ertrag derzeit gleich Null, da es dunkel ist.
Das Script sieht für mich nur ein wenig komisch aus. und hier noch das Programm Bei Script testen passiert leider nichts.
Bei Programm ausführen, passiert auch nichts.
Nochmal danke für die bisherige Hilfe
Gruß Stefan
Derzeit verbaut
Homematic Funk, wired und IP
Derzeit verbaut
Homematic Funk, wired und IP
Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben
Hallo Stefan,
die Werte werden ausgelesen, das sieht doch gut aus.
Das beim Script testen nichts ausgegeben wird ist i. O. mit dem Teil wird ja lediglich die aktuelle Leistung u. der Verbrauch aus dem JSON-String ausgelesen u. in die Systemvariablen "SV_Pdc" und "SV_consPac" übergeben. Ob das funktioniert kannst Du unter Status-> Systemvariablen kontrollieren
Die Überschussberechnung findet in diesem Abschnitt statt und wird in die SysVar "SV_PC_Ueberschuss" geschrieben. Die drei Systemvariablen müssen natürlich im Vorfeld erstellt werden.
Wenn das funktioniert packst Du komplette Script in Dein Programm.
Anschließend kannst Du mit der Systemvariablen "SV_PV_Ueberschuss" Deine Verbraucher ein/ausschalten. Bei mir sieht das so aus.
Wobei Sie bei mir "PV_Ueberschuss" heißt
die Werte werden ausgelesen, das sieht doch gut aus.
Das beim Script testen nichts ausgegeben wird ist i. O. mit dem Teil wird ja lediglich die aktuelle Leistung u. der Verbrauch aus dem JSON-String ausgelesen u. in die Systemvariablen "SV_Pdc" und "SV_consPac" übergeben. Ob das funktioniert kannst Du unter Status-> Systemvariablen kontrollieren
Die Überschussberechnung findet in diesem Abschnitt statt und wird in die SysVar "SV_PC_Ueberschuss" geschrieben. Die drei Systemvariablen müssen natürlich im Vorfeld erstellt werden.
Code: Alles auswählen
! 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);
Anschließend kannst Du mit der Systemvariablen "SV_PV_Ueberschuss" Deine Verbraucher ein/ausschalten. Bei mir sieht das so aus.
Wobei Sie bei mir "PV_Ueberschuss" heißt
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
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
Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben
Guten Morgen Roberti,
leider steht, auch wenn ich das Programm manuell starte, nachher nichts in den Variablen. Ich arbeite mit dem o.g. Script.
Das Script welches du gezeigt hast, ist das für den Überschuss zu berechnen. Das habe ich noch nicht.
Ich sehe den Fehler noch in dem CuxD Gerät. Das ist das erste CuxD Gerät welches ich benutze.
Wo kann ich ansetzen, um dort nach einem Fehler zu suchen?
Konfiguriert habe ich es als 19 Tasten Fernbedienung.
Vielen Dank
leider steht, auch wenn ich das Programm manuell starte, nachher nichts in den Variablen. Ich arbeite mit dem o.g. Script.
Das Script welches du gezeigt hast, ist das für den Überschuss zu berechnen. Das habe ich noch nicht.
Ich sehe den Fehler noch in dem CuxD Gerät. Das ist das erste CuxD Gerät welches ich benutze.
Wo kann ich ansetzen, um dort nach einem Fehler zu suchen?
Konfiguriert habe ich es als 19 Tasten Fernbedienung.
Vielen Dank
Gruß Stefan
Derzeit verbaut
Homematic Funk, wired und IP
Derzeit verbaut
Homematic Funk, wired und IP
Re: Solarlog 200 Ertrags- u. Verbrauchsdaten in Variablen schreiben
Hallo Stefan,
das komplette Script findest du auf der 2 Seite von diesem Thread.
Beim CuxD Gerät ist das gewählte Icon egal. Wichtig ist die Auswahl vom CUxD Gerätetyp: (28) System u. die Funktion: Exec so wie hier!
Wichtig die Seriennummer + Channel vom DEINEM Gerät muss natürlich 1:1 ins Script übernommen werden.
Beispiel: < dom.GetObject("CUxD.CUX2801011:1.CMD_SETS").State("/usr/local/addons/solarlog2a.sh"); >
Dann sollte es definitiv funktionieren!
das komplette Script findest du auf der 2 Seite von diesem Thread.
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);
Beim CuxD Gerät ist das gewählte Icon egal. Wichtig ist die Auswahl vom CUxD Gerätetyp: (28) System u. die Funktion: Exec so wie hier!
Wichtig die Seriennummer + Channel vom DEINEM Gerät muss natürlich 1:1 ins Script übernommen werden.
Beispiel: < dom.GetObject("CUxD.CUX2801011:1.CMD_SETS").State("/usr/local/addons/solarlog2a.sh"); >
Dann sollte es definitiv funktionieren!
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
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