Benutzung

Was ist ein Adapter, was eine Instanz?

Ein Adapter ist ein Programm, das ein System an ioBroker anbindet, einen Hersteller, ein Protokoll oder einen Dienst. Er ist zunächst nur das Programm und tut von sich aus nichts.

Eine Instanz ist ein laufendes Exemplar davon, mit eigener Konfiguration. Erst sie arbeitet. Vom selben Adapter kann es mehrere Instanzen geben, etwa eine hm-rpc.0 für Funk und eine hm-rpc.1 für den drahtgebundenen Zweig.

Der Name der Instanz ist zugleich der Namensraum, unter dem ihre Objekte liegen: alles von javascript.0 beginnt mit javascript.0..

Angelegt werden Instanzen im Reiter Adapter, verwaltet im Reiter Instanzen.

Was ist der js-controller?

Der js-controller ist der Kern von ioBroker. Er startet und stoppt die Instanzen, verwaltet die beiden Datenbanken (Objekte und Zustände) und überwacht das System. Ohne ihn läuft nichts.

Er ist kein Adapter und taucht deshalb nicht in der Adapterliste auf. Seine Version steht im Reiter Hosts, sein Update läuft über ioBroker updaten.

!> Vor einem Update des js-controllers gehört ein Backup angelegt.

Wie installiere ich einen Adapter?

Im Reiter Adapter den gewünschten Adapter suchen und auf der Kachel den Knopf mit den drei Punkten anklicken. Auf der Rückseite legt das + eine Instanz an, dabei wird der Adapter mitinstalliert, falls er noch fehlt.

Danach öffnet sich meist gleich die Konfiguration. Was dort einzutragen ist, steht in der Dokumentation des jeweiligen Adapters; der Knopf mit dem Fragezeichen führt direkt dorthin.

Ausführlich: Reiter Adapter

?> Wenn ein Adapter nach der Installation nicht startet, lohnt zuerst ein Blick in die Protokolle.

Was ist der Unterschied zwischen stable und beta?

stable enthält die geprüften Adapterversionen. beta (früher latest) enthält die neuesten. Die können noch Fehler enthalten.

Auf einem System, das zuverlässig laufen soll, gehört stable eingestellt.

Wird trotzdem einmal eine neuere Version eines einzelnen Adapters gebraucht, muss man dafür nicht das Repository umstellen: Der Dialog Installieren aus eigener Quelle im Reiter Adapter kann einen einzelnen Adapter direkt von npm holen.

Ausführlich: Was ist ein Repository?

Wann sollte ich eine Version direkt von GitHub installieren?

Nur dann, wenn ein Entwickler ausdrücklich darum bittet: etwa im Forum oder in einem Issue, um eine Korrektur zu testen.

Was auf GitHub liegt, ist Arbeitsstand. Es kann funktionieren, muss aber nicht, und Abhängigkeiten werden bei dieser Installationsart nicht geprüft.

Wer selbst ausprobieren möchte, tut das auf einem Testsystem, nicht auf dem, an dem die Heizung hängt.

Wie es geht, steht unter Fortgeschritten.

Wann sollte ich von Hand mit npm etwas installieren?

Im Normalfall: gar nicht.

ioBroker verwaltet seine Adapter selbst. Ein npm install von Hand im Verzeichnis /opt/iobroker legt Dateien an, von denen ioBroker nichts weiß. Beim nächsten Update ist die Änderung weg, im schlechteren Fall ist die Installation beschädigt.

Alles, was man braucht, geht über den Admin oder über iob auf der Kommandozeile. Die Befehle stehen unter Kommandozeile.

?> Eine Ausnahme sind zusätzliche Node-Module, die ein eigenes JavaScript-Skript benötigt. Die werden nicht von Hand installiert, sondern in der Konfiguration der javascript-Instanz eingetragen, dann kümmert sich ioBroker darum.

Was bedeuten die Symbole vor einer Instanz?

Drei Instanzzeilen mit unterschiedlichem Zustand
SymbolBedeutung
Grünes QuadratDie Instanz läuft.
Graues ZahnradDie Instanz ist gestoppt. Das rote Dreieck daneben startet sie.
UhrEine zeitgesteuerte Instanz. Sie läuft nur kurz zum eingestellten Zeitpunkt und beendet sich wieder. Das ist kein Fehler.

Genaueres verrät der Mauszeiger auf dem Symbol. Ob die Instanz auch wirklich mit ihrem Gerät spricht, steht nicht hier, sondern in ihrem Objekt info.connection.

Ausführlich: Reiter Instanzen

Wo finde ich die Protokolle?

Im Admin im Reiter Protokolle. Dort lässt sich nach Instanz, Stufe und Text filtern.

Auf der Platte liegen sie unter /opt/iobroker/log/, eine Datei je Tag. Über den Knopf Log herunterladen holt man sich die vollständige Datei.

Auf der Kommandozeile geht es auch:

iob logs          # die letzten 100 Zeilen
iob logs --watch  # fortlaufend mitlesen

!> In der Anzeige im Browser werden lange Zeilen abgeschnitten. Wer einer Meldung wirklich nachgehen will, sieht in der heruntergeladenen Datei nach. Oft steht die Ursache in den Zeilen davor.

Wie ändere ich die Log-Stufe?

Im Reiter Instanzen die Detailzeile der Instanz aufklappen und auf die Log-Stufe klicken:

Der Dialog zum Ändern der Protokollebene

Zur Wahl stehen von der ausführlichsten zur knappsten Stufe: Alles, Debug, Info, Warnung, Fehler. Voreingestellt ist Info.

Für die Fehlersuche stellt man Debug ein, startet die Instanz neu und sieht sich die Protokolle noch einmal an.

!> Danach wieder zurückstellen. Auf Debug wächst das Protokoll schnell und kostet Schreibzugriffe. Auf einer SD-Karte ist das keine gute Idee.

Die Vorgabe für neue Instanzen steht in den Systemeinstellungen.