NEWS
[Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana
-
@hardy_01
das mit dem fehlenden Script ist richtig. das fehlt laut mir auch. ich habe mir jenen z.b. selber gebastelt, als ich das ganze Script verstanden habe. Ich hab z.b. den total import um 00.01 abgelesen und eine Variable erstellt. Dann einfach die weiteren Zählerstände davon abgezogen. Also als Beispiel aktueller Import gesamt - Import um 00.01 Uhr. Es fehlt mir zwar die Minute 01, aber das ist nicht schlimm.und @hennerich Bedanke mich für die Super Arbeit. Import funktioniert nun Seit 2 Tagen einwandfrei. Export und Eigenverbrauch muss ich noch testen, dafür muss der Schnee vom Dach
-
@DanielO Ich hab das Blockly mal noch in meinem dritten Posting ganz unten ergänzt. Hatte ich scheinbar noch nicht angehangen.
-
@hennerich Hallo, sehr schöne Doku. Ich lese das auch seit einiger Zeit so aus. Leider habe ich 2 WR als Master-Slave und schaffe es einfach nicht an die summierten Daten zu kommen. WR1 ist kein Problem aber WR2 kann ich nicht finden. Es muss die Daten geben, bei Solaredge tauchen sie ja auch auf. aber im Modbus Adapter finde ich die richtige Nummer nicht. Batteriedaten habe ich gefunden (102853, 37, 55) aber beim WR2 scheitere ich. Der wäre aber für den Eigenverbrauch wichtig. Hast Du eine Idee?
-
@tj1973
Puhh, du kannst Fragen stellen. Ich hatte mich ja auch erst in den letzten Monaten da reingefuchst und eben für mich und die Welt mal aufgeschrieben, was ich dabei gelernt habe.
Ohne, dass ich da was zum testen hab, kann ich da vermutlich nicht unterstützen. -
@hennerich Dennoch vielen Dank für die schöne Doku. Hätte ich die vor 2 Jahren gehabt, wäre vieles einfacher gewesen. Ich bleib an Solaredge dran. Irgendwie muss man doch an die Registerdaten kommen. Aber der Support von Solaredge ist faktisch nicht vorhanden...keine Rückmeldung trotz mehrerer Anfragen und telefonisch kein durchkommen. Aber es muss die Daten geben, sonst könnte sie Solaredge in der App nicht darstellen....also nur eine Frage der Zeit. Ich berichte über neue Infos. Solltest Du mal dein Tutorial updaten, kannst du das eventuell mit anführen wenn Du möchtest.
-
@tj1973 Ich habe den vollkommen anderen Eindruck. Ich hab nen Installateur Account und wenn ich über den Chat eine frage stelle bekomme ich eigentlich sofort die Antwort. Habe bis jetzt einmal ein Issue einstellen müssen, da mir die Dame im Chat nicht helfen konnte.
könntest du kurz erklären wie du die Batteriedaten gefunden hast? Nach welcher Doku und wie hast den Modbus-adapter konfiguriert?
-
@chris87 Die Konfiguration ist wie oben auch bei @hennerich beschrieben. Die Registernummern stammen aus einem alten Forumsbeitrag, den ich aber nicht mehr finden kann (ist schon eine Weile her). Der Rest war ausprobieren und ein paar Nummern hoch und runter testen. Ich habe leider keinen Installateur Account und anscheinend somit auch bisher zumindest keinen support. Eventuell hatte ich auch bisher nur Pech. Zumindest habe ich auf meine Emails bisher keine Antwort bekommen. Ich wollte wissen, unter welchen Registernummern die Daten des WR2 der als slave läuft zu finden sind.
-
@tj1973
wie ist dein 2. WR angeschlossen? hat der eine separate IP oder hängt der per Serial hinter der "Leader"?
Sollte 2.eres der fall sein könnte es sein, dass du ne neue Instanz mit der Entsprechenden Modbus ID aufmachen musst.
nur so ne Idee.
Schau dir das mal genauer an: https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdfBezüglich der Batterie Adressen, kannst du mir deine Adapter Konfiguration mal komplett geben, erste Seite als auch evtl. alias Adressen. Ich bekomme permanent Fehler, wenn ich das so eingebe.
Vielen Dank schon mal.Wenn du willst, kannst du deine Frage mal ausformulieren und ich setz n issue in das Portal.
-
Hi,
ich habe mich mal am Grafana Export bedient und will davon den Graph: PV Erzeugung in kWh der letzten 3 Wochen nutzen.
Jetzt nutze ich kein Solaredge sondern habe 2 SMA WRs. Den Tagesertrag der beiden WRs addiere ich schon zu einem Wert zusammen. Allerdings setzen die WRs den Wert Nachts um 0 Uhr wieder auf "0" zurück.
In Grafana kann ich sehen das der Wert scheinbar erst um 1 Uhr gelesen wird und da ist er natürlich "0".
Kann ich Grafana dazu bewegen den Wert um z.b. 23:30Uhr zu lesen?
Danke und Gruß
-
@wendy2702
Hallo,
ich hab eben mal nachgeschaut. Der Grafana Graph zeigt ja auf das Objekt "javascript.0.Solar.Wechselrichter.PVErzeugteEnergieAktuell" (also bei mir ist das so).Das Objekt (hab ich manuell angelegt) wird befüllt im Script PVBerechneTageswerte (auch bei mir).
Nur finde ich hier zwar einen Reset in der Nacht, der steht aber nicht auf 01:00 Uhr ???
Den Reset von Werten um 00:00 Uhr finde ich im Script PVErzeugteEnergieTag
Das wiederum passt aber nicht zum Graphen. -
@hennerich Danke für deine Bemühungen.
Der Reset um 0Uhr kommt bei mir von den WRs. Das macht SMA automatisch mit dem Tageswert um den für den nächsten Tag wieder bei „0“ starten zu lassen.
Ich habe bei SMA in diesem Register den Tagesertrag bis 0Uhr stehen:
Gibt es auch als kWh register welcher auch um 0Uhr zurück gesetzt wird.
Jetzt verstehe ich das in Grafana so das der letzte Wert um 1 Uhr erfasst wird. Da ist er aber schon wieder auf „0“ gesetzt.
Ich müsste also wissen wie ich Grafana dazu bewegen kann den letzten Wert des Tages um zum Beispiel 23:30Uhr zu erfassen.
Ich habe aber mal versucht dein Blockly an mein System anzupassen. Mal sehen was morgen Abend dann im Graph angezeigt wird.
Aber eigentlich ist es bei mir nicht notwendig den Tageswert extra zu berechnen da ich diesen ja aus dem WR auslesen kann.
Schöner wäre es wenn ich diesen direkt in Grafana verwenden könnte.
-
@hennerich danke für deine Ausführungen, das macht es viel einfacher !!
dennoch habe ich ein Problem mit meiner Modbus Instanz.
Weißt du hier Rat?modbus.1 2021-02-13 13:04:30.885 debug (17835) system.adapter.admin.0: logging true modbus.1 2021-02-13 13:04:16.096 debug (17835) Closing client on purpose. modbus.1 2021-02-13 13:04:15.094 debug (17835) Cleaning up request fifo. modbus.1 2021-02-13 13:04:15.092 debug (17835) Socket closed with error modbus.1 2021-02-13 13:04:14.978 info (17835) Disconnected from slave 192.168.0.98 modbus.1 2021-02-13 13:04:14.978 debug (17835) Closing client on purpose. modbus.1 2021-02-13 13:04:14.927 warn (17835) Poll error count: 12 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"} modbus.1 2021-02-13 13:04:14.926 debug (17835) Received pdu describes an error. modbus.1 2021-02-13 13:04:14.874 debug (17835) Poll holdingRegs DevID(1) address 40100 - 71 bytes modbus.1 2021-02-13 13:04:14.694 debug (17835) Poll holdingRegs DevID(1) address 40000 - 100 bytes modbus.1 2021-02-13 13:04:14.694 debug (17835) Poll device 1 modbus.1 2021-02-13 13:04:14.693 info (17835) Connected to slave 192.168.0.98
Ist ein Holding Register hier falsch? Ich vermute, dass ich die akt. FW am SE17k habe.
Danke! (deine Register 1:1 bei mir eingetragen)
-
@humidor hast du die beiden noch bei Eingangsregister eingetragen? Wie im anderen Thema.
Edit: jetzt am PC. Sehe das die im Holding eingetragen sind.
Ich antworte jetzt hier damit wir nicht zweigleisig Fahren was ich ungünstig finde.
Poste mal ein Bild von den aktuellen Register Einstellungen.
Hast du die beiden Register mal gelöscht um zu sehen ob es noch immer Error gibt?
-
@wendy2702 wenn alles leer ist, ist der Adapter Gelb (passt), Objekte sind bis auf Info leer
Log öffent /schließt den Socket, macht sonst nichts (debug)modbus.1 2021-02-13 15:31:36.550 debug (21337) Closing client on purpose. modbus.1 2021-02-13 15:31:35.550 debug (21337) Cleaning up request fifo. modbus.1 2021-02-13 15:31:35.550 debug (21337) Socket closed with error modbus.1 2021-02-13 15:31:35.374 info (21337) Disconnected from slave 192.168.0.98 modbus.1 2021-02-13 15:31:35.373 debug (21337) Closing client on purpose. modbus.1 2021-02-13 15:31:35.373 info (21337) Connected to slave 192.168.0.98
importiere ich die Settings in Holding Registers:
modbus.1 2021-02-13 15:34:11.228 debug (21615) sendTo "listUart" to system.adapter.admin.0 from system.adapter.modbus.1 modbus.1 2021-02-13 15:34:11.228 info (21615) List of port: [{"path":"/dev/ttyAMA0"}] modbus.1 2021-02-13 15:33:56.780 debug (21615) Closing client on purpose. modbus.1 2021-02-13 15:33:55.778 debug (21615) Cleaning up request fifo. modbus.1 2021-02-13 15:33:55.778 debug (21615) Socket closed with error modbus.1 2021-02-13 15:33:55.710 info (21615) Disconnected from slave 192.168.0.98 modbus.1 2021-02-13 15:33:55.709 debug (21615) Closing client on purpose. modbus.1 2021-02-13 15:33:55.659 warn (21615) Poll error count: 7 code: {"errorCode":131,"exceptionCode":2,"message":"ILLEGAL DATA ADDRESS"} modbus.1 2021-02-13 15:33:55.658 debug (21615) Received pdu describes an error. modbus.1 2021-02-13 15:33:55.533 debug (21615) Poll holdingRegs DevID(1) address 40100 - 71 bytes modbus.1 2021-02-13 15:33:55.385 debug (21615) Poll holdingRegs DevID(1) address 40000 - 100 bytes modbus.1 2021-02-13 15:33:55.385 debug (21615) Poll device 1 modbus.1 2021-02-13 15:33:55.384 info (21615) Connected to slave 192.168.0.98
die 40100 bleiben leer, es wird nicht gepollt:
nehme ich die 40100 aus der Instanz raus:
modbus.1 2021-02-13 15:38:38.887 debug (21828) Poll holdingRegs DevID(1) address 40000 - 100 bytes modbus.1 2021-02-13 15:38:38.886 debug (21828) Poll device 1 modbus.1 2021-02-13 15:38:37.721 debug (21828) Poll holdingRegs DevID(1) address 40000 - 100 bytes modbus.1 2021-02-13 15:38:37.720 debug (21828) Poll device 1 modbus.1 2021-02-13 15:38:36.633 debug (21828) Poll holdingRegs DevID(1) address 40000 - 100 bytes modbus.1 2021-02-13 15:38:36.633 debug (21828) Poll device 1 modbus.1 2021-02-13 15:38:35.468 debug (21828) Poll holdingRegs DevID(1) address 40000 - 100 bytes modbus.1 2021-02-13 15:38:35.468 debug (21828) Poll device 1 modbus.1 2021-02-13 15:38:34.296 debug (21828) Poll holdingRegs DevID(1) address 40000 - 100 bytes modbus.1 2021-02-13 15:38:34.296 debug (21828) Poll device 1 modbus.1 2021-02-13 15:38:33.206 debug (21828) Poll holdingRegs DevID(1) address 40000 - 100 bytes
schaut aus wie wenn es ohne Fehler läuft.dh ab 40100 stimmt was nicht.
-
@humidor Oha, du hast noch editiert.
Dann musst du mal in der Anleitung passend zu deiner Firmware schauen ob es diese Register gibt und wie die Einstellungen sind.
-
@wendy2702 sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
@humidor Oha, du hast noch editiert.
Dann musst du mal in der Anleitung passend zu deiner Firmware schauen ob es diese Register gibt und wie die Einstellungen sind.
ich glaub ja viel, aber nicht dass es spezifisch zu meiner FW eine Doku gibt...
sollte das diese sein?
ich denke eher, dass es an den Werten liegt, wo es keine HW gibt, ich habe keinen SW-Gridmeter
-
@humidor Also bei SMA gab es zu Beginn der Modbus Einführung verschiedene Register für Verschiedene WRs.
Gibt es denn zu deinem WR eine MODBUS Beschreibung?
Bei SMA ist es so, wie du im EXCEL sehen kannst, das auch immer die SW Version mit angegeben ist.
-
@humidor sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
@wendy2702 sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
@humidor Oha, du hast noch editiert.
Dann musst du mal in der Anleitung passend zu deiner Firmware schauen ob es diese Register gibt und wie die Einstellungen sind.
ich glaub ja viel, aber nicht dass es spezifisch zu meiner FW eine Doku gibt...
sollte das diese sein?
ich denke eher, dass es an den Werten liegt, wo es keine HW gibt, ich habe keinen SW-Gridmeter
40100 ist DC Leistung, dafür braucht es keine weitere HW. Die sollte der WR schon selber kennen da an Ihm die Module angeschlossen sind. Du bekommst ja auch Werte für DC Strom und Spannung.
-
1 40190 M_AC_Current AC Current (sum of active phases) A uint16be 1 1 0 value true false 1 40194 M_AC_Current_S F AC Current Scale Factor SF int16be 1 1 0 value true false 1 40206 M_AC_Power Total Real Power (sum of active phases) W int16be 1 1 0 value true false 1 40210 M_AC_Power_SF AC Real Power Scale Factor SF int16be 1 1 0 value true false 1 40226 M_Exported Total Exported Real Energy Wh uint32be 2 1 0 value true false 1 40234 M_Imported Total Imported Real Energy Wh uint32be 2 1 0 value true false 1 40242 M_Energy_W_SF Real Energy Scale Factor SF int16be 1 1 0 value true false
ab diesen Werten verursacht es bei mir Fehler, ich erkenne eine Beziehung zu einem Gridmeter (den es bei mir nicht gibt).
sonst funktionierts!
jetzt noch die JS Umrechnung verstehen... wohin der Wert geschrieben wird
wo findet sich denn das: Solar.Wechselrichter.PVLeistungAktuell
kann es sein, dass das JS-Script nicht läuft (habs gestartet...) ??
-
@humidor sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
ab diesen Werten verursacht es bei mir Fehler, ich erkenne eine Beziehung zu einem Gridmeter (den es bei mir nicht gibt).
Da stimme ich dir zu. Das kann der WR nicht wissen.
@humidor sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
sonst funktionierts!
Auch mit 40100 ?
@humidor sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
wo findet sich denn das: Solar.Wechselrichter.PVLeistungAktuell
Du hast jetzt im Ordner Javascript.0 einen Unterordner "Solar/Wechselrichter". Darin sollte der DP sein.
So in etwa: