NEWS
Test js-controller v2.0.x (GitHub)
-
Hallo in die Tester-Runde,
heute starten wir den Beta Test des neuen js-controller 2.0 (Releasename "Bella"). An diesem großen js-controller Update haben wir Entwickler recht lang gearbeitet. Eine erste interne Testrunde ist bereits abgeschlossen (Großen Dank an @Arteck).
Es sind vor allem "unter der Haube" einige grundlegende Änderungen eingeflossen, die den Wechsel auf eine neue Hauptrelease-Nummer rechtfertigen. Mehr dazu weiter unten. Wir möchten vor dem Release im "Latest Repository" einen zusätzlichen Beta Test durchführen und hoffen auf eure Unterstützung!
Der js-controller 2.0 ist generell kompatibel mit allen bestehenden ioBroker-Systemen. Es kann von jeder früheren Version auf die Version 2.0 aktualisiert werden. Einzig die Node.js Version muss vor dem Update mindestens auf 8.x, besser noch auf 10.x angehoben werden! Für Node.js 12 ist es aber noch etwas zu früh, da hier immer noch einige Adapter nicht kompatibel sind.
Weiterhin wir der ioBroke-Eigene-Dateibereich (im Normalfall bister unter <ioBroker-Verzeichnis>/iobroker-data/files/...) nun etwas strikter behandelt und potentiell manuell oder per Skript (fs.write) dort direkt abgelegte/hinkopierte Dateien sind ggf nicht mehr in Visualisierungen anzeugbar!
Skripte müssen angepasst werden (Nutzung von writeFile) bzw die Dateien müssen in offiziell definierte Adpater-Basisverzeichnisse (z.B. vis.0, iqontrol.metau.ä.) abgelegt werden, am besten auch offiziell via Vis oder iqontrol hochgeladen werden, damit diese Dateien korrekt registriert sind. Diese Änderung wurde auch zur Erhöhung der Sicherheit umgesetzt!
Installation
VOR der Installation
Wie bei jedem test dieser Art: Bitte macht ein Backup!iobroker backup
bzw kopieren desiobroker-data
Verzeichnisses reichen an sich aus. Bitte nicht das node_modules Verzeichnis einfach kopieren, da sonst symbolische Links kaputt gehen können, was zu größeren Problemen danach führt. Die alte Version des js-controller kann im Notfall einfach wieder pernpm install iobroker.js-controller
installiert werden und sollte alles wieder herstellen.Windows
Auf Systemen, die mit dem neuen Windows Installer eingerichtet wurden, darf der js-controller nicht mir npm aktualisiert werden. Es wird eine neue Version des Windows Installers geben, die das Update des js-controllers mit wenigen Mausklicks ermöglicht. Wir updaten dazu hier im Thread.
Linux
Für den Beta-Test muss der js-controller direkt per npm installiert werden. Dazu bitte den ioBroker auf dem Server beenden und dann in einer Shell in das ioBroker Verzeichnis wechseln. Dann mittels
npm install ioBroker/ioBroker.js-controller
den Controller manuell aktualisieren. Bevor ihr loslegt, lest aber bitte erst noch die folgenden Hinweise! Der zweite Post in diesem Thread ist für eine FAQ reserviert. Bitte schaut auch dort gern einmal rein.Achtung: Slave-Systeme zuerst!
Bei einem Multi-Host-System ist es beim Update auf Version 2.0 sehr wichtig, zuerst die Slave-Systeme zu aktualisieren. Der Master wird als letztes aktualisiert! Dies wird vor allem später für den wirklichen Release interessant. Bei der korrekten Reihenfolge funktioniert später alles über das Standardkommandoiobroker upgrade self
. Sonst muss das Update manuell per npm ausgeführt werden.Nötige Adapter-Aktualisierungen
Die folgenden Adapter müssen auf die genannten Minimalversionsnummern aktualisiert werden, da diese sonst nicht mit dem js-controller 2.0 funktionieren:- simple-api 2.1.2 or higher
- email 1.0.5 or higher
- pushover 1.1.1 or higher
- hue 1.2.4 or higher
- node-red 1.10.1 or higher
- vis 1.2.1 or higher
- iqontrol 0.2.6 or higher
- socketio 2.1.2 or higher
- radar2 1.0.9 (GitHub version aktuell nicht korrekt!)
- broadlink2 TBD
- vis-justgage 1.0.1 (Fehler aber nicht beim controller) - https://github.com/GermanBluefox/ioBroker.vis-justgage (PR wartet)
Alle genannten Versionen funktionieren aber auch mit älteren js-controller Versionen, also kann das Update auch vorher stattfinden.
Fehler
Wenn bei der Installation Fehler wegen fehlender Zugriffsrechte auftreten, am besten den Installation-Fixer nutzen und die Installation wiederholen.curl -sL https://iobroker.net/fix.sh | bash -
Falls es auch danach noch Fehler gibt, bitte die Installation erneut mittels
sudo -H -u iobroker npm install ioBroker/ioBroker.js-controller
versuchen. Bitte berichtet solche Fälle hier im Thread.Nach der Installation
Nach der Installation den ioBroker wieder starten (z.B. mittelsiobroker start
).Wenn alles klappt merkt Ihr ausser der höheren Versionsnummer in der Host-Ansicht im Admin keinen Unterschied. Alles funktioniert weiterhin wie vorher. Alle Adapterinstanzen starten und funktionieren. Wenn das so ist hat alles geklappt. Die großen Änderungen sind alle "Unter der Haube" versteckt.
Dazu, was Euch jetzt die ganzen Neuerungen bringen, findet Ihr weiter unten in diesem Text Informationen. Neue Funktionen als Basis für Weiterentwicklungen wurden behutsam integriert und einige bestehende Probleme gezielt behoben.
Mit
iobroker help
wird eine Liste der möglichen Kommandozeilen-Kommandos angezeigt, die mit Version 2.0 um einige Befehle länger geworden ist.
Was hat sich geändert, was besonders ansehen/testen?
Eine der größeren Änderungen ist, dass die ioBroker-eigenen States- und Objects-Datenbanken vollständig neu geschrieben wurden. Im ioBroker-System wird zur Kommunikation jetzt nicht mehr socket.io sondern ein TCP-basiertes und mit Redis-kompatibles Protokoll verwendet. Auf Basis dieser Änderungen planen wir für die Zukunft noch einige interessante Neuerungen. "Reconnection from DB"-Fehler sollen jetzt der Vergangenheit angehören. Das neue Protokoll ist flexibler und robuster - so lange die Netzwerkverbindung nicht abreißt. Aber selbst in solch einem Fall sollte ein automatischer Reconnect stattfinden und alle Änderungen aus der Zeit ohne Verbindungen nochmals gesendet werden.
Also falls Ihr in der Vergangenheit von "Reconnect to DB" Meldungen und Effekten geplagt wart ist Euer Bericht für uns sehr interessannt.Diese grundlegende Umstellung kann natürlich auf alles mögliche auch negative Auswirkungen haben. Hier bitte besonders alle JavaScript-Skripte und alle Adapter prüfen, ob alles noch so funktioniert wie vorher.
Bei Master-Slave-Systemen bitte, wie oben beschrieben, zuerst die Slave-Systeme auf den js-controller 2.0 aktualisieren. Die Slave-Systeme sollten auch mit einem "alten" Master weiterhin funktionieren, da bislang als Fallback noch die bisherige socket.io-Kommunikation eingebaut ist. Diese wird vorauss. erst im js-controller 2.1 entfernt.
Wie bereits gesagt, viele Änderungen fanden hinter den Kulissen statt. Hier für Interessierte als Spoiler eine Zusammenfassung:
Weitere Details zu den Änderungen und Bugfixes ist im Changelog einzusehen. Wer tiefer und ggf. gezielter testen möchte, ist herzlich dazu eingeladen. Kontaktiert uns dazu auch gern hier im Thread.
Etwas weiter unten stellen wir einige neue Features im Detail etwas "weniger technisch" vor.
Generell ist zu testen, ob alles noch so funktioniert wie vorher auch. Das ist das wichtigste!
Wie Fehler melden?
Wer sich unsicher ist, ob ein Fehler vorliegt, sollte am besten hier im Thread das Problem beschreiben. So können wir alle versuchen, das Problem nachzuvollziehen und ggf. einzugrenzen.
Sobald ein Fehler auftritt der in einer Fehlermeldung oder einen Crash mit Fehlerdetails im Log oder auf Kommandozeile endet, dann dazu am besten direkt ein GitHub-Issue im js-controller Projekt öffnen und zusätzlich hier im Thread posten. Je detaillierter die Angaben im Issue sind (genaue Fehlermeldungen/Logs, Infos zur OS- und Node.js-Umgebung sowie genaue Schritte zur Reproduktion des Problems), umso schneller können wir Fehler einkreisen und beheben.
Einige neue Features
1. Compact Modus und Compact Gruppen
Eines der großen Vorteile von ioBroker ist, dass jeder Adapter als eigener Prozess ausgeführt wird. Das macht das System sehr stabil - bei Problemen betreffen diese nur den einen Adapter und nicht das ganze System. Andererseits benötigt dieser Ansatz allerdings auch etwas mehr RAM. Für Systeme mit wenig verfügbarem RAM (z.B. Raspi Nano oder Raspi 1 mit 512MB RAM), die oft als Slave-Systeme eingesetzt werden, ist die Anzahl der Adapter damit limitiert.
Der Compact Modus löst dieses Problem dadurch, dass mehrere Adapter zusammen in einem Prozess laufen und damit der RAM-Bedarf deutlich geringer ist (es werden etwa 20-30MB je Adapter-Instanz eingespart). Dies geht aber zu Lasten der Stabilität, da ein fehlerhafter Adapter auch alle anderen Adapter im gleichen Prozess betrifft und diese sich ggf. ebenfalls neu starten.
Adapter-Instanzen können dazu, um das Risiko etwas zu verteilen, in mehrere Gruppen aufgeteilt werden. Jede Gruppe startet einen eigenen Prozess, in dem dann alle Instanzen dieser Gruppe ausgeführt werden. Die Gruppe 0 ist speziell. Hier Mitglied zu sein bedeutet, dass der betreffende Adapter im Haupt-js-controller-Prozess ausgeführt wird. Dies ergibt die größte RAM-Ersparnis - allerdings auch das größte Risiko, da ein fehlerhafter Adapter den js-controller negativ beeinflussen kann. Als Standard werden Instanzen in der Gruppe 1 ausgeführt, wenn der Compact Modus für die entsprechende Instanz aktiviert wird.
Ob ein Adapter den Compact Modus unterstützt, hängt vom jeweiligen Adapter ab. Diese Information wird künftig noch in der Adapterliste aufgenommen. Aktuell werden nur Adapter die als
daemon
ausgeführt werden auch im Compact Modus gestartet (also keine scheduled-Adapter). Auch wenn der Adapter generell den Compact-Mode unterstützt muss die Nutzung pro Instanz einzeln aktiviert werden!Zur Zeit gibt es zur Konfiguration des Compact Modus noch keine Unterstützung im Admin. Die Konfiguration erfolgt per Kommandozeilen-Aufruf. Die wichtigsten Kommandos sind:
iobroker compact enable
zum generellen Aktivieren des Compact Modus für den aktuellen js-controller Host. ioBroker muss danach neu gestartet werden, damit die Änderung aktiv wird.iobroker list instances
zeigt zusätzliche jetzt auch den Status des Compact Modus der Adapterinstanzen an.iobroker compact <adaptername>.<instanz> status
zeigt den Compact Modus Status der Instanz an.iobroker compact <adaptername>.<instanz> enable 1
aktiviert die Ausführung im Compact Modus in Gruppe „1“. Nur der Adapter wird dabei neu gestartet. Diese Konfiguration kann bei laufendem ioBroker erfolgen.
Falls es Probleme gibt (z.B. ein Adapter läuft nicht mehr sauber oder bleibt "hängen" beim Stoppen), dann bitte ein Issue beim Adapter öffnen. Ansonsten bitte hier im Thread posten, damit wir sehen, woran es liegt.
2. Installations-Quelle von Adaptern wird gespeichert
ioBroker-Adapter werden im Normalfall aus dem Latest- oder Stable-Repository von npm installiert. Falls ein Adapter auf einen anderen Host verschoben wird oder das System neu installiert werden muss, wird versucht die gleiche Version wieder von npm zu installieren. Im Normalfall klappt das auch. Falls ein Adapter allerdings testweise von GitHub installiert wurde, ist dieser Stand bzw. diese Version ggf. nicht auf npm verfügbar. Damit kann die gleiche Version nicht automatisch neu installiert werden. Dies ändert sich nun.
Für alle neuen Adapterinstallationen nach dem Update merkt sich ioBroker den genauen GitHub-Stand einer Custom-Installation und kann diesen Stand dann wieder nachinstallieren.
Auch an der Adapterinstallation selbst, dem Upload und ähnlichem wurde einiges überarbeitet und optimiert. Es wurden einige Sonderfälle behoben, wo teile der upload-Logik nicht korrekt ausgeführt wurden. Auch hier helfen eure Tests.
3. Redis-Unterstützung nun auch für Objekte und Files
Standardmäßig werden Objekte und Zustände in einer ioBroker-eigenen Speicher-Datenbank verwaltet und in JSON-Dateien gespeichert. Mit dieser eigenen Lösung wird keine weitere Software benötigt.
Seit einiger Zeit ist es bereits möglich, Zustände alternativ in einer optimierten Redis-Datenbank zu speichern. Ab einiger gewissen Anzahl an Zustandsänderungen pro Sekunde kann durch den Einsatz von Redis die Gesamtsystemlast zurückgehen bzw. auf mehrere Systeme verteilt werden. Redis bringt allerdings auch einen Mehraufwand mit, da diese Software installiert, verwaltet und gesichert werden will, damit es bei Updates oder im Problemfall nicht zu einem Datenverlust kommt.
Mit js-controller 2.0 erlaubt ioBroker nun auch Objekte und die Dateien, die aktuell auf dem Master-System im Dateisystem abgelegt sind, in der Redis-Datenbank zu verwalten.
Wichtig: Vor allem die Verlagerung von Dateien in die Datenbank kann dazu führen, dass diese recht groß werden kann (gern mehrere hundert MB). Da Redis alle Daten immer im RAM hält, ist diese Option nur für Systeme geeignet, die genügend RAM-Ressourcen zur Verfügung haben. Ebenso die CPU Belastung wird bei einem redis/redis System höher sein weil Daten anders verarbeitet werden müssen.
Die Verlagerung von Dateien in die Datenbank führt zu einer deutlich größeren Flexibilität. Aufgrund dieser Änderung gibt es quasi keine lokalen Daten im Dateisystem mehr. In Summe wird die Redis-Datenbank zur zentralen Datenhaltung des ioBroker-Systems, da sie sämtliche Daten beinhaltet. Alle js-controller und Adapter verbinden sich dann mit dieser zentralen Datenbank.
Mit dem js-controller 2.x kann sogar eine Redis-Sentinel Installation zur Steigerung der Systemverfügbarkeit genutzt werden (quasi ein Redis-HA-Cluster). Das ist eine erste Grundlage für die Bereitstellung eines hochverfügbaren ioBroker-Systems, das Ausfälle einzelner Serverkomponenten kompensieren kann. Diese Option sollte man allerdings aktuell nur austesten wenn man weiss was man tut Dazu in späteren Updates mehr.
Mit dem Einzug der verschiedenen Speichermöglichkeiten für Dateien, Objects und States wurde der Befehl
iobroker setup custom
überarbeitet. Zum einen zeigt er mehr Informationen an. Zusätzlich ist er jetzt aber auch in der Lage, bei einem Wechsel der Datenhaltung die Daten in alle Richtungen zu migrieren. So ist ein Wechsel jederzeit möglich.
4. "Alias"-Feature
Einer der Vorteile von ioBroker ist, dass es sehr viele Adapter gibt. Allerdings hat sich herausgestellt, das jeder Adapter z.B. je nach angebundenen Systemen durchaus individuelle Strukturen bezüglich der Ablage der bereitgestellten Datenpunkte implementiert. Dies bringt vor allem bei eigenen Skripten aber auch bei Visualisierungs- und den Cloud/iot-Adaptern gewisse Herausforderungen mit sich.
Beim Austausch von Geräten zwischen verschiedenen Herstellern muss man so gelegentlich aufgrund der Änderungen bei den Datenpunkten Skripte anpassen. Visualisierungsadapter und der iot-Adapter versuchen z.B. anhand der Rollen von Datenpunkten den Typ von Geräten zu erkennen, um diese korrekt anzuzeigen bzw. an Amazon bzw. Google zu melden. Dabei stehen die Adapter manchmal auf verlorenem Posten, weil bestimmte Adapter Informationen zu Rollen u.ä. gar nicht liefern können - vor allem MQTT, modbus u.ä. sind hier betroffen.Das Alias Feature, das direkt im js-controller verankert ist, stellt den neuen Namespace "alias.0" für Objekte zur Verfügung. Das Feature erlaubt es, Geräte mit einer stabilen Struktur und sauberen Rollen anzulegen. Das erfolgt jetzt zuerst manuell, später auch z.B. mittels des kommenden "Devices"-Adapters, der sich gerade in Entwicklung befindet.
Auch dieses Feature hat noch keine vollständige Unterstützung im Admin, was allerdings noch kommen wird.
Nach der Definition des Alias-Objects kann im neuen Bereich
common.alias
die ID des Quellobjekts im jeweiligen Adapter definiert werden. Ab dann werden alle Daten in beide Richtungen zwischen den Objekten synchronisiert. Zusätzlich kann interessanterweise eine read und write Funktion definiert werden, um einfache Umrechnungen vorzunehmen (z.B. Wh <--> kWh).Weitere (technische) Details haben wir unter Alias Information in der js-controller README veröffentlicht.
Wir wünschen allen viel Spaß beim Testen und vielen Dank für Eure Unterstützung!
-
In diesem Post werden wir FAQ-artig öfter vorgekommene Fragen, Antworten, Tips und Tricks sammeln ...
1. Wie lang soll der Beta-test laufen?
Wir peilen aktuell ca. 2 Wochen ür den Beta Test an und wollen Anfang Oktober den js-controller 2.0 gern im Latest Repository veröffentlichen.2. Ich bekomme nach dem Start von ioBroker einen Fehler im Log das pids.txt nicht geschrieben werden konnte. Was kann ich tun?
Der Fehler tritt auf wenn der Nutzer unter dem ioBroker gestartet wurde das genannte File nicht schreiben kann. Dies kann passieren wenn ioBroker aus Versehen als Root o.ä. gestartet wurde oder die Dateirechte dieser Datei verbogen sind. Die einfachste Abhilfe hier ist der Installation-Fixer (siehe oben im Text). Alternativ Bitte die Datei einfach löschen wenn ioBroker nicht läuft und dann sollte Sie beim nächsten Start korrekt angelegt werden.3. Ich habe trotz der Warnungen bei
iobroker setup custom
auf einem Slave auch Daten migriert und nun funktioniert nichts mehr. Was kann ich tun?
Bei der Migration wird ein Backup erstellt. Dieses ist auf der Master-Host imbackups
Verzeichnis gespeichert und hat am Ende des Namens "-migration" angehängt. Um den Datenstand von der Master-Migration wieder herzustellen muss dieses Backup mittelsiobroker restore <Filename>
wieder eingespielt werden.
Danach alle Slave-Hosts umstellen und am Ende auf dem Master einiobroker upload all
ausführen.4. Wie muss ich ein Skript was bisher in iobroker-data/files direkt geschrieben hat umbauen?
Das Skript sollte die writeFile Methode nutzen. Details auch https://forum.iobroker.net/post/307537 -
Installiert.
Dann teste ich mal. -
Testsystem geupdated, ohne Probleme, System läuft soweit unauffällig.
-
Habe mein Testsystem gerade angehoben, alle Adapter sind gestartet. Im Log habe ich nach dem Neustart folgenden Fehler:
Nachdem ich die Rechte des Ordners iobroker.js-Controller auf 777 gesetzt hatte, war der Fehler nach einem Neustart nicht mehr vorhanden, jetzt ist auch die Datei pid.txt vorhanden. Könnte aber auch an Debian Buster liegen.Gruß
Egbert -
-
Bei dem Fehler ist es denke ich mal interesssant wem die pids.txt gehört. Falls „root“ ist die Frage wie es dazu gekommen sein könnte. Weil damit das ist muss iobroker mal als root gestartet worden sein.
-
@opossum sagte in [Aufruf] js-controller 2.0 Beta Test:
Nachdem ich die Rechte des Ordners iobroker.js-Controller auf 777 gesetzt hatte, war der Fehler nach einem Neustart nicht mehr vorhanden, jetzt ist auch die Datei pid.txt vorhanden. Könnte aber auch an Debian Buster liegen.
Bitte nicht mehr mit chmod 777 arbeiten Der Installation Fixer ist das Mittel der Wahl!
-
Fehlermeldung 1
Adapter: iqcontrol:
Die UI wird geöffnet, aber es kommen keine Daten mehr und man kann auch keine Geräte mit den Icon Bleistift bearbeiten.
-
Fehlermeldung 2
Adapter: Alle
Fehler: code 7iqontrol.0 2019-09-19 10:27:23.113 debug system.adapter.admin.0: logging true host.Medion 2019-09-19 10:27:22.904 info Restart adapter system.adapter.snmp.0 because enabled host.Medion 2019-09-19 10:27:22.904 error instance system.adapter.snmp.0 terminated with code 7 (ADAPTER_ALREADY_RUNNING) snmp.0 2019-09-19 10:27:22.890 error snmp.0 already running host.Medion 2019-09-19 10:27:22.699 info instance system.adapter.firetv.1 started with pid 7004 host.Medion 2019-09-19 10:27:22.497 info instance system.adapter.ping.0 started with pid 13792 host.Medion 2019-09-19 10:27:22.249 info instance system.adapter.snmp.0 started with pid 8660 host.Medion 2019-09-19 10:27:21.847 info Restart adapter system.adapter.statistics.0 because enabled host.Medion 2019-09-19 10:27:21.847 error instance system.adapter.statistics.0 terminated with code 7 (ADAPTER_ALREADY_RUNNING) statistics.0 2019-09-19 10:27:21.826 error statistics.0 already running host.Medion 2019-09-19 10:27:21.311 info instance system.adapter.statistics.0 started with pid 12120 host.Medion 2019-09-19 10:27:21.203 info Restart adapter system.adapter.snmp.0 because enabled host.Medion 2019-09-19 10:27:21.203 error instance system.adapter.snmp.0 terminated with code 7 (ADAPTER_ALREADY_RUNNING) snmp.0 2019-09-19 10:27:21.182 error snmp.0 already running host.Medion 2019-09-19 10:27:21.066 info Restart adapter system.adapter.wifilight.0 because enabled host.Medion 2019-09-19 10:27:21.066 error instance system.adapter.wifilight.0 terminated with code 7 (ADAPTER_ALREADY_RUNNING) wifilight.0 2019-09-19 10:27:21.033 error wifilight.0 already running host.Medion 2019-09-19 10:27:20.840 info Restart adapter system.adapter.cloud.0 because enabled host.Medion 2019-09-19 10:27:20.840 error instance system.adapter.cloud.0 terminated with code 7 (ADAPTER_ALREADY_RUNNING) host.Medion 2019-09-19 10:27:20.830 info Restart adapter system.adapter.hue.0 because enabled host.Medion 2019-09-19 10:27:20.830 error instance system.adapter.hue.0 terminated with code 7 (ADAPTER_ALREADY_RUNNING) cloud.0 2019-09-19 10:27:20.794 error cloud.0 already running hue.0 2019-09-19 10:27:20.779 error hue.0 already running
-
@sigi234 Und was ist DAVOR passiert? Das "error 7" sagt nur "uups der läuft schon aber ich will ihn nochmal starten" ... das heisst die Frage ist was davor war
-
Und PS: Hat sich das mit Error 7 danach gefangen pder hast Du manuell etwas tun müssen? AN sich sollten solche Fehler einmalig kommen und der Adapter danach es alleine fixen
-
@apollon77 sagte in [Aufruf] js-controller 2.0 Beta Test:
Und PS: Hat sich das mit Error 7 danach gefangen pder hast Du manuell etwas tun müssen? AN sich sollten solche Fehler einmalig kommen und der Adapter danach es alleine fixen
Nein, Fehler kommen ständig.
-
Ok, dann kille mal die prozesse die laufen. Ist im Log davor irgendwas? Es muss nen grund geben warum er die neu starten wollte
-
@apollon77 sagte in [Aufruf] js-controller 2.0 Beta Test:
Ok, dann kille mal die prozesse die laufen. Ist im Log davor irgendwas? Es muss nen grund geben warum er die neu starten wollte
Dann müsste ich alle killen.....ich starte mal neu.
Keine Änderung,...LOG:
-
Läuft seit gestern Abend, allerdings hatte ich auch den PID-Fehler. Die TXT existierte bei mir einfach nicht, also auch nix mit Rechte setzen. Leider habe ich dann zu schnell den Fixer drüber laufen lassen (danach funktionierte es) und mir nicht die Rechte vom Verzeichnis angeschaut. Die müssten aber gestimmt haben, da ich schon ein paar mal vorher den Fixer drüber laufen hatte.
Ein paar Schwierigkeiten hatte ich noch mit node-RED:node-red.0 2019-09-19 10:57:31.326 error node-red.0 invalid instance object: {"_id":"","type":"channel","common":{"name":"States created by node-red.%INSTANCE%","role":"info"},"native":{}}
und dann (stimmt jetzt zeitlich nicht so ganz, da falsch aus dem Log kopiert) bis zum abwinken:
2019-09-19 09:24:57.808 - error: node-red.0 19 Sep 09:24:57 - [error] [ioBroker get:c7dd8250.fd991] TypeError: Cannot read property 'getObject' of undefined at Adapter.getObject (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1917:26) at checkState (/opt/iobroker/node_modules/iobroker.node-red/nodes/ioBroker.js:85:17) at new IOBrokerGetNode (/opt/iobroker/node_modules/iobroker.node-red/nodes/ioBroker.js:330:17) at Object.createNode (/opt/iobroker/node_modules/iobroker.node-red/node_modules/@node-red/runtime/lib/nodes/flows/util.js:483:31) at Flow.start (/opt/iobroker/node_modules/iobroker.node-red/node_modules/@node-red/runtime/lib/nodes/flows/Flow.js:176:44) at start (/opt/iobroker/node_modules/iobroker.node-red/node_modules/@node-red/runtime/lib/nodes/flows/index.js:329:33) at tryCatchReject (/opt/iobroker/node_modules/iobroker.node-red/node_modules/when/lib/makePromise.js:845:30) at runContinuation1 (/opt/iobroker/node_modules/iobroker.node-red/node_modules/when/lib/makePromise.js:804:4) at Fulfilled.when (/opt/iobroker/node_modules/iobroker.node-red/node_modules/when/lib/makePromise.js:592:4) at Pending.run (/opt/iobroker/node_modules/iobroker.node-red/node_modules/when/lib/makePromise.js:483:13)
Neustart nur von node-RED löste das Problem und derzeit läuft soweit erst mal alles.
-
@SBorg Den erste Fehler fixe ich das das nicht angezeigt wird. Der zweite passiert wenn der Adapter die Objects-DB Verbindung verliert. Was ewar denn so im Log als das begonnen hat (also kurz davor)?
-
Nichts schlimmes, nur der 1. node-RED Fehler, dann paar normale Infos und der "übliche"
2019-09-19 09:24:55.189 - warn: node-red.0 19 Sep 09:24:55 - [warn] Projekte inaktiviert: setze editorTheme.projects.enabled=true zum Aktivieren
danach kommt dann der 2. Fehler.
-
Hey All,
Auf GitHub gibt es die 2.0.3 mit ein paar Optimierungen für Fälle wie Verbindungsverluste von Adaptern zur Objects/Sate DB und "Error 7" Fälle. Der Fehler sollte jetzt maximal einmal kommen und dann weg bleiben ... bitte schaut mal ob das alles so passt.
Nach dem Stoppen bitte nochmal schauen das wirklich alle Prozesse auch weg sind (io.*), dann update und neu starten ... -
Node-RED lüppt nu auch