NEWS
Test Installer ioBroker Windows v1.5.14.x
-
Habe die tr-064 community Instanz gelöscht. Leider wurden dadurch auch alle Objekte gelöscht, was prinzipiell ärgerlich ist. In meinem speziellen Fall jetzt nicht so sehr, weil ich den erst heute Mittag eingerichtet habe und ohnehin noch im Testbetrieb laufe.
Habe dann den Adapter neu hochgeladen und die Instanz angelegt und wieder neu bedatet. Jetzt scheint alles zu laufen und es kehrt Ruhe ein.
Daß der tr-064 aus github rumzickt ist klar.
Warum der web Probleme machte ist unverständlich. Hat aber wohl nichts mit dem Installer zu tun. Der hat funktioniert.Mein Fazit (bisher):
- Hat alles funktioniert, die Instanz wurde richtig übertragen. Vielen Dank, Thomas für die Mühe und die prima Arbeit! So kann man sein Windows-ioBroker System mit einem geringen Aufwand und (hoffentlich) risikoarm aktuell halten
- Daß man die bisherige Instanz aufgeben muß und dafür eine neue bekommt hat mich verunsichert. Die Mehrarbeit hält sich in Grenzen, aber durch die Pfadänderung kann noch was nachkommen, was man vergessen hat. Generell würde ich (in Unkenntnis er Machbarkeit) bevorzugen, wenn der Pfad der aktuellen Installation umbenannt würde und die neue Installation unter dem bisherigen Namen installiert würde
- Habe auch 3 Anläufe gebraucht, bis ich das richtige Quellverzeichnis eingegeben hatte
- Fehler 1: Nur das ioBroker Verzeichnis angegeben C:/programme/ioBroker. Denn darin gab es bisher nur eine Instanz
- Fehler 2: Nur das Instanzenverzeichnis angeben, nicht das iobroker-data-Verzeichnis
Hier hätte es in meinem Fall ausgereicht, den Programmpfad anzugeben. Da da mittlerweile (oder noch) 2 Instanzen drin sind, würde die Benennung der Instanz ausreichen. Für Migration von Linux mag das anders sein.
-
Ok, Problem gefunden. Du hast zu viele Adapter.
Über 20.000 mal in der Objects-DB das Wort "common"... Tsss...
FYI: Der neue Filter, der jetzt funktioniert und in Version 1.5.14.b eingebaut wird:
-r ". | with_entries(select(.key|contains(\"system.host.\"))) | .[].common.hostname | select(.==null|not)" objects.json
-
- Der alte ioBroker-Dienst müsste noch da sein, jedoch mit Merkmal "deaktiviert". Ist das so korrekt?
- Im Windows Defender müsste jetzt für das Verzeichnis der Instanz eine Ausnahme da sein. Ok?
Klappt nach einem Reload der Webseite/von Firefox wieder das Log?
-
@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
@klassisch sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Das kann ich leider im Setup nicht automatisieren. Nicht mehr auf npm befindliche Adapterversionen und manuelle Quellen müssen manuell im Nachgang korrigiert werden. Kannst Du den schnellsten Weg mit dem was Du gemacht hast für andere kurz hier dokumentieren?Ja, für den tr-064 verstehen ich das. Aber der web war der aktuelle und er war in der Adapteransicht zu sehen. Da habe ich schon lange nichts mehr aktualisiert. Wie oben gesagt, sehe ich das als ioBroker Thema und nicht als Installer-Thema
Generelles Vorgehen
- Mit einem ordentlichen Windows-Rechner ist man für solche Updates gut aufgestellt, weil der i.A. genügend Power hat und sich die Wartezeiten in Grenzen halten.
- Nach der Installation bzw. dem Update den Status der Instanzen beobachten. Die werden nach und nach grün
- Wird eine Instanz nicht grün, dann das Logfile runterladen und den Grund suchen
- Ist der Grund "der Adapter konnte nicht geladen werden":
- Fall 1: Der Adapter ist in der Adapteransicht zu sehen:
** Versuch 1: Adapteransicht und den Upoadpfeil (^) drücken
** Versuch 2, falls 1 scheitert: Instanz löschen, was allerdings auch den Verlust der Konfigurationsdaten und der Objekte bedeuten kann. Anschließend die Instanz neu anlegen und neu bedaten - Fall 2: Der Adapter ist in der Adapteransicht nicht zu sehen:
** Wahrscheinlich wurde der Adapter direkt von github oder von Dritten installiert. => Instanz löschen, was allerdings auch den Verlust der Konfigurationsdaten und der Objekte bedeuten kann. Dann den Adapter Unter Verwendung des github-Symbols hochladen. Anschließend die Instanz neu anlegen und neu bedaten
- Fall 1: Der Adapter ist in der Adapteransicht zu sehen:
-
@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
- Der alte ioBroker-Dienst müsste noch da sein, jedoch mit Merkmal "deaktiviert". Ist das so korrekt?
Woran erkenne ich den deaktiviert-Status? Im Webinterface wird bei der Angabe des Hosts und im Info-Adapter nur die neue Instanz benannt. Die alte Instanz sehe ich gar nicht - zumindest nicht auf den ersten Blick
Auf dem Host selbst sehe ich in der Eingabeaufforderung (Eingabe ioBroker in das Suchfeld unten) beide Instanzen, kann aber keinen unterschiedlichen Status erkennen. Auch nicht wenn ich die DOS-Boxen starte.@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
- Im Windows Defender müsste jetzt für das Verzeichnis der Instanz eine Ausnahme da sein. Ok?
Der Defender hat Ausnahmen für beide Instanzen
@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Klappt nach einem Reload der Webseite/von Firefox wieder das Log?
Das war sehr seltam. Firefox wollte irgendwann mal nicht mehr wirklich das Log anzeigen. Dann habe ich das mit Chrome gemacht, was sofort funktioniert hat. Als ich dann wieder zum Firefox umgeschaltet habe, konnte der das Log auch wieder anzeigen. Es gibt im Zusammenhang mit ioBroker einiges, was der Chrome besser kann als der FF. Z.B. 40 Flot-Charts als Bundle anzeigen
-
@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Ok, Problem gefunden. Du hast zu viele Adapter.
Über 20.000 mal in der Objects-DB das Wort "common"... Tsss...Ja, ich weis.............der Ordner ist 16 GB groß..............
-
@klassisch sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
- Der alte ioBroker-Dienst müsste noch da sein, jedoch mit Merkmal "deaktiviert". Ist das so korrekt?
Woran erkenne ich den deaktiviert-Status?
Das sieht man in der Dienststeuerung von Windows. Eventuell im Task-Manager unter Dienste in der erweiterten Ansicht.
Die Einstellungen der alten Instanz habe ich bei der Migration nicht angerührt. Deshalb ist auch die Konfig in der Firewall usw. noch da. Einfach damit man schnell zurückspringen kann.
Wenn man das und weiteres endgültig entfernen möchte, dann über den Installer die alte Instanz löschen.
-
Ich wusste Doch, mit euch testen macht Spaß. Dafür ein herzliches „Danke!“.
-
@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Das sieht man in der Dienststeuerung von Windows.
Ja, da sieht man es:
-
Ich habe neu das verzögerte Starten des ioBroker-Dienstes konfiguriert, damit Windows sich vor dem Start von ioBroker erst einmal selbst fängt.
Wenn Du die alte Instanz testhalber verwenden möchtest, dann musst du den neuen Dienst im Dienst Manager stoppen, die Startart des alten auf „manuell“ stellen und den alten Dienst dann starten. Sollte alles noch gehen.
Für die neue Instanz die Dienste-Konfig wieder zurückstellen. Beide gleichzeitig geht natürlich nicht.
-
@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Dafür ein herzliches „Danke!“.
Es ist an uns Dir ganz herzlich für Deine tolle Arbeit zu danken! Respekt!
Der Windows Installer ist schon eine klasse Sache. Gerade in den Zeiten der Versionsturbulenzen.
Hatte dieser Tage den Fall, daß ich einem HM-User einen schnellen Weg zu einer ioBroker Installation zeigen wollte. Audgrund der Versionsturbulenzen, Dokuumstellungen etc. scheint auf dem Linux-Pfad gerade vorwiegend Baustelle zu sein. Immer noch eine lange Liste von Anweisungen und an einem Installer wird gearbeitet.
Da ist Dein Installer doch eine andere Nummer. So kann man ioBroker verbreiten
Ordentlicher (Gebraucht- bzw. ehda-)Rechner, Ordentliches OS, ordentlicher Installer und schon flutscht es.... -
@klassisch sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Es ist an uns Dir ganz herzlich für Deine tolle Arbeit zu danken! Respekt!
Dem schließe ich mich an.............
-
@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Ich habe neu das verzögerte Starten des ioBroker-Dienstes konfiguriert, damit Windows sich vor dem Start von ioBroker erst einmal selbst fängt.
d.h. Starttyp: "Automatisch, verzögerter Start". Windows startet, und nach einigen Sekunden. oder wenn Windows der Meinung ist, an Deck zu sein, wird ioBroker mit voller konzentration gestartet?
Wenn Du die alte Instanz testhalber verwenden möchtest, dann musst du den neuen Dienst im Dienst Manager stoppen, die Startart des alten auf „manuell“ stellen und den alten Dienst dann starten. Sollte alles noch gehen.
Für die neue Instanz die Dienste-Konfig wieder zurückstellen. Beide gleichzeitig geht natürlich nicht.
Vielen Dank, also Steuerung über die Services. Werde die alte Instanz hoffentlich nicht mehr brauchen.
Beobachte das System weiter und melde mich für diese Session ab. -
Verzögerter Start:
The Service Control Manager starts services that are configured for delayed automatic start after all of the automatic-start threads have finished starting. The Service Control manager also sets the priority of the initial thread for these delayed services to THREAD_PRIORITY_LOWEST. This causes all of the disk I/O performed by the thread to be very low priority. Once a service finishes initializing, the priority is set back to normal by the Service Control Manager.
-
@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Bei einer Neuinstallation oder Migration/Reparatur wird eine bestehende ioBroker-Installation nicht angetastet.
Ok, wenn ich jetzt eine Migration mache dann übernimmt er Alles von der Alten Installation?
Alle Adapter, Vis, Flot, Skripte usw...Richtig?
Gibt es eine Möglichkeit das ich auswählen kann welche Adapter er übernehmen soll?
Wie ich gelesen habe werden die Adapterversionen genommen die installiert waren.
Ich habe den Verwahrungsort immer auf latest gestellt und bin auf den neuesten Stand, aber auch viele Github Versionen.
Was dann nicht geht muss Manuel nachinstalliert werden.........Hm..., ich denke eine saubere Neuinstallation und dann ausgewählte Adapter zu installieren ist die Beste Lösung.
Ich freue mich schon auf weitere Tests.......@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Bei einer Reparatur
Das ist auch interessant, wird das mit Datumsauswahl oder letzte funktionierende Version oder wird das Grundsystem wieder hergestellt?
-
Richtig. Alles, was in iobroker-data gespeichert ist. History-Adapter Kennzahlen, wenn der Pfad nicht verändert wurde, Node-red Workflows usw.
Im Prinzip ist das was ich mache nichts neues. Einer frisch installierten Serverinstanz mit Admin, Discovery und Info-Adapter wird die präparierte Datenbank und Konfig-Files einer vorangegangenen Installation untergeschoben. Das gilt für alle Vorgänge wie Update, Migration und Reparatur.
ioBroker findet in der Datenbank beim Start die konfigurierten Adapterinstanzen, aber im Dateisystem nicht die entsprechenden Programmdateien. Deshalb beginnt ein Standardmechanismus, der Adapter für Adapter unter Beibehaltung der Konfig und der Version mit npm nachinstalliert, sofern er noch im npm-Repository in der in der DB hinterlegten Version steht. Für von GitHub installierte Adapter fehlt aber die Angabe der Paketquelle und deshalb kommt die null-Meldung und die manuelle Nachinstallation wird erforderlich. Vielleicht wird letzteres mit Version 2.x des js-controllers anders.
Und wenn jemand von raspberry auf Windows umsteigt (auch das geht mit der Migration), dann werden natürlich unter Windows raspberry-spezifische Adapter nicht funktionieren. Wenn in der Adapterkonfig so etwas wie /dev/usbtty steht, muss das unter Windows manuell auf comX geändert werden. Das und ähnliches kann ich nicht automatisch leisten.
Adapter im Setup auswählbar zu machen würde bedeuten, dass ich gravierend in die DB eingreifen muss. Das möchte ich definitiv vermeiden. Und wenn die Daten in einem externen redis-DB liegen, mag ich da überhaupt nicht dran denken.
Während der Importphase lasse ich die json-Dateien zumindest auf syntaktische Richtigkeit prüfen und checke einige Punkte, um den gröbsten Schnitzern vorzubeugen (siehe defekte SD-Karten Raspberry).
-
@sigi234 sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Bei einer Reparatur
Das ist auch interessant, wird das mit Datumsauswahl oder letzte funktionierende Version oder wird das Grundsystem wieder hergestellt?
Du bestimmst mit der Auswahl des iobroker-data Quellordners, welcher Stand wiederhergestellt wird. Woher der Ordner kommt, ist fast egal. Ein aktuelles System, der Sicherungsordner nach dem Löschen einer Instanz, eine extrahierte Sicherung vom Backitup-Adapter oder aus Windows Laufwerksschattenkopien (Explorer->Vorgängerversionen). Oder die SD-Karte mit fat32-Dateisystem vom asrock64. Ich möchte da flexibel sein.
-
@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Und wenn jemand von raspberry auf Windows umsteigt (auch das geht mit der Migration), dann werden natürlich unter Windows raspberry-spezifische Adapter nicht funktionieren. Wenn in der Adapterkonfig so etwas wie /dev/usbtty steht, muss das unter Windows manuell auf comX geändert werden. Das und ähnliches kann ich nicht automatisch leisten.
Gilt dann bei der Migration von Linux auf Win noch meine Anleitung https://forum.iobroker.net/topic/22896/howto-anleitung-migration-von-linux-sbc-raspi-opi-auf-windows-notebook oder steht da jetzt Blödsinn drin, den man ersetzen oder zumindest mit einem Hinweis versehen sollte?
Prüfst Du, ob da noch solch Linuxzeug wie /dev/usbtty drinsteht? Falls ja, könntest Du einen Hinweis in die Protokolldatei oder den Dialog schreiben, damit man gleicheine ToDo Liste hat.
@Stabilostick sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Während der Importphase lasse ich die json-Dateien zumindest auf syntaktische Richtigkeit prüfen und checke einige Punkte, um den gröbsten Schnitzern vorzubeugen (siehe defekte SD-Karten Raspberry).
Auch hier wieder: Wäre da ein Hinweis im Dialog / Logfile möglich, damit man die schwarzen Schäfchen gleich kenntlich macht?
-
@klassisch sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Prüfst Du, ob da noch solch Linuxzeug wie /dev/usbtty drinsteht? Falls ja, könntest Du einen Hinweis in die Protokolldatei oder den Dialog schreiben, damit man gleicheine ToDo Liste hat.
Bislang prüfe ich das nicht. Ich könnte aber einen allgemeinen Infodialog einblenden, wenn ich feststelle, das die DBs von einem Linux-System stammen.
schwarzen Schäfchen gleich kenntlich
Das ist so integriert. Bei Fehlern geht es nicht weiter bei der Migration. Siehe die zweite Meldung von @sigi234.
-
@klassisch sagte in [Aufruf] ioBroker für Windows, Version 1.5.14:
Gilt dann bei der Migration von Linux auf Win noch meine Anleitung https://forum.iobroker.net/topic/22896
Im Prinzip gilt das schon noch. Nur spart man sich jetzt das vorinstallierten von ioBroker auf Windows und solche Sachen wie „iobroker host this“. Es reicht, ioBroker auf dem SBC anzuhalten, dessen Ordner iobroker-data auf irgendwas zu kopieren, dass Windows lesen kann und dann einfach dort den neuen Installer mit der Migrationsfunktion zu starten. Und ggf. noch etwas Nacharbeit, wie du schreibst. Nur sollte das Löschen der Adapter mit fehlendem Pendant auf npm wie es oben beschreibst nicht nötig sein. Ein drüberinstallieren mit Erhalt der Konfig und ggf ein Upload ist das was ich kenne.