NEWS
Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON)
-
@homoran habs mal probiert, er haut mir aber die Log voll mit Fehlern und die Systemvariable PV Erzeigung "Zahl" wird nicht gefüllt...
Das scheint kein Ansatz zu sein, der den Wert "pac" in eine Systemvariable in der CCU3 schreibt.
In der Log sieht das dann so aus:
javascript.0 2024-02-10 13:54:00.180 info State value to set for "hm-rega.0.35000" has to be type "string" but received type "number" javascript.0 2024-02-10 13:54:00.163 warn at processTicksAndRejections (node:internal/process/task_queues:82:21) javascript.0 2024-02-10 13:54:00.163 warn at endReadableNT (node:internal/streams/readable:1400:12) javascript.0 2024-02-10 13:54:00.162 warn at IncomingMessage.emit (node:domain:489:12) javascript.0 2024-02-10 13:54:00.162 warn at IncomingMessage.emit (node:events:529:35) javascript.0 2024-02-10 13:54:00.162 warn at Object.onceWrapper (node:events:631:28) javascript.0 2024-02-10 13:54:00.162 warn at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12) javascript.0 2024-02-10 13:54:00.162 warn at Request.emit (node:domain:489:12) javascript.0 2024-02-10 13:54:00.161 warn at Request.emit (node:events:517:28) javascript.0 2024-02-10 13:54:00.161 warn at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10) javascript.0 2024-02-10 13:54:00.161 warn at Request.emit (node:domain:489:12) javascript.0 2024-02-10 13:54:00.161 warn at Request.emit (node:events:517:28) javascript.0 2024-02-10 13:54:00.160 warn at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) javascript.0 2024-02-10 13:54:00.160 warn at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17) javascript.0 2024-02-10 13:54:00.160 warn at script.js.PV.Erzeugung:7:7 javascript.0 2024-02-10 13:54:00.159 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1740:20) javascript.0 2024-02-10 13:54:00.156 warn You are assigning a number to the state "hm-rega.0.35000" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.
-
@paul53 said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
schedule('*/10 * * * * *', function() {
Ich probiere deine Variante mal aus. Die vom @Homoran (Blocky Variante) erzeugte nur Warnungen und füllte mir nicht die Systemvariable in der CCU3.
Ich probiere deine Option mal.
-
@jörg-5 sagte: Systemvariable in der CCU3 schreibt
Die SV muss vom Typ "Zahl" sein. Habe es oben angepasst für eine SV, die unbestätigt geschrieben werden muss, damit sie an die CCU gesendet wird.
-
@jörg-5 sagte in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
er haut mir aber die Log voll mit Fehlern und die Systemvariable PV Erzeigung "Zahl" wird nicht gefüllt...
dann hat die SysVar nicht den korrekten Typ
-
@jörg-5 sagte in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
You are assigning a number to the state "hm-rega.0.35000" which expects a string. Please fix your code to use a string or change the state type to number.
-
@paul53 said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
@homoran sagte: Dieses wäre der JS Code
Etwa so ohne Blockly:
schedule('*/10 * * * * *', function() { request('http://192.168.10.214:8484/getdevdata.cgi?device=2&sn=10.0NX3**********', function(error, response, result) { if(!error && result) { const obj = JSON.parse(result); setState('hm-rega.0.35000', obj.pac); // SV vom Typ "Zahl" } }); });
Danke @paul53 dieser Ansatz hat top funktioniert!
Danke auch an Dich @Homoran für deinen vorherigen Ansatz mit Blocky.Jetzt kann ich bspw in der CCU3 und dem Zählermodul die Erzeugung gegene den Verbrauch stellen und dann zusätzliche Verbraucher wie bspw einen Heizstab ansteuern oder die Steckdose die den eBike Akku lädt.
Super lieben Dank an euch beide!
Eine Frage habe ich aber noch dazu, die Systemvariable ist die "hm-rega.0.35000" richtig? Wenn ich jetzt bspw einen weiteren Wert auslesen will, dann könnte ich den ggf anpassen und die 35000 gegen die neue Systemvariable austauschen?
Viele Grüße
Jörg
PS: Kleiner Einschub noch...
Ich erhalte immer noch die Fehler dazu:javascript.0 2024-02-10 14:08:10.076 info State value to set for "hm-rega.0.35000" has to be type "string" but received type "number" javascript.0 2024-02-10 14:08:10.067 warn at processTicksAndRejections (node:internal/process/task_queues:82:21) javascript.0 2024-02-10 14:08:10.067 warn at endReadableNT (node:internal/streams/readable:1400:12) javascript.0 2024-02-10 14:08:10.067 warn at IncomingMessage.emit (node:domain:489:12) javascript.0 2024-02-10 14:08:10.067 warn at IncomingMessage.emit (node:events:529:35) javascript.0 2024-02-10 14:08:10.066 warn at Object.onceWrapper (node:events:631:28) javascript.0 2024-02-10 14:08:10.066 warn at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12) javascript.0 2024-02-10 14:08:10.066 warn at Request.emit (node:domain:489:12) javascript.0 2024-02-10 14:08:10.066 warn at Request.emit (node:events:517:28) javascript.0 2024-02-10 14:08:10.066 warn at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10) javascript.0 2024-02-10 14:08:10.066 warn at Request.emit (node:domain:489:12) javascript.0 2024-02-10 14:08:10.065 warn at Request.emit (node:events:517:28) javascript.0 2024-02-10 14:08:10.065 warn at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) javascript.0 2024-02-10 14:08:10.065 warn at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17) javascript.0 2024-02-10 14:08:10.065 warn at script.js.PV.Erzeugung_JavaScript:9:13 javascript.0 2024-02-10 14:08:10.064 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1740:20) javascript.0 2024-02-10 14:08:10.062 warn You are assigning a number to the state "hm-rega.0.35000" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.
-
@jörg-5 sagte in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
die Systemvariable ist die "hm-rega.0.35000" richtig?
wie meinst du das?
die kommt doch aus driner CCU, was soll da falsch oder richtig sein?
auf jeden Fall war sie nicht@jörg-5 sagte in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
die Systemvariable PV Erzeigung "Zahl" wird nicht gefüllt...
sondern Zeichenkette/String.
@jörg-5 sagte in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
dann könnte ich den ggf anpassen und die 35000 gegen die neue Systemvariable austauschen?
wenn du die dafür in der CCU angelegt hast, ja
aber warum brauchst du alles in der CCU?
-
@homoran Ich habe mich evtl falsch ausgedrückt. Ich meinte damit ob die beschriebene Systemvariable diesen Namen hat und wenn ich bspw einen anderen Wert noch gern in der CCU hätte, ich dann bspw diesen Namen anpassen muss. War für mich eher eine Verständnisfrage dazu.
Zeichenkette, okay. Ich hatte das als Zahl angenommen, da man die vergleichen kann. Habe es jetzt auf Zeichenkette umgestellt.
Warum ich die Werte in der CCU haben möchte liegt daran, das ich in der CCU per Program mehrere Zustände abfrage von Aktoren und dem Stromzähler und daraus inkl Wetter und Helligkeit errechne wie viel Strom nach Verbrauch im Haus noch über sein könnte um entsprechend die Verbraucher zuschalten zu können, die nur bei ausreichender PV Erzeugung geschaltet sein sollen.
Im ioBroker werde ich den Wert vermutlich weiter nutzen, aber in der CCU läuft der eigentliche Prozess. Also mit Abfrage des aktuellen Stromverbrauch aus dem Stromzähler.
Evtl. noch interessant für euch zu wissen, das ich noch einen zweiten Wechselrichter habe, der sich aber nich auslesen lässt. ich muss daher den Wert den ich erhalte umrechnen auf die Fläsche der PV um einen kompletten Ertrag kummulieren zu können.
Ob das am Ende funktioniert, weiss ich noch nicht. Da arbeite ich noch dran.
-
@jörg-5 sagte: Ich erhalte immer noch die Fehler dazu:
Wenn es ein String sein soll, dann hänge die Maßeinheit dran:
setState('hm-rega.0.35000', obj.pac + ' W'); setState('hm-rega.0.35001', obj.fac / 100 + ' Hz');
Damit kann man aber nicht rechnen. Ändere es besser in der CCU in Typ "Zahl" und starte anschließend die Instanz neu.
-
@jörg-5 bevor wir hier alle aneinander vorbeireden
Der Name einer SysVar ist eigentlich irrelevant, sollte aber den Inhalt immer klar definieren
Der Typ muss jedoch Zahl sein, wenn du damit rechnen willst.Für jeden Wert mit dem du rechnen willst, btürauchst du eine SysVar vom Typ Zahl auf der CCU.
zeig doch mal die Einstellungen davon
-
@paul53 said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
@jörg-5 sagte: Ich erhalte immer noch die Fehler dazu:
Wenn es ein String sein soll, dann hänge die Maßeinheit dran:
setState('hm-rega.0.35000', obj.pac + ' W'); setState('hm-rega.0.35001', obj.fac + ' W');
Damit kann man aber nicht rechnen. Ändere es besser in der CCU in Typ "Zahl" und starte anschließend die Instanz neu.
Da hat sich ein Fehler eingeschlichen. fac it die Spannung. 499 Volt. Und die Strings sind in pac/sac zusammen gefasst.
Der andere Wechselrichter hat ähnliche Werte aktuell. -
@jörg-5 sagte in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
fac it die Spannung. 499 Volt.
eher nicht, wahrscheinlich die frequency mit 49.9Hz
-
@jörg-5 sagte: fac it die Spannung
Ich habe keine Ahnung, was die Kürzel bedeuten. Sollte nur als Beispiel dienen.
-
@homoran said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
@jörg-5 sagte in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
fac it die Spannung. 499 Volt.
eher nicht, wahrscheinlich die frequency mit 49.9Hz
Ja, stimmt! Vor lauter Zahlen nicht erkannt...
-
@paul53 said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
@jörg-5 sagte: fac it die Spannung
Ich habe keine Ahnung, was die Kürzel bedeuten. Sollte nur als Beispiel dienen.
Ich hatte kurz überlegt noch einen anderen Wert auszulesen, aber so wie es ursprünglich war, funktioniert es bis auf die vielen Warnungen ganz hervorragend!
So sieht das übrigens in der App des Herstellers aus:
Nur um euch mal einen Einblick zu geben... Ist ja evtl interessant das zu wissen.
-
@jörg-5 sagte: bis auf die vielen Warnungen
Ändere die SV in der CCU in Typ "Zahl" und starte anschließend die Instanz neu.
-
@paul53 sagte in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
@jörg-5 sagte: fac it die Spannung
Ich habe keine Ahnung, was die Kürzel bedeuten. Sollte nur als Beispiel dienen.
ich auch nicht, nur auf gut Glück geraten!
fac könnte frequency der AC Seite sein -
@paul53 said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
@jörg-5 sagte: bis auf die vielen Warnungen
Ändere die SV in der CCU in Typ "Zahl" und starte anschließend die Instanz neu.
Hab ich geändert, jetzt füllt er den Wert nicht mehr...
Vorher stand der Wert drin, jetzt nur noch "0.00"
Fehler: hm-rega.0
2024-02-10 14:40:04.413 info State value to set for "hm-rega.0.35000" has to be type "string" but received type "number"Die SV hat aber Nummer:
PV Erzeugung - Blueplanet NX3 Erzeugung Zahl Minimalwert: 0
Maximalwert: 65000 W -
@jörg-5 sagte: Ist ja evtl interessant das zu wissen.
Wenn damit gerechnet werden soll:
setState('hm-rega.0.35000', obj.pac); // AC Leistung in W setState('hm-rega.0.35001', obj.eto / 10); // Energie total in kWh
-
@jörg-5 sagte: State value to set for "hm-rega.0.35000" has to be type "string" but received type "number"
Zeige bitte die OBJEKDATEN des DP in Code tags.