ioBroker Adapter von GitHub installieren
Das eigene Smart Home in immer mehr Richtungen auszudehnen ist wohl einer der sehnlichsten Wünsche von uns Enthusiasten. Gerade mit ioBroker gelingt das ziemlich einfach und es macht wirklich Spaß zu sehen, wie die eigenen Fortschritte das Leben beeinflussen. Wer immer mal wieder auf der Suche nach dem neuesten Kick ist, landet früher oder später auf GitHub. Gerade aus diesem Grund überrascht es mich kaum noch, dass man in ioBroker Adapter von GitHub installieren möchte. Doch die Sache hat meist einen Haken.
Kurz zum Hintergrund: GitHub ist ein Dienst im Internet, der eine Versionsverwaltung für Softwareprojekte bereitstellt. Viele Entwickler tauschen hierüber Code aus, arbeiten zusammen an Projekten oder verfolgen den Fortschritt ihrer Lieblingssoftware. Auch Unternehmen nutzen GitHub, um ihren Quellcode zu versionieren und dem eigenen Team verfügbar zu machen. GitHub ist eine der Plattformen, um die ein Entwickler nicht herum kommt. Früher oder später wird man damit konfrontiert werden. Und das ist auch gut so.
Auch der Quellcode von ioBroker sowie den diversen Adaptern ist auf GitHub zu finden. Das System ist dabei so schlau, dass es von dort aus direkt Adapter installieren und diese nutzen kann. Das bringt einige Vorteile für Entwickler mit sich, allerdings auch Gefahren für Anwender. In diesem Artikel werfen wir gemeinsam einen genaueren Blick darauf, ob man in ioBroker Adapter von GitHub installieren sollte und was zu beachten ist.
Warum einen Adapter von GitHub installieren?
Eine oftmals viel diskutierte Frage ist, wieso man auf seinem ioBroker Adapter von GitHub installieren sollte. Manch einer mag sich nun denken, was das für eine blöde Frage ist. Doch im Kern trifft sie genau den richtigen Nerv.
Vermutlich einer der interessantesten Gründe für die Installation eines Adapters aus GitHub dürfte die Funktionserweiterung sein. Jeder entwickelte Adapter braucht in der Regel eine gewisse Zeit, bis er sich „offiziell“ im ioBroker installieren lässt. Das hängt unter anderem mit dem Prozess der Entwicklung zusammen. Denn einen Adapter erstellt man nicht mal kurz innerhalb weniger Minuten. Je nach Komplexität können hier Monate ins Land gehen. Genau diese Wartezeit ist für die ganz ungeduldigen jedoch schwierig.
Es kann jedoch auch sein, dass man gerne beim Testing unterstützen möchte. Zum Beispiel weil man selbst Hardware hat, die der Entwickler nicht besitzt. Auch hier kann es ganz interessant sein, einen neuen Adapter auf Herz und Nieren zu testen, um entsprechend Feedback geben zu können. Damit wird man selbst Teil der Entwicklung und liefert wichtige Erkenntnisse aus der täglichen Praxis.
Kurzum, es gibt viele verschiedene Gründe, weshalb die Installation eines Adapter in ioBroker aus GitHub interessant erscheinen kann. Dass es hierbei jedoch auch gewisse Risiken gibt, dazu komme ich in einem späteren Absatz.
So läuft die Installation
Bevor du mit der Installation eines Adapter über GitHub starten kannst, musst du den Expertenmodus in deinem ioBroker aktivieren. Ich bin dazu auf die Adapter-Seite gegangen und kann nun den Expertenmodus im Handumdrehen aktivieren.
Beachte dabei bitte, dass du im Expertenmodus von ioBroker wirklich viel Mist anstellen kannst. Sei vorsichtig und führe wirklich nur die notwendigsten Schritte aus. Danach solltest du den Expertenmodus zur Sicherheit wieder deaktivieren!
Nachdem der Expertenmodus nun von dir aktiviert wurde, taucht am oberen Rand der Adapter ein neues Icon auf. Viele bezeichnen es schlichtweg als Katze. Diese Katze ist das Symbol für GitHub und dient dazu, den Dialog zur Installation von Adaptern von GitHub aufzurufen. Wir klicken dort nun drauf.
Für meine Demo führe ich alle Schritte nun auf meinem Testserver aus. Ich habe mich in diesem Szenario für den Adapter Energiefluss-erweitert entschieden. Dieser Adapter befindet sich jedoch im Alpha-Stadium und sollte eigentlich gar nicht installiert werden!
Wichtig bei der Installation ist es, dass du das Tab Benutzerdefiniert ausgewählt hast. Andernfalls kannst du keine eigene URL eingeben, die du jedoch in diesem Fall eingeben musst. Wenn du außerdem nicht wie ich den falschen Filter gesetzt hast, siehst du danach direkt den installierten Adapter. In meinem Fall sieht das so aus:
Woher bekommst du den richtigen Link?
Zurecht stellst du dir nun die Frage, woher du eigentlich den richtigen Link für die Installation eines Adapters bekommst. Und das ist ziemlich simpel. Hierfür benötigt du die Plattform GitHub und musst den richtigen Bereich gefunden haben. Also zum Beispiel den Bereich für den erweiterten Energieflussadapter. In der Fachsprache reden wir hier von einem sogenannten Repository. In einem Repository befindet sich der Code zum jeweiligen Projekt. Und jedes Repository gehört einem oder mehreren Entwicklern, wobei es immer einem Account zugeordnet ist.
Innerhalb von diesem Repository kannst du den Code und damit die richtige URL abrufen. Dazu klickst du auf den grünen Button Code und kopierst den HTTPS-Link des Repositories heraus. Diesen Link fügst du dann – wie eben gezeigt – in deinem ioBroker ein, um den Code abzurufen. Die Installation des Adapters kann dabei einige Minuten in Anspruch nehmen, da im Hintergrund sehr viel heruntergeladen und installiert werden muss (sogenannte Packages).
Den richtigen Link hast du dann kopiert, wenn er mit .git endet. Das ist die korrekte Endung für ein Repository, um es zu nutzen. ioBroker ist anhand dieses Links dazu in der Lage, sich die richtigen Dateien zu laden und den Adapter gemäß den Vorstellungen der Entwickler korrekt zu installieren.
Mein verwendeter Link sieht zum Beispiel so aus:
https://github.com/SKB-CGN/ioBroker.energiefluss-erweitert.git
Achte auf gute Vorbereitung
Bevor du einen Adapter von GitHub installierst, solltest du eine Sicherung von deinem System machen. Für mein ioBroker übernimmt das zum Beispiel Proxmox. Zwar ist hier die Rede nur von sogenannten Snapshots, allerdings kann ich das System im Fehlerfall auf den letzten Stand zurücksetzen. Gerade in einer Proxmox-Umgebung in meinem Homelab macht das viele Dinge wesentlich bequemer.
Wenn du kein Proxmox im Einsatz hast und dein ioBroker direkt auf einem Rechner läuft, musst du etwas mehr Zeit investieren. Im Fehlerfall kann dir das jedoch eine Menge Arbeit und Frust ersparen. Ich empfehle dir daher dringendst vor jeder Installation eines GitHub-Adapters ein vollständiges Backup zu machen.
Warum das so wichtig ist, werde ich dir nun im nachfolgenden Absatz erklären.
Work in Progress & wenig Erfahrung
Ohne dir zu nahe treten zu wollen kann es eventuell sein, dass du im Umgang mit Git und ioBroker kein Großmeister bist. Das jedoch kann dafür sorgen, dass du im Fehlerfall wirklich Probleme mit deinem Smart Home bekommst. Denn Fehler zu beheben, die man zuerst analysieren muss, ist eine Herausforderung. Auch für uns Informatiker. Oft gibt es an Stellen Probleme, wo man sie gar nicht vermutet oder es gibt Wechselwirkungen innerhalb des Systems, welche die Fehler undurchsichtig machen. Gerade das ist für Anfänger ein großes Risiko, weshalb ich von der wahllosen Installation von Adaptern über GitHub dringend abrate.
Weiterhin muss dir klar sein, dass in einem Repository mitunter sogenannte WIP-Stände gespeichert sind. Das sind ganz einfach jene Sicherungen, an denen noch aktiv gearbeitet wird (Work in progress). Ein gutes Beispiel hierfür ist wieder der Energiefluss-erweitert-Adapter. Zwar lässt er sich installieren, allerdings befindet er sich noch im sogenannten Alpha-Stadium. Er ist also mitunter sehr instabil und kann dafür sorgen, dass dein gesamtes System instabil läuft oder es zu schwerwiegenden Problemen kommt.
Natürlich baut kein Entwickler mit Absicht solche Fehler ein. Doch bevor die Entwicklung und das Testen nicht abgeschlossen sind, setzt man sein Smart Home einem großen Risiko aus. Je nachdem, was der Adapter so alles im Hintergrund tut kann es vorkommen, dass man die Änderungen gar nicht mehr vollständig rückgängig machen kann. Daher ist lieber einmal zu viel Vorsicht und Geduld gefragt als einmal zu wenig.
Der Weg über die GitHub-Repositories ist auch für Angreifer eine potenzielle Möglichkeit, Schadcode in dein Smart Home einzubringen. Daher solltest du ganz besonders darauf achten, ob du dem Entwickler wirklich vertrauen kannst und im Zweifel lieber die Finger davon lassen. Denn gerade bei einem Open Source System wird dir im Nachgang keiner mit einem individuellen Support helfen (können).
Vorteile von GitHub-Adaptern
Natürlich fragst du dich jetzt eventuell zurecht, wieso es überhaupt die Möglichkeit gibt, ioBroker Adapter von GitHub installieren zu können, wenn es doch so viele Risiken birgt. Dazu sei an erster Stelle darauf verwiesen, dass sich genau diese Funktion hinter dem Expertenmodus verbirgt. Und das hat seinen Grund.
Wer einen Adapter entwickelt, ihn selbst testen oder von anderen testen lassen will, braucht einen Workflow. Dieser Workflow wird vom System selbst zur Verfügung gestellt. So kann zum Beispiel Entwickler A einen Adapter programmieren und Entwickler B diesen in seinem Testsystem ausprobieren. Die Betonung liegt hierbei auf Testsystem. Denn in einer sogenannten produktiven Umgebung (also deinem richtigen ioBroker) setzt du dich damit zu vielen Gefahren aus.
Ich und sicherlich viele andere Content Creator und Entwickler betreiben neben ihrem richtigen ioBroker noch eine Testinstallation, die man wirklich bis aufs Letzte ausreizen kann. Im Zweifel wird sie wiederhergestellt und ist wieder auf einem sauberen Stand. Und genau dort ist diese Funktion unfassbar hilfreich, um neue Adapter auszuprobieren und ihre Schwachstellen zu finden.
Wie in jeder Softwareentwicklung funktioniert nämlich auch bei Adaptern nichts ohne Testing. Neue Entwicklungen müssen ausprobiert werden, bevor man sie der breiten Masse zur Verfügung stellt. So kann man eine gewisse Qualität erreichen und die Garantie geben, dass dieser Adapter dein System nicht vollständig zerstört.
Du siehst also, dass ioBroker Adapter von GitHub installieren zu wollen durchaus seine Daseinsberechtigung hat. Nur ist es eben eine Funktion, die mit Vorsicht zu genießen ist und die man nicht einfach mal blind einsetzen sollte. In der Regel kommt man als normaler Anwender mit dem Expertenmodus sowieso nicht so schnell in Berührung.
Meine Erfahrungen
Ich setze ioBroker mittlerweile schon sehr lange ein und bin dadurch auch schon vielen verschiedenen Funktionen im Alltag begegnet. Darüber hinaus habe ich viel ausprobiert und auch so manch kniffliges Problem lösen können. Glücklicherweise.
In der ganzen Zeit ist es bislang nur ein einziges Mal vorgekommen, dass ich einen Adapter von GitHub installiert habe. Und das auch nur deshalb, weil ich ihn unbedingt haben wollte. Die klassische Ungeduld eben. Darüber hinaus kam ich persönlich nie in Berührung mit Adaptern von GitHub – zumindest bei meinem produktiven System.
Mitunter mag auch das ein Grund dafür sein, dass mein ioBroker selbst nach dieser langen Zeit immer noch problemlos und rund läuft. Es gibt keine Aussetzer, Schwierigkeiten oder kritische Punkte. Es läuft einfach rund. Ich möchte dir daher gerne ans Herz legen, dass du keine ioBroker Adapter von GitHub installieren solltest, sofern das nicht unbedingt notwendig ist. Gerade wenn du keine Routine hast oder das entsprechende Know-How ist es immer ein Glücksspiel. Denn viele Probleme treten gar nicht sofort auf, sondern machen sich über eine gewisse Zeit erst bemerkbar. Dann ist es dafür aber umso schwieriger, die Probleme nachzuvollziehen und auf eine konkrete Installation zurückzuführen.
Hast du schon einmal ioBroker Adapter von GitHub installieren wollen? Oder es sogar getan? Erzähl mir von deinen Erfahrungen in den Kommentaren und lass uns ein wenig diskutieren. Ich freue mich drauf.
6 Kommentare
Oli · 26. Oktober 2024 um 23:13
Hi. Vielen Dank für diese Einführung. War sehr verständlich und hat mir gut geholfen.
Lukas · 27. Oktober 2024 um 10:38
Hallo Oli,
vielen lieben Dank für dein positives Feedback zu meinem Artikel. Gerne will ich dich noch auf den Bereich „Empfehlung“ aufmerksam machen.
Wenn dir meine Inhalte und der Blog gefallen, bin ich dir über eine Empfehlung sehr dankbar: https://hobbyblogging.de/empfehlung
Smarte Grüße
Thomas · 29. August 2024 um 20:13
Hallo, vlt kannst du mir wieterhelfen. Wie installiere ich ein bestimmtes Release? Beispiel Jarvis, ich möchte die Beta 3.2.0-beta.65 installieren. Wie gehe ich da genau vor?
Danke
Lukas · 30. August 2024 um 08:07
Hallo Thomas,
nur der Vollständigkeit halber: Beta-Installationen sind immer ein gewisses Risiko. Sollte da etwas schief gehen, kann es schnell den gesamten ioBroker ins Wanken bringen. Mach dir am besten vorher ein Backup deines Systems oder teste Beta-Versionen idealerweise innerhalb einer eigenen Umgebung.
Zum Thema spezielle Adapter von GitHub installieren gibt es hier noch ein gutes Video von Matthias Kleine: https://haus-automatisierung.com/software/iobroker/2018/07/09/iobroker-tutorial-reihe-part-13-installation-andere-quellen.html
Für eine spezielle Version des Adapters kann dir diese Quelle gut weiterhelfen: https://forum.iobroker.net/topic/46750/alten-version-von-adapter-installieren
Und falls du dich noch mit dem Thema Backup auseinandersetzen willst, dann empfehle ich dir noch diesen Artikel: https://hobbyblogging.de/iobroker-backup-erstellen-so-gehts
Smarte Grüße
Stephan · 16. November 2023 um 12:09
Hi,
freut mich, wenn Du meinen Adapter erwähnt hast.
Dieser befindet sich seit gestern im Beta-Stadium 😉
Gruß,
SKB
Lukas · 17. November 2023 um 17:38
Hallo Stephan,
das sind ja gr0ßartige Neuigkeiten. Bin selbst schon sehr gespannt das dann mal ausführlich ausprobieren zu können.
Smarte Grüße