NEWS
Test Adapter sun2000 v0.1.x - Huawei Wechselrichter
-
Ich habe gerade den Adapter sun2000 in der Version 0.1.3 hier https://github.com/bolliy/ioBroker.sun2000 veröffentlicht. Der Adapter ist ebenfalls auch auf https://www.npmjs.com/package/iobroker.sun2000 deployed.
Repository: bolliy/ioBroker.sun2000 · Tag: v0.1.3 · Commit: 2e75cee · Released by: github-actions[bot]
• display the data from PV strings (#27)
• optimize the timing of interval loop
• improved handling of read timeouts from more then 2 inverters
Über ein Feedback würde ich mich freuen -
@torkel Bitte die neue Version 0.1.3 installieren (siehe oben). Ich bin gespannt ob es nun funktioniert.
-
@bolliy habs installiert, aber bei mir keine Verbesserung...
-
Ok, dann stelle ich mal die Frage in die Runde:
Hat noch jemand TimeOuts oder Lesefehler bei dem sun2000 Adapter ab Version 0.1.2 ?
Der- oder diejenige bitte bei mir melden damit wir der Ursache auf den Grund gehen können.Benötigte Informationen
Fehlerbeschreibung:
Adapter Version:
Anzahl der WR:
Dongle Version:Natürlich freue ich mich auch über Anmerkungen, dass der Adapter ohne Probleme läuft.
Vielen Dank für eure Unterstützung!
-
@torkel werden dennoch Daten ausgelesen?
-
@heinzie sagte in Test Adapter sun2000 v0.1.x - Huawei Wechselrichter:
Hallo,
vielen Dank für den Adapter.
Läuft bei mir bisher ohne Probleme.Suche noch die Variablen für Input / Leistung für String 1 u. 2
Gibt es die auch oder bin ich gerade nur blind?
VG
heinzieab Version 0.1.3 werden die Strings im inverter/string gespeichert. LG Stephan
-
@bolliy ja, daten werden ausgelesen. Also wenn ich das Log nicht sehen würde, dann hätte ich es nicht bemerkt, dass er da ab und zu in Timeout läuft. Ok, ich weis nicht was hinter den Referenzen steht die in Timeout laufen, vielleicht aktualisiert er dann einfach nur jedes dritte/vierte mal, aber das merke ich ja nicht, sonst müsste ich ein Log haben, wo ich sehe, wann ein Value aktualisiert wurde (timestamp) damit ich verifizieren kann, welche Werte wann aktualisiert werden.
Aber wenn sonst niemand das Problem hat, würde ich es sonst so stehen lassen. Für mich passt es ja von der Anzeige her und das Log ist einfach ein bisschen unschön.
-
@torkel achte mal darauf in welchem Interall der Wert sun2000.0.collected.houseConsumption aktualisiert wird. Der Wert wechselt auch bei Dunkelheit. Fragt dein SmartFox noch über modbus die WR ab? Ansonsten vielleicht den SmartFox mal ausschalten, da der parallele Betrieb nicht funktioniert.
Wenn du mehr Informationen sehen möchtest, schalte den Adapter in debug mode.
Wir warten sonst einfach auf weitere Hinweise aus der Community.
-
@bolliy ok, er hat da schon recht viele Unterbrüche, wenn ich es im Log ausgebe. Ich muss sonst am Wochenende nochmals schauen wenn ich zu Hause bin und die Anlage Strom produziert.
-
Ich habe gerade den Adapter sun2000 in der Version 0.2.0 hier https://github.com/bolliy/ioBroker.sun2000 veröffentlicht. Der Adapter wurde ebenfalls auch auf https://www.npmjs.com/package/iobroker.sun2000 deployed.
Bitte den Adapter über npm installieren, damit keine unfertige Version in ioBroker eingespielt wird!Changelog:
- Add sun2000 to latest (https://github.com/ioBroker/ioBroker.repositories/pull/3219)
- improve error handling (#34)
- add simple optimizer info
- Riemann sum of input power with energy loss for new state
dailySolarYield
- try to recreate the "yield today" from the fusion portal in state
dailyInputYield
Über Tests und euer Feedback freue mich sehr.
-
Changelog:
- add simple optimizer info
sollte ich hier schon mehr Infos von den Optimierer sehen?
-
@melonea ja, das sind zur Zeit alle optimizer Informationen.
Weitere Optimizer Daten müssen über ein file upload erfolgen. Siehe issue https://github.com/bolliy/ioBroker.sun2000/issues/22
Da möchte sich ein contributer einbringen um dieses umzusetzen. Das wird aber sicherlich dauern, da ein Unterstützer sich erst in die Adapterprogrammierung einarbeiten muss.Stephan
-
Energieertrag:
Der/dem einen oder anderen ist sicherlich schon aufgefallen, dass der Energieertrag (Yield today) aus der App und dem FusionSolar Portal nicht mit dem sun2000.0.collected.dailyEnergyYield übeinstimmt. Der dailyEnergieYield (Register 32114) beschreibt die Energie (AC, Wechselstrom), die aus dem Wechselrichter in Richtung Hausstromkreis für heute übertragen wurde. Also nicht - wie der Name vielleich suggeriert - der Tagesenergieertrag. Huawei hat sich allerdings für den Energieertrag (Yield today) eine tolle Formel ausgedacht:
Yield today = dailyEnergyYield + currentDayChargeCapacity - currentDayDischargeCapacity - Energieverlust des Speichers
Nach meiner Auffassung erfüllt diese Berechnung von Huawei nicht der Erwartung der NutzerInnen.
Deshalb habe ich mich entschlossen, über den InputPower (genauer: inputPowerWithEfficiencyLoss) mit einem sog. Riemannsches Integral (https://de.wikipedia.org/wiki/Riemannsches_Integral) den SolarErtrag aufzusummieren und im State dailySolarYield zu speichern. Es versteht sich von selbst, dass das Riemannsches Integral einen ganzen Sonnentag benötigt um den korrekten dailySolarYield anzeigen zu können.Der Wert Yield today von Huawei wird unter Berücksichtung von 3% Energieverlust des Speichers berechnet und im State dailyInputYield abgelegt.
Links:
https://community.home-assistant.io/t/integration-solar-inverter-huawei-2000l/132350/1432
https://github.com/wlcrs/huawei_solar/wiki/Daily-Solar-YieldIch freue mich auf eine rege Diskussion
-
Hi,
ich nutze den Adapter sehr gerne.
Wäre es möglich ein größeren Timeout zu setzen wenn die Verbindung zum Dongle nicht geklappt hat?
Heute Abend war meine Logs voll von Verbindungsversuchensun2000.0 2024-01-25 23:14:18.033 warn Error while reading from 192.168.178.45: [32000|116] id: 1 '' with : Timed out sun2000.0 2024-01-25 23:14:08.015 info Connected Modbus IP to: 192.168.178.45 /PORT 502 sun2000.0 2024-01-25 23:14:07.012 info Open Connection... sun2000.0 2024-01-25 23:14:07.010 warn Error while reading from 192.168.178.45: [37765|2] id: 1 '' with : Timed out sun2000.0 2024-01-25 23:14:01.505 info Connected Modbus IP to: 192.168.178.45 /PORT 502 sun2000.0 2024-01-25 23:14:00.502 info Open Connection...
Ich versuche mich in die Entwicklung der Adapter einzuarbeiten und lese fleißig die Python Implementierungen um die Optimierer zu unterstützen. Falls jemand bezüglich Modbus Custom Functions Erfahrungen hat bitte melden.
Grüße
Alex -
@googie Hi, ist dein WR vielleicht in den Standby Mode gegangen? Wenn der SOC der Batterie auf den sun2000.0.inverter.0.battery.dischargeCutoffCapacity entladen hat und AC laden ausgeschaltet ist, geht die Batterie und ggf. der WR auf Standby. Dann kommt es zu den Timeouts am Abend.
Lg Stephan
-
erstmal klasse Arbeit zu dem Adapter sun2000.
habe eine etwas andere spezifikation. Verwende keinen Dongle am Master WR, sondern den SmartLogger3000. Funktioniert fast perfekt, es können nur ein paar ModbusRegister nicht gelesen werden .
-
@kauli hallo vielen dank
Beim Dongle wäre:
37000/37113 der Smart Meter
37770 die BatterieDen SmartLogger 3000 unterstüzt der Adapter leider nicht.
Vielleicht könnte man den SmartLogger 3000 später einpflanzen.Zur Zeit möchte ich aber erst mal den Adapter ins Repo bringen.
Ansonsten schreib doch ein issue (https://github.com/bolliy/ioBroker.sun2000/issues), damit ich es nicht vergesseLg Stephan
-
Hallo bolliy,
danke für das Plugin. Ich habe das bei mir laufen aber renne immer wieder in Probleme so, dass ich z.T. Timeouts bekomme. Ich habe zwei Wechselrichter und habe deren IDs (1,2) auch korrekt eingegeben. Am Wechselrichter mit der ID 2 hängt eine Batterie und der hat auch Zugriff auf den Smartmeter.
Das Abfrageintervall habe ich schon auf 60s gesetzt! Trotzdem bekomme ich sogar bei diesem Intervall vereinzelt folgende Meldungen im Protokoll:Error while reading from 192.168.1.x: [37000|68] id: 2 '' with : Modbus exception 6: Slave device busy (retry request again later)
...
Error while reading from 192.168.1.x: [47081|8] id: 2 '' with : Port Not Open
...
Error while reading from 192.168.1.x: [37765|2] id: 1 '' with : Timed out
...Habt ihr bei euch auch dieses Problem oder gibt es ein Tipp wie man es lösen kann? Der Effekt tritt auch auf wenn ich das mit dem anderem SUN2000_modbus Plugin teste und ich sehe Verbindungsabbrüche wenn ich z.B. mit der NRGKick App drauf zugreifen will. Das Netzwerk ist aber ok, die Error Meldungen z.B. mit "Slave device busy" kommt ja auch direkt vom Wechselrichter.
Wenn ich Daten abfrage, bemerke ich auch, dass die Antwortzeit hier auch stark variiert. Im SUN2000_modbus Plugin habe ich z.B. gesehen, dass die SLOW Abfrage (Abfrage aller möglichen Register) > 50s dauerte. Bis eben zu Meldungen wie Timeout oder Slave is Busy.
Das ModBus Feature wurde zum Test auch mal deaktiviert und wieder aktiviert mit der Hoffnung, dass sich da vielleicht was neu startet.Hat vielleicht wer anderes auch diese Probleme bei sich beobachtet oder konnte diese ggf. schon lösen?
Gruß
lcars -
@lcars Hallo Lars,
Normalerweise hängt am Master der Dongle, der Smartmeter und die erste Batterieeinheit. Insofern könnte es sein, das die ID 2 der Master ist. Dann müsste die Einstellung für die Ids = 2,1 lauten.
In deinem andern Post hast du ein Fehler beim Zugriff auf 37700 aufgezeigt. Das wäre die SN der 2ten Battery Unit., die du u.U. nicht hast.Sofern du mit mehreren Clients auf den Modus (seriell) zugreifen möchtest, benötigst du einen sog. modbus proxy. In einem anderen Projekt (Home Assistant) wird auf den https://pypi.org/project/modbus-proxy/ verwiesen. Den Proxy habe ich allerdings noch nicht eingesetzt.
Wichtig ist es auch die Software von den WR und dem Dongle auf den neusten Stand upzudaten.
Stephan
-
@bolliy Das mit der geänderten Angabe der IDs habe ich gleich getestet und mal das Abfrageintervall verkürzt auf 10s aber seht selbst:
So sehen die Einstellungen bei mir aus: