NEWS
[How-to] Node.js für ioBroker richtig updaten
-
Exakt so habe ich es auch gemeint.
Ein Forum ist da um zu diskutieren und ggf Fehler zu reproduzieren und ähnliches. Es ist aber für die Entwickler nicht geeignet einen Überblick zu behalten. So schnell wie sich Threads im Forum von einem Thema zum nächsten entwickeln (da reicht ein Post) kann ein Entwickler gar nicht aktuell bleiben. Hier gilt in meinen Augen der "The best tool for the Job" Ansatz. GitHub ist ein Tool für die Entwickler um Ihre Arbeit zu organisieren. Beides hat damit klar seine Berechtigung und Nutzen.
Wir haben hier einige Entwickler die mehrere Adapter geschrieben haben und gegebenenfalls noch an zig anderen mitarbeiten die nicht von Ihnen stammen. Ich alleine müsste im Forum Threads von über 20-30 Adaptern verfolgen, selbst das relevante rausziehen und Issues anlegen ... Jetzt rechne das mit den von @AlCalzone genannten Zeiten mal schnell aus (zumal man auch Forum mal "eben fix von unterwegs" macht und man so gar nicht gescheit die Informationen überführen oder "auf Widervorlage" legen kann). Ich kann das gern tun, dann haben wir eine super Bugliste - nur Zeit diese auch abzuarbeiten habe ich dann keine mehr (und ehrlich "Lust" ggf auch nicht).
Ich denke es ist bei einem Community-getriebenen Open-Source-Projekt nicht unüblich das wir hier zusammenarbeiten. Und das bedeutet für mich das Issues von jedem User reportet werden können und sollten. Je besser aufbereitet und je detailierter wenn nötig umso einfacher für den Entwickler idealerweise direkt loszulegen.
GitHub hat weiterhin den Vorteil das man mit zB "Daumen hoch" auch Abstimmen kann bzw sagen kann das man auch betroffen ist und, das mal endlich sinnvoll genutzt, der Entwickler eine Idee bekommt wie wichtig einzelne Bugs oder Themen sind, sonst bekommt halt doch der etwas zuerst der am lautesten schreit.
Bei vielen Threads funktioniert das wunderbar und hält den Rücken frei für die Entwickler das zu tun was Sie gern tun: Software Entwickeln!
Sie es einfach als "Win-Win Situation" ...
-
Hey Leute! Das war ja auch keine Kritik von mir, habe @apollon77 aber wohl falsch verstanden. Ich bewundere und schätze eure Arbeit sehr und wenn ich dabei helfen kann, mach ich das auch gerne.
Allerdings bin ich mir nicht sicher ob es so eine große Hilfe ist, jedes Problem gleich auf GitHub zu melden? Liegt vielleicht an einem Bedienfehler. Und da ist es nicht verkehrt zuerst mal im Forum "nachzufühlen" ob auch andere das Problem beobachten oder vielleicht sogar helfen können. Dann kann man immer noch den Entwickler "quälen".
-
@Dr-Bakterius sagte in [How-to] Node.js für ioBroker richtig updaten:
Allerdings bin ich mir nicht sicher ob es so eine große Hilfe ist, jedes Problem gleich auf GitHub zu melden?
Wenn es offensichtliche Fehler sind wie in deinem Fall (eine ältere Version wird als neue vorgeschlagen), dann definitiv. Aber bitte prüfen, ob das nicht schon auf der Liste steht.
Bei Unklarheiten lieber vorher mal im Forum nachforschen, ob es nicht doch ein Bedienfehler o.ä. ist.
-
Guten Abend,
beitreibe ein redis Multihost System (1x Rock64, 5xRaspberry) und habe dieses soeben auf Node.js v10.16.3 aktualisiert (NPM: 6.9.0, jscontroller: 1.5.14).
Auf dem Master wurde die Variante "npm rebuild" mit diversen Fehlern beendet, somit habe ich das "reinstall-Skript" ausgeführt. Es wurden nach und nach alle Adapter neu installiert, diese sind aktuell auch im Zustand "grün".
Auf den Slave setze ich jeweils den Adapter RPI ein, um die GPIO zu steuern. Dies funktioniert nicht mehr, selbst wenn ich Manuel einen GPIO OUT über Objekte setze, wird dieser Zustand nicht umgesetzt. Den jeweiligen Adapter habe ich bereits händisch gelöscht und neu installiert, keine Verbesserung.
Was könnte ich noch versuchen? -
-
@Stabilostick
Danke.
Ich werde mal alle rpi2 Adapter löschen und neu installieren.
Kurze Rückmeldung:
Es hat funktioniert!
Wichtig ist, dass auch der Adapter komplett gelöscht wird. Direkt über ioBroker hat es nicht funktioniert. Folgender Weg war erfolgreich.iobroker stop cd /opt/iobroker npm uninstall iobroker.rpi2 --silent --save --prefix iobroker start
-
@apollon77 Hallo, danke für all die Anleitungen. Sehr hilfreich.
Man könnte noch vermerken, dass falls man danach erst gelesen hat, dass man zuerst auf http umschalten muss, das reinstall-Script starten ausreicht. -
Hallo,
wie Lange dauert eigentlich ein npm rebuild?
Da ich ja erhebliche Probleme habe, versuche ich gerade ein rebuild.Seid ca. 30 Minuten scheint sich aber nichts zu tun.
Im Teminal steht seit dem :> iobroker.vis@1.2.1 install /opt/iobroker/node_modules/iobroker.vis > node main.js --install
Läuft da noch was ?
Das ganze läuft im docker mit buanet/iobroker:latest
-
@AndyUM61 An sich sollte das schnell gehen. Brich ab und mach nochmal
-
@apollon77
Also ich komme seid Freitag mit meinem ioBroker einfach nicht weiter:(.Ich habe das eben noch einmal gestartet und er hängt wieder an der selben Stelle:
> iobroker.vis@1.2.1 install /opt/iobroker/node_modules/iobroker.vis > node main.js --install
irgend wann kommt dann "Socket geschlossen"??
Ich habe unter Error/ Bog schon einen Beitrag angelegt, aber so richtig konnte mir keiner helfen.
Bei mir bricht der ioBroker immer ab mit der Fehlermeldung:
2019-10-15 12:42:00.006 - [31merror[39m: host.iobroker uncaught exception: wakeUp is not defined 2019-10-15 12:42:00.007 - [31merror[39m: host.iobroker ReferenceError: wakeUp is not defined at startScheduledInstance (/opt/iobroker/node_modules/iobroker.js-controller/main.js:2611:17) at Job.procs.(anonymous function).schedule.schedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.js-controller/main.js:3121:65) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:173:10) at /opt/iobroker/node_modules/node-schedule/lib/schedule.js:552:11 at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:510:7) at ontimeout (timers.js:436:11) at tryOnTimeout (timers.js:300:5) at listOnTimeout (timers.js:263:5) at Timer.processTimers (timers.js:223:10)
Das macht er mindestens 2x am Tag um 12:01 Uhr und um 00:01 Uhr.
Im Admin ist aber kein Chron-Job zu diesen Zeitpunkten zu sehen.
Nach dem abgebrochenen rebuild kommt dieser Fehler auch gleich kurz nach dem Neustart.Nach gefühlten 20 Neuinstallationen und Restores weiß ich einfach nicht mehr weiter:(.
-
@AndyUM61 Jupp dieser Fehler wurde sich gerade gemeldet. Schau mal in js-Controller 2.0 Beta thread. Der Fehler ist in 2.0.31 gefixt was als nächstes ins latest kommt. Oder installiert vom GitHub (siehe Beta thread)
-
@apollon77
Na das hört sich doch gut an.
Da haben also doch noch Andere auch dieses Problem;).Dann mal Herzlichen Dank für deine Antwort!
-
@Stabilostick sagte in [How-to] Node.js für ioBroker richtig updaten:
d) Neuinstallation mit Restore
Eine kleine Abwandlung der letzten Variante ist eine Neuinstallation. Hierbei sichert man das "iobroker-data" Verzeichnis (oder nutzt das Backup von oben). Dann löscht man das gesamte ioBroker-Verzeichnis und nutzt den Installer.Hi, wie würde dieser Part mit einem Multihost System also mit dem Master und vor allem file und states mit Redis aussehen? In welchem step aktiviere ich das multihost system und die umstellung auf Redis?
-
@smartboart An sich ist das easy: Identisch. In iobroker-data ist die Konfig des Hosts drin und damit auch die Info welcher DB-Typ genutzt wird und wohin man connnecten muss. Also iobroker-data zurückkopieren und starten. Dann sollte das gleiche passieren.
Hier dann aber master zuerst und in der Zeit die Slaves stoppen. Und danach die Slaves nacheinander
-
@apollon77 danke für die schnelle Antwort..
-
@apollon77 wie kann ich eigentlich erkennen, das der Widerherstellungsprozess nach iobroker start wieder läuft? Bzw. das alle Adapter installiert werden? irgenwie passiert hier nix...habe es mit top überprüft..
Folgendes nach iobroker start bzw. ausgabe bei iobroker status.
-
Im ioBroker Logfile des Hosts oder im Admin Log Tab
-
@apollon77 ok, es geht erst wenn ich mit iobroker custom auf file umstelle
jetzt startet iobroker auch und ich es sehe es im log... Also ganz ohne umstellung funktioniert es bei redis system nicht ..liegt wahrscheinlich dadran, dass der jscontroller nach neuinstall nicht auf V2 ist...Wie es in meinem System schon der fall war..
-
@smartboart Ääähm ja ein Slave neu installiert wenn der Master schon 2.0 ist dann muss der Slave auch 2.0 sein. Dann würde alles automatisch gehen nach iobroker-data kopieren
-
@apollon77 nein ...ich habe den Master neu installiert.Hatte alles aktuell.
und auf den neuen Controller umgestellt. Wegen der nervigen node gyp fehler habe ich heute nach Anleitung d: neuinstallation mit restore alles neu installiert.
Slave war gestoppt. Mein file und state system war auf redis. Hier hat es beim iobroker start dann gehakt. siehe Bild oben.
Dann umgestellt states und objekt wieder auf file. iobroker start hat dann geklappt. Dann war auch der Admin wieder erreichbar und alles wurde neuinstalliert. Anschl. wieder auf redis .. dann wars gut...das war jaEingangs meine Frage ob der Vorgang anderes is bei nem master mit file und state in redis, was ja erst seit dem neuen Controller geht..Und nun endlich wieder node-gyp Fehlerfrei...