Installation Homebrdige und Wiki-Eintrag "Homebridge Start und Status in FHEM"

Begonnen von Floriky, 05 Dezember 2018, 15:22:32

Vorheriges Thema - Nächstes Thema

Floriky

Hallo Zusammen,

habe gerade meine erste - völlig nervenaufreibende ;) - Homebridge Installation hinter mir. Bin nach dem Wiki vorgegangen und es hat auch (wahrscheinlich) alles geklappt. Habe nach Wiki "Homebridge Start und Status in FHEM" alle Schritte befolgt. Nur lässt sich Homebridge damit nicht beenden bzw. gibt mir der Dummy irgendein Reading.

Kann mir jemand auf die Sprünge helfen bzw. sagen wo der Hund begraben liegt.

Was ich gemacht habe:

define SYS_Homebridge dummy
attr SYS_Homebridge devStateIcon .*on:general_an .*off:general_aus .*:audio_rec
attr SYS_Homebridge eventMap status:status start:start stop:stop restart:restart
attr SYS_Homebridge icon it_router
attr SYS_Homebridge room System
attr SYS_Homebridge userReadings OnStateChange:(start|stop|restart|status) {  system ("sudo service homebridge ".ReadingsVal($NAME,"state","restart")." &" );;  }
attr SYS_Homebridge webCmd status:start:stop:restart

--------------

sudo nano /etc/init.d/homebridge

--------------

#!/bin/sh
### BEGIN INIT INFO
# Provides: homebridge
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time for homebridge
# Description: Enable service provided by daemon.
### END INIT INFO
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules

PID=`pidof homebridge`
homeBridgeUser="fhem"
fhemHost=127.0.0.1          #FHEM Server (Masterinstanz)
fhemHostTelnetPort=7072     #TelnetPort der FHEM Instanz
fhemDefine="SYS_Homebridge"

case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
        echo "Homebridge is already running"
        perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "setreading $fhemDefine info Homebridge is already running"
else
        su - $homeBridgeUser -c "homebridge > /dev/null 2>&1 &"
        echo "Homebridge starting"
        perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "setreading $fhemDefine info Homebridge starting"
        perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "set $fhemDefine on"
        sleep 2
        $0 status
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
        echo "Homebridge is not running"
        perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "setreading $fhemDefine info Homebridge is not running"
else
        kill $PID
        echo "Homebridge stopping"
        perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "setreading $fhemDefine info Homebridge stopping"
        perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "set $fhemDefine off"
        sleep 2
        $0 status
fi
;;
restart)
if ! ps -p $PID > /dev/null 2>&1; then
        $0 start
else
        $0 stop
        $0 start
fi
;;
status)
if ps -p $PID > /dev/null 2>&1; then
        echo "Homebridge is running PID $PID"
        perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "setreading $fhemDefine info Homebridge running as PID $PID"
        perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "set $fhemDefine on"
else
        echo "Homebridge is not running"
        perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "setreading $fhemDefine info Homebridge is not running"
        perl /opt/fhem/fhem.pl $fhemHost:$fhemHostTelnetPort "set $fhemDefine off"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0

------------------------------------------------------

sudo chmod 755 /etc/init.d/homebridge
sudo update-rc.d homebridge defaults

---------------------------------------------

sudo service homebridge start

--------------------------------------------

sudo nano /etc/sudoers

-----------------------------

fhem ALL=(ALL) NOPASSWD:/etc/init.d/homebridge

piet_pit

Hallo,
sind fhem und Homebridge auf dem gleichen RPi installiert?
viele Gruesse
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47

Floriky

Zitat von: piet_pit am 05 Dezember 2018, 19:32:12
Hallo,
sind fhem und Homebridge auf dem gleichen RPi installiert?
viele Gruesse
Pit

Hallo Pit,

vielen Dank, dass du mir Helfen möchtest. Ja, das sind sie.

piet_pit

Hallo,
du kannst aber Homebridge ohne diese Start/ Stop Prozedur über Fhem manuell ganz normal starten und stoppen?
Nur der Weg über FHEM klappt nicht?
Woher weißt du, dass Homebridge nicht beendet ist?
Bei mir läuft das seit ca. 1 Jahr, aber auf getrennten RPi, habe es aber nicht mehr im Fokus, muss morgen mal schauen, wie ich das gemacht habe. Die von dir gepostete Datei ist die, die du verwendest?
viele Gruesse
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47

Floriky

Hallo, zu deinen Fragen:

Zitatdu kannst aber Homebridge ohne diese Start/ Stop Prozedur über Fhem manuell ganz normal starten und stoppen?
bzw.
ZitatWoher weißt du, dass Homebridge nicht beendet ist?

Da bin ich ehrlich gesagt überfragt. Habe das bisher über Putty und "sudo service homebridge..." (start/stop/status gemacht.


ZitatDie von dir gepostete Datei ist die, die du verwendest?

Ja, das sind letztendlich die Befehle aus den Wiki-Einträgen:

1. https://wiki.fhem.de/wiki/Homebridge_einrichten

Ab der Überschrift "Homebridge automatisch starten" > "Steuerung via FHEM" bin ich dann dem Link gefolgt und habe mit diesem hier weiter gemacht. Da sind die Befehle her.

2. https://wiki.fhem.de/wiki/Homebridge_Start_und_Status_in_FHEM

Also es funktioniert eigentlich alles, sofern ich das abschätzen kann. Die Testlampe mit meinem Sonoff habe Basic habe ich eingerichtet und kann diese auch schalten. Auch die Einbindung in die Home-App hat funktionert. Nur das nach der Anleitung angelegte Device "SYS_Homebridge" muckst sich nicht. Ich füge dir mal einen Screenshot an, wie es sich in meinem FHEM darstellt.


Floriky

Um mögliche Fehler auszuschließen habe ich heute den RPI nochmal komplett neu eingerichtet. Leider ohne Erfolg. Der Dummy ist immer noch tod. Nun bin ich wirklich ratlos!

Freee84neu

hi

versuch es mal ohne service ...

userReadings OnStateChange:(start|stop|restart|status) { system ("sudo /etc/init.d/homebridge ".ReadingsVal($NAME,"state","restart")." &" );; }

piet_pit

Hallo,
ich habe einmal meine Konfiguration überprüft, da meine Homebridge remote läuft, verweist mein UserReading auf die Datei ,,homebridgeserviceremote.sh", ich habe aber da den Pfad zu dieser Datei mit angegeben...

.../opt/fhem/FHEM/....sh

ggf. solltest du da auch den Pfad zu der Datei angeben...
viele Gruesse
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47

Floriky

Guten Abend Pit,
erst einmal vielen Dank für deine Mühen. Sobald ich zu Hause bin, werde ich es probieren und dir Rückmeldung geben ob es geklappt hat.

Viele Grüße,
Flo

Floriky

Zitat von: Freee84neu am 06 Dezember 2018, 20:46:54
hi

versuch es mal ohne service ...

userReadings OnStateChange:(start|stop|restart|status) { system ("sudo /etc/init.d/homebridge ".ReadingsVal($NAME,"state","restart")." &" );; }

Hallo Freee84neu, das hat's gebracht. Läuft wie geschmiert!  ;D Vielen, vielen Dank!

Kann ich das irgendwie als gelöst markieren und wen kann ich bitten das Wiki zu aktualisieren damit niemand mehr dadrüber stolpert?

Floriky

Zitat von: piet_pit am 06 Dezember 2018, 21:07:14
Hallo,
ich habe einmal meine Konfiguration überprüft, da meine Homebridge remote läuft, verweist mein UserReading auf die Datei ,,homebridgeserviceremote.sh", ich habe aber da den Pfad zu dieser Datei mit angegeben...

.../opt/fhem/FHEM/....sh

ggf. solltest du da auch den Pfad zu der Datei angeben...
viele Gruesse
Pit

Jeeeep, ist der gleiche Ansatz wie der von Freee84neu. Und damit klappt's. Also auch dir meinen besten Dank, Pit!
Liebe Grüße