NEWS
ModBus-Scale Factor Problem
-
Im kurzen Testlauf meines SE5k mit Modbus-Zähler habe ich auch feststellen müssen, dass der Skalierungsfaktor von der aktuellen Leistung abhängt.
Ich würde schätzen - aktuelle Leistung * 10 hoch (Skalierungsfaktor-65536)
Da ich noch keinen Zweirichtungszähler / Endabnahme durch EVU habe, kann ich noch nicht weiter testen.
Wäre also toll, wenn jemand entweder einen SolarEdge-Adapter auf Basis des Modbus-Adapters oder auf Basis des ?? Webseiten-Auslese-Adapters ?? (Wie heißt der gleich?) bauen könnte - ich kanns nicht.
Letzteres wäre u.U. umfangreicher, aber vom SolarEdge-Server abhängig. Dafür ist dann keine Umrechnerrei erforderlich
verlinkte API und PHP-Schnipsel siehe https://www.photovoltaikforum.com/wechselrichter-f3/solaredge-api-nutzen-t122938.html
-
Das Problem bei der API-Abfrage ist, dass der Intervall der Daten auf 15Min. beschränkt ist.
Auch die Abfrage ist begrenzt pro 24Std.!
-
Das mit dem variablem Scale Factor ist natürlich "dumm".
Kann man das eventuell irgendwie weg konfigurieren? Macht aus meiner Sicht eh keinen großen Sinn den variabel zu machen, aber wenn es so implementiert ist.
-
ehome hat weiter oben die Verwendung des Scalefaktors ja schön beschrieben.
Gibt es trotzdem noch Probleme? Wo genau und welchen Wert wollt Ihr konkret lesen?
-
Ich würde schätzen - aktuelle Leistung * 10 hoch (Skalierungsfaktor-65536) `
Wie würde dann die Rechnung aussehen?
Das wäre ja ein enormer Exponent
-
Wenn ihr rausgefunden habt wie genau die Berechnung s in muss kann man den modbus Adapter normal laufen lassen, beide Werte auslesen lassen und bei Aktualisierung per JavaScript den richtig errechneten wert in einen State schreiben. Sind 3 Zeilen JavaScript und braucht keinen extra Adapter ;-))
-
Wenn ihr rausgefunden habt wie genau die Berechnung s in muss kann man den modbus Adapter normal laufen lassen, beide Werte auslesen lassen und bei Aktualisierung per JavaScript den richtig errechneten wert in einen State schreiben. Sind 3 Zeilen JavaScript und braucht keinen extra Adapter ;-)) `
Ich habe gleiche Meinung
-
Mit einem einfachen Skript kann man dann die Tatsächlichen Werte in javascript oder so wie ich es mache, in Wrapper Objekte schreiben. `
Hallo Olli.
Muss beim Wrapper im voraus eine Struktur etc. definiert werden oder schreibt das Skript alles automatisch korrekt in den Wrapper?
Mach mich noch etwas schwer damit…
Danke
Patrick
-
Wenn ihr rausgefunden habt wie genau die Berechnung s in muss kann man den modbus Adapter normal laufen lassen, beide Werte auslesen lassen und bei Aktualisierung per JavaScript den richtig errechneten wert in einen State schreiben. Sind 3 Zeilen JavaScript und braucht keinen extra Adapter ;-)) `
Ich habe gleiche Meinung `
Schade, auch ich hab damit leider ein paar Probleme.
-
Wenn ihr rausgefunden habt wie genau die Berechnung s in muss kann man den modbus Adapter normal laufen lassen, beide Werte auslesen lassen und bei Aktualisierung per JavaScript den richtig errechneten wert in einen State schreiben. Sind 3 Zeilen JavaScript und braucht keinen extra Adapter ;-)) `
Ich habe gleiche Meinung `
Also - wie ich geschrieben habe - benutze ich ja ein paar Zeilen javascript Code um die Werte zu berechnen.
Ich habe nie gesagt, dass man dafür einen extra Adapter braucht! Nichts spricht dagegen einfach Javascript Variablen zu nutzen.
Den Wrapper-Adapter nutze ich halt gerne, da er aus meiner Sicht einige praktische Vorteile hat.
-
Ich würde schätzen - aktuelle Leistung * 10 hoch (Skalierungsfaktor-65536) `
Wie würde dann die Rechnung aussehen?
Das wäre ja ein enormer Exponent `
Hmm, der Scale Factor würde mich auch überraschen ….
Wie https://forum.iobroker.net/viewtopic.php?f=20&t=6887&p=85299#p85299 kann es sein, dass man die Adressen etwas verschieben muss um sinnvolle Werte zu bekommen. Man kann seine Berechnungen ja aktuell immer mit dem SolarEge Portal vergleichen um zu sehen, ob man richtig liegt …
-
Ich habs mittlerweile auch hinbekommen mit deinem Script. Ein Adapter wäre natürlich aber trotzdem toll.
Christian
-
Also ich habe hier noch ein Problem mit der Darstellung im Wrapper…..
Wenn ich in den Einstellungen der Modbus Register meine entsprechendes Register mit einem Faktor 0.1 einsetze so erhalte ich im Wrapper eine Darstellung auch mit 0.xxxx
Gerne möchte ich jedoch, dass im Wrapper keine Kommazahl erscheint. So habe ich in den Einstellungen der Register den Faktor auf 1 gesetzt. Danach erhalte ich im Wrapper nur noch als Wert "true". Siehe Fotos.
Was mache ich da falsch?
-
Hallo zusammen,
ich habe seit Mai eine PV mit SE7K Wechselrichter. Mein Problem ist, das der Ertragswert 40083 I_AC_Power springt. Damit meine ich, dass scheinbar der Skalierungswert (Faktor) zwischen 0.1 und 1 pendelt. Gibt es eine Möglichkeit, dies zu unterbinden, bzw. die Einstellungen entsprechend anzupassen?
Über eure Unterstützung würde ich mich freuen.
Danke und Grüße,
Ralf
-
Hallo Ralf.
Also ich lese mit dem Register 40101 die aktuelle Produktion aus und verwende dazu den SF von 40102.
Versuche es mal damit.
Pat
-
Hallo Pat,
vielen Dank für die Nachricht. Ich hatte ein Verständnisproblem mit der Berechnungsweise. Man benötigt immer Wert x Faktor, dann funktioniert es. Trotzdem vielen Dank für deine Nachricht.
Grüße
Ralf
P.S: Mit den Registern 40083 und 40084 bekomme ich meine benötigten Daten.
-
Hallo an Alle mit einem SolarEdge,
Also ich lese den Scale Factor aus und bekomme Werte von 0, -1 bis -5 und dieser (-) Wert gibt an um wie viel das Komma beim Current Power AC verschoben werden muss.
Ich hatte auch das Problem das irgendwas mit 65534 Angezeigt wurde aber ich habe mir die Dokumentation vom SolarEdge Modbus besorgt und die Daten für den Scale Factor neu eingegeben und jetzt funktioniert es, es gibt auch noch andere Werte die den Scale Factor Verwenden und je nach Leistung Variable sind.
Ich habe mir auf die Schnelle (bin kein Programmiere) ein Programm mit Blockly zusammen gebaut und Skaliere die Werte, sieht in etwa so aus
Wenn jemand eine bessere Idee hat wie das Programm aussehen könnte, bitte Posten - danke.
Ich habe das mal mit Node-Red gemacht, und das sieht schon nicht so schlecht aus
Ich habe auch einen FLOT erstellt da habe ich aber noch ein altes Script verwendet und hatte ein paar peaks wenn sich die Skalierung beim SolarEdge geändert hat, mit dem neuen Script muss ich das erst noch überprüfen.
Grüße,
Stefan
-
Hi,
ich habe ein Problem mit dem Wert, den ich über den Modbus-Adapter über die Adresse 40084 auslese.
Und zwar stimmt der Wert solange die Anlage Strom produziert, sobald die Anlage nichts produziert (z.B. früh morgens, wenn keine Sonne scheint), dann liefert mit die Adresse 40084 einen Wert.
In der App wird auch kein Wert angezeigt!Habt ihr das Problem auch?
Was kann das sein?
-
Hallo,
ich habe meinen SE-WR auch am Laufen und gerade umgestellt von API auf Mod-Bus. Ich triggere zum Umrechnen von ("Wert" * 10 hoch "SF") eben nicht über ein schedule, sondern über eine Subskription auf "Wert". Ich erhalte dann wie Du ab und an solche Spitzen. Ich vermute, es liegt daran, dass sich der Wert geändert hat und der SF noch nicht der aktuelle ist; also in dem Moment, in dem der Mod-Bus neue Werte einträgt, schiesst mein javascript dazwischen und rechnet im Falle einer "Bereichsumschaltung", den neuen "Wert" mit dem alten "SF". Ich müsste also noch solange warten bis auch der neue SF eingetragen wurde. Aber wie mache ich das; insbesondere weil ja ohne Bereichsumschaltung auch mal nur der Wert ein update erhält.
Ich möchte meinen History-Speicher schonen und deshalb nicht mit schedule, sondern mit der Subskription nur bei Änderung rechnen.Hat irgendjemand dafür einen Ansatz?