Hallo
Möchte über Fhem die homebridge starten.
Habe das zu diese device erstellt. Das starten und stoppen der homebridge geht auch aber
imstate habe ich immer ein failed.
Da ich starten und stoppen kann gehe ich mal davon aus das die Rechte richtig in der
sudoers eingegeben sind.
Kann mir da einer auf die Sprünge bringen.
Internals:
DEF homebridge
FUUID 5ed7fb86-f33f-8c01-53c4-7ce0be83a78bb1b3
NAME hb
NOTIFYDEV global
NR 1199
NTFY_ORDER 50-hb
SERVICENAME homebridge
STATE failed
TYPE serviced
VERSION 1.2.5
.attraggr:
.attrminint:
READINGS:
2020-06-04 09:07:14 error none
2020-06-04 09:07:14 state failed
2020-06-04 09:07:14 status Active: active (exited) since Thu 2020-06-04 09:07:14 CEST; 182ms ago
helper:
Attributes:
alias Service homebridge
cmdIcon restart:rc_REPEAT stop:rc_STOP status:rc_INFO start:rc_PLAY
devStateIcon Initialized|status:light_question error|failed:light_exclamation running:audio_play:stop stopped:audio_stop:start stopping:audio_stop .*starting:audio_repeat
genericDeviceType switch
homebridgeMapping On=state,valueOff=/stopped|failed/,cmdOff=stop,cmdOn=start
StatusJammed=state,values=/error|failed/:JAMMED;/.*/:NOT_JAMMED
icon hue_room_garage
room Services
webCmd start:restart:stop:status
Das sagt das log
2020.06.04 09:28:20 5: hb: serviced_Set executing shell command: sudo systemctl status homebridge
2020.06.04 09:28:20 5: hb: serviced_ExecCmd com: sudo systemctl status homebridge, line: 3
2020.06.04 09:28:20 4: hb: Service "homebridge" is failed
2020.06.04 09:30:02 5: hb: serviced_Set executing shell command: sudo service homebridge status
2020.06.04 09:30:02 5: hb: serviced_ExecCmd com: sudo service homebridge status, line: 3
2020.06.04 09:30:02 4: hb: Service "homebridge" is failed
2020.06.04 09:30:31 5: hb: serviced_Set executing shell command: sudo service homebridge stop
2020.06.04 09:30:56 5: hb: serviced_ExecCmd com: sudo service homebridge stop 2>&1, line: 3
2020.06.04 09:30:56 5: hb: serviced_Set executing shell command: sudo service homebridge status
2020.06.04 09:30:56 5: hb: serviced_ExecCmd com: sudo service homebridge status, line: 3
2020.06.04 09:30:56 4: hb: Service "homebridge" is stopped
2020.06.04 09:31:01 5: hb: serviced_Set executing shell command: sudo service homebridge start
Ist dein homebridge beim Start schon auf systemd!?
Oder ist es (immer noch) das (alte) init.d Script!?
Es gibt bei dem serviced Modul entsprechende Attribute.
Standard (soweit ich weiß) ist eben systemd.
Man kann (und ich musste das bei Nutzung mit alexa-fhem [ähnliche Code-basis wie homebridge] mit init.d Script) auch die Rückgabe-Regexen über entsprechende Attribute anpassen, damit eben Ok und Fehler beim Starten etc. auch richtig "erkannt" wird...
Musst mal im entsprechenden serviced-Thread suchen...
EDIT: https://forum.fhem.de/index.php/topic,79952.msg719659.html#msg719659 und https://forum.fhem.de/index.php/topic,79952.msg733249.html#msg733249
EDIT: bin nicht mehr sicher aber ich glaube ich hab auch beim init.d Script was angepasst... Aber da aktuell (schon länger) alexa-fhem durch das Alexa-Modul gestartet/überwacht wird habe ich das serviced wieder rausgeworfen...
Bzgl. der homebridge-Settings ist halt fraglich wie sinnvoll das ist, weil: wenn homebridge beim Start ein Problem hat, dann gibt es ja keine homebridge-Funktionalität. Wenn sie von der App aus (oder per Srache) gestoppt wird ebenso... ;)
Gruß, Joachim
Hallo und danke für die Hilfe.
Ich habe im Ordner Init.d ein Start Script für Homebridge.
Zur Zeit habe ich ein dummy ,,SYS-Homebridege" wie im Wiki
Das läuft auch. Hab aber gelesen das es mit dem systemd wohl einfacher und besser sein soll.
Hmm. Dann muss ich wohl doch noch weiter lesen und ausprobieren bis ich das verstanden habe 😂😉
Aber vielen Dank schon mal für die Tips
Gerne, wenn es auch nicht eine "fertige Lösung" war...
Aber evtl. findest du ja (nachdem ich "fertig" war) noch "Anregungen" im Thread...
Leider habe ich die "alten Sachen" nicht mehr...
Viel Erfolg, Joachim
Hab jetzt von init.d auf systemd umgestellt.
Das Start Script in der init.d hab ich natürlich gelöscht
https://forum.smartapfel.de/forum/thread/182-homebridge-von-init-d-auf-systemd-umstellen/
Und siehe da es läuft mit Rückmeldung ... außer wenn ich auf stop gehe dann macht ein Failed 🙂
Dann musst du mal schauen was für Rückmeldung bei "stopped" kommt und ob da (hoffentlich) ein Unterschied zwischen Stopp und Fehler ist...
Und dann mittels der Attribute anpassen...
Oder im serviced Thread mal nachfragen...
Gruß, Joachim
Hab jetzt einfach das serviceRegexStopped auf failed gestellt
Wenn Homebridge nicht mehr läuft bekommt er die Rückmeldung bei Status failed. Läuft ja auch nicht mehr