@ing-michel Nach langem probieren hat es mit NODE Red funktioniert
Mit hilfe einer Exec-Node bekommt man die Daten vom Sunwatch abgerufen. Die Bezugs- /Lieferwerte muss man anschließend noch trennen. Läuft seitdem aber stabil.
NEWS
Latest posts made by fabi
-
RE: Sunwatch Datenlogger auslesen
-
RE: [gelöst] Werte aus HTTP-Request filtern
Hi fritz66,
sorry für die verspätete Antwort, aber ich bin nur sporadisch im Forum unterwegs :? .
Die Abfrage des CMI ist wie in einem meiner früheren Posts aufgebaut, testen kannst du das auch über deinen Browser, als Antwort erhälst du dann die Abgefragten Werte als JSON (Im Beispiel alle Eingänge meiner UVR1611)
` > LOGIN:PASSWORD@192.168.0.42/INCLUDE/api.cgi?jsonnode=1&jsonparam=ILogin, Passwort und IP musst du natürlich noch anpassen. Die aktuelle Firmware sollte natürlich auch auf dem CMI sein. `
Wenn die Abfrage über den Browser funktioniert kannst du diese in deinem Flow als HTTP Request einbinden. Diesen dann zyklisch (>60s) abfragen.
Node Red zeigt die abgefragte JSON im Debug wie folgt schön nach den einzelnen Daten gegliedert an
Im Anschluss wird die JSON auf die einzelnen Systemvariablen verteilt, die zuvor in der CCU angelegt wurden.
Für meine Kesselpumpe Ausgang 7 wird folgender Code in einer Funktion verwendet
` > msg.payload=msg.payload.Data.Outputs[6].Value.Statereturn msg;
Für die Außentemperatur bei mir Eingang 1:
> msg.payload=msg.payload.Data.Inputs[0].Value.Valuereturn msg; `
Ich hoffe ich konnte dir helfen.
Bis ich bei mir alles so weit hatte ist einige Zeit vergagnen, aber jetzt werden die Werte minütlich an meine CCU übergeben
Anscheinend kann man auch schreibend auf die Ausgänge einwirkten ("Aus","Ein","Auto"), habe ich bei mir bisher leider noch nicht umgesetzt.
-
RE: [gelöst] Werte aus HTTP-Request filtern
Hi Martin,
bis zu diesem Jahr war es nicht möglich die Daten direkt aus dem CMI per Http-request auszulesen (mein stand )
Aber seit Anfang diesen Jahres hat TA eine JSON-API in die aktuelle Firmware integriert. In Node Red lässt sich so ein request gut ausführen (hab ich vorhin schnell gestestet), allerdings weiß ich nicht wie ich die einzelnen Daten auf die verschiedenen Variablen aufteilen kann. Ist mit Sicherheit nicht schwer, aber da brauchen wir die Hilfe des Forums ;).
mit folgendem request erhälst du beispielsweise alle Eingangsvariablen mit Werten:
LOGIN:PASSWORD@192.168.0.42/INCLUDE/api.cgi?jsonnode=1&jsonparam=I
Login, Passwort und IP musst du natürlich noch anpassen. Die aktuelle Firmware sollte natürlich auch auf dem CMI sein.
Im Angehängten Dokument ist der Aufbau des Requests und der Antwort beschrieben
Gruß
Fabian
1618_cmi_json_api_v1.pdf -
RE: Sunwatch Datenlogger auslesen
Hat niemand n Ansatz wie es funktionieren könnte :?
-
RE: [gelöst] Werte aus HTTP-Request filtern
Hi hg6806,
mit der UVR63 kenn ich mich leider nicht aus. aber du kannst ja einfach mal versuchen die an dein System angepasste URL (192.168.0.1/c_index.htm?C=8D200101)
in einen Browser eingeben.
Die Knotennummer/letzten beiden Ziffern kannst ja im BL-Net unter CAN Netzwerk ausfindig machen.
Wenn es funktioniert sollte dein Browser die Daten des 1. Einganges deiner Regelung ausgeben
1618_2017-01-04_22_03_39-192.168.0.1_c_index.htm_c_8d200401.png
1618_2017-01-04_22_06_48-can_-_netzwerk.png -
RE: [gelöst] Werte aus HTTP-Request filtern
Hi,
sorry dass ich mich jetzt erst melde, hatte die letzten Tage viel um die Ohren…
Ich verwende bei meiner Lösung die "Direkte CAN-Objektabfrage über html" vom BL-NET. (den habe ich extra dafür nachgerütet...)
http://www.solar4me.de/forum/att/2463/d … _V2.00.pdf
So hab ich zum Beispiel bei meinem Node-red flow im http-request "Sonnenkollektor" folgenden URL hinterlegt:
192.168.0.1/c_index.htm?C=8D200401
die 0401 steht für den 4. Eingang im 1. Knoten des CAN-Netzwerkes (meine UVR1611)
-
RE: [gelöst] Werte aus HTTP-Request filtern
Super, hat einwandfrei funktioniert
Danke für die Hilfe
-
RE: [gelöst] Werte aus HTTP-Request filtern
Hi Markus,
ich bin bisher noch nicht weiter gekommen und wäre über jede Hilfe Dankbar :roll:
-
Sunwatch Datenlogger auslesen
Hi zusammen,
Ich würde gerne die aktuellen Erzeugungs- Einspeise- und Eigenverbrauchsdaten aus meinem Datenlogger (SUNWATCH) in meine Hausautomation integrieren (Bisher nutze ich Näherungsweise den Helligkeitswert meiner Wetterstation )
ist es möglich über Node-red folgende Aktionen auszuführen?
"über den TCP Port 22222 können im Prinzip alle Echtzeitdaten, aber auch aufgezeichnete Daten direkt vom Sun-Watch abgerufen werden.
Dazu muss ein ASCII String mit den gewünschten Parametern gesendet werden.
Als Antwort erhält man die gewünschten Daten wiederum als zu parsenden ASCII String."
"Als Beispiel ein Shell-Script:
#! /bin/sh
echo -e "GETPAR;0;0;PPV;E-Total" | nc localhost 22222"
-
[gelöst] Werte aus HTTP-Request filtern
Hi zusammen,
ich habe seit ein paar Wochen iobroker am laufen und mache meine ersten Schritte :).
Im Moment versuche ich Heizungsdaten von meiner UVR 1611 in Systemvariablen zu übertragen.
Mit diesem Flow bekomme ich die Daten in die Variablen, allerdings nicht als Zahl sondern als Zeichenkette. Der http-request liefert Leerzeichen und °C angaben mit.
Ich gehe davon aus, dass man die Werte über einen Funktionsblock rausfiltern kann, leider sind meine Programmierkentnisse sehr eingeschränkt / nicht vorhanden :?Ich hoffe mir kann jemand helfen die Variablen mit Zahlen zu füllen, so dass ich auch was mit ihnen Anfangen kann