Seite 6 von 8

Re: Solarlog Werte in Homematic Variable speichern

Verfasst: 24.07.2017, 21:56
von schneidy76
redford hat geschrieben:Es ist zwar schon etwas her, aber ich habe wie Little_tiger versucht die Daten per json direkt vom Solarlog 250 abzuholen und bin mit folgender Lösung erfolgreich gewesen:

1. /usr/local/addons/solarlog.sh erstellt
nicht LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -X POST -H "Content-Type: application/json" -d '{"801":{"170":null}}'ipderAnlage/getjp
eingetragen sondern
den direkten Befehl der auch auf der shell funktioniert:
/usr/local/addons/cuxd/curl -X POST -H "Content-Type: application/json" -d '{"801":{"170":null}}' ipderAnlage/getjp

2. Mit

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("/usr/local/addons/solarlog.sh");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string response = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
WriteLine(response);
die Datei aufgerufen und bekomme dann den json String zurückgeliefert.

Mag nicht der eleganteste Weg sein. Ich habe es jedoch mit der vorgeschlagenen Vorgehensweise nicht zum Laufen bekommen.

geht leider mit dem Solarlog 1000 nicht:

Code: Alles auswählen

21:50:46 [ttyACM0] <-T /usr/local/addons/cuxd/curl
21:50:46 [ttyACM0] <-T -X
21:50:46 [ttyACM0] <-T POST
21:50:46 [ttyACM0] <-T -H
21:50:46 [ttyACM0] <-T "Content-Type:
21:50:46 [ttyACM0] <-T application/json"
21:50:46 [ttyACM0] <-T -d
21:50:46 [ttyACM0] <-T '{"801":{"170":null}}'
21:50:46 [ttyACM0] <-T 192.168.0.50/getjp
21:50:46 [ttyACM0] --> ? (/usr/local/addons/cuxd/curl is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? (-X is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? (POST is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? (-H is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? ("Content-Type: is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? (application/json" is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? (-d is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? ('{"801":{"170":null}}' is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? (192.168.0.50/getjp is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
Gibt es schon Lösungen? Würde germ den Eigenverbrauch live auswerten und später vielleicht mit dem Wetter verknüpfen.
Leider senden meine eHz in SML Protokoll, also gehen die Sensoren von elv nicht...

Re: Solarlog Werte in Homematic Variable speichern

Verfasst: 27.08.2017, 08:33
von Stoni
Hallo, ich bekomme nächste Woche einen Solar Log 200. Hat jemand Erfahrung mit dem Gerät? Lassen sich die Werte auch auslesen?

Gesendet von meinem ONEPLUS A3003 mit Tapatalk

Re: Solarlog Werte in Homematic Variable speichern

Verfasst: 22.08.2021, 16:44
von Hans Hannsen
Hallo, würde gerne die Momentan produzierte Leistung aus meiner Solarlog 300 auslesen und in eine Variable der CCU3 schreiben, Beide Geräte befinden sich in demselben Netzwerk. Hat jemand dazu eine Script-Lösung?

Re: Solarlog Werte in Homematic Variable speichern

Verfasst: 22.08.2021, 17:00
von MichaelN
Was gibt das Ding denn aus? JSON?

Wenn ja, dann siehe JSON Skript in meiner Signatur. Das frisst "alles"

Re: Solarlog Werte in Homematic Variable speichern

Verfasst: 22.08.2021, 20:36
von Hans Hannsen
MichaelN hat geschrieben:
22.08.2021, 17:00
Was gibt das Ding denn aus? JSON?

Wenn ja, dann siehe JSON Skript in meiner Signatur. Das frisst "alles"
Verstehe leider gar nix mehr. Bin nicht der grosse Programmierer.

Habe eine Variable "Summe Solarlog" angelegt und folgendes Programmscript probiert, geht leider nicht:

Code: Alles auswählen

var JSONObj = "\"Content-Type: application/json\" -d '{\"801\":{\"170\":null}}' IP_192.168.178.148/getjp";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -X POST -H +#JSONObj#");
dom.GetObject("Summe Solarlog").State(JSONObj)
;

Habe auf meiner CCU3 zwar CuxD installiert, kenne mich damit aber leider nicht aus.

Danke für deine Hilfe
SG

Re: Solarlog Werte in Homematic Variable speichern

Verfasst: 22.08.2021, 20:41
von MichaelN
Da bin ich wiederum raus. Bin kein Linux Kenner.

Re: Solarlog Werte in Homematic Variable speichern

Verfasst: 23.08.2021, 08:48
von MichaelN
Ich habe mal ein wenig recherchiert. Da hast Du Dir ja ein "tolles" Gerät ausgesucht. Wer programmiert sowas? Offensichtlich ist es so, das es nicht reicht einfach eine URL aufzurufen, sondern man muss eine "Payload" mitgeben. Das die JSON Ausgabe dann noch nichtmal rudimentär menschenlesbar ist, ist dann fast das kleinste Übel. ABer es scheint so zu sein, das mit aktueller Firmware auch noch Login-Daten für den Abruf mitgegeben werden müssen. Das ist ja löblich, das kritische Infrastruktur gut abgesichert ist; nicht jeder hat sein Heimnetzwerk im Griff. Aber das erschwert die Sache weiter. Zumindest für mich als nicht-Linux-Kenner. Ich weiß das man diese Daten irgendwie mit geben kann. Aber da muss jemand anderes ran. Wenn es einen Aufruf per system-exec oder CUxD gibt, der JSON zurückliefert, dann sag mir Bescheid. Da kann ich helfen.

Re: Solarlog Werte in Homematic Variable speichern

Verfasst: 25.08.2021, 19:41
von Hans Hannsen
Hallo Michael, habe jetzt folgenden Befehl gefunden:

curl -X POST -H "Content-Type: application/json" -d '{"801":{"170":null}}' 192.168.178.148/getjp

Habe diesen auf der CuxD Oberfläche laufen lassen und folgende Werte aus der Solarlog bekommen:

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 224 0 204 100 20 3090 303 --:--:-- --:--:-- --:--:-- 3446
{"801":{"170":{"100":"25.08.21 20:00:30","101":0,"102":0,"103":227,"104":335,"105":34905,"106":26113,"107":775466,"108":3141393,"109":30855186,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":7040}}}

Aus der Rückgabe würde ich gerne die Werte die hinter der Rückgabe "101(=akt. Erzeugung)", also die 0 in eine Variable übergeben, als auch den Wert hinter "110" (=akt. Verbrauch), also die 0 sollen in eine andere Variable geschrieben werden.

Kannst du mir da weiterhelfen?

SG

Re: Solarlog Werte in Homematic Variable speichern

Verfasst: 25.08.2021, 19:43
von Hans Hannsen
schneidy76 hat geschrieben:
24.07.2017, 21:56
redford hat geschrieben:Es ist zwar schon etwas her, aber ich habe wie Little_tiger versucht die Daten per json direkt vom Solarlog 250 abzuholen und bin mit folgender Lösung erfolgreich gewesen:

1. /usr/local/addons/solarlog.sh erstellt
nicht LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -X POST -H "Content-Type: application/json" -d '{"801":{"170":null}}'ipderAnlage/getjp
eingetragen sondern
den direkten Befehl der auch auf der shell funktioniert:
/usr/local/addons/cuxd/curl -X POST -H "Content-Type: application/json" -d '{"801":{"170":null}}' ipderAnlage/getjp

2. Mit

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("/usr/local/addons/solarlog.sh");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string response = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
WriteLine(response);
die Datei aufgerufen und bekomme dann den json String zurückgeliefert.

Mag nicht der eleganteste Weg sein. Ich habe es jedoch mit der vorgeschlagenen Vorgehensweise nicht zum Laufen bekommen.

geht leider mit dem Solarlog 1000 nicht:

Code: Alles auswählen

21:50:46 [ttyACM0] <-T /usr/local/addons/cuxd/curl
21:50:46 [ttyACM0] <-T -X
21:50:46 [ttyACM0] <-T POST
21:50:46 [ttyACM0] <-T -H
21:50:46 [ttyACM0] <-T "Content-Type:
21:50:46 [ttyACM0] <-T application/json"
21:50:46 [ttyACM0] <-T -d
21:50:46 [ttyACM0] <-T '{"801":{"170":null}}'
21:50:46 [ttyACM0] <-T 192.168.0.50/getjp
21:50:46 [ttyACM0] --> ? (/usr/local/addons/cuxd/curl is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? (-X is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? (POST is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? (-H is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? ("Content-Type: is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? (application/json" is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? (-d is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? ('{"801":{"170":null}}' is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
21:50:46 [ttyACM0] --> ? (192.168.0.50/getjp is unknown) Use one of A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
Gibt es schon Lösungen? Würde germ den Eigenverbrauch live auswerten und später vielleicht mit dem Wetter verknüpfen.
Leider senden meine eHz in SML Protokoll, also gehen die Sensoren von elv nicht...
Hallo, habe eine Solarlog 300 aus welcher ich die Werte gerne auslesen würde. Kannst du mir da helfen?
SG

Re: Solarlog Werte in Homematic Variable speichern

Verfasst: 25.08.2021, 20:20
von Dr.Bob
Hallo,

Solarlog 200 geht bei mir auszulesen
a) weil ältere Firmware drauf die ich extra seit 5J nicht aktualisiert habe damit JSON Ausgabe klappt

b) dann via NodeRed abrufen, ausparsen und in die Variablen setzen

Wenn etwas davon helfen sollte, kann ich die Details gerne posten.