ioBroker / AdapterRequests

This Place is used to track the status of new Adapter-Requests.
248 stars 36 forks source link

E3/DC Hauskraftwerk auslesen und steuern #676

Closed git-kick closed 2 years ago

git-kick commented 2 years ago

Hallo zusammen,

ich habe einen Adapter geschrieben, der das S10 Hauskraftwerk via RSCP anspricht (nicht Modbus). Das hat den Vorteil, dass man auch Parameter verändern kann, z.B. die max. Ladeleistung einstellen. Über RSCP sind Hunderte (womöglich alle?) Parameter der Anlage ansprechbar; ein paar davon sind bereits im Adapter implementiert, weitere folgen nach Bedarf.

Die erste Beta is eben fertig geworden: https://github.com/git-kick/ioBroker.e3dc-rscp/tree/v0.0.5-beta

Herzliche Einladung zu Test und Feedback!

grafik

Originally posted by @git-kick in https://github.com/ioBroker/AdapterRequests/issues/598#issuecomment-949441676

Matis-11 commented 2 years ago

Man, das ist der hit! Mußt du im iobroker Forum in den betas packen, da sind sicher ganz viele scharf drauf. Ich bin ab sofort dein Fan. Das hat so dringend gefehlt. Kannst Du nicht irgendwie (ich bin SW User) die einzelnen Daten aus rxhan / RSCPGui übernehmen? Da ist alles drin, eben nur keine Adapter auf iobroker. Ich hoffe Du bleibst da dran! Das ist Mega!

git-kick commented 2 years ago

@Matis-11, danke für die positiven Worte - dachte ich mir doch, dass unter den paartausend E3/DC Besitzern da draußen auch ein paar ioBroker Fans sind😉 Super Hinweis auf rxhan, das Projekt werde ich mir näher ansehen, sozusagen als Sekundärliteratur, weil die öffentliche E3/DC Doku doch sehr dürr ist. Und ja, ich habe auch vor, meinen Code für das ioBroker Repo anzumelden, aber eine Reife-Runde möchte ich mir noch geben - idealerweise mit Installation bei einem early adopter, wie wärs? 😁 Weitere Datenfelder baue ich ein, aber bestimmt nicht alle in kurzer Zeit. Wer seine Prioritäten meldet, hat die Chance, dass ich die zuerst implementiere...

Matis-11 commented 2 years ago

Ich warte schon lange auf Daten, die RSCP hat, aber modbus leider nicht. Z.B. die einzelnen String-Daten (U, I, P) vom zweiten Wechselrichter. Das ist dann in iobroker aufbereitet eine super Leistungsüberwachung; in % zum kWp eine Dagradations-Überwachung. Ebenso die vielen Akku-Daten. Ich hab deinen Adapter schon installiert, läuft seit ner halben Stunde einwandfrei. Nicht ein log-Eintrag. Ich freu mich mehr Daten :)

git-kick commented 2 years ago

Ok super, ich melde hier wenn ich entsprechende Erweiterungen habe - wird aber bestimmt einige Tage dauern...

Matis-11 commented 2 years ago

Die beiden Dokumente von e3dc zum RSCP Protokoll und das mit der Beispielapplikation hast du aber schon? Sonst kann ich es dir gerne schicken.

git-kick commented 2 years ago

Ja die hab ich. Aber da steht nicht immer genau, was die Felder bedeuten und welche Wertemengen sie haben, das macht die Sache z.T. mühsam, vor allem in Bereichen, die ich mangels Hardware nicht selbst "am lebenden Objekt" testen kann - ich habe von E3/DC "nur" die S10 mit Batterie, dagegen z.B. die Wallbox läuft bei mir separat. Also ich versuche die von dir gewünschten Felder zu holen und freue mich dann auf Rückmeldung, ob das was bringt!

Matis-11 commented 2 years ago

Top! Und vielleicht findest Du ja in dem anderen Projekt einen einfachen Weg die Felder zu übernehmen.

ArnoD15 commented 2 years ago

Hallo Uli, bin ganz begeister von deinem Adapter. Wollte selber mal versuchen die Daten auszulesen, bin aber schon an der Verschlüsselung gescheitert. Aktuell verwende ich das Programm von Eba aus dem Photovoltaik-Forum, mit dem eine Ladesteuerung möglich ist, um die 70% Abriegelung zu vermeiden und die Batterie schonend über den Tag zu laden. Ich habe ein Script geschrieben mit dem ich mir die Wetterdaten von Proplanta und Forecast hole, um daraus eine Solarprognose zu berechnen um zu entscheiden, ob die Batterie über den Tag geladen werden kann oder bereits Vormittags da Nachmittags schlechtes Wetter ist. Mit dem Script kann ich dann die Einstellungen von E3DC-Control von Eba ändern, indem ich die Werte der e3dc.config.txt ändere und Eba bei jeder Änderung dieser Datei, diese wieder neu einliest.

Du siehst das es alles nur über Umwege funktioniert und ein Adapter das Ganze vereinfachen würde. Wenn man dich unterstützen kann bin ich gerne im Rahmen meiner Möglichkeiten und JavaScript Kenntnisse bereit dazu. Für einen Adapter haben diese schon mal nicht gereicht. :-)

git-kick commented 2 years ago

Hallo Arno, danke für deinen ermutigenden Beitrag! Wenn ich das richtig verstehe, interessierst du dich für die Wallbox-Steuerung aus der S10 heraus? Da ich selbst keine von der E3/DC unterstützte Wallbox habe, kann es sein, dass ich auf Dich zurückkomme zum testen, wenn es so weit ist. Oder meinst du ganz etwas anderes? Aktuell bin ich noch dabei, die Batteriedaten (siehe oben) zu integrieren, was für mich nicht ganz trivial ist, weil man da dynamisch Devices/Channels anlegen muss muss (die Anzahl der Batterien und DCBs kann ja je Anlage unterschiedlich sein). Und für mich ist es auch der erste Adapter... Aber irgendwann kann ich bestimmt auch weitere Themen angehen, dann melde ich mich.

ArnoD15 commented 2 years ago

Die E3DC Wallbox steuere ich bereits über Modbus mit einem Script. Geht aber über RSCP bestimmt besser. Was ich will ist das Laden und entladen von der Batterie zu steuern. Habe deinen Adapter gerade getestet und das Abfrageintervall auf 1 Sek gestellt. Es funktioniert, das ist Mega, mir fehlen die Worte.

Kannst da mal hier reinlesen was wir bis jetzt gemacht haben: https://github.com/ArnoD15/iobroker_E3DC

Matis-11 commented 2 years ago

Hallo Uli, und bitte die Daten aus dem zweiten Wechselrichter nicht vergessen, die fehlen mir schon so lange (U, I, P je String). Das wäre ganz toll! Ich hab mich inzwischen nochmals an RSCPGui im Docker versucht und über MQTT zu importieren, da hakt an allen Ecken und frist zu viel Resourcen. Das ist einfach keine gute Lösung. Dagagen läuft dein Adapter einfach super gut.

ArnoD15 commented 2 years ago

Ich warte schon lange auf Daten, die RSCP hat, aber modbus leider nicht. Z.B. die einzelnen String-Daten (U, I, P) vom zweiten Wechselrichter.

Welchen zweiten Wechselrichter meinst du? Sind die Werte in RSCPgui enthalten? Dann könnte man dort nachsehen was das für ein RSCP Tag ist.

Matis-11 commented 2 years ago

Das ist ein zweiter Wechselrichter von e3dc, der auch in den P10 speist. Über modbus gibt es da nur sehr wenige Daten. Im RscpGui heisst der DVI1, der eingebaute Wechselrichter im P10 ist DVI0.

im RSCPGui sind das die Daten: paths = E3DC/PVI_DATA/1/PVI_DATA/PVI_DC_POWER/0/PVI_VALUE, E3DC/PVI_DATA/1/PVI_DATA/PVI_DC_POWER/1/PVI_VALUE, E3DC/PVI_DATA/1/PVI_DATA/PVI_DC_VOLTAGE/0/PVI_VALUE, E3DC/PVI_DATA/1/PVI_DATA/PVI_DC_VOLTAGE/1/PVI_VALUE, E3DC/PVI_DATA/1/PVI_DATA/PVI_DC_CURRENT/0/PVI_VALUE, E3DC/PVI_DATA/1/PVI_DATA/PVI_DC_CURRENT/1/PVI_VALUE

Leider werden die nur im Windows Gui richtig angezeigt, in der Console kommen die falschen Daten.

git-kick commented 2 years ago

Danke für die Details. Dass es um den zweiten PVI geht ist auch der Grund, weshalb ich mit den Batteriedaten anfange: ich habe nur einen PVI, deshalb kann ich bei mir die Channel 0, 1, ... Logik am "lebenden Objekt" nur mit der Batterie testen (die hat nämlich zwei DCBs). Wenn das funktioniert, nehme ich in analoger Weise die PVIs dazu.

git-kick commented 2 years ago

Ich habe jetzt alles was zu BAT gehört eingebaut: v0.0.6-beta Hat jemand zwei BATs, also BAT#0 und BAT#1? (Ich glaube gelesen zu haben, dass es das aktuell nicht gibt). Freue mich auf Feedback! Als nächstes kommt: PVI...

ArnoD15 commented 2 years ago

Ich habe ein E3DC mit voll ausgebautem Speicher mit 39 kWh und somit alle Batterien die möglich sind BAT#0 und BAT#1 Habe gerade die Version 0.0.6 installiert und mal die Werte verglichen. Es wird DCB#0, DCB#1 von BAT#0 angezeigt, es fehlt aber noch DCB#2 Von BAT#1 fehlt alles, also DCB#0, DCB#1 und DBC#2. Die Werte sehen gut aus, habe aber noch nicht alle geprüft. Was mir noch aufgefallen ist das der Name der einzelnen States noch als "UNDEFINED" angezeigt wird, vermute das dir hier die Texte noch fehlen. Wenn ich dich da unterstützen kann, musst du mir nur sagen in welchem Format du die benötigst oder wo die eingetragen werden müssen. Es wäre auch gut ein neues Thema im iobroker Forum unter Übersicht/Deutsch/Tester/ e3dc-rscp anzulegen. Kann dir gar nicht sagen wie mega dein Adapter ist, komme aus dem grinsen nicht mehr raus. :-) iobroker

git-kick commented 2 years ago

Danke, das ging ja schnell!

Hmm, bzgl. BAT-Anzahl bin ich wohl auf eine veraltete E3/DC Doku hereingefallen: grafik Es gibt also doch mehr als eine Batterie, das korrigiere ich noch.

Zum Thema Anzahl DCBs: steht bei dir (auf der BAT-Ebene) DCB_COUNT = 3? Oder weißt du, dass die Batterie drei DCBs hat? Ich frage, weil der Adapter sich eigentlich schon nach der gemeldeten Anzahl von DCBs richten soll, das ist nicht statisch programmiert.

Die ***UNDEFINED*** Namen wundern mich. Bei mir sind die alle schon eingetragen und (mit gulp) übersetzt - da ist was beim Release/Deployment schiefgegangen, wird nachgebessert.

Matis-11 commented 2 years ago

Ich kann das auch bestätigen, es werden jetzt DCB #0 und 1 des ersten Wandlers angezeigt. Es gibt auch noch einen Wandler 2, also BAT #0 und BAT #1 und jeder Wandler kann drei Akkus haben, also jeweils DCB #0, #1, #3. Ich glaube Wandler 0 kann sogar bis zu 6 DCBs haben, mehr als drei ist wohl aber sehr selten.

ArnoD15 commented 2 years ago

Richtig, DCB_COUNT = 3 bei mir iobroker .

git-kick commented 2 years ago

Die State-Namen sind jetzt ok - aktuell aber nur im master

git-kick commented 2 years ago

Mehrere BATs und DCBs werden jetzt auch unterstützt (master) Bitte um Test - ich habe nur 1 BAT mit 2 DCB, das ist nicht so ergiebig.

git-kick commented 2 years ago

UMZUG: Weiterentwicklung und Test werden ab jetzt im ioBroker Forum diskutiert.

ldittmar81 commented 2 years ago

Close after https://github.com/ioBroker/ioBroker.repositories/pull/1589 accepted

https://github.com/git-kick/ioBroker.e3dc-rscp

ldittmar81 commented 2 years ago

Its on latest

RSScheible commented 1 year ago

Hallo.
Ich nutze den Adapter jetzt auch schon eine ganze Zeit und bin damit sehr zufrieden. Da die Wetterprognose von E3DC aber nicht immer funktioniert (Ticket habe ich aufgemacht), würde ich gerne das Scharfschalten der Sperrzeiten für das Laden der Batterie ereignisgesteuert selbst vornehmen wollen. Ich habe mal versucht den Wert der jeweiligen Objekte "IDLE PERIOD ACTIVE" zu schalten. Mir wird zwar ein anderer Wert angezeigt, mein Hauskraftwerk übernimmt den Wert aber nicht. Müsste / Könnte der Adapter in dieser Hinsicht noch erweitert werden? Herzliche Grüße an Alle Stefan

mcm1957 commented 1 year ago

Please create issues for bugs or feature requests at the adapter repository.

clfberlin commented 1 year ago

Cool! Ich pendle gerade wieder zwischen iobroker und Home Assistant. Ich denke mal, ich werfe nachher den iob Container nochmal an. Du hast 3000 als max. Ladung/Entladung? Ist bei meinem Schwager auch so. Ich habe 4500. Das ist einerseits gut, weil ich PV nur im Osten habe und so schnell die Batterie voll bekomme. Aber @ArnoD15 schrieb ja schon: Schonendes Laden wäre ja auch gut.

Sonnenfreund1971 commented 6 months ago

Hallo zusammen,

ich bin Axel und neu hier. Toll das es so einen Adapter gibt, vielen lieben Dank dafür. Das ist großartig und eröffnet mir viele Möglichkeiten. Leider hat der Adapter 1.2.4 bei mir (in verbindung mit E3/DC S10 Hauskraftwerk) zu folgendem Problem geführt:

...seit einigen Tagen bricht bei meinem System im laufenden Betrieb die Solarleistung regelmäßig komplett ein, von z. Zt. jahreszeitabhängig 2.000-3.000 Watt sinkt die Leistung auf Null. Immer mal wieder springt die Solarleistung dann hoch auf 2.000-3.000 Watt um kurze Zeit später wieder einzubrechen. Dies passiert zur Zeit alle paar (5-10 Minuten). Dies passiert tagsüber auch bei hellem unbewölktem Wetter definitiv ohne eine wahrnehmbare Veränderung der Lichtverhältnisse.

Während der Einbruchphase bezieht der E3DC auch immer wieder Leistung aus dem Netz obwohl der Batteriespeicher ausreichend (mehr als 25% eingestellte Reserve) gefüllt ist.

Die DC-Betriebspannung der beiden Strings befindet sich zum Fehlerzeitpunkt im richtigen Bereich (ca. 550V bis 700V).

Im Menü “Solar“ des Hauskraftwerkes ist unter „Status-Fehlermeldung“ im Fehlerfall folgendes zu beobachten:

Bei normalem Betrieb vor Ausfall: 0xbf231d 11 0X0 Beim Zusammenbruch auf 0W 0x302 11 0X0 Beim vermeintlichem Neustart des Wechselrichters 0x12310 11 0X0 Bei normalem Betrieb nach Ausfall: 0xbf231d 11 0X0

Vor dem S10E Gerät ist zum Zeitpunkt des Ausfalls, und bei wiederkehrender Solarproduktion jeweils ein „klackendes“ Geräusch von Relais deutlich zu hören.

Meine Vermutung ist, das sich der Wechselrichter (oder eine andere Komponente) störungsbedingt permanent immer wieder Aus-und wieder Ein schaltet.


Nach dem Downgrade auf 1.2.3. ist alles wieder gut...puhhhhhhhhhh

Besten Gruß von Axel

git-kick commented 6 months ago

Hallo @Sonnenfreund1971 , github is your friend: https://github.com/git-kick/ioBroker.e3dc-rscp/issues/196

Sonnenfreund1971 commented 6 months ago

Dankeschön 😊

Besten Gruß von

Axel Ranft

Von: Uli Kick @.> Gesendet: Samstag, 4. November 2023 12:21 An: ioBroker/AdapterRequests @.> Cc: Sonnenfreund1971 @.>; Mention @.> Betreff: Re: [ioBroker/AdapterRequests] E3/DC Hauskraftwerk auslesen und steuern (Issue #676)

Hallo @Sonnenfreund1971 https://github.com/Sonnenfreund1971 , github is your friend: git-kick/ioBroker.e3dc-rscp#196 https://github.com/git-kick/ioBroker.e3dc-rscp/issues/196

— Reply to this email directly, view it on GitHub https://github.com/ioBroker/AdapterRequests/issues/676#issuecomment-1793416203 , or unsubscribe https://github.com/notifications/unsubscribe-auth/BDXORX2BFNWD2HKZYITAXTTYCYQITAVCNFSM5GQEJJT2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCNZZGM2DCNRSGAZQ . You are receiving this because you were mentioned. https://github.com/notifications/beacon/BDXORX4GTXGIKR5VXVKXDXDYCYQITA5CNFSM5GQEJJT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGONLSVYCY.gif Message ID: @. @.> >

mcm1957 commented 6 months ago

Ich wiederhole:

Please create issues for bugs or feature requests at the adapter repository. For general questions and discussion use the forum forum.iobroker.net.

Und schließe hiermit hier