NEWS
[HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker
-
Ich würde gerne den Tag als Zeitbereich fixieren, allerdings sollte dann bis zum Ende nicht eine Gerade erscheinen wenn ich erst bei 13 Uhr bin.
es sollte ehr so aussehen...
-
Nachdem ich nun schon einige Zeit Dank der tollen Anleitung von @andre meinem S10 auslese und visualisiere, möchte ich einfach Dank sagen für die Arbeit. Es war sogar der Startschuss, mich überhaupt mit iobroker zu befassen und einzusteigen
So sieht es bei mir aktuell auf der PV-Detailseite aus:
-
Super Anleitung!
Ich vermisse noch eine Möglichkeit die externen Quellen (bei mir ein zweiter Wechselrichter und ein BHKW) getrennt auszulesen. In der E3DC App/Webseite kann ich bei Klick auf die externen Quellen die Werte von Leistungsmesser 1 bis 3, die ich im Hauskraftwerk in "Fronius" und "BHKW" umbenannt habe, ansehen.
Ich dachte zunächst, daß die Werte ab 40105 dafür zuständig wären. Da bekomme ich aber entweder 0 oder Phantasiewerte angezeigt.Ist eine Möglichkeit bekannt die Werte der Leistungsmesser korrekt zu visualisieren?
-
@xwing Ich weiß nicht mehr genau warum, aber ich mache das so und es funktioniert wohl (wobei ich bisher nur einphasig benötigt habe).
// Addierung Leistungsmesser Wallbox const lmWallboxP1 = 'modbus.0.holdingRegisters.40114_Leistungsmesser_2_L1'; const lmWallboxP2 = 'modbus.0.holdingRegisters.40115_Leistungsmesser_2_L2'; const lmWallboxP3 = 'modbus.0.holdingRegisters.40116_Leistungsmesser_2_L3'; createState('javascript.0.e3dc.lmWallbox'); on(lmWallboxP1, calculateCompleteWallboxPower); on(lmWallboxP2, calculateCompleteWallboxPower); on(lmWallboxP3, calculateCompleteWallboxPower); function calculateCompleteWallboxPower(){ var wallboxPower = getState(lmWallboxP1).val + getState(lmWallboxP2).val + getState(lmWallboxP3).val; setState('javascript.0.e3dc.lmWallbox', wallboxPower, true); } // Addierung Leistungsmesser Wärmepumpe const lmWaermepumpeP1 = 'modbus.0.holdingRegisters.40118_Leistungsmesser_3_L1'; const lmWaermepumpeP2 = 'modbus.0.holdingRegisters.40119_Leistungsmesser_3_L2'; const lmWaermepumpeP3 = 'modbus.0.holdingRegisters.40120_Leistungsmesser_3_L3'; createState('javascript.0.e3dc.lmWaermepumpe'); on(lmWaermepumpeP1, calculateCompleteWaermepumpePower); on(lmWaermepumpeP2, calculateCompleteWaermepumpePower); on(lmWaermepumpeP3, calculateCompleteWaermepumpePower); function calculateCompleteWaermepumpePower(){ var waermepumpePower = getState(lmWaermepumpeP1).val + getState(lmWaermepumpeP2).val + getState(lmWaermepumpeP3).val; setState('javascript.0.e3dc.lmWaermepumpe', waermepumpePower, true); }
-
@xwing
Kann es sein das deine Einstellungen im Modbus Adapter Holding-Register nicht stimmen?
Register 40105 Leistungsmesser_0 enthält den Typ und hat nichts mit Watt zu tun.
1 Wurzelleistungsmesser
2 Externe Produktion
3 Zweirichtungszähler
4 Externer Verbrauch
5 Farm
6 Wird nicht verwendet
7 Wallbox
8 Externer Leistungsmesser Farm
9 Datenanzeige
10 Regelungsbypass
Es fehlen aber Register 40106 40107 40108 die vom Leistungsmesser_0 die Watt Werte der drei Phasen enthalten.Bei Register 40109 beginnt dann Leistungsmesser_1
Die Holding-Register Modbus Adapter zum Importieren kannst du hier downloaden bzw. kopieren:
https://github.com/ArnoD15/iobroker_E3DC
Die Datei Modbus_E3DC_Import.tsv herunterladen.Im E3DC Portal findest du die Modbus Beschreibung "ModBus_E3DC_Speichersysteme_V1.80_2021-07-07.pdf"
-
@aueland sagte in [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker:
So sieht es bei mir aktuell auf der PV-Detailseite aus:
Sieht schick aus ...würdest du uns dein View´s teilen ?
-
@arnod
Die Sache ist für mich ziemliches Neuland. Bis auf die Sache mit den einzelnen Leistungsmessern bin ich aber schon durchgestiegen.
Bei der Alnage läuft sowieso einiges schief:
Nach der Inbetriebnahme zeigte sich, daß die Produkton des Fronius WR sowohl als Erzeugung als auch als Hausverbrauch gemessen wird. Das führt zu Situationen in denen bei genügend Produktion der Speicher angeknabbert und schlimmstenfalls sogar Netzstrom vom Hauskraftwerk gezogen wird. Die offiziellen Zähler des Netzbetreibers messen dagegen alles richtig. Mein Solteur wartet inzwischen zwei Monate auf ein Teil von E3DC.@stevie77
Du hast da Verbraucher. Ich meine aber die Erzeuger. -
@glasfaser Ja, das habe ich vor, muss nur noch ein bisschen feintunen und ziehe den broker gerade auf ein Nuc/Promox-System um, da gibt es erst noch ein paar vorrangige Anpassungen, aber ich werde den view und auch die Scripte für sowas wie prozentuale Leistung, Werte von Gestern, Peak-Werte dann teilen.
-
@stevie77
Du hast da Verbraucher. Ich meine aber die Erzeuger.Das macht doch keinen Unterschied? Ist doch nur eine Einstellung am Hauskraftwerk, ob der LM positiv oder negativ zählt, oder nicht?
-
@stevie77
Alles klar.
Ich habe das Script zunächst als Original und dann für mich angepasst angewendet. Es kommen aber keine korrekten Zahlen dabei heraus:Im E3DC Portal sieht es so aus:
Und die errechneten Objekte sehen ganz anders aus:
Die ausgelesenen Phasenwerte sehen auch nicht richtig aus:
In der modbus Konfiguration habe ich die Register so eingetragen:
Wo liegt mein Fehler? Muss da noch was umgerechnet werden?
-
Ich glaube ich habe den Fehler gefunden.
Der Typ der Leistungsmesser muss "signed 16Bit" und nicht "unsigned 16Bit sein".Ich weiß zwar nicht was LM0 misst, aber die Werte des zweiten Wechselrichters und des BHKW kommen jetzt so ungefähr hin. (Edit: Der LM0 misst die Leistung am Netzübergabepunkt und entspricht dem Register 40074)
Hier mein angepasstes Script, das die Werte gleich auf positive Werte umrechnet:// Addierung Leistungsmesser LM0 const lmLM0P1 = 'modbus.0.holdingRegisters.40106_Lesitungsmesser_0_Phase_1'; const lmLM0P2 = 'modbus.0.holdingRegisters.40107_Lesitungsmesser_0_Phase_2'; const lmLM0P3 = 'modbus.0.holdingRegisters.40108_Lesitungsmesser_0_Phase_2'; createState('javascript.0.e3dc.lmLM0'); on(lmLM0P1, calculateCompleteLM0Power); on(lmLM0P2, calculateCompleteLM0Power); on(lmLM0P3, calculateCompleteLM0Power); function calculateCompleteLM0Power(){ var lm0Power = (getState(lmLM0P1).val + getState(lmLM0P2).val + getState(lmLM0P3).val) * -1; setState('javascript.0.e3dc.lmLM0', lm0Power, true); } // Addierung Leistungsmesser BHKW const lmBHKWP1 = 'modbus.0.holdingRegisters.40114_Leistungsmesser_2_Phase_1'; const lmBHKWP2 = 'modbus.0.holdingRegisters.40115_Leistungsmesser_2_Phase_2'; const lmBHKWP3 = 'modbus.0.holdingRegisters.40116_Leistungsmesser_2_Phase_3'; createState('javascript.0.e3dc.lmBHKW'); on(lmBHKWP1, calculateCompleteBHKWPower); on(lmBHKWP2, calculateCompleteBHKWPower); on(lmBHKWP3, calculateCompleteBHKWPower); function calculateCompleteBHKWPower(){ var bhkwPower = (getState(lmBHKWP1).val + getState(lmBHKWP2).val + getState(lmBHKWP3).val) * -1; setState('javascript.0.e3dc.lmBHKW', bhkwPower, true); } // Addierung Leistungsmesser Fronius const lmFroniusP1 = 'modbus.0.holdingRegisters.40110_Leistungsmesser_1_Phase_1'; const lmFroniusP2 = 'modbus.0.holdingRegisters.40111_Leistungsmesser_1_Phase_2'; const lmFroniusP3 = 'modbus.0.holdingRegisters.40112_Leistungsmesser_1_Phase_3'; createState('javascript.0.e3dc.lmFronius'); on(lmFroniusP1, calculateCompleteFroniusPower); on(lmFroniusP2, calculateCompleteFroniusPower); on(lmFroniusP3, calculateCompleteFroniusPower); function calculateCompleteFroniusPower(){ var froniusPower = (getState(lmFroniusP1).val + getState(lmFroniusP2).val + getState(lmFroniusP3).val) * -1; setState('javascript.0.e3dc.lmFronius', froniusPower, true); }
-
Hallo liebe IOBroker Freunde.
Ich nutze IOBroker erst seit zwei Wochen und möchte ebenfalls mein E3DC Hauskraftwerk visualisieren, bzw. Datenpunkte (wie zum Beispiel den Einspeisewert) nutzen, um damit Wärmepumpe bzw. das Autoladen zu beeinflussen.
Mit der tollen Anleitung von Andre, den gut erklärten Adaptern in IOBroker und den zahlreichen Tipps hier im Forum und auf Github habe ich das Auslesen der Daten sehr schnell hinbekommen.
Zur Zeit habe ich eigentlich nur ein "kleines" Problem. Ich bekomme über das Protokoll Warnungen, dass einige Registerwerte des E3DC Modbus keine Werte hätten. Was kann man tun, um diese Meldungen abzustellen oder soll ich die einfach ignorieren?
Hier die Fehlermeldungen (die wiederholen sich alle 30 sek).
Vielen Dank für die Unterstützung Stefan
2021-11-28 13:45:39.941 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40068] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.942 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40070] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.942 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40072] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.943 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40074] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.943 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40076] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.944 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40082] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.944 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40083] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.944 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40084] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.945 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40085] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.945 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40096] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.945 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40097] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.946 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40098] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.946 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40099] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.946 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40100] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.959 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40101] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.960 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40102] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.961 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40103] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:39.962 - warn: modbus.0 (2718) [DevID_1/holdingRegs/40104] Calculation: eval(value) not possible: ReferenceError:
value is not defined
2021-11-28 13:45:43.311 - warn: fullybrowser.0 (13303) updateDeviceERROR 192.168.178.101 -
@rsscheible
Kannst du mal ein Screenshot von deinen Modbus-Einstellungen hier posten, dann kann ich mal prüfen, ob diese stimmen. -
Hallo,
Ich habe auch ein Hauskarftwerk S10E Pro.
Möchte auch gerne eine Visuallisierung machen.
Adapter sind schon installiert.
Nur hapert es an den hinzufügen der Daten in Holding Register.
Modbus ist noch auf rot.Wie bekomme ich die Daten dort rein?
Danke schon mal für die Hilfe. -
@andre105
Hast Du im Hauskraftwerk die Modbus Schnittstelle überhaupt eingeschaltet? -
@andre105 sagte in [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker:
Nur hapert es an den hinzufügen der Daten in Holding Register.
Hast du Probleme / fragen zum Import , Laut deinem Screenshot ist das Register leer.
Hier draufdrücken und importieren .
-
@xwing sagte in [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker:
@andre105
Hast Du im Hauskraftwerk die Modbus Schnittstelle überhaupt eingeschaltet?ja alles an.
@glasfaser sagte in [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker:
@andre105 sagte in [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker:
Nur hapert es an den hinzufügen der Daten in Holding Register.
Hast du Probleme / fragen zum Import , Laut deinem Screenshot ist das Register leer.
Hier draufdrücken und importieren .
Ja, bekomme es dort nicht hin.
Wenn ich auf die Pfeile drücke,dann auf Import- geht das Fenster wieder zu.
Hab schon alles probiert.(fast)
Bin erst am Anfang von iobroker... -
@andre105 sagte in [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker:
dann auf Import- geht das Fenster wieder zu.
hast du auch den Inhalt von hier in das leere angezeigte Feld eingefügt
Beispielbild :
und dann erst auf Speichern /importieren gehen .
-
@glasfaser
Dann kommt diese Meldung.
Lässt sich nicht reinkopieren. -
Da ist ende der Zeile :
EDIT :
das sieht auch anders aus als das Original , dort ist bei WP Schluss:
wo hast du cw / isScale her !?