NEWS
Startproblem ioBroker
-
Hallo,
seit vorgestern habe ich folgendes Problem:
Meine erste Vis unter Jarvis läuft in einem Docker-Container auf einem QNAP-NAS ganz gut.
Das Aktualisieren des Systems im Terminal unter /opt/iobroker kriege ich nicht zusammen.
Jetzt habe ich gelesen, dass man dieses Verzeichnis im Container mounten soll auf ein separates Verzeichnis.
Ein zweiter Container mit einer anderen IP und einem mount von /opt/iobroker auf share/Docker/iobroker-data war schnell installiert, aber auch dort klappt das Aktualisieren nicht.- ist es normal, dass im Verzeichnis iobroker-data nochmal ein Verzeichnis iobroker-data angelegt wird?
Müssen die update Befehle in dem Verzeichnis erfolgen, in dem auch die Datei iobroker liegt? - Ich habe versucht, Teile des Objektbaumes von meiner ersten Jarvis Vis in die zweite Vis zu kopieren. Scheinbar habe ich aber den kompletten Baum kopiert und jetzt habe ich keinen Zugriff mehr auf diese ioBroker Installation.
Fehler: ERR_CONNECTION_REFUSED.
Der Container läuft.
Kann man da noch etwas retten? Es ist zwar nicht so schlimm, da ich noch die erste ioBroker benutzen kann, aber interessieren würde mich schon, was da zu machen wäre.
- ist es normal, dass im Verzeichnis iobroker-data nochmal ein Verzeichnis iobroker-data angelegt wird?
-
@hardl sagte in Startproblem ioBroker:
Hallo,
seit vorgestern habe ich folgendes Problem:
Meine erste Vis unter Jarvis läuft in einem Docker-Container auf einem QNAP-NAS ganz gut.
Das Aktualisieren des Systems im Terminal unter /opt/iobroker kriege ich nicht zusammen.
Jetzt habe ich gelesen, dass man dieses Verzeichnis im Container mounten soll auf ein separates Verzeichnis.
Ein zweiter Container mit einer anderen IP und einem mount von /opt/iobroker auf share/Docker/iobroker-data war schnell installiert, aber auch dort klappt das Aktualisieren nicht.- ist es normal, dass im Verzeichnis iobroker-data nochmal ein Verzeichnis iobroker-data angelegt wird?
Müssen die update Befehle in dem Verzeichnis erfolgen, in dem auch die Datei iobroker liegt? - Ich habe versucht, Teile des Objektbaumes von meiner ersten Jarvis Vis in die zweite Vis zu kopieren. Scheinbar habe ich aber den kompletten Baum kopiert und jetzt habe ich keinen Zugriff mehr auf diese ioBroker Installation.
Fehler: ERR_CONNECTION_REFUSED.
Der Container läuft.
Kann man da noch etwas retten? Es ist zwar nicht so schlimm, da ich noch die erste ioBroker benutzen kann, aber interessieren würde mich schon, was da zu machen wäre.
wenn du ein externes Verzeichnis(auf der QNAP) mountest, so ist da genau das drinne was du in /opt/iobroker/ siehst. Du hast aber nicht 2 Container auf dasselbe Verzeichnis der Nas gemounted und beide Container laufen?!?
wenn du in die Konsole des Containers gehst, solltest du automatisch in /opt/iobroker sein. Dort dann:
- pkill -u iobroker
- iobroker update
- iobroker upgrade
- Raus aus der Konsole und Container neu starten
- ist es normal, dass im Verzeichnis iobroker-data nochmal ein Verzeichnis iobroker-data angelegt wird?
-
@fastfoot Danke für die schnelle Antwort.
im ersten Container ist nichts gemountet, nur im zweiten.Ich habe das Aktualisieren immer über das normale Terminal versucht, dort hat sich nichts getan. Jetzt in der Konsole des Contalners funktionieren die Befehle, außer, beim Befehl "iobroker upgrade" tut sich sehr lange nichts mehr. Wo sehe ich, ob das funktioniert hat.
-
@hardl sagte in Startproblem ioBroker:
@fastfoot Danke für die schnelle Antwort.
im ersten Container ist nichts gemountet, nur im zweiten.Ich habe das Aktualisieren immer über das normale Terminal versucht, dort hat sich nichts getan. Jetzt in der Konsole des Contalners funktionieren die Befehle, außer, beim Befehl "iobroker upgrade" tut sich sehr lange nichts mehr. Wo sehe ich, ob das funktioniert hat.
was heisst tut sich nichts denn genau? kommt er nicht mehr auf den Prompt zurück oder wie oder was?
-
@hardl Außerdem, warum machst du das Update nicht via iobroker GUI? Und was heisst denn normales Terminal. Wie kamst du da rein? Und wenn, wieso existiert dort dann ein Ordner /opt/iobroker?
-
@fastfoot In der Konsole des Containers startet ioBroker, dann kommen ein paar Fehlermeldungen:
[Pooltemperatur@@Model] [Model] characteristic must have a length of more than 1 character otherwise HomeKit will reject this accessory, ignoring new value [Kanal-Alarm@@Model] [Model] characteristic must have a length of more than 1 character otherwise HomeKit will reject this accessory, ignoring new value /bin/sh: 1: iw: not found /bin/sh: 1: iw: not found /bin/sh: 1: hcitool: not found
und dann ein blinkendes Rechteck. Wenn ich hier die Befehle eingebe, kommt das blinkende Rechteck und minutenlang nichts weiter.
Im Terminal bei meinem Macbook bin ich mit ssh admin@IP auf das NAS gewechselt und dann in das Verzeichnis iobroker-data. Bei der Eingabe von pkill -u iobroker kommt die Meldung "command not found.
-
@hardl also, nutze ab sofort nicht mehr ssh zu deiner QNAP! In die Konsole der NAS(mit ssh) muss man im Normalfall garnicht, im Zusammenhang mit iobroker eigentlich nie, im Zusammenhang mit Containern auch nicht unbedingt. Lass es erstmal. Trotzdem, wo ist denn dieser Ordner iobroker-data in diesem Terminal genau, meinst du /share/Docker/iobroker-data? Falls ja, da musst du nicht hin, da gibt es nichts für dich zu tun!
Scheinbar hast du noch keine Daten in diesem neuen Container, da du ja /opt/iobroker zu deinem NAS Ordner gemountet hattest.
- was passiert wenn du iobroker aufrufst? Also ip_des_brokers:8081 im Browser eingibst?
-
@hardl Container Konsole meint dieses
Rechts klicken wo du im Bild Terminal siehst. Dann bash eingeben und es erscheint ein Terminalfenster -
@fastfoot Das war die Lösung. Ich war immer in falschen Consolen oder Terminals.
Hier funktioniert das Update problemlos. Ich habe tagelang gelesen und scheinbar immer das Falsche. Auch auf das Terminalzeichen hatte ich schon geklickt, aber dort stand immer /bin/sh und ich habe nicht bash eingegeben....In meinem ersten Container, ohne mount passt alles, im zweiten, mit dem gemounteten Verzeichnis, funktioniert das Uggrade, aber ich kann vom Browser mit IP:8081 nicht starten.
Wahrscheinlich habe ich da etwas zerschossen. Ich werde den zweiten Container löschen und mit dem ersten weiter optimieren.
Nochmals vielen Dank. -
@hardl Als Endlösung solltest du einen Container mit gemountedem Share anstreben. Dann kommst du viel besser an evtl. gebrauchte Dateien(zB. Backups). Unterscheiden sich container1 und der 2te im Netzwerk? Evtl. ist port 8081 durch deinen QNAP Webserver belegt, falls container2 die ip deiner NAS hat
/bin/sh war nur ein Vorschlag der Containerstation, das musst du aber auch eintippen, dann geht das auch(tippe einen Buchstaben und du siehst dass da nichts stand). und korrekt wäre eig. auch /bin/bash
Hier mal noch eine Anleitung für die Installation auf QNAP, falls du es nochmal angehst
https://forum.iobroker.net/topic/41074/installationsanleitung-iobroker-auf-qnap/3Noch eins: Bevor du Nächstens Tutorials liest und Videos guckst, frag einfach hier im Forum.
-
@fastfoot Nein der 2te ist auf einer eigenen IP und hatte dort auch funktioniert.
Gibt es eine Anleitung wie man den laufenden 1ten Container auf einen 2ten mit gemountetem Share kopiert? -
@fastfoot Bin übrigens nach dieser Anleitung vorgegangen.
-
@hardl sagte in Startproblem ioBroker:
@fastfoot Nein der 2te ist auf einer eigenen IP und hatte dort auch funktioniert.
Gibt es eine Anleitung wie man den laufenden 1ten Container auf einen 2ten mit gemountetem Share kopiert?es gibt Wege, eine Anleitung ist mir nicht bekannt. Der erste wäre ein Backup zu machen, dazu nimmst du den BackitUp Adapter. ich muss sehen ob man zu einem bestehenden Container einen Ordner auf der NAS mounten kann, habe ich bisher noch nicht gemacht. Dann könnte man das Backup dorthin kopieren und damit einen neuen Container erstellen.
Wie machst du jetzt deine Container, nutzt du Portainer?
Zu dem 2ten Container: Besteht der noch? Dann mal starten und ins Terminal. Dort
iobroker list instances
und den Output hier posten. Benutze dazu Code-Tags (</> klicken) -
iobroker list instances system.adapter.admin.0 : admin : RMQ - enabled, port: 8081, bind: 0.0.0.0, run as: admin system.adapter.alexa2.0 : alexa2 : RMQ - enabled system.adapter.alias-manager.0 : alias-manager : 254d7bbabec7 - enabled + system.adapter.discovery.0 : discovery : 254d7bbabec7 - enabled + system.adapter.info.0 : info : 254d7bbabec7 - enabled + system.adapter.jarvis.0 : jarvis : 254d7bbabec7 - enabled + system.adapter.javascript.0 : javascript : 254d7bbabec7 - enabled + system.adapter.kecontact.0 : kecontact : 254d7bbabec7 - enabled system.adapter.mercedesme.0 : mercedesme : 254d7bbabec7 - disabled + system.adapter.shelly.0 : shelly : 254d7bbabec7 - enabled, port: 1882, bind: 0.0.0.0 + system.adapter.solarlog.0 : solarlog : 254d7bbabec7 - enabled, port: 80 + system.adapter.telegram.0 : telegram : 254d7bbabec7 - enabled, port: 8443, bind: 0.0.0.0 + system.adapter.web.0 : web : 254d7bbabec7 - enabled, port: 8082, bind: 0.0.0.0, run as: admin + instance is alive #
portainer habe ich zwar in einem Container angelegt, aber die Verknüpfung hat auch nicht geklappt.
Tut mir leid, dass ich Dich hier ständig beschäftige, aber ich habe wenig Erfahrung mit ioBroker usw., hatte beruflich nichts mit EDV am Hut und bin schon 73, da fehlt oft der Hintergrund. -
@hardl ich bin hier im Forum um Leuten wie Dir zu helfen, wenn ich kann. Dabei lerne ich selbst sehr viel und es ist auch eine nette Aufgabe, remote Probleme zu lösen. Alles gut also
Ich bewundere es dass du dich in diesem Alter noch mit so komplizierten Dingen auseinandersetzt, andere gehen da auch geistig schon lange in den Ruhestand. Ich bin nur eine Dekade weg von dir, habe allerdings beruflichen Background
zum Listing: die dritte Spalte irritiert mich, bei mir steht da iobroker. wie hast du den container denn gestartet bzw erstellt? Vielleicht bringt das die Lösung. Ansonsten läuft der Admin und müsste erreichbar sein, Ich vermute entweder falsche Rechte oder falscher hostname. Dein Prompt sieht seltsam aus in Zeile 17, da sollte so etwas wie root@hostname:/opt/iobroker# stehen, nicht nur #
bis dahin mal pwd eingeben, als Ergebnis sollte /opt/iobroker kommen
-
@fastfoot Das Ergebnis ist bei beiden /opt/iobroker.
Den Container habe ich in der Container-Station erstellt mit dem buanet/iobroker/latest-Image, unter Advanced Network Bridge und Static IP auf ...55, Qnap hat ...52. und sonst nur shared Folders geändert. Gestartet mit dem Start Symbol, auch in der Station.
Wie geschrieben, lief das bereits, ich habe einige Adapter installiert und dann aus dem 1ten den Alias-Baum kopiert und wollte den im 2ten einfügen, aber vermutlich war das der komplette allObjects.json, statt des alias.0.PV.json (in dem Ordner sind meine Aliase). -
@hardl sagte in Startproblem ioBroker:
und dann aus dem 1ten den Alias-Baum kopiert
das wird es gewesen sein. Jedenfalls ist dein Hostname nicht für alle Adapter gleich(diese 3. Spalte) und der Grund dafür dass du nicht mehr darauf kommst, laufen tut der Admin nämlich.
Also nochmal in die Container Konsole:- pkill -u iobroker (stopt iobroker in einem Container)
- iobroker host this (Versuch die Namen zu korrigieren)
- iobroker fix (behebt sonstige evtl. Probleme)
- iobroker start (startet iobroker ohne Neustart des Containers)
- Versuche jetzt den iobroker via Browser zu erreichen
Wenn das klappt, nichts ändern sondern den Container neustarten um zu sehen ob die Namensänderung permanent bleibt
-
@fastfoot Komme heute und evtl. auch morgen nicht dazu. Melde mich dann.
-
@hardl Jetzt hat es funktioniert und es bleibt auch permanent. Allerdings alle mit "254d7bbabec7", mein 1ter Container mit RMQ.
root@254d7bbabec7:/opt/iobroker# iobroker start Starting iobroker controller daemon... iobroker controller daemon started. PID: 17561 root@254d7bbabec7:/opt/iobroker# iobroker list instances + system.adapter.admin.0 : admin : 254d7bbabec7 - enabled, port: 8081, bind: 0.0.0.0, run as: admin system.adapter.alias-manager.0 : alias-manager : 254d7bbabec7 - enabled + system.adapter.discovery.0 : discovery : 254d7bbabec7 - enabled + system.adapter.info.0 : info : 254d7bbabec7 - enabled + system.adapter.kecontact.0 : kecontact : 254d7bbabec7 - enabled + system.adapter.mercedesme.0 : mercedesme : 254d7bbabec7 - enabled + system.adapter.solarlog.0 : solarlog : 254d7bbabec7 - enabled, port: 80 + system.adapter.telegram.0 : telegram : 254d7bbabec7 - enabled, port: 8443, bind: 0.0.0.0 + instance is alive root@254d7bbabec7:/opt/iobroker#
-
@hardl sagte in Startproblem ioBroker:
Jetzt hat es funktioniert und es bleibt auch permanent. Allerdings alle mit "254d7bbabec7", mein 1ter Container mit RMQ.
schön dass das funktioniert hat. der Hostname wird auch beim Erstellen vergeben, wenn vergessen nimmt Docker etwas Zufälliges.
Jetzt könntest Du nochmal probieren den Portainer zu installieren. Mir ist kein Weg bekannt wie du sonst ein Backup 'nach draussen' bekommen könntest, also vom ersten Container. Vom zweiten geht das jetzt über dein Share Docker\iobroker-data\backup vom MAC aus