[Support] buanet - ioBroker


Recommended Posts

Are you sure? They look correct to me?!
1381751000_2021-06-1623_13_55.png.aebe624cdc59d4615dc75f320459f974.png
Exactly what I wanted to ask as well

The Pi is set as master. Using the normal procedure with the help of the console is working.
What about the password for connecting the slave to the master? How is this handled with the variables?

I will add the output of the log tomorrow when I am back at my PC.

Gesendet von meinem MI 8 mit Tapatalk


Link to comment
Sorry, my fault. Thought the left is the name of the variable. It has been a long work day.
As I do not use the unraid docker interface I'm not familiar with the settings as well. 
 
So if the envs are correct it is not possible to say anything without the startup log. 
 
Regards, 
André 
Strange. Now it is working. Do I have to manually connect before it can be used with the variables?

Gesendet von meinem MI 8 mit Tapatalk

Link to comment
  • 1 month later...

Hallo Zusammen,

 

ich habe Probleme mit der backup Funktion. Da bei mir zuhause mittlerweile einige Funktionen vom ioBroker abhängig sind versuche ich ein Konstrukt aufzubauen, dass mir nur kurze Downtimes und eine gesicherte Widerherstellung garantiert. Lieder komme ich (noch) nicht zurecht. Ich beschreibe erst einmal was ich vor habe und was bisher passiert ist. Ich habe zwei gleiche ioBroler Container aufgesetzt, einen iobroker-even und einen iobroker-odd. Bei even zeigt /opt/iobroker auf ..appdata/iobroker-even und bei ott halt auf .../appdata/iobroker-odd. Damit will ich sicherstellen, dass ich immer erst die eine Instanz update schaue ob alles läuft und dann beim nächsten Update halt mit dem jetzt gestoppten Container weiter zu machen.

 

Ich habe den Containern eine eigen IP (macvlan) verpasst. Natürlich beiden die gleiche. Sie laufen ja nur abwechselnd und die Aufrufe belieben damit gleich. Die Sicht auf die Config (einmal über unraid udn einmal über Portainer habe ich beigefügt). 

 

Um auch Wechsel der Hauptversion gut zu überstehen (muss ja auch mal sein) habe ich versucht buanets backup/restore Methoden zu verwenden. Alle Wege sind aber bisher gescheitert. Was habe ich getan. Ich habe meinen ioBroker aufgesetzt. Dieser läuft sehr stabil. Dann habe ich ein Backup erzeugt. Sowohl über den Backitup Adapter als auch über die Console.

 

1. Versuch: leeres Verzeichnis, backupfile reinkopiert und Container gestartet (logs anbei). Aber leider nicht erfolgreich. Die Fehler in den logs kann ich leider nicht interpretieren und summe wurde der Restore erfolgreich abgeschlossen.

 

2. Versuch: leeres Verzeichnis, Container gestartet, backitup Adapter installiert und versucht das Backup einzuspielen. Es kommt die Meldung, dass der ioBroker neu gestartet wird, es öffnet sich ein neues Fenster ip:8091 aber da kommt keine Verbindung zustande und der Restore wird nicht installiert. Über die Console mit iobroker restore kann ich das update auch nicht einspielen.  Nach dem Restore ist IP:8081 nicht erreichbar.

 

3. Wenn ich einfach das Verzeichnis 1:1 auf File Ebene rüber kopiere funktioniert alles einwandfrei. Dieser weg funktioniert nur leider nicht bei einem Major Update. Und bei etwas größeren Installationen (das hier sind nur Testinstallationen, die Prod. ist viel umfangreicher) kann und will ich mir eine händische Nachkonfiguration nicht leisten.

 

Kann mir einer sagen was da schief läuft? Schon mal vielen Dank im Voraus.

 

CU

Bernd

 

iobroker Container Unraid.jpg

iobroker Container Portainer 1.jpg

iobroker Container Portainer 2.jpg

iobroker Container Portainer 3.jpg

log.txt restore.log

Edited by amiga4ever
Link to comment
17 hours ago, amiga4ever said:

Wenn ich einfach das Verzeichnis 1:1 auf File Ebene rüber kopiere funktioniert alles einwandfrei. Dieser weg funktioniert nur leider nicht bei einem Major Update

Ich verstehe nicht wirklich das Problem. Geht der Container bei einem Update ständig kaputt oder warum ist ein "Major Update" so ein Problem?

 

Ich würde einfach regelmäßig ein Backup machen und wenn nach einem Update was nicht geht, eben wieder zurück gehen und per tag die Version des Containers so lange fixieren bis der Fehler vom Entwickler behoben wurde.

 

So gut wie kein Container besitzt eine interne Backup-Funktion, warum sollte man also die von ioBroker benötigen?

Link to comment
On 7/24/2021 at 12:02 PM, mgutt said:

Ich verstehe nicht wirklich das Problem. Geht der Container bei einem Update ständig kaputt oder warum ist ein "Major Update" so ein Problem?

 

Sorry, vielleicht habe ich mein Anliegen nicht wirklich rüber gebracht.

 

Da der ioBroker mittlerweile doch die ein oder Andere Aufgabe im Haus übernommen hat muss ich sicherstellen, dass das Teil auch nach einem beliebigen Update (also auch Major Updates) ohne großen manuellen Aufwand und damit downtime weiterläuft. Meine Frau steigt mir sonst aufs Dach :-).

 

Da das kopieren des /opt/iobroker Verzeichnis bei einem Major Update nicht funktioniert, da sich in der Regel darin die node.js Version geändert hat, hat Buanet einen anderen Weg beschreiben, der immer funktionieren soll, auch bei besagtem Update mit Änderung der js Version. Er verweist auf sein Startskript (leeres /opt/iobroer VErzeinis mit nur einer Backupdatei drin) oder über ein restore in der Console einer nackten iobroker Installation mit "iobroker restore" (vorher natürlich kill -iu iobroker).

 

Beide Wege funktionieren bei mir nicht. Das ist mein eigentliches Anliegen. Habt Ihr diese Methoden schon einmal ausprobiert bzw. getestet. Auf Git hat mir jemand den Hinweis gegeben, dass es momentan Probleme mit der Backup/Restore Funktion geben soll.

 

Ich fahre auch täglich ein Backup und lasse den Container tatsächlich so lange stabil. bis ich einen funktionsfähigen neuen Container habe. Deshalb arbeite ich für da Update immer mit einer zweiten Installation. Die kann ich testen, freigeben und dann die Produktion schwenken. Aber früher oder später muss man hoch. Ich möchte hier aber keine Grundsatzdiskussion anfangen ob oder warum es wichtig ist Software aktuell zu halten.

 

CU

Link to comment

Dein Vorgehen verstehe ich absolut (also Update erstmal testen), ich verstehe allerdings nicht, warum es nach einem Update überhaupt zu Problemen kommt. Das wäre dann ja ein Bug. Der wäre doch dann konkret zu recherchieren / melden, statt ihn über eine interne Backup Funktion zu umgehen.

 

Wie gesagt gibt es so gut wie keinen Docker Container, der eine interne Backup-Funktion besitzt und die gehen nach einem Update ja auch nicht alle kaputt.

 

 

Link to comment

Soweit ich es verstanden habe liegt es daran, dass beim Wechsel der NodeJS Version weitere Anpassungen an den Modulen über die Kommandozeile notwendig werden, da im module Verzeichnis wohl Reverenzen auf die JS Version enthalten sind. Buanet hat es so beschrieben (quelle: https://smarthome.buanet.de/2020/10/iobroker-docker-container-backup-restore/):

Quote

Beim Wechsel der Major-Version, also z.B. von einem ioBroker Docker Image v4.x.x auf v5.x.x ändert sich innerhalb des ioBroker Images zumeist auch die Node-Version. In diesem Fall wären weitere Schritte über die Kommandozeile erforderlich. Details zum Wechsel der NodeJS Version gibt es auch hier in der offiziellen ioBroker-Doku.  

 

Die ioBroker Doku dazu findest Du hier: https://www.iobroker.net/#de/documentation/install/updatenode.md

 

Ist damit wohl kein Bug sondern eine bekannte (ob zwingende kann ich nicht beurteilen) Notwendigkeit. Ich habe auch tatsächlich dadurch schon Probleme bekommen und musste den ioBroker neu einrichten. Mit der Pflege der Räume und Funktionen, Namen und anderem Kram (Skripte habe ich separat exportiert) ist das bei einer größeren Installation eine Zumutung.

 

Ich hoffe auch, dass die ioBroker Community hier bald eine bessere Möglichkeit findet. Vor allem was Updates der Basis angeht (Host/NodeJS). Das ist ein Grund warum ich tatsächlich über einen Umstieg nach Home Assistant nachdenke. Der muss sich aber auch erst beweisen, scheint mir aber tatsächlich stabiler zu sein (in dem Punkt). Allerdings habe ich jetzt schon viel Arbeit und Lizenzen in ioBroker gesteckt, so dass ich nicht so schnell aufgeben will. 

 

Aber anscheinend bin ich der Einzige der die Probleme mit dem beschrieben Restore hat. Dann liegt es wohl an mir und oder meiner Implementierung. Aber leider konnte ich meinen Fehler noch nicht identifizieren. Das war meine Hoffnung hier jemanden mit dem gleichen Problem zu finden. Mir ist auch bewuss, dass wir uns im unraid und nicht im iobroker oder im buanet git  Forum befinden (Ich glaube nicht, dass es ein Problem von unraid und seiner Docker Implementierung ist. Ich habe es auch mit dem . Im git hab ich schon geschrieben. Allerdings kann es sein, dass aufgrund meines suboptimalen Englisch die Frage noch weniger angekommen ist als hier. Buante hat darum gebeten Fragen öffentlich zu stellen, damit alle etwas davon haben aber vielleicht schreibe ich ihn doch mal direkt an.  Ich kann ja noch ein paar Tage warten und schauen was rein kommt.

 

Danke schon mal für Deine Diskussion. Hilft einem immer weiter auch andere Sichten zu erfahren und sich damit auseinanderzusetzen.

 

CU

Link to comment
2 hours ago, amiga4ever said:

Ist damit wohl kein Bug sondern eine bekannte (ob zwingende kann ich nicht beurteilen) Notwendigkeit.

Ich bleibe bei Bug, denn NodeJS ist zu 99.9% abwärtskompatibel zu alten Versionen. 

 

On 7/23/2021 at 6:10 PM, amiga4ever said:

1. Versuch: leeres Verzeichnis, backupfile reinkopiert und Container gestartet (logs anbei). Aber leider nicht erfolgreich. Die Fehler in den logs kann ich leider nicht interpretieren und summe wurde der Restore erfolgreich abgeschlossen.

Ich sehe keine Fehler und der Restore war erfolgreich?! In der restore.log gibt es nur vereinzelte "Object is marked as non deletable" Einträge, aber die kann man laut hier ignorieren:

https://forum.iobroker.net/topic/27271/howto-iobroker-restore-unter-linux-durchführen/103?_=1627403726481&lang=de

 

Was geht denn nicht, wenn 1. durch ist?

Link to comment
  • 2 weeks later...

So, das Problem scheint sich aufgelöst zu haben. Ich hatte meiner Test Instanz mit --hostname einen anderen Namen verpasst. Damit wurde mir nach dem Backup der Zugriff auf die Adminoberfläche verweigert. Mit dem gleichen Hostnamen klappt jetzt (fast) alles. Bis auf den dunklen skin, den ich eingestellt habe, wird alles so wieder hergestellt, dass ich bisher keine Abweichungen feststellen konnte. Ich konnte aber auch so die Option für den dunklen Skin nicht mehr finden. Aber das ist bestimmt kein Thema mehr für das unraid Forum. Sorry mein Fehler also.

  • Like 1
Link to comment
  • 1 month later...
58 minutes ago, luckyheiko said:

Gibt es bei dem Container noch Updates?

 Ja sicher! In den kommenden Tagen gibt es eine Version 5.2.0 vom Container Image. 🚀

 

...allerdings wird das deinen js-controller auch nicht aktualisieren. Der ist nämlich, wie auch die Adapter, im Verzeichnis /opt/iobroker installiert, welches du hoffentlich aus dem Container ausgelagert hast...

 

Mehr Infos zum Thema:

https://smarthome.buanet.de/2020/10/iobroker-docker-container-updates-upgrades/

 

Wenn du dann noch Fragen hast, melde dich. 

 

MfG,

André

Edited by andre (buanet)
typo
Link to comment
  • 2 months later...
  • 3 weeks later...

Hey, ich möchte gerne das Linux Program "Etherwake" benutzen (um per Telegrambot per exec befehl meine VM´s aufzuwecken, quasi ein Wake on LAN).

 

Leider muss ich für diese lösung jedes mal Iobroker Root Rechte im Docker geben, Manuell Etherwake installieren und den Docker neu erstellen (docker commit) damit nach dem Neustart noch alle änderungen drin sind.

 

nach jeder Aktualisierung des Dockers muss ich alles wieder neu machen. hat dahingend jemand eine Idee wie ich das umgehe?

Link to comment
6 hours ago, Lucas Mietke said:

nach jeder Aktualisierung des Dockers muss ich alles wieder neu machen. hat dahingend jemand eine Idee wie ich das umgehe?

 

Dafür ist das hier gedacht: https://docs.buanet.de/iobroker-docker-image/docs/#startup-scripts

Außerdem die Umgebungsvariable PACKAGES (zum Installieren von Linux Paketen).

 

6 hours ago, Lucas Mietke said:

Leider muss ich für diese lösung jedes mal Iobroker Root Rechte im Docker geben

 

Nein. Aus meiner Sicht ist das Mist. Der Container ist extra so designed, dass der iobroker nur die Rechte hat die er benötigt. Diesen Maßstab solltest du auch anlegen wenn du selbst am Container Änderungen vornimmst.

 

MfG,

André

 

PS: Es gibt m.W. auch Adapter für ioBroker die WOL können. Hast du danach mal gesucht? Das wäre die sauberste Lösung...  

Link to comment
  • 1 month later...
11 minutes ago, Kaiserhm said:

Ich würde gern mein Bluetooth adapter hinzufügen aber ihrgend wie geht das nicht

 

Bluetooth ist ein Netzwerkgerät. Das kann man meines Wissens nicht so durchreichen wie z.B. einen Zigbee USB Stick. Auch wenn Bluetooth als USB Stick kommt. 

Die einzige Möglichkeit die ich bisher gefunden habe ist den ioBroker Container mit erweiterten Rechten auszuführen. Dann bekommt der Container allerdings deutlich mehr Rechte auf dem Host. Ich persönlich empfehle es niemandem und rate in solch einem Fall einen Multihost Slave (z.B. einen Raspberry Pi) einzusetzen.

 

MfG,

André 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.