NEWS
E3DC Hauskraftwerk steuern
-
@smartboart
Habe es mal kurz getestet und habe noch ein paar Probleme beim Auswählen, welche Daten verwendet werden sollen.
Das funktioniert anscheinend noch nicht sauber oder ich mache was falsch.
Werde mich am Wochenende noch weiter damit auseinandersetzen.Wenn das aber sauber funktioniert brauchen wir sogar sicher keine Modbus Schnittstelle mehr.
-
@arnod sagte in E3DC Hauskraftwerk steuern:
@smartboart
Habe es mal kurz getestet und habe noch ein paar Probleme beim Auswählen, welche Daten verwendet werden sollen.Bei mir hat es in Windows auf Anhieb geklappt. Alle states wurden sauber angelegt und übertragen. Wenn es stabil auf meinem 2. Raspi läuft, welcher als VPN Server , SQL Server und als pihole läuft, wäre das super. Wenn dann noch per mqtt greschaltet werden kann, wie es rxhan gerade in Arbeit hat, wäre das der Hammer.
Wir hätten dann auch alle Messwerte was Script wieder schlanker machen würde.
Und SOH der Batterie könnte auch überwacht werden... -
@smartboart
Hast du es mal unter Linux versucht ? -
@arnod bin ich gerade dabei...setze gerade mein Testsystem neu auf...Hatte desktop nachinstalliert und hatte noch pronbleme mit python. Die gui ging noch nicht auf...
Installiere jetzt ne Debian Buster Desktop Version und start nochmal neu.. -
die Python Abhängikeiten müssen noch installiert werden.
Python3 muss inklusive der in requirements.txt beschriebenen Abhängigkeiten installiert sein. Aufruf dann mittels python3 main.pypy3rijndael~=0.3.3
wxPython~=4.1.0
requests~=2.24.0
websocket-client~=0.57.0
pytz~=2020.1
paho-mqtt~=1.5.1
influxdb~=5.3.0Auf iobroker ist schon Python 2.7.16 und 3.7.16 installiert.
Die Pakete müssen richtig installiert sein... pip3 install py3rijndael usw hatte ich schon durch... Wird mit pip install installiert wird 2.7.16 verwendet.
Das macht wohl Probleme.gestartet wird dann mit: python3 main.py aus dem Verzeichnis heraus wo alles hin kopiert wurde.
Wenn es klappt schreibe ich es im detail zusammen.. -
@arnod
so habe mal meine Schritte zusammen geschrieben zwecks RSCPGui auf Raspi mit und ohne iobroker, damit das tool im Hintergrund die RSCP Datren per MQTT an den iobroker schickt.Bitte nicht gleich im life system durchführen, hier gibt es noch viel zu klären...
Ein Test System wäre besser. Ich bin immer noch am Testen und hab ein paar Anläufe gebraucht.
wxPython hat mich jede menge Zeit gekostet. Das war nicht ohne. Hab aber ein Weg gefunden der funktioniert.
Desktop wird benötigt um das Programm zu bedienen und zu konfigurieren.
Es würde auch ohne Desktop laufen, aber für die Konfigdatei sollte man es erstmal so in Betrieb nehmen. Werde es denke ich als Desktop laufen lassen.installieren müsst ihr in eurem iobroker den mqtt Adapter mit folgenden Einstellungen.
Abhängigkeiten für RSCP
py3rijndael~=0.3.3
wxPython~=4.1.0
requests~=2.24.0
websocket-client~=0.57.0
pytz~=2020.1
paho-mqtt~=1.5.1
influxdb~=5.3.0//rscpgui E3DC Auf Raspi mit oder ohne iobroker:
Desktop nachinstallieren falls nicht vorhanden: wird benötigt um das tool rscpgui zu konfigurieren und konfig datei anzulegen
Link zur Beschreibungfalls iihr auch ne lite Version auf dem Test system laufen habt
https://coldcorner.de/2018/02/23/upgrade-raspbian-stretch-lite-zur-vollen-desktop-version/
oder
https://linuxhint.com/install_gnome_debian_10_minimal_server/
VNC installieren falls kein Monitor
$ sudo rspi-config
vnc aktivieren// Variante 1:
Python 2.7 und 3.7 ist mit iobroker bereits vorinstalliert falls gleiches system
Abfrage
$ python --version
$ python3 --version
$ which python3.7$ sudo apt install python3-pip
sudo apt-get install git python3-dev libgtk-3-dev libpulse-dev python3-venv python3-wheel
git clone https://github.com/rxhan/RSCPGui
cd /home/pi/RSCPGui
sudo python3 -m venv venv
source venv/bin/activate
sudo pip3 install -r requirements.txtim desktop starten
sudo python3 main.pySollte im Desktop dann aufgehen.
Daten kommen im iobroker an
604 neue aktive States
Tool und iobroker laufen auf dem selben system. Unter Last/ Auslastung muss man mal sehen wie es läuft.
Mein Testsystem hat keine produktiven Aufgaben am Laufen.hier zum Thema beim Entwickler:
https://github.com/rxhan/RSCPGui/issues/7 -
@ArnoD hat geklappt
-
@arnod Hallo was meinst du damit du brauchst das nicht mehr und es ist in meinem Script bereits enthalten von welchem script sprechen wir ? Bekomme auch diese Meldung.
Habe mir die Version: 0.2.21 runtergeldaen und eingebunden.javascript.1 (3531) Start javascript script.js.Skript.E3DC_Steuerung javascript.1 (3531) script.js.Skript.E3DC_Steuerung: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../xmlhttprequest' javascript.1 (3531) at Module.require (internal/modules/cjs/loader.js:887:19) javascript.1 (3531) at require (internal/modules/cjs/helpers.js:74:18) javascript.1 (3531) at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:397:36) javascript.1 (3531) at script.js.Skript.E3DC_Steuerung:212:24 javascript.1 (3531) at script.js.Skript.E3DC_Steuerung:1660:3 javascript.1 (3531) at Script.runInContext (vm.js:130:18) javascript.1 (3531) script.js.Skript.E3DC_Steuerung: registered 0 subscriptions and 0 schedules javascript.1 (3531) script.js.Skript.E3DC_Steuerung: TypeError: Cannot read property 'XMLHttpRequest' of undefined javascript.1 (3531) at script.js.Skript.E3DC_Steuerung:212:49 javascript.1 (3531) at script.js.Skript.E3DC_Steuerung:1660:3 javascript.1 (3531) at Script.runInContext (vm.js:130:18)
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD hat geklappt
smartboart du bist einfach der Wahnsinn
Werde am Wochenende mal deine tolle Anleitung nutzen und versuchen, das ich es zu laufen bekomme.
Ich habe nur das Problem, das meine iobroker und E3DC-Control Installation in einem Doker-Container auf meiner Synology NAS laufen.
Muss also versuchen, das auch noch unterzubringen.Wenn ich nur mehr Zeit hätte, könnte mich schon wieder stundenlang damit beschäftigen
-
Damit war @goelectric gemeint, da er noch das alte Typescript zum Abrufen der Wetterdaten von Proplanta verwenden wollte. Diese Funktion habe ich aber bereits in meinem Script übernommen.
Hast du in deiner Javascript Instanz das NPM-Modul XMLHttpRequest eingetragen ?
Sollte dann so Ausehen:
-
@arnod Super Danke ja das war es. Die müssen wohl beim Update rausgefolgen sein. Danke
-
Falls es noch nicht bekannt sein sollte; einen zusätzlichen Wechselrichter von E3DC kann ich über die holdingregister 40076_Einspeisung_Leistung in Watt und die Register 40134, 40135, 40136 jeweils die Phasenleistung auslesen.
-
@arnod sagte in E3DC Hauskraftwerk steuern:
Wenn ich nur mehr Zeit hätte, könnte mich schon wieder stundenlang damit beschäftigen
Ja das trifft es.. Hab mir ne ganze Nacht um die Ohren gehauen.
Hab die anleitung noch aktualisiert. Lasse es jetzt mal über nacht im Testsystem laufen. Mal sehen wie es rennt. 604 neue aktive States , hab mal alles ausgewählt..Das tool musste ich ein paar mal starten bis es richtig lief. So richtig stabil lässt es sich nicht konfigurieren. Wenn es mal läuft läufts..
Interessant sind vo allem diese Daten...Wenn hier ne Batterie anfängt zicken zu machen sieht man es hier an der Zellenspannung am ehesten.. Aber SOH ist ja auch schon aussagekräftig... Gibt ne mächtige view wenn das stabil läuft...
-
@ArnoD
Die Anleitung ist jetzt Wasserdicht. Habe es im life System.. Das Tool läuft unter linux nun viel stabieler als unter Windows und absolut schnell. -
@smartboart
Ok super, dann werde ich heute Nachmittag mal versuchen es auf meiner Synology NAS in einem Debian Docker Image zu installieren.
Wenn Python 2.7 und 3.7 nicht installiert ist muss ich das vorher noch machen oder ?? -
Wer kann mir helfen??
Ich möchte zwei Datenpunkte auslesen und in einen dritten Datenpunkt als Summe speichern. Hintergrund, die E3DC hat neben dem S10 einen zusätzlichen Wechselrichter SW12 und in der VIS möchte ich die Summe der erzeugten Solarenergie anzeigen lassen (FLOT-Diagramm)
Mit folgendem Javasript erhalte ich zwar keine Fehlermeldungen aber auch keinen Summenwert.
Wo liegt mein Gedankenfehler?
-
@goelectric sagte in E3DC Hauskraftwerk steuern:
Wo liegt mein Gedankenfehler?
+ fügt nur zusammen... so klappts a*1 + b*1
-
@arnod ja ist notwendig...
Arno ich hatte heute Probleme beim Abruf mit folgender Meldung im Log.
2021-03-19 13:54:53.715 - error: javascript.1 (711) script.js.common.PVAnlage.E3DCS10EPro: E3DC Control: Bewölkungsgrad_12 oder Bewölkungsgrad_15 wurde nicht abgerufen. 12=200 15=200
Erstmal nicht ungewöhnlich, aber problematisch war, dass ich wegen dieser Meldung keine Programmvorwahl manuell anwählen konnte.
Kannst du mal versuchen ob du das nachstellen kannst? Kein Internet und nach der Meldung versuchen ein Programm manuell vorzuwählen. Also z.B von Sonne auf Bewölkt alles laden umstellen.
Den Fehler sollten wir irgendwie abfangen, damit dadurch nicht das Script blockiert wird..
-
@smartboart
Du findest aber auch jeden Fehler
OK habe ich korrigiert, Danke.Neue Version 0.2.22 hochgeladen.
Version: 0.2.22 Fehler manuelles Umschalten der Einstellungen ohne Internetverbindung nicht möglich korrigiert -
@goelectric
Deine Berechnung ist schon richtig, nur modbus.0.holdingRegisters.40076 ist immer ein negativer Wert und du musst
das erst mit Math.abs() in einen positiven Wert umwandeln.var summe = a + Math.abs(b);