NEWS
Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON)
-
@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.
-
@paul53 es ist etd nicht eto
Funktioniert aber nur als Zeichenkette in der SV! Ganz wichtig. Wäre es möglich diese Werte in eine Zahl zu übergeben?
Oder ist das Technisch nicht möglich? -
@jörg-5 sagte: es ist etd nicht eto
Ich habe vermutet, dass "etd" die Tagesproduktion in 0,1 kWh ist?
to = total, td = today ? -
@jörg-5 sagte: Wäre es möglich diese Werte in eine Zahl zu übergeben?
Die Werte werden als Zahl übergeben. Allerdings ist offenbar die SV vom Typ "string".
-
@paul53 said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
@jörg-5 sagte: es ist etd nicht eto
Ich habe vermutet, dass "etd" die Tagesproduktion ist?
etd ist die Tagesproduktion. Korrekt. Ich ahbe es bei mir jetzt entsprechend so:
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 + ' W'); // AC Leistung setState('hm-rega.0.35001', obj.etd / 10 + ' kWh'); // Energie total } }); });
Das liefert jetzt folgende Werte in meine vorher angelegte Systemvariablen:
Zu deiner Frage mit der SV, das die dem Typ String entsprechen. Ja ist korrekt. Wenn ich auf "Zahl" umstelle, dann werden die Werte nicht mehr gefüllt und bleiben leer. Warum auch immer.
Siehe hier:
Stelle ich jetzt wie von Dir beschriieben auf "Zahl" um, steht immer nur 0.00 in den Werten.
-
@paul53 said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
@jörg-5 sagte: es ist etd nicht eto
Ich habe vermutet, dass "etd" die Tagesproduktion in 0,1 kWh ist?
to = total, td = today ?Richtig! Für mich ist etd interessant, dann kann ich die Tageswerte analysieren. Ich muss nur noch herausfinden wie ich aus der Systemvariable ein Diagram erzeugen kann. (Ist aber ein anderes Thema)
Wichtig ist das dein Javascript super funktionmiert und alles macht, wie es soll! Tip Top! Ganz lieben Dank noch mal.
-
@jörg-5 sagte: Ich ahbe es bei mir jetzt entsprechend so:
Stelle in der CCU auf Zahl um und lass im Skript die Maßeinheiten weg.
setState('hm-rega.0.35000', obj.pac); // AC Leistung in W setState('hm-rega.0.35001', obj.etd / 10); // Energie Tag in kWh
-
@paul53 said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
setState('hm-rega.0.35000', obj.pac); // AC Leistung in W
Ahhhh Jetzt klappt es auch! Werte werden übergeben und die SV gefüllt.
LÖSUNG SIEHT SO AUS:
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); // AC Leistung in W setState('hm-rega.0.35001', obj.etd / 10); // Energie Tag in kWh } }); });
Dafür bekomme ich jetzt in der Log folgende Warnhinweise:
javascript.0 2024-02-10 15:05:50.140 info State value to set for "hm-rega.0.35001" has to be type "string" but received type "number" javascript.0 2024-02-10 15:05:50.137 info State value to set for "hm-rega.0.35000" has to be type "string" but received type "number" javascript.0 2024-02-10 15:05:50.111 warn at processTicksAndRejections (node:internal/process/task_queues:82:21) javascript.0 2024-02-10 15:05:50.111 warn at endReadableNT (node:internal/streams/readable:1400:12) javascript.0 2024-02-10 15:05:50.111 warn at IncomingMessage.emit (node:domain:489:12) javascript.0 2024-02-10 15:05:50.110 warn at IncomingMessage.emit (node:events:529:35) javascript.0 2024-02-10 15:05:50.110 warn at Object.onceWrapper (node:events:631:28) javascript.0 2024-02-10 15:05:50.110 warn at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12) javascript.0 2024-02-10 15:05:50.110 warn at Request.emit (node:domain:489:12) javascript.0 2024-02-10 15:05:50.109 warn at Request.emit (node:events:517:28) javascript.0 2024-02-10 15:05:50.109 warn at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10) javascript.0 2024-02-10 15:05:50.109 warn at Request.emit (node:domain:489:12) javascript.0 2024-02-10 15:05:50.109 warn at Request.emit (node:events:517:28) javascript.0 2024-02-10 15:05:50.108 warn at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) javascript.0 2024-02-10 15:05:50.108 warn at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17) javascript.0 2024-02-10 15:05:50.108 warn at script.js.PV.Erzeugung_JavaScript:10:13 javascript.0 2024-02-10 15:05:50.107 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1740:20) javascript.0 2024-02-10 15:05:50.105 warn You are assigning a number to the state "hm-rega.0.35001" 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. javascript.0 2024-02-10 15:05:50.104 warn at processTicksAndRejections (node:internal/process/task_queues:82:21) javascript.0 2024-02-10 15:05:50.104 warn at endReadableNT (node:internal/streams/readable:1400:12) javascript.0 2024-02-10 15:05:50.103 warn at IncomingMessage.emit (node:domain:489:12) javascript.0 2024-02-10 15:05:50.103 warn at IncomingMessage.emit (node:events:529:35) javascript.0 2024-02-10 15:05:50.103 warn at Object.onceWrapper (node:events:631:28) javascript.0 2024-02-10 15:05:50.103 warn at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12) javascript.0 2024-02-10 15:05:50.102 warn at Request.emit (node:domain:489:12) javascript.0 2024-02-10 15:05:50.102 warn at Request.emit (node:events:517:28) javascript.0 2024-02-10 15:05:50.102 warn at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10) javascript.0 2024-02-10 15:05:50.102 warn at Request.emit (node:domain:489:12) javascript.0 2024-02-10 15:05:50.102 warn at Request.emit (node:events:517:28) javascript.0 2024-02-10 15:05:50.101 warn at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) javascript.0 2024-02-10 15:05:50.101 warn at Request._callback (/opt/iobroker/node_modules/iobroker.javascript/lib/request.js:27:17) javascript.0 2024-02-10 15:05:50.101 warn at script.js.PV.Erzeugung_JavaScript:9:13 javascript.0 2024-02-10 15:05:50.100 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1740:20) javascript.0 2024-02-10 15:05:50.096 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: Warnhinweise:
Starte mal die Instanz "hm-rega.0" neu, damit ioBroker die Änderungen in der CCU mitbekommt.
Schau hinterher die Objektdaten des DP "hm-rega.0.35000 an. Er muss vom Typ "number" sein. -
@paul53 said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
@jörg-5 sagte: Warnhinweise:
Starte mal die Instanz "hm-rega.0" neu, damit ioBroker die Änderungen in der CCU mitbekommt.
Schau hinterher die Objektdaten der SV an. Sie muss vom Typ "number" sein.Ich habe die Instanz komplett gestoppt und noch mal gestartet. Der Klick auf Restart hat zuvor keine verbesserung gebracht.
Bekomme jetzt aktuell nur das zurück:hm-rega.0 2024-02-10 15:13:05.806 warn Script "dom.GetObject(35001).State(9)" ignored, because still pending.
und
hm-rega.0 2024-02-10 15:11:40.116 warn Got unexpected ID: hm-rega.0.35001 hm-rega.0 2024-02-10 15:11:40.113 warn Got unexpected ID: hm-rega.0.35000
-
@jörg-5 sagte: Bekomme jetzt aktuell nur das zurück:
Hat sich die Datenpunkt-ID der beiden SV durch die Umstellung auf Zahl geändert?
-
@paul53 said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
@jörg-5 sagte: Bekomme jetzt aktuell nur das zurück:
Hat sich die Datenpunkt-ID der beiden SV durch die Umstellung auf Zahl geändert?
Nein. Alles beim alten.
Ich habe jetzt mal den Abfragewert von 10 auf 15 gesetzt im Script.
Jetzt ist der Fehler verschwunden. Vermutlich war das Abfrageinterval zu schnell.
-
@jörg-5 sagte: Vermutlich war das Abfrageinterval zu schnell.
Ich vermute eher, dass die Instanz nach Neustart noch in der Initialisierungsphase war als die Meldung kam.
Meldet die CCU den Empfang nicht zurück? Dann müssten die Werte schwarz werden.Zeige bitte die OBJEKTDATEN von "hm-rega.0.35000" in Code tags! (Expertenmodus und dann Bleistift rechts)
-
@jörg-5 sagte in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
Wenn ich auf "Zahl" umstelle, dann werden die Werte nicht mehr gefüllt und bleiben leer. Warum auch immer.
Siehe hier:bitte den log dazu zeigen!
dIE sysVar muss Zahl sein, oder due Zahl muss als String übergeben werden.
ob du in der CCU sinnvol mit Strings rechnen kannst, weiß ich nicht mehr -
@homoran said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
@jörg-5 sagte in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
Wenn ich auf "Zahl" umstelle, dann werden die Werte nicht mehr gefüllt und bleiben leer. Warum auch immer.
Siehe hier:bitte den log dazu zeigen!
dIE sysVar muss Zahl sein, oder due Zahl muss als String übergeben werden.
ob du in der CCU sinnvol mit Strings rechnen kannst, weiß ich nicht mehrHi again!
So, ich hab der Sache seine Zeit gelassen und mit 15 Sekunden (Was auch vollkommen ausreicht) funktioniert es jetzt komplett korrekt ohne Fehler! Da nun aber keine Sonne mehr ist, ist der Wechselrichter aus und ich kann Dir leider nichts mehr an Daten liefern. Ich werde das morgen noch mal beobachten. Soll ich dann noch mal die von Dir gewünschten Daten hier posten?
Viele Grüße
Jörg -
@paul53 said in Kaco Blueplanet NX3 10.0 Wechselrichter auslesen (JSON):
@jörg-5 sagte: Vermutlich war das Abfrageinterval zu schnell.
Ich vermute eher, dass die Instanz nach Neustart noch in der Initialisierungsphase war als die Meldung kam.
Meldet die CCU den Empfang nicht zurück? Dann müssten die Werte schwarz werden.Zeige bitte die OBJEKTDATEN von "hm-rega.0.35000" in Code tags! (Expertenmodus und dann Bleistift rechts)
{ "_id": "hm-rega.0.35000", "type": "state", "common": { "name": "PV Erzeugung - BP NX3", "type": "number", "read": true, "write": true, "role": "state", "desc": "Erzeugung ", "min": 0, "max": 65000, "unit": "W" }, "native": { "Name": "PV Erzeugung - BP NX3", "TypeName": "VARDP", "DPInfo": "Erzeugung ", "ValueMin": 0, "ValueMax": 65000, "ValueUnit": "W", "ValueType": 4, "ValueSubType": 0, "ValueList": "" }, "from": "system.adapter.hm-rega.0", "user": "system.user.admin", "ts": 1707574316899, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
{ "_id": "hm-rega.0.35001", "type": "state", "common": { "name": "PV Erzeugung BP NX3 - Total", "type": "number", "read": true, "write": true, "role": "state", "desc": "Tageserzeugung", "min": 0, "max": 65000, "unit": "kWh" }, "native": { "Name": "PV Erzeugung BP NX3 - Total", "TypeName": "VARDP", "DPInfo": "Tageserzeugung", "ValueMin": 0, "ValueMax": 65000, "ValueUnit": "kWh", "ValueType": 4, "ValueSubType": 0, "ValueList": "" }, "from": "system.adapter.hm-rega.0", "user": "system.user.admin", "ts": 1707574316905, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Aber wie gesagt, jetzt funktionierte es zum Schluss ja, auch ohne Warnungen, mit 15 Sekunden Abfragezeit.
-
@jörg-5 sagte: jetzt funktionierte es zum Schluss ja, auch ohne Warnungen
So sehen die Objektdaten korrekt aus - bis auf die Namen.
- 35000: "PV Leistung - BP NX3"
- 35001: "PV Erzeugung BP NX3 - Tag"