Seite 1 von 1

HANDLER_MISSING_ERROR

Verfasst: 24. Okt 2019 22:29
von netwizard
Hallo zusammen,
ich habe ein kleines Problem und zwar habe ich eine openhab 2.4.0 installation auf meinem Debian Server.
Wenn ich den openhab Dienst mittels "openhab-cli start" starte läuft es einwandfrei und ich kann mittels Siri alles gewünschte steuern.
Starte ich den Dienst aber mittel "/etc/init.d/openhab2 start", kann ich sehen das alle Things angelegt werden und ein paar Sekunden nachdem Sie
angelegt wurden alle einen Status change auf UNINITIALIZED (HANDLER_MISSING_ERROR) bekommen.
Daraufhin werden die Things removed und dann wieder neu angelegt.
Das Spiel geht dann bis in alle Ewigkeit :(

Kann mir jemand erklären wo hier mein Fehler ist ?
Falls ihr noch infos benötigt einfach fragen :)

Gruß
Netwizard

Re: HANDLER_MISSING_ERROR

Verfasst: 25. Okt 2019 08:22
von udo1toni
Debian ist schon eine Weile auf systemd geschwenkt. Ist Dein Server so alt, oder hast Du nur aus Gewohnheit zum init Script gegriffen?
openHAB2.4 bringt jedenfalls ein service Script mit, welches zumindest bei mir unter Buster (aber auch schon mit Stretch [und Jessie?]) einwandfrei funktioniert.

Re: HANDLER_MISSING_ERROR

Verfasst: 25. Okt 2019 20:12
von netwizard
Das init Script ist wirklich Gewohnheit ... habe den Server
Vor 1-2 Jahren neu aufgesetzt ...
Über systemctl start openhab2.service habe ich es auch
Versucht jedoch mit dem gleichen Problem :(
Ich hatte gesehen das die console den Service über systemctl startet...
Es scheint als würde ihm was fehlen wenn ich es über die
Komandozeile starte ...

Re: HANDLER_MISSING_ERROR

Verfasst: 26. Okt 2019 07:48
von udo1toni
Also eigentlich kann das nur mit falsch gesetzten Rechten zu tun haben.
Standard startet systemd den Service mit dem User openhab.
openhab-cli bietet die Möglichkeit, die Rechte aller relevanten Dateien auf diesen User zu setzen, das wäre also mal einen Versuch wert.

Sollte es danach immer noch nicht korrekt funktionieren, tippe ich auf fehlende Gruppenzugehörigkeit.
Der User openhab sollte Mitglied der Gruppe dialout sein.

Alle seriellen Interfaces (USB gehört dazu) sollten der Gruppe dialout Schreib-/Leserechte einräumen.
Es kann also auch sein, dass ein Interface nicht die passenden Rechte bekommt, dann musst Du die zugehörige udev Regel anpassen, damit Flasgs und Besitzer sowie Gruppe beim Rechnerstart oder An-und Abstecken des Interfaces automatishc korrekt gesetzt werden.