NEWS
E3DC Hauskraftwerk steuern
-
Hallo @ArnoD
im Log habe ich bei mir folgenden Eintrag heute Morgen gefunden:javascript.0 2021-10-09 10:10:03.175 info script.js.common.E3_DC.E3DC_Control_Prognose: Berechneter Unload SoC ist = -55Können die -55 so stimmen? Welcher Wert wird dann für den unload Parameter genommen wenn der berechnete Wert kleiner als mein eingestellter Parameter in der VIS ist?
Ok hat sich erledigt, hab es im Skript gefunden.
if (UnloadSoC < nMinUnloadSoC){UnloadSoC = nMinUnloadSoC;}Gruß Chris
-
@smartboart Ja, danke, das hab ich schon ausprobiert. Nur muß ich dazu aktuell noch meinen PC laufen lassen, ich hätte es gerne wie IOBroker auf der Synology laufen, hab aber keine Ahnung wie das zu bewerkstelligen ist.
@matis Weiter oben hatte ich mal beschrieben wie man es auf einem Raspberry Pi laufen lassen kann. Prallel zum IOBroker . Von der synology im Docker habe ich keine Erfahrung...
-
@matis Weiter oben hatte ich mal beschrieben wie man es auf einem Raspberry Pi laufen lassen kann. Prallel zum IOBroker . Von der synology im Docker habe ich keine Erfahrung...
@smartboart Hi, hänge auch an wxPython, du hast geschrieben, das hat dich jede Menge Zeit gekostet. Was hast Du denn gemacht, um es installiert zu bekommen?
Ich hab nen Docker Container mit python installiert. Alle Pakete lassen sich nachinstallieren außer wxPython:
checking for GTK+ version...
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.16... yes
checking for GTK+ - version >= 3.0.0... Package gtk+-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-3.0' found
no
*** Could not run GTK+ test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occurred. This usually means GTK+ is incorrectly installed.
configure: error:
The development files for GTK+ were not found. For GTK+ 2, please
ensure that pkg-config is in the path and that gtk+-2.0.pc is
installed. For GTK+ 1.2 please check that gtk-config is in the path,
and that the version is 1.2.3 or above. Also check that the
libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
--libs' are in the LD_LIBRARY_PATH or equivalent.So und da hänge ich nun. Hat mir jemand einen Tipp?
-
@smartboart Hi, hänge auch an wxPython, du hast geschrieben, das hat dich jede Menge Zeit gekostet. Was hast Du denn gemacht, um es installiert zu bekommen?
Ich hab nen Docker Container mit python installiert. Alle Pakete lassen sich nachinstallieren außer wxPython:
checking for GTK+ version...
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.16... yes
checking for GTK+ - version >= 3.0.0... Package gtk+-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-3.0' found
no
*** Could not run GTK+ test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occurred. This usually means GTK+ is incorrectly installed.
configure: error:
The development files for GTK+ were not found. For GTK+ 2, please
ensure that pkg-config is in the path and that gtk+-2.0.pc is
installed. For GTK+ 1.2 please check that gtk-config is in the path,
and that the version is 1.2.3 or above. Also check that the
libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
--libs' are in the LD_LIBRARY_PATH or equivalent.So und da hänge ich nun. Hat mir jemand einen Tipp?
@matis hab inzwischen ein Dockerimage mit vorinstalliertem wxpython verwendet.
Leider läuft die python3 main.py -e -c nicht, gibt Fehlerroot@python-3:/opt/RSCPGui# python3 main.py -e -c -v
2021-10-10 18:26:54,558 - main - INFO - Lade Module
2021-10-10 18:26:56,043 - main - INFO - Module geladen, initialisiere Console
2021-10-10 18:26:56,044 - rscpguimain - INFO - Main initialisiert
2021-10-10 18:26:56,044 - rscpguimain - INFO - Lade Konfigurationsdatei rscpe3dc.conf.ini
Traceback (most recent call last):
File "main.py", line 92, in <module>
g.MainLoop()
File "/opt/RSCPGui/rscpguiconsole.py", line 39, in MainLoop
g = self.gui
File "/opt/RSCPGui/rscpguiconsole.py", line 62, in gui
return RSCPGuiMain.gui.fget(self)
File "/opt/RSCPGui/rscpguimain.py", line 255, in gui
if self.cfgLoginusername and self.cfgLoginpassword and self.cfgLoginconnectiontype == 'auto':
File "/opt/RSCPGui/rscpguimain.py", line 174, in getattr
if kat in self.config:
File "/opt/RSCPGui/rscpguimain.py", line 119, in config
self._config.read(self.ConfigFilename)
File "/usr/local/lib/python3.8/configparser.py", line 697, in read
self._read(fp, filename)
File "/usr/local/lib/python3.8/configparser.py", line 1017, in _read
for lineno, line in enumerate(fp, start=1):
File "/usr/local/lib/python3.8/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 1894: invalid start byteund die GUI bekomme ich noch nicht aus dem Container raus:
Unable to access the X Display, is $DISPLAY set properly? -
Neue Version 0.3.5 hochgeladen.
Änderungen:
Bei allen Parameter Typ: number role:value geändert.
Im Iobroker Objekte muss der ganzen Objektbaum 0.E3DC-Control.Parameter gelöscht werden und dann das Script neu gestartet werden.@ChrisChros
Jetzt sollte die Infomeldung nicht mehr im LOG auftauchen.@arnod Moin Arno,
ich bin eben auf die neueste Version, habe die Parameter gelöscht und neu gestartet. Jetzt habe ich folgende Warnungen in der Ausgabe und dementsprechend werden auch die richtigen Werte aus der Datei nicht in die Parameter-Objekte eingelesen.23:38:44.168 warn javascript.0 (674) script.js.Strom.E3DCControl: -==== Fehler beim Schreiben der e3dc.config.txt Error = TypeError: Cannot read property 'writeFile' of undefined ====- 23:38:44.169 warn javascript.0 (674) script.js.Strom.E3DCControl: -==== Parameter Fehler beim einlesen der Parameter Error = TypeError: Cannot read property 'readFile' of undefined ====-Definiert ist der Dateiort nach wie vor mit const sPfadE3DC = "/home/iobroker/e3dc-config-transfer/e3dc.config.txt".
Das Modul fs von JavaScript habe ich eigentlich:

Haste ne Idee?
Google sagt zu dem Fehler als eine Möglichkeit, dass das passiert, wenn man Node.js < Version 10 hat, ich habe allerdings v12.22.2, also eher unwahrscheinlich?!
Haben die Pünktchen irgendwas zu bedeuten?

Jetzt inzwischen bekomme ich auch noch folgenden Fehler (4x): Liegt das daran, dass ich durch mehrmalige Neustarts des Skripts die Abfragemöglichkeit bei Forecast überreizt habe?
(674) script.js.Strom.E3DCControl: Error in der function InterrogateForecast. Fehler = Error, status code = 429 -
@stevie77
Also Error 429 ist einfach zu beantworten, hier sind in einer bestimmten Zeitspanne zu viele Anfragen gesendet worden.Die erste Fehlermeldung ist nicht so einfach zu beantworten.
Welche Version vom Javascript Adapter hast du bei dir installiert?
Ich habe folgende Stände:
Javascript Adapter 5.2.13
Node.js 12.22.4
npm 6.14.14Einfach mal auf die neusten Versionen updaten und dann testen.
Denke aber nicht das es daran liegt, da ab Version 10.x FS Promises funktionieren sollte.
Die drei Punkte habe ich auch, weiß aber nicht was diese bedeuten.
Hast du sonst noch was geändert am Script?Kannst mal versuchen die e3dc.config.txt zu löschen und über das Script neu erstellen lassen, ob das funktioniert.
Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
Die Zeile 880 sieht dann so aus:
fsw.writeFile(sPfadE3DC , string)
Das gleiche in Zeile 896:
let data = fsw.readFile(sPfadE3DC, 'utf8')Hat hier noch jemand das Problem ??
-
@arnod Moin Arno,
ich bin eben auf die neueste Version, habe die Parameter gelöscht und neu gestartet. Jetzt habe ich folgende Warnungen in der Ausgabe und dementsprechend werden auch die richtigen Werte aus der Datei nicht in die Parameter-Objekte eingelesen.23:38:44.168 warn javascript.0 (674) script.js.Strom.E3DCControl: -==== Fehler beim Schreiben der e3dc.config.txt Error = TypeError: Cannot read property 'writeFile' of undefined ====- 23:38:44.169 warn javascript.0 (674) script.js.Strom.E3DCControl: -==== Parameter Fehler beim einlesen der Parameter Error = TypeError: Cannot read property 'readFile' of undefined ====-Definiert ist der Dateiort nach wie vor mit const sPfadE3DC = "/home/iobroker/e3dc-config-transfer/e3dc.config.txt".
Das Modul fs von JavaScript habe ich eigentlich:

Haste ne Idee?
Google sagt zu dem Fehler als eine Möglichkeit, dass das passiert, wenn man Node.js < Version 10 hat, ich habe allerdings v12.22.2, also eher unwahrscheinlich?!
Haben die Pünktchen irgendwas zu bedeuten?

Jetzt inzwischen bekomme ich auch noch folgenden Fehler (4x): Liegt das daran, dass ich durch mehrmalige Neustarts des Skripts die Abfragemöglichkeit bei Forecast überreizt habe?
(674) script.js.Strom.E3DCControl: Error in der function InterrogateForecast. Fehler = Error, status code = 429Versuch mal folgende Änderung.
in der Zeile 213 diese beiden Konstanten definieren:
const { readFile } = require('fs').promises
const { writeFile } = require('fs').promises
und die Zeile
const fs = require('fs').promises;
löschen.Die Zeile 880 in
await writeFile(sPfadE3DC , string)
ändern und die Zeile 896 in
let data = await readFile(sPfadE3DC, { encoding: 'utf8' })
ändern.Wenn es bei dir auch funktioniert, würde ich das in meinem Script so übernehmen.
-
@stevie77
Also Error 429 ist einfach zu beantworten, hier sind in einer bestimmten Zeitspanne zu viele Anfragen gesendet worden.Die erste Fehlermeldung ist nicht so einfach zu beantworten.
Welche Version vom Javascript Adapter hast du bei dir installiert?
Ich habe folgende Stände:
Javascript Adapter 5.2.13
Node.js 12.22.4
npm 6.14.14Einfach mal auf die neusten Versionen updaten und dann testen.
Denke aber nicht das es daran liegt, da ab Version 10.x FS Promises funktionieren sollte.
Die drei Punkte habe ich auch, weiß aber nicht was diese bedeuten.
Hast du sonst noch was geändert am Script?Kannst mal versuchen die e3dc.config.txt zu löschen und über das Script neu erstellen lassen, ob das funktioniert.
Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
Die Zeile 880 sieht dann so aus:
fsw.writeFile(sPfadE3DC , string)
Das gleiche in Zeile 896:
let data = fsw.readFile(sPfadE3DC, 'utf8')Hat hier noch jemand das Problem ??
@arnod said in E3DC Hauskraftwerk steuern:
Hat hier noch jemand das Problem ??
Also bei mir im Log kann ich zu den oben genannten Problemen keine Einträge finden.
Seit dem letzten Update läuft alles bestens. -
@stevie77
Also Error 429 ist einfach zu beantworten, hier sind in einer bestimmten Zeitspanne zu viele Anfragen gesendet worden.Die erste Fehlermeldung ist nicht so einfach zu beantworten.
Welche Version vom Javascript Adapter hast du bei dir installiert?
Ich habe folgende Stände:
Javascript Adapter 5.2.13
Node.js 12.22.4
npm 6.14.14Einfach mal auf die neusten Versionen updaten und dann testen.
Denke aber nicht das es daran liegt, da ab Version 10.x FS Promises funktionieren sollte.
Die drei Punkte habe ich auch, weiß aber nicht was diese bedeuten.
Hast du sonst noch was geändert am Script?Kannst mal versuchen die e3dc.config.txt zu löschen und über das Script neu erstellen lassen, ob das funktioniert.
Wenn alles nicht funktioniert bleibt nur require('fs').promises gegen require('fs'); zu tauschen oder einfach const fsw verwenden. Dann kann aber await nicht verwendet werden und muss in Zeile 880 gelöscht werden.
Die Zeile 880 sieht dann so aus:
fsw.writeFile(sPfadE3DC , string)
Das gleiche in Zeile 896:
let data = fsw.readFile(sPfadE3DC, 'utf8')Hat hier noch jemand das Problem ??
@arnod Also, ich hatte Node.js wie du, inzwischen upgedatet. Node.js: v12.22.7, NPM version: 6.14.15. Das ändert erstmal nichts. Mein Javascript ist aber ein ganzes Stück veraltet, da ich nicht auf Admin 5 upgraden wollte (ist daran gekoppelt). Du hast wahrscheinlich Admin 5 und deswegen neueres Javascript? Ist Admin 5 inzwischen einigermaßen verwendbar?

Am Skript habe ich nichts geändert, komplett ab "ENDE USER ANPASSUNGEN" kopiert.
Die ebenso vorgeschlagene Änderung habe ich so richtig umgesetzt? Scheint auch nicht zu funktionieren...

Scheint mir wohl nichts anderes übrig bleiben als in den sauren Apfel zu beißen und auf das meiner Meinung nach unübersichtliche Admin 5 zu wechseln...
Edit: Konfigdatei löschen/umbenennen und neu aus Programm schreiben lassen provoziert denselben Fehler bzw. die Warnung wie beim Start.
-
@arnod Also, ich hatte Node.js wie du, inzwischen upgedatet. Node.js: v12.22.7, NPM version: 6.14.15. Das ändert erstmal nichts. Mein Javascript ist aber ein ganzes Stück veraltet, da ich nicht auf Admin 5 upgraden wollte (ist daran gekoppelt). Du hast wahrscheinlich Admin 5 und deswegen neueres Javascript? Ist Admin 5 inzwischen einigermaßen verwendbar?

Am Skript habe ich nichts geändert, komplett ab "ENDE USER ANPASSUNGEN" kopiert.
Die ebenso vorgeschlagene Änderung habe ich so richtig umgesetzt? Scheint auch nicht zu funktionieren...

Scheint mir wohl nichts anderes übrig bleiben als in den sauren Apfel zu beißen und auf das meiner Meinung nach unübersichtliche Admin 5 zu wechseln...
Edit: Konfigdatei löschen/umbenennen und neu aus Programm schreiben lassen provoziert denselben Fehler bzw. die Warnung wie beim Start.
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Admin 5 zu wechseln
Der ist gekommen um zu bleiben. Da wirst du dich früher oder später eh mit auseinandersetzen müssen.
-
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Admin 5 zu wechseln
Der ist gekommen um zu bleiben. Da wirst du dich früher oder später eh mit auseinandersetzen müssen.
@thomas-braun Gut formuliert. :-) Bin gerade am Updaten...hoffentlich läuft's danach dann...
-
Ich habe dieses Topic eröffnet, um gemeinsam an einer Überschusssteuerung des E3DC Hauskraftwerks in ioBroker zu arbeiten.
Dankeschön an dieser Stelle an Eberhard und sein Programm E3DC-Control, ohne ihn wäre das alles nicht möglich gewesen.
Großes Lob und Danke auch an Uli, der den Adapter e3dc-rscp programmiert hat, über den die Steuerung im ioBroker erst möglich wurde.Ziel der Steuerung ist:
Mit der Steuerung soll erreicht werden, dass der Batteriespeicher möglichst schonend geladen wird, um die Lebensdauer zu erhöhen.- Speicher soll nie längere Zeit auf 100 % geladen werden oder auf 0 % entladen werden.
- Möglichst gleichmäßige Ladeleistung beim Laden.
- PV-Überschuss soll gespeichert werden, um nicht in die 70 % Abriegelung zu kommen.
- Bei Überschreitung WR Begrenzung soll Überschuss in die Batterie gespeichert werden.
ioBroker
Es werden folgende Adapter benötigt:- Javascript (NPM-Module: axios, is-it-bst)
- e3dc-rscp
Für die View Beispiele in VIS werden noch folgende Adapter benötigt:
- vis-hqwidgets
- vis-materialdesign
- vis-timeandweather
Beispiel View zum Importieren und das Skript Charge-Control, sowie eine Anleitung findet ihr auf GitHub:
https://github.com/ArnoD15/iobroker_E3DCEinstellbare Parameter:
Unload: Wenn der SoC Wert der Batterie > Wert „Unload“ ist, wird der Batteriespeicher mit Beginn Solarproduktion bis Beginn Regelzeitraum, auf SOC Wert Parameter "Unload" entladen. Ist Unload < Ladeschwelle wird bis Ladeschwelle geladen und Unload ignoriert.Ladeschwelle: Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen. Danach wird bis SOC Wert „Ladeende“ gleichmäßig geladen, mit Ausnahme, wenn die PV-Leistung das Einspeiselimit oder die WR-Maxleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder WR-Limit einhalten zu können. Bei unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird wieder mit neu berechneter Ladeleistung, gleichmäßig bis „Ladeende" geladen. Bei großem Überschuss kann die gleichmäßige Ladeleistung bis auf 0 abgesenkt werden. Parameter "Ladeschwelle" hat Vorrang vor "Unload", d.h. "Unload" wird ignoriert, falls "Ladeschwelle" größer sein sollte als „Unload“.
Ladeende: SoC Wert Speicher, der zum Ende des Regelzeitraums erreicht werden soll.
Ladeende2: SoC Wert Speicher, der zum Ende Sommer Ladeende erreicht werden sollten.
Unterer Ladekorridor: Der „Untere Ladekorridor“ definiert nur den min. Wert, ab dem mit dem Laden der Batterie gestartet wird. Erst wenn die berechnetet Ladeleistung den Wert „unteren Ladekorridor“ übersteigt, wird mit dem Laden der Batterie gestartet.
Offset Regelbeginn Zeit in hh:mm, die von der Astro Zeit "solarNoon" (höchster Sonnenstand) abgezogen wird.
Offset Regelende Zeit in hh:mm, die zu der Astro Zeit "solarNoon" (höchster Sonnenstand) dazu addiert wird.
Offset Ladeende Zeit in hh:mm, die von der Astro Zeit "sunset" (Sonnenuntergang) abgezogen wird.

Eigenverbrauch: Der geschätzte Eigenverbrauch pro Tag in kWh. Wird für die Überschussberechnung der Prognose verwendet.Notstrom min.: Speicherreserve in % bei Wintersonnenwende 21.12
Notstrom Sockel: min. SOC Wert bei Tag-/Nachtgleiche 21.3./21.9.
Berechnung Notstrom: 21.12 (Wintersonnenwende) ist der Bezugs-SoC = Wert „Notstrom min“ und wird bis zum 21.3 (Tag-/Nachtgleiche) auf Wert „Notstrom Sockel“ reduziert und bis zum 20.06 (Sommersonnenwende) um ca. weitere 10% reduziert. Ab dem 20.06 (Sommersonnenwende) steigt der Bezugs-SoC wieder bis zum 21.09 (Tag-/Nachtgleiche) auf den Wert „Notstrom Sockel“ und bis zum 21.12 (Wintersonnenwende) auf den Wert „Notstrom min“. Je Monat ändert sich somit der SoC um ca. +- 3,3%. Mit Notstrom min. und Notstrom Sockel kann man eine Dynamische Notstromreserve vorhalten, Vorteil ist, dass der Speicher nicht alle 3 Wochen entladen wird wie bei der Notstromreserve von E3DC.
Starten wir am 21.12 (Wintersonnenwende) der kürzeste Tag, da wird der Speicher bis auf Notstrom min = 20% entladen.
Ab jetzt werden die Tage immer länger, bis zum 21.3 (Tag-/Nachtgleiche) wo die Tage und Nächte gleich lang sind.
Das bedeutet deine Speicherreserve kann immer geringer werden je länger die Tage sind, da ja mehr PV-Leistung zur Verfügung steht. Es wird somit jeden Monat die Speichergrenze um ca.3,33% reduziert bis zum 21.03 auf den Wert Notstrom Sockel = 10%.Ab dem 21.03 werden die Tage immer länger bis zum 20.06 (Sommersonnenwende) dem längsten Tag im Jahr.
Es wird also die Speichergrenze weiter jeden Monat um ca. 3,33% reduziert bis zum 20.06 auf 0%,
Ab diesem Zeitpunkt werden die Tage wieder kürzer bis zum 21.9 (Tag-/Nachtgleiche) wo die Tage und Nächte wieder gleich lang sind und die Speicherreserve wird jeden Monat um ca. 3,33% erhöht auf Notstrom Sockel = 10%.
Die Tage werden immer kürzer bis zum 21.12 (Wintersonnenwende) und die Speichergrenze wird weiter jeden Monat um ca. 3,33% erhöht auf den Wert Notstrom min = 20%Notstrom Sockel ist somit der min. SOC Wert, wenn die Tage und Nächte gleich lang sind, also am 21.3 und 21.09 und
Notstrom min wenn die Tage am kürzesten sind am 21.12 .Laderegelung:
Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen oder bis zum SOC Wert Unload entladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen.Mit Start Regelzeitraum wird die benötigte Ladeleistung berechnet, um den SOC Ladeende bis zum Ende Regelzeitraum zu erreichen.
Bei Überschreitung der Zeit, Ende Regelzeitraum wird die benötigte Ladeleistung neu berechnet, um den SOC Ladeende2 bis zur Zeit Ladeende zu erreichen.
Wenn die Zeit Ladeende erreicht ist und die Batterie noch nicht den SOC Ladeende2 erreicht hat, wird das Laden mit maximal noch zur Verfügung stehender PV-Leistung freigegeben.
Ausnahme: Wenn die PV-Leistung das Einspeiselimit oder die maximale Wechselrichterleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder die maximale Wechselrichterleistung einhalten zu können. Bei Unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird mit neu berechneter Ladeleistung, gleichmäßig geladen.
@arnod Tja, leider nicht. Jetzt ist alles aktualisiert, was nur irgendwie zu aktualisieren ist, trotzdem weiterhin... :confounded:
23:59:52.422 warn javascript.0 (3319) script.js.Strom.E3DCControl: -==== Fehler beim Schreiben der e3dc.config.txt Error = TypeError: Cannot read property 'writeFile' of undefined ====- 23:59:52.423 warn javascript.0 (3319) script.js.Strom.E3DCControl: -==== Parameter Fehler beim einlesen der Parameter Error = TypeError: Cannot read property 'readFile' of undefined ====-Werde am Wochenende hoffentlich dazu kommen deine vorgeschlagenen Code-Änderungen nochmals mit dem neusten Stand zu testen.
-
@arnod Tja, leider nicht. Jetzt ist alles aktualisiert, was nur irgendwie zu aktualisieren ist, trotzdem weiterhin... :confounded:
23:59:52.422 warn javascript.0 (3319) script.js.Strom.E3DCControl: -==== Fehler beim Schreiben der e3dc.config.txt Error = TypeError: Cannot read property 'writeFile' of undefined ====- 23:59:52.423 warn javascript.0 (3319) script.js.Strom.E3DCControl: -==== Parameter Fehler beim einlesen der Parameter Error = TypeError: Cannot read property 'readFile' of undefined ====-Werde am Wochenende hoffentlich dazu kommen deine vorgeschlagenen Code-Änderungen nochmals mit dem neusten Stand zu testen.
-
@arnod Tja, leider nicht. Jetzt ist alles aktualisiert, was nur irgendwie zu aktualisieren ist, trotzdem weiterhin... :confounded:
23:59:52.422 warn javascript.0 (3319) script.js.Strom.E3DCControl: -==== Fehler beim Schreiben der e3dc.config.txt Error = TypeError: Cannot read property 'writeFile' of undefined ====- 23:59:52.423 warn javascript.0 (3319) script.js.Strom.E3DCControl: -==== Parameter Fehler beim einlesen der Parameter Error = TypeError: Cannot read property 'readFile' of undefined ====-Werde am Wochenende hoffentlich dazu kommen deine vorgeschlagenen Code-Änderungen nochmals mit dem neusten Stand zu testen.
@stevie77 sagte in E3DC Hauskraftwerk steuern:
nzwischen upgedatet. Node.js: v12.22.7, NPM version: 6.14.15.
trotzdem weiterhin...Node sauber installiert :
which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs -
@stevie77 sagte in E3DC Hauskraftwerk steuern:
nzwischen upgedatet. Node.js: v12.22.7, NPM version: 6.14.15.
trotzdem weiterhin...Node sauber installiert :
which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs@glasfaser Vermutlich? Ich gehe zumindest davon aus...
root@iobroker:/opt/iobroker# which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs /usr/bin/nodejs v12.22.7 /usr/bin/node v12.22.7 /usr/bin/npm 6.14.15 nodejs: Installed: 12.22.7-deb-1nodesource1 Candidate: 12.22.7-deb-1nodesource1 Version table: *** 12.22.7-deb-1nodesource1 100 100 /var/lib/dpkg/status -
@glasfaser Vermutlich? Ich gehe zumindest davon aus...
root@iobroker:/opt/iobroker# which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs /usr/bin/nodejs v12.22.7 /usr/bin/node v12.22.7 /usr/bin/npm 6.14.15 nodejs: Installed: 12.22.7-deb-1nodesource1 Candidate: 12.22.7-deb-1nodesource1 Version table: *** 12.22.7-deb-1nodesource1 100 100 /var/lib/dpkg/status@stevie77
Jein. Es fehlt das nodesource-Repository.
Und als root meldet man sich nicht an. -
@stevie77
Jein. Es fehlt das nodesource-Repository.
Und als root meldet man sich nicht an.@thomas-braun Kann ich erstmal (meines eher bescheidenen Linux-Wissens nach) nicht beeinflussen. Ich verbinde mich als normaler Benutzer per docker exec -it iobroker bash in den ioBroker-Container und lande da eben als root.
nodesource-Repository: Bisher hatte das dann aber noch nie irgendeines der vielen installieren Adapter und Skripte beeinflusst. Mehr Infos? -
@thomas-braun Kann ich erstmal (meines eher bescheidenen Linux-Wissens nach) nicht beeinflussen. Ich verbinde mich als normaler Benutzer per docker exec -it iobroker bash in den ioBroker-Container und lande da eben als root.
nodesource-Repository: Bisher hatte das dann aber noch nie irgendeines der vielen installieren Adapter und Skripte beeinflusst. Mehr Infos?@stevie77 sagte in E3DC Hauskraftwerk steuern:
lande da eben als root.
User anlegen, sudo-Rechte vergeben, als User agieren.
Installation gerade biegen:
iobroker stop iobroker fix iobroker startnodeJS von nodesource richtig anlegen: siehe meine Signatur.
-
@stevie77 sagte in E3DC Hauskraftwerk steuern:
lande da eben als root.
User anlegen, sudo-Rechte vergeben, als User agieren.
Installation gerade biegen:
iobroker stop iobroker fix iobroker startnodeJS von nodesource richtig anlegen: siehe meine Signatur.
@thomas-braun Hmmm, da bin ich jetzt etwas ängstlich. Ich habe den Container so übernommen und bisher nie Probleme gehabt. Wenn ich da jetzt anfange Dinge umzustellen, wer weiß, ob ich dann kompatibel bleibe zu weiteren Updates des Docker-Containers. Vielleicht sollte ich mal ein Update auf die 5er-version von https://hub.docker.com/r/buanet/iobroker/ machen, das kann sein.
Solange nicht 100% sicher ist, dass das die Ursache für das Problem mit promise ist, würde ich da ungerne Hand anlegen.Nach einem Node.js-Update mache ich immer folgendes:
Den ioBroker-Installationsfixer aufrufen, da die Installation von Node.js einige Einstellungen am System verändert haben kann (Sicherheitseinstellungen):curl -sL https://iobroker.net/fix.sh | bash - -
@thomas-braun Hmmm, da bin ich jetzt etwas ängstlich. Ich habe den Container so übernommen und bisher nie Probleme gehabt. Wenn ich da jetzt anfange Dinge umzustellen, wer weiß, ob ich dann kompatibel bleibe zu weiteren Updates des Docker-Containers. Vielleicht sollte ich mal ein Update auf die 5er-version von https://hub.docker.com/r/buanet/iobroker/ machen, das kann sein.
Solange nicht 100% sicher ist, dass das die Ursache für das Problem mit promise ist, würde ich da ungerne Hand anlegen.Nach einem Node.js-Update mache ich immer folgendes:
Den ioBroker-Installationsfixer aufrufen, da die Installation von Node.js einige Einstellungen am System verändert haben kann (Sicherheitseinstellungen):curl -sL https://iobroker.net/fix.sh | bash -@stevie77
Aus meiner Sicht gehst du da mit einem 'Linux'/Debian falsch um.