NEWS
[HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker
-
Hallo an alle,
danke für die wirklich gelungene Anleitung
Beim Script hatte ich dasselbe Problem wie Krami und weiss nicht ob ich es richtig verstanden habe.
Ist das jetzt so richtig ?// Aufteilung der Datenpunkte mit doppelten Informationen // Aufteilung "Autarkie und Eigenverbrauch in Prozent" var id = 'modbus.0.holdingRegisters.40082_Autarkie_Eigenverbrauch'; createState('e3dc.modbus.Autarkie'); createState('e3dc.modbus.Eigenverbrauch'); on(id, function (obj) { setState('e3dc.modbus.Autarkie', (obj.state.val >> 8) & 0xFF, true); setState('e3dc.modbus.Eigenverbrauch', obj.state.val & 0xFF, true); }); // Aufteilung "Modbus Firmware Verwsion" var id = 'modbus.0.holdingRegisters.40002_Modbus-Firmware'; createState('e3dc.modbus.MajorVersion'); createState('e3dc.modbus.MinorVersion'); on(id, function (obj) { setState('e3dc.modbus.MajorVersion', (obj.state.val >> 8) & 0xFF, true); setState('e3dc.modbus.MinorVersion', obj.state.val & 0xFF, true); });
Ich habe noch eine Frage zu den Adressen 40097 bis 40104, diese finde ich in der Dokumentation von E3DC nicht und
frage mich nun, ob ich eine alte Dokumentation benutze oder ob diese Adressen nicht dokumentiert wurden.
Meine Version derDoku ist 05.08.2016.Gruß Arno
-
Hallo Arno,
ja es gibt eine neue Doku.
Gruß
Stephan -
@ArnoD
Hallo Arno,
funktioniert das jetzt so, wie Du in den Zeilen 8/9 und 17/18 angenommen hast.
Gruß Thomas -
This post is deleted! -
This post is deleted! -
So, es läuft nun fast alles,vielen Dank für deine Arbeit und die Anleitung!
Ich habe jedoch noch ein Problem bei dem Javascript.
// Aufteilung der Datenpunkte mit doppelten Informationen // Aufteilung "Autarkie und Eigenverbrauch in Prozent" var id = 'modbus.0.holdingRegisters.40082_Autarkie_Eigenverbrauch'; createState('e3dc.modbus.Autarkie'); createState('e3dc.modbus.Eigenverbrauch'); on(id, function (obj) { setState('e3dc.modbus.Autarkie', (obj.state.val >> 8) & 0xFF, true); setState('e3dc.modbus.Eigenverbrauch', obj.state.val & 0xFF, true); }); // Aufteilung "Modbus Firmware Version" var id = 'modbus.0.holdingRegisters.40002_Modbus-Firmware'; createState('e3dc.modbus.MajorVersion'); createState('e3dc.modbus.MinorVersion'); on(id, function (obj) { setState('e3dc.modbus.MajorVersion', (obj.state.val >> 8) & 0xFF, true); setState('e3dc.modbus.MinorVersion', obj.state.val & 0xFF, true); });
Es kommt folgende Fehlermeldung:
error javascript.0 (5434) script.js.e3dc compile failed: at script.js.e3dc:8
-
@Krami sagte in [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker:
@Krami :
Hat sich erledigt, die Zeichenkodierung war es die mir hier einen Strich durch die Rechnung gemacht hat.>>
Bedeutet nicht &>&> sondern >>Ich hatte irgendwie ein Knoten im Kopf, es funktioniert nun einwandfrei und ich bedanke mich noch einmal für die Anleitung
Gruss
KramiOk, damit klappts jetzt!
-
@ioStarter
Ja es funktioniert soweit.
Es ist aber noch ein Schreibfehler enthalten, Zeile 13 muss richtig heißen:
var id = 'modbus.0.holdingRegisters.40002_Modbus_Firmware';Es hat sich da wohl versehentlich ein "-" anstatt einem "_" eingeschlichen
Jetzt noch mal vollständig so wie das Script bei mir funktioniert:// Aufteilung der Datenpunkte mit doppelten Informationen // Aufteilung "Autarkie und Eigenverbrauch in Prozent" var id = 'modbus.0.holdingRegisters.40082_Autarkie_Eigenverbrauch'; createState('e3dc.modbus.Autarkie'); createState('e3dc.modbus.Eigenverbrauch'); on(id, function (obj) { setState('e3dc.modbus.Autarkie', (obj.state.val >> 8) & 0xFF, true); setState('e3dc.modbus.Eigenverbrauch', obj.state.val & 0xFF, true); }); // Aufteilung "Modbus Firmware Verwsion" var id = 'modbus.0.holdingRegisters.40002_Modbus_Firmware'; createState('e3dc.modbus.MajorVersion'); createState('e3dc.modbus.MinorVersion'); on(id, function (obj) { setState('e3dc.modbus.MajorVersion', (obj.state.val >> 8) & 0xFF, true); setState('e3dc.modbus.MinorVersion', obj.state.val & 0xFF, true); });
Gruß Arno
-
Ich würde gerne eine Tagesübersicht haben. Also
- Solarproduktion
- Hausverbrauch
- Einspeisung
- Bezug
Jemand eine Idee wie ich mir diese Werte berechnen kann?
-
@weidlix Das geht ganz einfach mit SourceAnalytix:
https://github.com/iobroker-community-adapters/ioBroker.sourceanalytix/blob/master/README.md -
@Chris-Tailor Danke das war schonmal ein sehr guter Tipp.
Habe aber Momentan noch das Problem das Netzbezug und Einspeisung über einen Datenpunkt verwaltet werde.
Negative Werte bedeuten Einspeisung, poitive Bezug.
Ist es Möglich dass in zwei getrennte Zähler aufzusplitten?
-
@Letty Ich verstehe nicht, wie die originale Datei in der Anleitung als CSV-Import funktionieren kann - sie enthält kein Separatorzeichen. Die enthaltenen Leerzeichen können kein Separator sein, weil sie auch oft als Inhalt vorkommen. Somit ist das doch unbrauchbar?! Ich bekomme auch nur Müll importiert. Ich wundere mich, warum es bei vielen scheinbar trotzdem geklappt hat. Ich danke dir für deine Arbeit hier, bei deiner Aufzählung klappt's. Hat mir vermutlich viel Zeit gespart.
Inzwischen gibt es allerdings am Ende noch ne Spalte CW. Ist die wichtig? Die fehlt in der Anleitung auch...hoffe mal, dass überall false - wie ich es jetzt habe - zu keinen Problemen führt...
-
@stevie77 said in [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker:
@Letty Ich verstehe nicht, wie die originale Datei in der Anleitung als CSV-Import funktionieren kann - sie enthält kein Separatorzeichen. Die enthaltenen Leerzeichen können kein Separator sein, weil sie auch oft als Inhalt vorkommen. Somit ist das doch unbrauchbar?! Ich bekomme auch nur Müll importiert. Ich wundere mich, warum es bei vielen scheinbar trotzdem geklappt hat. Ich danke dir für deine Arbeit hier, bei deiner Aufzählung klappt's. Hat mir vermutlich viel Zeit gespart.
Inzwischen gibt es allerdings am Ende noch ne Spalte CW. Ist die wichtig? Die fehlt in der Anleitung auch...hoffe mal, dass überall false - wie ich es jetzt habe - zu keinen Problemen führt...
Hallo Stevie ich habe gerade nachgeschaut in der letzten Spalte ist bei mir auch alles auf false.
sollte also keine Probleme machen läuft bei mir auch super.@weidlix said in [HowTo][Anleitung] Integration und Visualisierung des S10 Hauskraftwerks von E3DC in ioBroker:
@Chris-Tailor Danke das war schonmal ein sehr guter Tipp.
Habe aber Momentan noch das Problem das Netzbezug und Einspeisung über einen Datenpunkt verwaltet werde.
Negative Werte bedeuten Einspeisung, poitive Bezug.
Ist es Möglich dass in zwei getrennte Zähler aufzusplitten?
Hallo weidlix, direkt aufsplitten geht nicht aber mit einem einfachen Skript das je nach dem ob der Wert Positiv oder Negativ die Werte in einen anderen Datenpunkt überträgt.
Kann dir auch eins basteln wenns is. -
@stevie77 ich habe mir dafür eine excel tabelle angelegt und die werde kopiere ich einfach komplett rein, evtl. hilft dir das. Trenner brauch es nicht.
csv datei holdings.xlsx -
@Marcus-Waldeck Danke. Hatte inzwischen ganz weit unten einen Beitrag eines Benutzers gesehen, der dasselbe Problem hatte und ne CSV-Datei mit ";" als Trenner zur Verfügung gestellt hat. Das hat funktioniert. Es sei denn, jemand hätte noch ne Liste abzugeben, welche auch die Eintragungen für Wallbox und zweite PV-Anlage als externe Quelle beinhaltet?
-
Ich hab mal ergänzend zu dem in der Anleitung vorhandenen Register-Auszug noch die Wallbox-Register und die externe Quelle für eine 2. PV-Anlage ergänzt (hoffentlich richtig, Wallbox kann ich noch nicht testen). Vielleicht erspart es ja jemandem Arbeit, da bei mir der Import in ioBroker nur mit "richtigen" Separatoren funktionierte, nicht mit Tabs...
address;name;description;unit;type;len;factor;offset;role;room;poll;wp;cw 40002;Modbus_Firmware;Modbus-Firmware-Version;;uint16be;1;1;0;value;;true;false;false 40004;Hersteller;Hersteller;;string;16;1;0;value;;true;false;false 40020;Modell;Modell;;string;16;1;0;value;;true;false;false 40036;Seriennummer;Seriennummer;;string;16;1;0;value;;true;false;false 40052;Firmware;Firmware-Release;;string;16;1;0;value;;true;false;false 40068;PV_Leistung;Photovoltaik-Leistung in Watt;W;int32sw;2;1;0;value;;true;false;false 40070;Batterie_Leistung;Batterie-Leistung in Watt;W;int32sw;2;1;0;value;;true;false;false 40072;Hausverbrauch_Leistung;Hausverbrauchs-Leistung in Watt;W;int32sw;2;1;0;value;;true;false;false 40074;Netz_Leistung;Leistung am Netzübergabepunkt;W;int32sw;2;1;0;value;;true;false;false 40076;Zusaetzliche_Einspeiser_Leistung;Leistung aller zusätzlichen Einspeiser in Watt;W;int32sw;2;1;0;value;;true;false;false 40078;Wallbox_Leistung;Leistung der Wallbox in Watt;W;int32sw;2;1;0;value;;true;false;false 40080;Wallbox_genutzte_Solarleistung;Solarleistung, die von der Wallbox genutzt wird in Watt;W;int32sw;2;1;0;value;;true;false;false 40082;Autarkie_Eigenverbrauch;Autarkie und Eigenverbrauch;;uint16be;1;1;0;value;;true;false;false 40083;Batterie_SOC;Batterie-SOC in Prozent;%;uint16be;1;1;0;value;;true;false;false 40084;Emergency_Power_Status;Emergency-Power Status;;uint16be;1;1;0;value;;true;false;false 40085;EMS_Status;EMS-Status;;uint16be;1;1;0;value;;true;false;false 40086;EMS Remote Control;EMS Remote Control;;int16be;1;1;0;value;;true;false;false 40087;EMS CTRL;EMS CTRL;;uint16be;1;1;0;value;;true;false;false 40088;WallBox_0_CTRL;WallBox_0_CTRL;;uint16be;1;1;0;value;;true;false;false 40089;WallBox_1_CTRL;WallBox_1_CTRL;;uint16be;1;1;0;value;;true;false;false 40090;WallBox_2_CTRL;WallBox_2_CTRL;;uint16be;1;1;0;value;;true;false;false 40091;WallBox_3_CTRL;WallBox_3_CTRL;;uint16be;1;1;0;value;;true;false;false 40092;WallBox_4_CTRL;WallBox_4_CTRL;;uint16be;1;1;0;value;;true;false;false 40093;WallBox_5_CTRL;WallBox_5_CTRL;;uint16be;1;1;0;value;;true;false;false 40094;WallBox_6_CTRL;WallBox_6_CTRL;;uint16be;1;1;0;value;;true;false;false 40095;WallBox_7_CTRL;WallBox_7_CTRL;;uint16be;1;1;0;value;;true;false;false 40096;DC_String_1_Voltage;Spannung in Volt (String 1);V;uint16be;1;1;0;value;;true;false;false 40097;DC_String_2_Voltage;Spannung in Volt (String 2);V;uint16be;1;1;0;value;;true;false;false 40098;DC_String_3_Voltage;Spannung in Volt (String 3);V;uint16be;1;1;0;value;;true;false;false 40099;DC_String_1_Current;Strom in Ampere (String 1);A;uint16be;1;1;0;value;;true;false;false 40100;DC_String_2_Current;Strom in Ampere (String 2);A;uint16be;1;1;0;value;;true;false;false 40101;DC_String_3_Current;Strom in Ampere (String 3);A;uint16be;1;1;0;value;;true;false;false 40102;DC_String_1_Power;Leistung in Watt (String 1);W;uint16be;1;1;0;value;;true;false;false 40103;DC_String_2_Power;Leistung in Watt (String 2);W;uint16be;1;1;0;value;;true;false;false 40104;DC_String_3_Power;Leistung in Watt (String 3);W;uint16be;1;1;0;value;;true;false;false
Außerdem liefert die externe Quelle per Modbus einen negativen Watt-Wert. Das macht meines Erachtens nach keinen Sinn, die Erzeugung der 1. PV-Anlage ist ja auch positiv. Ist ja auch kein Verbrauch, sondern immer eine Erzeugung. Keine Ahnung, ob E3/DC da einen Fehler in der Software hat...ich bügle das mit dieser Skript-Ergänzung aus:
// Externe Quelle wird standardmäßig als Verbraucher mit vorangesteltem Minus angezeigt var externalSource = 'modbus.0.holdingRegisters.40076_Zusaetzliche_Einspeiser_Leistung'; createState('e3dc.modbus.externeQuelle'); on(externalSource, function (obj) { setState('e3dc.modbus.externeQuelle', (obj.state.val * -1), true); });
-
Hi, ja, das mit dem negativen Wert ist mir auch aufgefallen..
Falls sich noch jemand fragen sollte wie man den Verbrauch bekommt. Da dieser ja nicht über Modbus übertragen wird. und eigentlich nur per RSCP direkt abzufragen ist. Dutchman hat den Sourceanalytix Adapter gebaut. Diesen kann man hervorragend nutzen um die Verbrauchswerte zu bekommen:
Bsp:
-
@Christian-Hornhues Ah, du bist auch im Photovoltaikforum, hab' deinen Post dort gesehen.
Wie komme ich zu dem Adapter Sourceanalytix? Wenn ich auf der Adapterseite danach filtere, dann wird nichts gefunden...
Und wie greife ich dann auf den kumulierten Wert zu, wenn ich das mal aktiviert hätte? Unter dem Register findet man ja erstmal weiterhin die aktuelle Leistung... -
Hallo zusammen,
ich habe seit ein paar Tagen einen e3dc Pro am laufen. Ich bekommen im ioBroker den Adapter nicht auf grün.
Modbus ist im e3dc aktiviert. Im Adapter habe ich die folgenden Einstellungen vorgenommen:und das zeigt dann der Log:
Der Adapter geht kurz auf grün und dann auf gelb. Hattet Ihr das schonmal bzw. habe ich bei den Holdings etwas falsch erfasst??
Grüße
Rafael -
https://www.youtube.com/watch?v=xZPNbKXbo0M
Dort ist das erklärt. Der kumulierte Wert taucht dann in sourceanalytix objekten auf