NEWS
Test Adapter e3dc-rscp v0.0.x GitHub
-
Aktuelle Test Version v1.0.0 Veröffentlichungsdatum 20.01.2022 Github Link https://github.com/git-kick/ioBroker.e3dc-rscp/tree/v1.0.0 Control your E3/DC power station using the proprietary RSCP protocol which allows for reading state values and also set control parameters, e.g. setting the charge power limit. This is the advantage of RSCP compared to the standard Modbus, which is only for reading values. If you have no need to write values, have a look at the (simpler) Modbus adapter.
The e3dc-rscp adapter was developed for the E3/DC S10 device. One may assume other E3/DC devices provide a similar interface, but I cannot verify this.
As of v1.0.0, the adapter supports the EMS (partially), EP, PVI and BAT namespace. DB and WB namespaces are in experimental state.
The adapter alpha/beta was originally published at GitHub
-
@ujok sagte in Test Adapter e3dc-rscp v0.0.x GitHub:
not with node-v10
node10 had reached EOL.
Nothing to worry about with recent adapters. -
@ujok Hab grade upgedated, heißt immer noch 0.0.6-beta ohne zwei.
Die 6 Batterien sind alle vorhanden und korrekt!
Ganz große Klasse wie das läuft! -
Habe jetzt auch das Update gemacht, aber bei mir gibt es massive Probleme.
Nach dem Starten der Instanz ist iobroker nach ca. 5 min komplett abgestürzt.
Kann jetzt nicht mit Sicherheit sagen, dass es am Adapter liegt und werde das noch testen.
Es werden jetzt alle Batterien richtig angezeigt.Habe im LOG folgende Meldungen beim Start:
2021-11-09 19:13:13.508 - info: host.iobroker "system.adapter.e3dc-rscp.0" enabled 2021-11-09 19:13:13.689 - info: host.iobroker instance system.adapter.e3dc-rscp.0 started with pid 6853 2021-11-09 19:13:17.557 - info: e3dc-rscp.0 (6853) starting. Version 0.0.6-beta in /opt/iobroker/node_modules/iobroker.e3dc-rscp, node: v12.22.7, js-controller: 3.3.18 2021-11-09 19:13:17.751 - warn: e3dc-rscp.0 (6853) Probing for BAT count - up to 4 messages about received ERROR may occur (just ignore them). 2021-11-09 19:13:17.774 - info: e3dc-rscp.0 (6853) Connection to E3/DC is established 2021-11-09 19:13:17.965 - warn: e3dc-rscp.0 (6853) Received data type ERROR with value 6 - tag DATA 2021-11-09 19:13:17.977 - warn: e3dc-rscp.0 (6853) Received data type ERROR with value 6 - tag DATA
-
@arnod sagte in Test Adapter e3dc-rscp v0.0.x GitHub:
up to 4 messages about received ERROR may occur (just ignore them)
-
Ok habe den Fehler gefunden.
Da mehr Daten vom E3DC abgerufen werden führt ein Abfrageintervall von 1 sek. in den Einstellungen dazu das der iobroker komplett einfriert. Habe jetzt 60 sek. Eingestellt und es schein zu laufen.Nachtrag:
Habe jetzt das Abfrageintervall auf 5 sek. Eingestellt.
Meine Synology auf der iobroker im Docker Container installiert ist, hat ohne e3dc-rscp Adapter eine CPU Auslastung von 18%-20 %.
Wenn ich den Adapter starte, steigt diese sofort auf 43- 46%
Habe das Abfrageintervall schrittweise bis auf 2 sek. Reduziert und da pendelt sich die CPU Auslastung bei 58% bis 62% ein.
-
@arnod
Auf was für ner Kiste hast du denn Docker laufen?Ich habe ne DS1515+ und IoBroker läuft auch im Docker.
Mit 1 sek ist der Container auf 15% und gesamt auf 50% (liegt aber hauptsächlich an Surveillance), läuft aber einwandfrei.
mit 5 sek ist der Container auf 10% und gesamt auf 40%
mit 15 sek ist der Container auf 6% und gesamt auf 30%.
IOBroker hat also einen Einfluß kommt aber nicht zum erliegen.Es wäre im Endausbau sicher gut, wenn man die Werte abwählen kann, die man nicht wirklich braucht.
Oder wenn man Unterschiede machen kann, z.B. Batterie reicht vielleicht alle 1-5 Min. oder noch länger, denn daran will man ja hauptsächliche einen Trend erkennen.
Laufende Leistungswerte sind optimal bei 1-3 sek.Mit den BAT Werten sind ja schon sehr sehr viele Werte dazugekommen. Mehr wie jede andere Seite im RSCPGui.
Das ist klar, dass das auf die CPU gehen wird.Ich freu mich jetzt erst mal sehr auf die PVI Werte, denn die vermisse ich schon lange. Vor allem als Indikator der Performance der einzelnen Strings. Und langfristig auch als Degradations-Messwert.
-
@matis, die PVI-Werte sind jetzt drin: v0.0.7-beta
Zur Performance: es sind natürlich jetzt schon viele Werte, aber ich denke das Hauptproblem ist die dynamische Objektstruktur (je nachdem wieviele BATs, PVIs etc. gefunden werden). Jeder State wird deshalb aktuell mittels setObjectNotExists() geschrieben, was vermutlich Overkill (mangels besserem Wissen) ist.
Wer kann mir hier helfen: wie behandelt man dynamische Objektstrukturen auf "schlanke" Weise?Die Idee mit der Auswahl von Werten und deren Update-Frequenz hatte ich auch schon. Aber eine Konfig-Seite, in der man das alles pro Wert einzeln einstellen kann, mag ich mir gar nicht vorstellen - und auch nicht programmieren
Also da wäre eine schlaue Systematik gefragt, z.B. (feste) Bereiche, die man de/aktivieren kann und (feste) Gruppen, denen man ein Abfrageintervall zuordnen kann. Vorschläge sind willkommen.Eine Frage zum Thema Update-Frequenz 1-3 sec: welchen Zweck hat eine so hohe zeitliche Auflösung? Ich denke der ioBroker ist doch nicht für real-time Prozessteuerung gedacht... und für die Langzeitbetrachtung läuft bei mir nebenher noch InfluxDB mit Grafana (Werte alle 5 sec), das ist hocheffizient bzgl. CPU und Speicher.
-
@ujok
Mann, du bist der Wahnsinn. Wie installier ich denn die 0.0.7? Ich bekomme immer nur die 0.0.6-beta?Zur tatsächlichen Beobachtung der Anlage, vor allem bei Veränderungen an der Anlage sind kurze Intervalle schon sehr sinnvoll. Oder wenn man eine Wallbox-Steuerung aufbauen will, braucht man auch sehr schnelle Daten.
DC/DC und Bat würde ich eher auf längerem Intervall sehen,
Wechselrichter (PVI), Leistungsmesser, Wallbox eher kurz.Oder irgendwie einzelne Werte, die man wirklich kurz braucht, zum einzeln anklicken.
Quasi zwei Intervalle, alle die nicht angeklickt sind Intervall 1 und alle angeklickten Intervall 2.
Wenn man dann nur wenige Werte braucht, könnte das auch noch stabil auf schwächeren Systemen laufen.
Hab aber keine Idee wie komplex das ist. Nur so brainstorming. -
So jetzt habe ich auch die 0.0.7-beta. Sehr krass.
Bei PVI#0 werden Unterverzeichnisse für Phase, String und Temp. angezeigt. Diese enthalten aber die Werte von PVI#1.Bei PVI#1 werden keine Verzeichnisse angezeigt.
Die Werte nicht aus den Unterverzeichnissen sind aber korrekt, d.h. z.B. Seriennummer wird bei PVI#1 und PVI#0 korrekt gezeigt.D.h. die Unterzeichnisse scheinen vertaucht, bzw. werden nicht angezeigt.
P.S. Das gleiche Problem hat das RSCPGui auch bei der MTTQ-Ausgabe. Bei der Screen-Ausgabe ist es korrekt.
-
@ujok
Ich hab die Werte mal in mein VIS eingebaut. Dabei ist mir aufgefallen, dass die String-Werte (U,I,P) von PVI#0 (in PVI#1 werden ja keine Verzeichnisse angezeigt) ganz kurz für den Bruchteil einer Sekunde die korrekten Werte von PVI#0 anzeigen und dann auf die Werte von PVI#1 umspringen.
Es scheinen alle Werte da zu sein, aber irgendwie übereinander. Vielleicht hilft das?!P.S. Mein Intervall ist auf 15 Sek. Ich bekomme jetzt auch mit jedem Update eine log-Eintrag:
Received data type ERROR with value 3 - tag REQ_DATA -
@matis, danke für die Anmerkungen bzgl. Update-Frequenz.
"Zur tatsächlichen Beobachtung der Anlage, vor allem bei Veränderungen an der Anlage sind kurze Intervalle schon sehr sinnvoll." - Ja verstanden, aber man beobachtet ja nicht dauernd oder baut um; zeitweise wäre ja eine hohe Last vielleicht erträglich, da kann man ja auch einen PC verwenden, der nicht 24x7 läuft.
"Oder wenn man eine Wallbox-Steuerung aufbauen will, braucht man auch sehr schnelle Daten." - das kann ich auf Anhieb nicht nachvollziehen: ich prüfe z.Zt. alle 10 Minuten die Bedingungen, unter denen ich bzgl. Ladeleistung oder Abschalten etwas tun will, das rutscht mir eigentlich kaum etwas durch.
Und ja, auf 2 oder 3 einstellbare Intervalle und eine (gruppierte) Zuordnung zu diesen wird es wohl hinauslaufen. Und es dürfte Sinn machen, ganze Namespaces auszuschalten, die man nicht verwendet.
-
@matis , zum Thema vertauschte/überschriebene Werte: da ist tatsächlich nocht etwas im Argen.
Hintergrund: die E3/DC behandelt Index-Werte nicht einheitlich. Mal gibt es einen COUNT (Höchstwert) wie bei PHASES und STRINGS, mal nicht, wie bei BAT und PVI. Mal kommen einzelne Werte in einem Container mit INDEX, mal wird der INDEX einmal anfangs im frame gesendet, usw. pp. Das hat zur Folge, dass es viele auf trial& error basierende "Sonderbehandlungen" und "Tricks" im Programm gibt, was halt auch zu Fehlern führt. Das nur zum Verständnis, warum noch so "triviale" Dinge falsch sind... umso wertvoller ist euer Testen!!
Bitte installiere nochmal vom master
Ich habe an der PVI Index Logik einiges korrigiert - siehst du einen Unterschied?NB: der Received data type ERROR with value 3 - tag REQ_DATA sollte jetzt nicht mehr kommen, das war ein Artefakt vom PVI probing (Abfragen auf Verdacht)...
-
@ujok
krieg jetzt Fehler beim Installieren, kommt wahrscheinlich gar nicht bei mir an.$ iobroker url ioBroker.e3dc-rscp --host buanet-iobroker install ioBroker.e3dc-rscp NPM version: 6.14.15 npm install ioBroker.e3dc-rscp --loglevel error --prefix "/opt/iobroker" (System call) npm ERR! code E404 npm ERR! 404 Not Found - GET https://registry.npmjs.org/ioBroker.e3dc-rscp - Not found npm ERR! 404 npm ERR! 404 'ioBroker.e3dc-rscp@latest' is not in the npm registry. npm ERR! 404 Your package name is not valid, because npm ERR! 404 1. name can no longer contain capital lettersnpm ERR! 404 npm ERR! 404 Note that you can also install from anpm ERR! 404 tarball, folder, http url, or git url. npm ERR! A complete log of this run can be found in:npm ERR! /opt/iobroker/.npm/_logs/2021-11-10T15_55_46_694Z-debug.log upload [14] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/words.js words.js application/javascript upload [13] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/style.css style.css text/css upload [12] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/index_m.html index_m.html text/html upload [11] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/i18n/zh-cn/translations.json i18n/zh-cn/translations.json application/json upload [10] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/i18n/ru/translations.json i18n/ru/translations.json application/json upload [9] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/i18n/pt/translations.json i18n/pt/translations.json application/json upload [8] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/i18n/pl/translations.json i18n/pl/translations.json application/json upload [7] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/i18n/nl/translations.json i18n/nl/translations.json application/json upload [6] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/i18n/it/translations.json i18n/it/translations.json application/json upload [5] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/i18n/fr/translations.json i18n/fr/translations.json application/json upload [4] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/i18n/es/translations.json i18n/es/translations.json application/json upload [3] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/i18n/en/translations.json i18n/en/translations.json application/json upload [2] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/i18n/de/translations.json i18n/de/translations.json application/json upload [1] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/e3dc-rscp.png e3dc-rscp.png image/png upload [0] e3dc-rscp.admin /opt/iobroker/node_modules/iobroker.e3dc-rscp/admin/@tab_m.html @tab_m.html text/html Process exited with code 0
-
@matis sagte in Test Adapter e3dc-rscp v0.0.x GitHub:
Auf was für ner Kiste hast du denn Docker laufen?
DS218+ mit ausgebautem Speicher. Das reicht ja auch in der Regel.
-
@matis, das releasen via npm ist noch in Arbeit, das ist noch unzuverlässig bei mir.
Du kannst direkt aus GitHub installieren ("Installieren aus eigener URL"):
v0.0.7-beta: https://github.com/git-kick/ioBroker.e3dc-rscp/tree/v0.0.7-beta
master: https://github.com/git-kick/ioBroker.e3dc-rscp/tree/master
Im master sind die eben angesprochenen Änderungen (PVI Index) schon drin. -
@ujok sagte in Test Adapter e3dc-rscp v0.0.x GitHub:
https://github.com/git-kick/ioBroker.e3dc-rscp/tree/v0.0.7-beta
Sorry, habs jetzt hinbekommen. Ich hab vorher auch alles gelöscht, um sicher zu sein.
Es hat sich aber nichts geändert. Verhalten wie oben.
Kurz die richtigen Werte dann die von PVI#1 und in PVI#1 keine Verzeichnisse. -
@ujok sagte in Test Adapter e3dc-rscp v0.0.x GitHub:
Received data type ERROR with value 3 - tag REQ_DATA
Das kommt schon mal nicht mehr, jetzt wird aber laufend diese Warnung wiederholt:
Received data type ERROR with value 6 - tag REQ_COS_PHI -
Bei PVI#0 werden alle Werte bei der Phase#0 angezeigt, bei Phase#1 und 2 fehlen einige.
-
@arnod Phase-Daten sind vollständig, sind nur 7. Der Rest ist in String und Temp.
Aber eben die ganzen Verzeichnisse fehlen bei mir bei PVI#1.
Und in PVI#0 werden die PVI#0-Daten in den Verzeichnissen nur sehr kurz angezeigt und dann mit denen von PVI#1 überschrieben. Das ist bei der #11 Version immer noch.Log bleibt bei mir nun leer, wenn nach dem Start gelöscht.
Nur beim Adapterstart kommt das:e3dc-rscp.0 2021-11-10 17:49:31.375 warn Received data type ERROR with value 6 - tag DATA e3dc-rscp.0 2021-11-10 17:49:31.360 warn Received data type ERROR with value 6 - tag DATA e3dc-rscp.0 2021-11-10 17:49:31.283 info Connection to E3/DC is established e3dc-rscp.0 2021-11-10 17:49:31.278 warn Probing for PVI units - up to 3 messages about received ERROR may follow (just ignore them). e3dc-rscp.0 2021-11-10 17:49:31.275 warn Probing for BAT units - up to 4 messages about received ERROR may follow (just ignore them). e3dc-rscp.0 2021-11-10 17:49:31.208 info starting. Version 0.0.7-beta in /opt/iobroker/node_modules/iobroker.e3dc-rscp, node: v12.22.7, js-controller: 3.3.18 e3dc-rscp.0 2021-11-10 17:49:25.620 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason e3dc-rscp.0 2021-11-10 17:49:25.618 info terminating