NEWS
js-controller 2.0 ab sofort im Latest Repo
-
NBack update des JS-controllers auf dem Rock64 kein restore möglich.
Weder mit dem Adapter backitup (der lässt sich erst gar nicht installieren, noch manuell.
Wie gehabt.iobroker restore 0 host.rock64 Using backup file minimal_2019_10_16-02_00_20_Testsystem_backupiobroker.tar.gz host.rock64 Cannot find extracted file from file "/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup/backup.json" iobroker controller daemon is not running host.rock64 OK. (node:11180) UnhandledPromiseRejectionWarning: Error: ENOENT: no such file or directory, open '/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup/backup.json' at Object.openSync (fs.js:443:3) at Object.readFileSync (fs.js:343:35) at BackupRestore.restoreAfterStop (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js:562:23) at Daemon.daemon.on (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js:839:22) at Daemon.emit (events.js:203:15) at Daemon._kill (/opt/iobroker/node_modules/daemonize2/lib/daemonize.js:246:14) at Daemon.stop (/opt/iobroker/node_modules/daemonize2/lib/daemonize.js:185:17) at tar.extract.err (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js:841:20) (node:11180) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:11180) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. events.js:174 throw er; // Unhandled 'error' event ^ Error: ENOSPC: no space left on device, write Emitted 'error' event at: at errorOrDestroy (internal/streams/destroy.js:107:12) at WriteStream.onerror (_stream_readable.js:717:7) at WriteStream.emit (events.js:198:13) at errorOrDestroy (internal/streams/destroy.js:107:12) at onwriteError (_stream_writable.js:436:5) at onwrite (_stream_writable.js:461:5) at lazyFs.write (internal/fs/streams.js:305:14) at FSReqWrap.wrapper [as oncomplete] (fs.js:509:5)
Gruß,
MathiasEdit:
Äm.....IObroker ist nicht mehr erreichbar.
Zum Testsystem:
Rpi 4B 4GB (Master) JS 2.0.29 läuft.
Rpi 3B+ (Slave) heute schon das dritte Mal ausgefallen.
Ich berichtigen.... 4 mal, nach einem Reboot, keine Minute später das 5. Mal. -
@MathiasJ sagte in js-controller 2.0 ab sofort im Latest Repo:
Error: ENOSPC: no space left on device
Da steht auch warum
-
@AlCalzone
Dann kannst Du mir bestimmt erklären, was die Nummern bedeuten -
@MathiasJ welche Nummern? Die Meldung sagt das seine as Karte VOLL ist!!!
-
Aha interessant, obwohl ein expand Filesystem gemacht wurde und die eMMc 64GB groß ist?
-
@MathiasJ Wenn das sagt dass die Platte voll ist, dann ist das wohl so. Hat du denn die richtige Partition erweitert?
df -h
-
@Stabilostick sagte in js-controller 2.0 ab sofort im Latest Repo:
Würde das gerne nachstellen. Was war die Ausgangssituation, wie hattest Du den Server vorher installiert? Stand der ioBroker auf „latest“ Was genau hast Du gemacht.
Einfach so beschreiben, dass ich zum gleichen Ergebnis komme...
So ich werde heute nochmal einen neuen Anlauf nehmen und es analog zu gestern genau so machen - Schritt für Schritt.
Der Server läuft seit 2018 auf einem Win10 Rechner (32Bit) - Ist also nach der "Uralten" Anleitung aufgesetzt worden.Hier erstmal meine ganze Konfig:
Platform: Windows
Architecture: ia32
CPUs: 2
Speed: 3325 MHz
Model: Intel(R) Core(TM)2 Duo CPU E8600 @ 3.33GHz
RAM: 3.4 GB
System uptime: 00:05:28
Node.js: v10.16.0
NPM: 6.9.0
Disk size: 209.1 GiB
Disk free: 162.6 GiB
adapters count: 292
Uptime: 00:05:20
Active instances: 28Der Unterschied zu gestern: Heute sind alle meine verwendeten Adapter Aktuell. Gestern gab es für 5 Adapter ein Update. Ich hatte gestern, bevor ich mich an den Host gewagt habe , jeden Adapter einzeln aktualisiert.
Hier der Aktuelle Stand - sorry ich weiß nicht wie man eine Liste generieren kann. Darum ein Screenshot.
Danach habe ich das Update für den Host nach dem bewährten Schema durchgeführt - jeder Befehl einzel in der Eingabeaufforderung als Admin.
C:\WINDOWS\system32>cd C:\ioBroker iobroker stop -- heute bekomme ich diese Rückmeldung: C:\ioBroker>node node_modules/iobroker.js-controller/iobroker.js stop iobroker controller daemon is not running
Heute läßt sich der Windows Dienst nicht mehr stoppen - hat bestimmt etwas mit der gestrigen Wiederherstellung zu tun.
Ich habe den STOP Befehl eben nochmal als bat Datei ausgeführt und nun wird auch der Windows Dienst nicht mehr ausgeführt.
@Echo off &Setlocal Net Stop ioBroker Pause
Also weiter im Text - fassen wir zusammen ioB ist gestoppt und die Eingabeaufforderung als Admin gebe ich ein:
iobroker update
Hier die Rückmeldung darauf:
jetzt:
iobroker upgrade self
Und siehe da, jetzt sind wir genau da, wo wir auch gestern waren. Nix geht mehr und auch in der Eingabeaufforderung passiert nichts mehr. Hier die Meldungen die bis hier hin ausgegeben wurden.
Ich lasse die Eingabe Aufforderung nochmal ein paar Minuten so stehen, aber im Moment passiert da nichts mehr.
-
Hallo an Euch alle,
aufgrund der Meldungen und einiger Dinge die ich noch finalisieren wollte gibt es ab sofort die 2.0.33 im Latest Repository. Diese Version enthält vor allem noch die Fixes für die letzten gemeldeten kleinen Fehlerchen.
Darüber hinaus ist vor allem das Verhalten bei einer Unterbrechung der Verbindung zur Datenbank (egal ob Redis oder im "file" Falle der js-controller). Beim verlieren der Verbindung wird diese per Default in 5s Abständen bis zu 20 mal versucht wiederherzustellen. Wenn dies gelingt, bleibt das ganze System in Betrieb und in der Unterbrechungszeit aufgelaufene Befehle werden nachträglich ausgeführt. Bei Redis könnte diese Zeit sogar für ein Redis-Update ausreichen.Erst danach (also nach ca. 90s) beenden sich Adapter und das System und ein automatischer Restart findet statt, wonach der js-controller wartet bis die Verbindung wieder da ist. Um ggf Netzwerk-Effekte abzufangen gibt es alle 30s einen Restart des Controllers.
Ansonsten hat sich nicht viel geändert. Je nach weiterem Feedback wäre das vllt auch schon die Version für Stable.
Die Version sollte nach einem Update des Repositories (Reload-Button unter "Adapter" im Admin bzw
iobroker update
and der Kommandozeile) angezeigt werden. In Einzelfällen kann es wegen Caching bis zu einem Tag dauern.Ingo
-
@JB_Sullivan Hast Du sichergestellt das auch wirklich kein nodejs prozess mehr läuft? Vor allem wenn Du Probleme beim stoppen hast?
Ist das ein Master oder ein Slave oder hast Du nur den einen Host? -
@apollon77 sagte in js-controller 2.0 ab sofort im Latest Repo:
@JB_Sullivan Hast Du sichergestellt das auch wirklich kein nodejs prozess mehr läuft? Vor allem wenn Du Probleme beim stoppen hast?
Ist das ein Master oder ein Slave oder hast Du nur den einen Host?Also ich gehe über den Taskmanager und gucke mir dort die Prozesse an. Da war nichts von node zu lesen. Bei den Diensten stand auch für ioB kein "wird ausgeführt". Also gehe ich davon aus das nix mehr läuft - oder wie kontrolliert man das sonst?
PS - Ich habe nur einen Host
-
Das mit dem „ParserError: Protocol error, got "H" as reply type byte.“ sehe ich zum ersten Mal. Wohl was mit Redis im neuen js-controller 2.0 in Deiner Umgebung.
Magst Du bitte eine Migration von ioBroker mit dem neuen Windows Installer durchführen? Da wird ein zweiter ioBroker-Server und Dienst neben dem, was Du schon hast installiert, noch mit 1.5.14 und allen Deinen Einstellungen und Adaptern. Wenn es nicht funktioniert, kannst Du das Neue problemlos wieder löschen und mit dem bestehenden weitermachen, weil der neue Installer daran nichts verändert. Du kannst dazu direkt im neuen Installer den bestehenden ioboker-data Ordner als Migrationsquelle angeben. Dann werden auch alle Visualisierungen und Javascripte, Adaptereinstellungen usw. übernommen.
Wenn Dein System auf latest steht, kann es ein, dass da sogar ein funktionierender js-Controller 2.0 herumkommt.
Du findest den Installer im Downloadbereich auf iobroker.net
-
Ach du Sch...... apollon77 du hast Recht gehabt. Node lief doch noch.
Wo war der (mein) Fehler ?!?!?!
Ich gehe über RDP auf den Rechner mit der ioB Installation. Drückt mal Strg+ALT+Enf. öffnet sich der Taskmanager - leider ist das nicht der Taskmanager der Remote Maschine (auch wenn man auf dieser im Vollbild drauf ist).
Es handelt sich um den Taskmanager von dem PC von dem man eine Einwahl auf die Remote Maschine gemacht hat - also quasi mein Arbeits PC. Hier ist natürlich weder ioB noch Node installiert. Somit werden im Taskmanager auch keine laufenden Porzesse angezeigt.
Geht man auf dem RDP Rechner und öffnet dort via Cortana den Taskmanager sieht man auch laufende Node Prozesse.
Also das ganze noch einmal und siehe da - nun funktioniert alles ..... bis auf diese Meldung ..... wo ich nicht so genau weiß, was er von mir will - speziell wegen Alexa
javascript.0 2019-10-16 21:03:22.087 warn (112) at Timer.processTimers (timers.js:223:10) javascript.0 2019-10-16 21:03:22.087 warn (112) at listOnTimeout (timers.js:263:5) javascript.0 2019-10-16 21:03:22.087 warn (112) at tryOnTimeout (timers.js:300:5) javascript.0 2019-10-16 21:03:22.087 warn (112) at ontimeout (timers.js:438:13) javascript.0 2019-10-16 21:03:22.087 warn (112) at Timeout._onTimeout (C:\ioBroker\node_modules\iobroker.javascript\lib\sandbox.js:1414:29) javascript.0 2019-10-16 21:03:22.087 warn (112) at Object.setState (C:\ioBroker\node_modules\iobroker.javascript\lib\sandbox.js:1358:20) javascript.0 2019-10-16 21:03:22.087 warn (112) You are assigning a string to the state "alexa2.0.Echo-Devices.meineNummer.Commands.weather" which expects a boolean. Please fix your code to use a boolean or change the state type to stri
-
@JB_Sullivan sagte in js-controller 2.0 ab sofort im Latest Repo:
Na super, geht doch ;-))
javascript.0 2019-10-16 21:03:22.087 warn (112) You are assigning a string to the state "alexa2.0.Echo-Devices.meineNummer.Commands.weather" which expects a boolean. Please fix your code to use a boolean or change the state type to stri
Das ist ein Fehler in einem Deiner Skripte. da schreibst Du wohl eine Zeichenkette an alexa2.0.Echo-Devices.meineNummer.Commands.weather ... aber es will einen Boolean.
Hat mit dem Controller nichts zu tun.
-
@Stabilostick sagte in js-controller 2.0 ab sofort im Latest Repo:
Das mit dem „ParserError: Protocol error, got "H" as reply type byte.“ sehe ich zum ersten Mal. Wohl was mit Redis im neuen js-controller 2.0 in Deiner Umgebung.
Magst Du bitte eine Migration von ioBroker mit dem neuen Windows Installer durchführen? Da wird ein zweiter ioBroker-Server und Dienst neben dem, was Du schon hast installiert, noch mit 1.5.14 und allen Deinen Einstellungen und Adaptern. Wenn es nicht funktioniert, kannst Du das Neue problemlos wieder löschen und mit dem bestehenden weitermachen, weil der neue Installer daran nichts verändert. Du kannst dazu direkt im neuen Installer den bestehenden ioboker-data Ordner als Migrationsquelle angeben. Dann werden auch alle Visualisierungen und Javascripte, Adaptereinstellungen usw. übernommen.
Wenn Dein System auf latest steht, kann es ein, dass da sogar ein funktionierender js-Controller 2.0 herumkommt.
Du findest den Installer im Downloadbereich auf iobroker.net
Ehrlich gesagt habe ich mich nicht so recht daran getraut, weil ich die Befürchtung hatte, das mein produktives System danach nicht mehr funktioniert.
Ich habe es trotzdem mal versucht, komme aber bei Migartion nicht weiter, weil er sagt, das der Admin Port gerade in Benutzung bzw. gesperrt ist. Die Migartion wird dann abgebrochen. Das Problem ist, das auf keinem Rechner ioB Admin offen ist und somit der Port eigentlich gar nicht benutzt wird.
-
Na Super - jetzt habe ich die Migration durchgeführt und 95% aller Adapter sind ROT. Wie komme ich jetzt wieder auf meine alte Version zurück? Wenn ich die neue stoppe und meine alte starten will, sagt mit ioB "Zugriff verweigert"
Echt - never touch a running system - ich bin auch einfach zu blöd das es mich immer wieder überkommt und zu 90% habe ich hinterher mehr Arbeit alles wieder zum laufen zu bekommen.
-
Aber der Admin-Adapter läuft noch und belegt damit den Port. Du hast zwei Möglichkeiten:
-
die Ports für DB und Admin beim Setup nicht ändern und dafür den ioBroker-Dienst vor dem Setup manuell stoppen, damit sie frei sind
-
für die neue Instanz im Dialog neue Ports eingeben, etwas verschoben zu den alten. Kann aber Problemchen geben, wenn Du mit 2 ioBroker Servern und Adaptern auf die gleichen Geräte zugreifst.
Ich wäre für 1. für den Test. Wenn alles passt kannst Du den alten ioBroker-Dienst deaktivieren. Wenn nicht, den neuen löschen über das setup und den alten wieder starten. Also kein Risiko.
Tipp: Verwende für die Installation einen anderen Zielordner als c:\iobroker
-
-
Danke für die Antwort - habe es bereits so gemacht und "läuft" siehe mein Posting über deinem.
-
@JB_Sullivan sagte in js-controller 2.0 ab sofort im Latest Repo:
etzt habe ich die Migration durchgeführt und 95% aller Adapter sind ROT.
Klar, die Adapter werden ohne dass Du eingreifst automatisch frisch nachinstalliert. Steht so im Installer-UI. Siehst Du im Log. Das dauert etwas, vor allem wenn Du vis-Grafiken hast.
Nur Adapter, die Du von GitHub manuell über die Experteneinstellung installiert hast, musst Du nach Abschluss der Autoinstallation noch mal per Hand installieren. Steht auch so im Installer.
-
@Stabilostick sagte in js-controller 2.0 ab sofort im Latest Repo:
Das dauert etwas, vor allem wenn Du vis-Grafiken hast.
Ja, hat bei mir 1 Stunde gedauert.
-
@sigi234 Und danach? Hat‘s gepasst?