NEWS
UNSOLVED Solaredge mit Zigbee einbinden?
-
TCP einschalten:SunSpec Logging in SolarEdge Inverters.pdf
Als erstes:
Firmwareversion prüfen: Seite 2
-> sonst am besten Solaredge Support anrufen mit der bitte sie sollen das Update online einspielenbitte um Feedback (und ist der Wechselrichter mit Display?)
-
Die Firmware ist neu, hatte vor einigen Wochen einen Blitzeinschlag und es hat mir die Platine zerfetzt. Die Software wurde da auch neu mit aufgespielt.
Ich habe mal ein paar Fotos vom Bildschirm gemacht wo ich dachte dass interessant wären:
-
Im Modbus habe ich die IP-Addresse des Wechselrichters eingegeben und wie auf dem Foto zu sehen, bleibt der Status auf Gelb:
-
Im Wechselrichter Modbus TCP bereits freigegeben? Siehe obige Anleitung Seite 14.
Achtung, den Wechselrichter musst Du öffnen um an die Tasten zu kommen. Gefahr eines Stromschlages! Handbuch des Wechselrichters studieren was zu beachten ist! -
Ich habe TCP im Wechselrichter aktiviert:
Wie erwartet war es vorher ausgeschaltet. Trotzdem steht der Status von Modbus im ioBroker auf gelb. Gibt es vieleicht noch eine Einstellung im Wechselrichter die ich aktivieren muss?
-
Folgendes habe ich im Log gefunden:
Vieleicht weiss jemand was das bedeuten soll
-
Ich meine mich zu errinnern, dass ich am nach der Konfiguration am Wechselrichter den IO-Broker auch mal neu starten musste (bin mir auch nicht mehr sicher - aber vesuchen kann man es ja).
Wenn Du den Modbusadapter stoppst und startest (unter Instanzen) was steht dann im Log?
Hast Du unter Holding-Registers schon was eingetragen? Im Anhang mal mein Beispiel. Evt. mal nur mit der Wechselrichter-Leistung anfrangen
-
Hey, du hattest recht, nachdem ich den ioBroker neu gestartet habe, wechselte der Status auf Grün
Die erste Kolonne habe ich dann genauso ausgefüllt wie du. Ich gehe davon aus, dass das die Momentane Leistung ist? Er spuckt mir einen Wert aus von 21365. Was natürlich nicht stimmen kann. Die Momentane Leistung beträgt 4000W. Muss dieser Wert noch irgendwie umgerechnet werden? -
Der Wert muss tatsächlich noch mit dem Scale Faktor umgerechnet werden - Schauen wir uns aber am besten erst später an, wenn wir soweit plausible Werte haben. Der Scale Faktor schiebt denn Wert für den Moment einfach um eine 10er Stelle. Somit sollte der Wert schon übereinstimmen. Der Wert sollte sich vor allem immer auch leicht ändern.
Ich musste damals auch etwas den Adressen rumspielen. Versuch mal die Start-Adresse (im obigen Bild rechts oben) mit 40001 und 40000 aus.
Hier noch 2 Bilder wie es weiter bei mir aussieht.
Der Wert 21950 der gelesen wird entspricht den 2.28kW des Portals (kleine Abweichung da die Printscreens nacheinander aufgenommen wurden) -
Ich muss sagen, dein Widget sieht richtig schick aus, schön gemacht
Irgendetwas ist bei mir nicht normal. Heute war mein Modbus Adapter einfach verschwunden. Er war bei den Instanzen nicht mehr zu finden, also habe ich ihn nochmal installiert. Als ich am probieren mit den Adressen war, tauchte er dann zweimal in den Instanzen auf. Ich hab mich dann dafür entschieden beide zu deinsatllieren, und nochmal von vorne anzufangen.
Das habe ich dann auch gemacht (ebenfalls mit Neustart) und habe dann einfach zum ausprobieren mal die selben Adressen eingegeben wie du.
Ich habe mir gedacht, dass mein WR vielleicht die selben Adressen wie deiner. Heraus kommt folgendes:
Er spuckt mir nur zwei Werte aus, und der Status bleibt ebenfalls auf Gelb. Ich bin das ganze Menü im WR einmal durchgegangen, aber leider entsprach keiner dieser beiden Zahlen einem Wert im WR.
Wie hast du die richtigen Adressen gefunden? Du hast hoffentlich keine 200 Adressen ausprobiert? -
@Paan83 sagte in Solaredge mit Zigbee einbinden?:
Ich muss sagen, dein Widget sieht richtig schick aus, schön gemacht
Danke - ist aber kein Widget von mir sondern aus dem Monitoring Portal von Solaredge.
Wie hast du die richtigen Adressen gefunden? Du hast hoffentlich keine 200 Adressen ausprobiert?
Grundsätzlich sind die Adressen ist in der SunSpec Beschreibung (mein Beitrag weiter oben 7. Juni 2019, 19:35)
Als erstes müssen wir aber wohl den Adapter wieder auf grün bringen:
Ich würde mich mal auf 1-2 Werte konzentieren. Am Besten alles löschen ausser 40084 (aktuell Produzierte Leistung) und 40085 (der dazugehörige Skalierfaktor).
So hattest Du es doch schon mal auf grün? Dann sollten wir das ja wieder zum laufen bringen...
Steht den im Log etwas wenn du den Adapter stoppst und startest?Weiter zum ausprobieren mit den Adressen. Mit der Start-Adresse hatte ich folgendes Feld gemeint (siehe Markierung). Versuch mal 40001 und 40000.
-
Die beiden Addressen 40084 und 40085 habe ich drin gelassen und alle anderen rausgelöscht und tatsächlich scheint der Modbus Adapter jetzt auf Grün stehen zu bleiben
Auch die Werte scheinen soweit zu passen. Hier ein Beispiel:
8378 x 10^0= 8378W das stimmt soweit mit der Produktion überein.
Hast du ein Skript benutzt, damit er die Werte automatisch umrechnet?
@sol21 said in Solaredge mit Zigbee einbinden?:
Weiter zum ausprobieren mit den Adressen. Mit der Start-Adresse hatte ich folgendes Feld gemeint (siehe Markierung). Versuch mal 40001 und 40000.
Die Startadresse steht schon standardmässig auf 40001, das brauch ich doch eigentlich nicht anzurühren, ich tippe ja nur meine Werte unten in der Zeile ein oder?
-
Ja, grundsätzlich klappt es auch mit einem einfachen Blockly (hatte ich früher mal) mit der Rechnung wie Du sie geschrieben hast.
Wenn Du nur den Wert anzeigen willst ist das auch gut. Bei mir gab es dann allerdings bei einer Kurvenaufzeichnung unschöne Spitzen. Die kommen scheinbar daher, dass der Scale-Faktor und der Wert nicht 100% gleichzeitig umschalten.
Ich bekam dann Hilfe aus dem Forum und seither habe ich folgendes Script/* Quelle Script: http://forum.iobroker.net/viewtopic.php?f=21&t=3961 */ function convertValue(value, factor) { if (value === null) return; if (factor === null) factor = 0; setState('PV_Leistung', value * Math.pow(10, factor), true); } createState('PV_Leistung', { name: 'AC Power value', unit: 'W', min: 0, type: 'number', role: 'value.energy' }, function () { on('modbus.0.holdingRegisters.40084_WR_Leistung', function(obj) { var timeout = setTimeout(function () { clearTimeout(timeout); var factorState = getState('modbus.0.holdingRegisters.40085_WR_Leistung scale'); convertValue(obj.state.val, factorState ? factorState.val : 0); }, 100); }); var factorState = getState('modbus.0.holdingRegisters.40085_WR_Leistung scale'); var valueState = getState('modbus.0.holdingRegisters.40084_WR_Leistung'); convertValue(valueState ? valueState.val : null, factorState ? factorState.val : 0); });
Klappt gut, einfach kontrollieren dass die Variablen im Modbus Adapter gleich heissen (40084_WR_Leistung und 40085_WR_Leistung scale) oder im Code anpassen.
Neu gibt es nun das Objekt "PV_Leisung" mit der berechneten Leistung.Die Startadresse steht schon standardmässig auf 40001, das brauch ich doch eigentlich nicht anzurühren, ich tippe ja nur meine Werte unten in der Zeile ein oder?
Die Start-Adresse war nur als Idee gedacht wenn wir den Adapter nicht auf grün kriegen. Also alles i.O.
-
Erstmal möchte ich dir danken dass du mir soviel geholfen hast, ohne dich hätte ich das nicht hingekriegt
Dies wird jetzt mein erstes Script werden! Bitte siehs mir nach, wenn ich noch die ein oder ander Frage dazu hätte
Ich werde es mal heute Abend, wenn ich von der Arbeit komme, ausprobieren. -
Bin auch immer um die Hilfe hier im Forum froh. Daher versuche ich auch ab und zu etwas zurück zu geben.
Also kein Problem und gern geschehen, freue mich wenn ich helfen konnte. -
Ja es ist einfach schön wenn man etwas ans laufen kriegt
Nur hab ich jetzt das Problem dass mein ioBroker extrem langsam geworden ist. Es hat jetzt eine Resaktionszeit von geschätzt 2s, egal worauf ich klicken möchte. Wenn ich den Adapter ausschalte läuft es wieder normal. Fragt der veilleicht zu oft die Werte ab? Könnte ich da was umstellen damit der weniger Ressourcen verbraucht?
IoBroker läuft momentan auf einem Raspberry. Irgendwann möchte ich mal umsteigen...Bei laufendem Modbus zeigt er mir folgende Nutzung an, sieht für mich aber noch ganz in Ordnung aus:
aber vieleicht ist der Prozessor überlastet...ich weiss aber nicht wo ich das überprüfen kann beim Raspi... -
Nun bin ich wirklich kein Spezialist mehr
Aber lass es uns trotzdem versuchen. Ich habe auch einen Raspberry V3 (Mod. B) und der läuft zwar nicht wie eine Rakete aber i.O. und definitiv keine 2s Verzögerung. Welche Version hast Du?Da Du die Verzögerung nur mit eingeschaltetem Modbus hast, schauen wir uns das mal an. Hier meine Einstellungen. Sind wohl etwas träger aber kannst es ja mal versuchen ob es bei Dir was ändert.
Nehme an die Adapter sind alle aktuell?
Gibt es im Log irgendwelche Meldungen? -
Ich habe ebenfalls einen Raspberry Pi3 Modell B+, hab ihn genau vor einem Monat gekauft, dürfte also der neueste sein
Ja die Adapter sind alle aktuell und im Log steht nichts ungewöhnliches.Ich habe die Einstellungen genauso eingesetzt wie bei dir. Wenn er den Wert aktualisiert, dann hängt er zwischen 1 und 2s fest. Ich habe den Poll Delay Wert mal um eine 0 vergrössert, das bedeutet, dass er nur noch alle 100s einen neuen Wert abfragt. Dies wäre für mich akzeptabel, aber warum hängt er bei mir, und nicht bei dir?
-
Habe jetzt auch keine Idee... Lass uns doch noch die Adapterversionen konkret vergleichen.
ich habe:
- modbus: 3.0.0
- admin: 3.6.3
- js-controller: 1.4.2
-
Ich habe
- modbus: 2.0.9
- admin: 3.6.2
Wie hast du die Version 3.0.0 vom Modbus bekommen, meiner zeigt mir nicht an, dass ich ihn updaten müsste, oder ist das eine Beta Version?
Admin werde ich bei Gelegenheit updaten.Was ist der js-controller?
Sorry für die Fragen, aber ich lerne jeden Tag dazu...