NEWS
Huawei Sun2000 & ioBroker via JS script funktioniert
-
Vielen Dank, wusste garnicht das man das machen kann ... Wieder etwas gelernt ...
Das Script startet jetzt, aber ich bekomme leider keine Daten ausgelesen.
Habe die Werte bei mir jetzt so angepasst (ich habe leider - noch - keinen Akku):
client.connectTCP("10.168.1.111", { port: 502 });
const ModBusIDs = [1];
const PowerMeterID = 0;
const BatteryUnits = [[0, 0]];Folgende Infos find ich im Log:
30.12.2022, 11:33:51.829 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 35300 with length 40
30.12.2022, 11:33:51.830 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 35300 from id: 1 with error: undefined
30.12.2022, 11:33:53.829 [info ]: javascript.0 (1120689) script.js.PV: Processing new data...
30.12.2022, 11:33:53.832 [info ]: javascript.0 (1120689) script.js.PV: Processing done!
30.12.2022, 11:33:53.833 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 30000 with length 81
30.12.2022, 11:33:53.833 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 30000 from id: 1 with error: undefined
30.12.2022, 11:33:55.830 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 37100 with length 114
30.12.2022, 11:33:55.830 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 37100 from id: 1 with error: undefined
30.12.2022, 11:33:57.830 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 32000 with length 116
30.12.2022, 11:33:57.830 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 32000 from id: 1 with error: undefined
30.12.2022, 11:33:59.830 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 37000 with length 68
30.12.2022, 11:33:59.831 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 37000 from id: 1 with error: undefined
30.12.2022, 11:34:01.830 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 37700 with length 100
30.12.2022, 11:34:01.831 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 37700 from id: 1 with error: undefined
30.12.2022, 11:34:03.831 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 37800 with length 100
30.12.2022, 11:34:03.831 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 37800 from id: 1 with error: undefined
30.12.2022, 11:34:05.831 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 38200 with length 100
30.12.2022, 11:34:05.832 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 38200 from id: 1 with error: undefined
30.12.2022, 11:34:07.832 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 38300 with length 100
30.12.2022, 11:34:07.833 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 38300 from id: 1 with error: undefined
30.12.2022, 11:34:08.028 [info ]: javascript.0 (1120689) Stop script script.js.PV -
Vielen Dank, wusste garnicht das man das machen kann ... Wieder etwas gelernt ...
Das Script startet jetzt, aber ich bekomme leider keine Daten ausgelesen.
Habe die Werte bei mir jetzt so angepasst (ich habe leider - noch - keinen Akku):
client.connectTCP("10.168.1.111", { port: 502 });
const ModBusIDs = [1];
const PowerMeterID = 0;
const BatteryUnits = [[0, 0]];Folgende Infos find ich im Log:
30.12.2022, 11:33:51.829 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 35300 with length 40
30.12.2022, 11:33:51.830 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 35300 from id: 1 with error: undefined
30.12.2022, 11:33:53.829 [info ]: javascript.0 (1120689) script.js.PV: Processing new data...
30.12.2022, 11:33:53.832 [info ]: javascript.0 (1120689) script.js.PV: Processing done!
30.12.2022, 11:33:53.833 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 30000 with length 81
30.12.2022, 11:33:53.833 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 30000 from id: 1 with error: undefined
30.12.2022, 11:33:55.830 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 37100 with length 114
30.12.2022, 11:33:55.830 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 37100 from id: 1 with error: undefined
30.12.2022, 11:33:57.830 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 32000 with length 116
30.12.2022, 11:33:57.830 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 32000 from id: 1 with error: undefined
30.12.2022, 11:33:59.830 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 37000 with length 68
30.12.2022, 11:33:59.831 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 37000 from id: 1 with error: undefined
30.12.2022, 11:34:01.830 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 37700 with length 100
30.12.2022, 11:34:01.831 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 37700 from id: 1 with error: undefined
30.12.2022, 11:34:03.831 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 37800 with length 100
30.12.2022, 11:34:03.831 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 37800 from id: 1 with error: undefined
30.12.2022, 11:34:05.831 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 38200 with length 100
30.12.2022, 11:34:05.832 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 38200 from id: 1 with error: undefined
30.12.2022, 11:34:07.832 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 38300 with length 100
30.12.2022, 11:34:07.833 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 38300 from id: 1 with error: undefined
30.12.2022, 11:34:08.028 [info ]: javascript.0 (1120689) Stop script script.js.PV@zoid1988
So, ich muss mich kurz selbst korrigieren.
Ich habe bereits die Lösung mit Node-red im Einsatz und hab jetzt mal den Node-red Adapter gestoppt und nun haben sich die Einträge im Log verändert.
Scheinbar kann er jetzt erfolgreich was abfragen, aber in den Objekten stehen immer noch alle Werte auf 0.
-
Ich hab ein bisschen mit Modbus rumgespielt:

Mit dem rot markierten Teil in meinem Modbus-TCP Flow versuche ich den Wert der ID "JSON_Test" in das Register 47082 zu schreiben. Das ist die %-Zahl ab der er aufhören soll die Batterie zu entladen. "JSON_Test" ist nur ein ungenutztes Objekt das ich gerade "übrig" hatte, also nicht am Namen stören.
Aktuell bin ich soweit, dass ich keine Fehlermeldung bekomme, wenn ich den Wert von "JSON_Test" ändere. Und ich glaube er wird auch geschrieben. Denn: Ich lese dieses Modbus Register auch 1x pro Minute aus. Und da ließt er dann meinen in "JSON_Test" eingetragenen Wert aus!
Aber: Die Batterie entlädt trotzdem weiter, obwohl der SOC kleiner ist als der eingegebene Wert. Es hat also keinen Effekt...
Vielleicht hilft das ja schon jemandem weiter als Gedankenanstoß wie man es hinbekommen kann?Edit: Ich glaube das nichts passiert liegt daran, dass ich den "Gain" von 10 vergessen habe. D.h. wenn ich 30 (%) eingebe glaube ich das der Wechselrichter das al 3% interpretiert. Habe nämlich mal Register 47076 gelesen, das ist "Maximum Charging Power". Und da meldet er 1000 zurück für 100%.
Wenn ich jetzt aber nicht 30 sondern 300 sende bekomme ich folgende Fehlermeldung zurück:node-red.0 2022-04-06 23:17:20.985 error 6 Apr 23:17:20 - [error] [modbus-write:47082 (Bat Discharge cutof capacity SET)] Error: Modbus exception 4: Slave device failure (device reports internal error) at ModbusRTU._onReceive (/opt/iobroker/iobroker-data/node-red/node_modules/modbus-serial/index.js:371:21) at TcpPort.emit (events.js:400:28) at Socket.<anonymous> (/opt/iobroker/iobroker-data/node-red/node_modules/modbus-serial/ports/tcpport.js:92:20) at Socket.emit (events.js:400:28) at addChunk (internal/streams/readable.js:293:12) at readableAddChunk (internal/streams/readable.js:267:9) at Socket.Readable.push (internal/streams/readable.js:206:10) at TCP.onStreamRead (internal/stream_base_commons.js:188:23)Nochmal Edit:
Ich habe rausgefunden, dass der Fehler nur kommt, wenn der geschriebene Wert größer ist als der aktuelle SOC der Batterie. Wenn ich 300 schreibe und die Batterie hat nur 22% kommt der Fehler. Schreibe ich z.B. 100 kommt kein Fehler und die 100 werden beim nächsten Register auslesen auch wieder angezeigt. Hab das Ding jetzt auf 10% gestellt und gehe jetzt schlafen... mal gucken ob er heute Nacht bei 10% aufhört die Batterie zu entladen. Ich werde berichten.
Over and Out, Gute Nacht!Korrektur: Ich kann nur Werte zwischen 0 und 20 schreiben, denn das ist der Bereich der für die Batterie-Minimum-Ladung. Mehr als 20% geht nicht.
Ich möchte gerne Register 47077 schreiben, denn das enhält den maximalen Entladestrom. Idee: Wenn eAuto lädt, dann max. Ladestrom auf 0 damit das Auto nicht die Batterie entlädt.
Problem: Das ist ein Register mit der Länge 2, also 2x 16Bit Integer (U32). Ich habe rausgefunden, dass man daher das "dahingeschickte" formatieren muss, denn die iobroker Datenpunkte sind INT16. Ich muss das also in 2x INT16 aufteilen. Aber wie geht das? Hat da jemand eine Idee?Hier ist das beschrieben, aber ich werde da nicht schlau draus:
https://stevesnoderedguide.com/modbus-writing-dataUnd hier noch der Auszug aus der Huawei Modbus Dokumentation:

@badsnoopy667 Klappt super den Wert zu ändern, hast du evtl eine Idee wie ich den Akku laden lassen kann? habe es mit 47100 (1) probiert aber es funktioniert nicht......

-
@badsnoopy667 Klappt super den Wert zu ändern, hast du evtl eine Idee wie ich den Akku laden lassen kann? habe es mit 47100 (1) probiert aber es funktioniert nicht......

@majawe
Nein, das habe ich noch nicht probiert, da ich keinen variablen Stromtarif habe... aber darüber nachgedacht, ob es geht, habe ich auch schon. Falls Du also etwas rausbekommen solltest, sag gerne Bescheid!
-
@badsnoopy667 Klappt super den Wert zu ändern, hast du evtl eine Idee wie ich den Akku laden lassen kann? habe es mit 47100 (1) probiert aber es funktioniert nicht......

@majawe
Kurzes Update: Über Modbus habe ich es noch nicht geschafft den Akku laden zu lassen. Ich vermute übrigens, Du hast nicht die letzte Version (V3) Der "modbus-interface-definitions"
Link: solar-inverter-modbus-interface-definitions-v3.0.pdf .
Das Register was Du da zeigst gibt es da nicht mehr. Es gibt aber ein Register [Energy storage unit] Time-of-use electricity price periods - 47200. Da kann man wohl die Lade- und Entladezeiten eintragen für den Akku. Da das Ding aber 41 Zeichen lang ist, habe ich keinen Plan, wie das korrekte Format aussehen muss. Ich habe mal den Huawei Support angeschrieben.
Aber: Was ich gerade mal getestet habe: Mit der SUN2000 App (Nicht FusionSolar, geht aber vll auch, k.a.) habe ich mich auf den Wechselrichter als Installateur verbunden (über das SDongle WLan im Keller) und habe die Betriebsweise das Akkus auf "TOU" gestellt. Also zeitgesteuertes Laden. Wenn man da dann eine Ladezeit einträgt, fängt das Ding auch an aus dem Netz zu laden.
Daher meine fixe Idee als Workaround: In der App eine Ladezeit einstelle (z.B. von 23:00 - 6:00 Uhr Nachts, in der Annahme das Nachts die günstigesten Preise vorliegen). Und dann das Register [Energy storage unit] Maximum charging power - 47075 entsprechend auf 0 setzen, zu Zeiten wenn man nicht laden will und auf 5000 (für 5000W, bei mind. 10kWh Akku, sonst weniger), wenn man laden möchte in dieser Zeit. Morgens natürlich dann wieder hochsetzen. Habe ich aber noch nicht ausprobiert. Könnte mir aber vorstellen, dass es klappt. Bin mir nur nicht sicher, ob er dann noch entlädt (in der Zeit wo die Ladeleistung 0 ist, aber die Ladezeit gesetzt ist). -
@majawe
Kurzes Update: Über Modbus habe ich es noch nicht geschafft den Akku laden zu lassen. Ich vermute übrigens, Du hast nicht die letzte Version (V3) Der "modbus-interface-definitions"
Link: solar-inverter-modbus-interface-definitions-v3.0.pdf .
Das Register was Du da zeigst gibt es da nicht mehr. Es gibt aber ein Register [Energy storage unit] Time-of-use electricity price periods - 47200. Da kann man wohl die Lade- und Entladezeiten eintragen für den Akku. Da das Ding aber 41 Zeichen lang ist, habe ich keinen Plan, wie das korrekte Format aussehen muss. Ich habe mal den Huawei Support angeschrieben.
Aber: Was ich gerade mal getestet habe: Mit der SUN2000 App (Nicht FusionSolar, geht aber vll auch, k.a.) habe ich mich auf den Wechselrichter als Installateur verbunden (über das SDongle WLan im Keller) und habe die Betriebsweise das Akkus auf "TOU" gestellt. Also zeitgesteuertes Laden. Wenn man da dann eine Ladezeit einträgt, fängt das Ding auch an aus dem Netz zu laden.
Daher meine fixe Idee als Workaround: In der App eine Ladezeit einstelle (z.B. von 23:00 - 6:00 Uhr Nachts, in der Annahme das Nachts die günstigesten Preise vorliegen). Und dann das Register [Energy storage unit] Maximum charging power - 47075 entsprechend auf 0 setzen, zu Zeiten wenn man nicht laden will und auf 5000 (für 5000W, bei mind. 10kWh Akku, sonst weniger), wenn man laden möchte in dieser Zeit. Morgens natürlich dann wieder hochsetzen. Habe ich aber noch nicht ausprobiert. Könnte mir aber vorstellen, dass es klappt. Bin mir nur nicht sicher, ob er dann noch entlädt (in der Zeit wo die Ladeleistung 0 ist, aber die Ladezeit gesetzt ist).@badsnoopy667 said in Huawei Sun2000 & ioBroker via JS script funktioniert:
[Energy storage unit] Maximum charging power - 47075
Die Idee hatte ich auch schon, leider bekomme ich es nicht hin das er die 0 annimmt bzw überträgt
-
@badsnoopy667 said in Huawei Sun2000 & ioBroker via JS script funktioniert:
[Energy storage unit] Maximum charging power - 47075
Die Idee hatte ich auch schon, leider bekomme ich es nicht hin das er die 0 annimmt bzw überträgt
@majawe
Das sollte ja das kleinste Problem sein. Der Wert wird genauso geschrieben wie das Register 47077 (Max. Entladeleistung). Hab's gerade probiert. Wenn ich im Flow die Adresse von 47077 auf 47075 ändere (und sonst alles gleich lasse), kann ich die Ladeleistung einstellen. "0" habe ich nicht probiert, aber 4999 und 5000W hat geklappt. -
@majawe
Das sollte ja das kleinste Problem sein. Der Wert wird genauso geschrieben wie das Register 47077 (Max. Entladeleistung). Hab's gerade probiert. Wenn ich im Flow die Adresse von 47077 auf 47075 ändere (und sonst alles gleich lasse), kann ich die Ladeleistung einstellen. "0" habe ich nicht probiert, aber 4999 und 5000W hat geklappt.@badsnoopy667 könntest du mir den flow mal exportieren oder ein scrennshot der karte bitte machen?

-
@badsnoopy667 könntest du mir den flow mal exportieren oder ein scrennshot der karte bitte machen?

@majawe
Hier der Flow für beide Zustände (Charge und Discharge)
flows_read_write_charge_discharge.json
Sobald du eines der beiden Objekte "_SET" änderst (vorher anlegen!), wird das entsprechende Register geschrieben.
Und wie immer bei meinem Flow: Achte auf die Unit-ID. Bei mir ist die 2, bei dir vermutlich nicht! Mein WR war mal defekt.Hast Du darauf geachtet beim Ändern nicht nur den Namen, sondern wirklich die Adresse zu ändern? Das hab ich schon ein paar mal durcheinander gebracht. Der Name allein hilft nicht, der ist sowieso völlig beliebig.

-
@majawe
Hier der Flow für beide Zustände (Charge und Discharge)
flows_read_write_charge_discharge.json
Sobald du eines der beiden Objekte "_SET" änderst (vorher anlegen!), wird das entsprechende Register geschrieben.
Und wie immer bei meinem Flow: Achte auf die Unit-ID. Bei mir ist die 2, bei dir vermutlich nicht! Mein WR war mal defekt.Hast Du darauf geachtet beim Ändern nicht nur den Namen, sondern wirklich die Adresse zu ändern? Das hab ich schon ein paar mal durcheinander gebracht. Der Name allein hilft nicht, der ist sowieso völlig beliebig.

@badsnoopy667 Funktioniert heute auf Anhieb komischer weise
ich denke es lag am Dongle updateTou kannst du auch online umstellen unter, https://region02eu5.fusionsolar.huawei.com, Dongle, EMS Control oder direkt am Handy unter Dongel, Parametereinstellung, Arbeitsmodus Tou.
Also brauchst dich nicht direkt am Wechselrichter einloggen


-
@majawe
Kurzes Update: Über Modbus habe ich es noch nicht geschafft den Akku laden zu lassen. Ich vermute übrigens, Du hast nicht die letzte Version (V3) Der "modbus-interface-definitions"
Link: solar-inverter-modbus-interface-definitions-v3.0.pdf .
Das Register was Du da zeigst gibt es da nicht mehr. Es gibt aber ein Register [Energy storage unit] Time-of-use electricity price periods - 47200. Da kann man wohl die Lade- und Entladezeiten eintragen für den Akku. Da das Ding aber 41 Zeichen lang ist, habe ich keinen Plan, wie das korrekte Format aussehen muss. Ich habe mal den Huawei Support angeschrieben.
Aber: Was ich gerade mal getestet habe: Mit der SUN2000 App (Nicht FusionSolar, geht aber vll auch, k.a.) habe ich mich auf den Wechselrichter als Installateur verbunden (über das SDongle WLan im Keller) und habe die Betriebsweise das Akkus auf "TOU" gestellt. Also zeitgesteuertes Laden. Wenn man da dann eine Ladezeit einträgt, fängt das Ding auch an aus dem Netz zu laden.
Daher meine fixe Idee als Workaround: In der App eine Ladezeit einstelle (z.B. von 23:00 - 6:00 Uhr Nachts, in der Annahme das Nachts die günstigesten Preise vorliegen). Und dann das Register [Energy storage unit] Maximum charging power - 47075 entsprechend auf 0 setzen, zu Zeiten wenn man nicht laden will und auf 5000 (für 5000W, bei mind. 10kWh Akku, sonst weniger), wenn man laden möchte in dieser Zeit. Morgens natürlich dann wieder hochsetzen. Habe ich aber noch nicht ausprobiert. Könnte mir aber vorstellen, dass es klappt. Bin mir nur nicht sicher, ob er dann noch entlädt (in der Zeit wo die Ladeleistung 0 ist, aber die Ladezeit gesetzt ist).@badsnoopy667 Super
so wird es gemacht
Danke
-
@badsnoopy667 Funktioniert heute auf Anhieb komischer weise
ich denke es lag am Dongle updateTou kannst du auch online umstellen unter, https://region02eu5.fusionsolar.huawei.com, Dongle, EMS Control oder direkt am Handy unter Dongel, Parametereinstellung, Arbeitsmodus Tou.
Also brauchst dich nicht direkt am Wechselrichter einloggen


@majawe
Schön, dass es klappt! Aber ENT-laden im Ladezeitraum tut er nicht, oder? Das ist nämlich vermutlich noch der Haken. Den Zeitraum würde ich ja immer (in der Nacht) stehen lassen und über die Ladeleistung dann quasi aktivieren und deaktivieren.
Wobei man streiten kann, ob das ein Problem ist, im Winter ist der Akku Nachts sowieso fast immer leer. Dann spielt es keine Rolle. Und im Sommer brauche ich ihn ihn nicht extern laden.Zu der FusionSolar Seite: Wo geht das denn? Bei mir kann ich da gar nix einstellen. Welche Dongle Firmware ist das? Oder hast Du da Installateur Zugriff auf FusionSolar?
-
@majawe
Schön, dass es klappt! Aber ENT-laden im Ladezeitraum tut er nicht, oder? Das ist nämlich vermutlich noch der Haken. Den Zeitraum würde ich ja immer (in der Nacht) stehen lassen und über die Ladeleistung dann quasi aktivieren und deaktivieren.
Wobei man streiten kann, ob das ein Problem ist, im Winter ist der Akku Nachts sowieso fast immer leer. Dann spielt es keine Rolle. Und im Sommer brauche ich ihn ihn nicht extern laden.Zu der FusionSolar Seite: Wo geht das denn? Bei mir kann ich da gar nix einstellen. Welche Dongle Firmware ist das? Oder hast Du da Installateur Zugriff auf FusionSolar?
@badsnoopy667 Ich denke bei sonnenuntergang setze ich den auf 0watt, und dann wenn kleiner als 5cent = 5000Watt. Den Rest erledigt Tou zwischen 0 - 5 Uhr.
-
@majawe
Schön, dass es klappt! Aber ENT-laden im Ladezeitraum tut er nicht, oder? Das ist nämlich vermutlich noch der Haken. Den Zeitraum würde ich ja immer (in der Nacht) stehen lassen und über die Ladeleistung dann quasi aktivieren und deaktivieren.
Wobei man streiten kann, ob das ein Problem ist, im Winter ist der Akku Nachts sowieso fast immer leer. Dann spielt es keine Rolle. Und im Sommer brauche ich ihn ihn nicht extern laden.Zu der FusionSolar Seite: Wo geht das denn? Bei mir kann ich da gar nix einstellen. Welche Dongle Firmware ist das? Oder hast Du da Installateur Zugriff auf FusionSolar?
@badsnoopy667 Ich habe den Installateur zugang, da ist der Punkt sichtbar. Der Dongle hat die FW PC133 am ende aber gesehen habe ich den Punkt bereits mit der PC130
-
Erst mal vielen Dank für das Script, hat fast sofort funtioniert.
Ich musste nur die IDs raten, bei meiner nagelneuen Anlage mit 2 KTLs und dem Powermeter und ohne Batterien bin ich hier gelandet:const ModBusIDs = [1, 2]; const PowerMeterID = 0;Powermeter läuft wunderbar.
Das Problem, daß die Werte nur einmal geschrieben wurden habe ich mit einem Workaround hier gelöst:function forcesetState(objectname, value, options) { if(!existsState(objectname)) { createState(objectname, value, options); console.log("createstate " + objectname + " to value " + value); } //Workaround setState(objectname, value); }also das setstate aus der else-clause genommen, denn das !existsState scheint nicht sauber zu funktionieren.
Ach so, noch eine gute Nachricht:
Der Installateur kann den Modbus (inwischen?) remote aktivieren, da muss keiner vor Ort sein.
Hat mich eine Mail an meinen Solateur gekostet und zwei Stunden später war alles aktiv. -
Vielen Dank, wusste garnicht das man das machen kann ... Wieder etwas gelernt ...
Das Script startet jetzt, aber ich bekomme leider keine Daten ausgelesen.
Habe die Werte bei mir jetzt so angepasst (ich habe leider - noch - keinen Akku):
client.connectTCP("10.168.1.111", { port: 502 });
const ModBusIDs = [1];
const PowerMeterID = 0;
const BatteryUnits = [[0, 0]];Folgende Infos find ich im Log:
30.12.2022, 11:33:51.829 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 35300 with length 40
30.12.2022, 11:33:51.830 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 35300 from id: 1 with error: undefined
30.12.2022, 11:33:53.829 [info ]: javascript.0 (1120689) script.js.PV: Processing new data...
30.12.2022, 11:33:53.832 [info ]: javascript.0 (1120689) script.js.PV: Processing done!
30.12.2022, 11:33:53.833 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 30000 with length 81
30.12.2022, 11:33:53.833 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 30000 from id: 1 with error: undefined
30.12.2022, 11:33:55.830 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 37100 with length 114
30.12.2022, 11:33:55.830 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 37100 from id: 1 with error: undefined
30.12.2022, 11:33:57.830 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 32000 with length 116
30.12.2022, 11:33:57.830 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 32000 from id: 1 with error: undefined
30.12.2022, 11:33:59.830 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 37000 with length 68
30.12.2022, 11:33:59.831 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 37000 from id: 1 with error: undefined
30.12.2022, 11:34:01.830 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 37700 with length 100
30.12.2022, 11:34:01.831 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 37700 from id: 1 with error: undefined
30.12.2022, 11:34:03.831 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 37800 with length 100
30.12.2022, 11:34:03.831 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 37800 from id: 1 with error: undefined
30.12.2022, 11:34:05.831 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 38200 with length 100
30.12.2022, 11:34:05.832 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 38200 from id: 1 with error: undefined
30.12.2022, 11:34:07.832 [info ]: javascript.0 (1120689) script.js.PV: Triggering read of inverter 1 at address 38300 with length 100
30.12.2022, 11:34:07.833 [warn ]: javascript.0 (1120689) script.js.PV: Error received reading address 38300 from id: 1 with error: undefined
30.12.2022, 11:34:08.028 [info ]: javascript.0 (1120689) Stop script script.js.PV@zoid1988 Hallo zusammen, gibt es hier Neuigkeiten. Hab heute mein WR angeschlossen. Datenpunkte wurden generiert aber erhalte den selben Fehler. Gibt es Lösungen? Danke an alle für die Hilfe!
Ich habe auch den Workaround eingesetzt, erhalte immer aber die gleiche Warnung:
21:02:25.393 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 30000 with length 81
21:02:25.394 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 30000 from id: 1 with error: undefined
21:02:27.393 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 37100 with length 114
21:02:27.394 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 37100 from id: 1 with error: undefined
21:02:29.394 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 32000 with length 116
21:02:29.394 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 32000 from id: 1 with error: undefined
21:02:31.394 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 37000 with length 68
21:02:31.395 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 37000 from id: 1 with error: undefined
21:02:33.395 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 37700 with length 100
21:02:33.396 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 37700 from id: 1 with error: undefined
21:02:35.395 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 37800 with length 100
21:02:35.396 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 37800 from id: 1 with error: undefined
21:02:37.395 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 38200 with length 100
21:02:37.396 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 38200 from id: 1 with error: undefined
21:02:39.406 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 38300 with length 100
21:02:39.406 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 38300 from id: 1 with error: undefined
21:02:41.406 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 38400 with length 100
21:02:41.407 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 38400 from id: 1 with error: undefined
21:02:43.407 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 35300 with length 40
21:02:43.408 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 35300 from id: 1 with error: undefined -
@zoid1988 Hallo zusammen, gibt es hier Neuigkeiten. Hab heute mein WR angeschlossen. Datenpunkte wurden generiert aber erhalte den selben Fehler. Gibt es Lösungen? Danke an alle für die Hilfe!
Ich habe auch den Workaround eingesetzt, erhalte immer aber die gleiche Warnung:
21:02:25.393 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 30000 with length 81
21:02:25.394 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 30000 from id: 1 with error: undefined
21:02:27.393 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 37100 with length 114
21:02:27.394 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 37100 from id: 1 with error: undefined
21:02:29.394 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 32000 with length 116
21:02:29.394 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 32000 from id: 1 with error: undefined
21:02:31.394 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 37000 with length 68
21:02:31.395 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 37000 from id: 1 with error: undefined
21:02:33.395 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 37700 with length 100
21:02:33.396 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 37700 from id: 1 with error: undefined
21:02:35.395 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 37800 with length 100
21:02:35.396 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 37800 from id: 1 with error: undefined
21:02:37.395 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 38200 with length 100
21:02:37.396 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 38200 from id: 1 with error: undefined
21:02:39.406 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 38300 with length 100
21:02:39.406 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 38300 from id: 1 with error: undefined
21:02:41.406 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 38400 with length 100
21:02:41.407 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 38400 from id: 1 with error: undefined
21:02:43.407 info javascript.0 (23379) script.js.Test.PV-Test: Triggering read of inverter 1 at address 35300 with length 40
21:02:43.408 warn javascript.0 (23379) script.js.Test.PV-Test: Error received reading address 35300 from id: 1 with error: undefined -
@oswibz
Als Newbie: Da stimmen Deine IDs nicht. So, wie ich das Script verstehe, gibt es die ID, aber es ist nicht der Gerätetyp, der abgefragt wird.
