[Gelöst] Homebridge Installation , komme nicht weiter

Begonnen von UweUwe, 23 Dezember 2018, 21:37:43

Vorheriges Thema - Nächstes Thema

UweUwe

Hallo,

habe Homebridge gemäss den beiden WIKIs Homebridge Start und..; Homebridge einrichten durchgeführt
Sollte eigentlich jetzt in FHEM und auf dem Raspberry durch sein bis zum Kapitel "Testlauf/Fertig"

Nach einem Neustart des Raspberries bekomme ich 1x und genau 1 x  mal mit dem Kommando "sudo /etc/init.d/homebridge start" folgendes Bild
      pi@raspberrypi:~ $ sudo /etc/init.d/homebridge start
Homebridge starting
                Homebridge is running PID 902


wie gesagt 1 x bei Wiederholung bekomme ich :
sudo /etc/init.d/homebridge start

      pi@raspberrypi:~ $ sudo /etc/init.d/homebridge start
Homebridge starting
                Homebridge is not running

Nach einem Neustart gibt es eine andere PID Nummer.

"sudo servive homebridge start" liefert immer , auch nach Neustart

   pi@raspberrypi:~ $ sudo service homebridge start
Job for homebridge.service failed because the control process exited with error code.
        See "systemctl status homebridge.service" and "journalctl -xe" for details.cd


Ich finde die Dateien "systemctl status homebridge.service" und "journalctl -xe" nicht, ansonsten würde ich schon mal dort versuchen.

Ich sehe im FHEM Event Manager immer

2018-12-23 21:32:32 dummy SYS_Homebridge start
2018-12-23 21:32:32 dummy SYS_Homebridge OnStateChange: -1


sobald ich start oder stop der Homebridge aus FHEM aktiviere.
Was mache ich falsch.








micky0867

Zitat von: UweUwe am 23 Dezember 2018, 21:37:43

Ich finde die Dateien "systemctl status homebridge.service" und "journalctl -xe" nicht, ansonsten würde ich schon mal dort versuchen.


Das sind Kommandos, in deinem Fall noch ein sudo davorschreiben.

MadMax-FHEM

#2
Dir ist aber klar, dass du mit "ständigen" /etc/init.d/homebridge start Aufrufen jedes mal homebridge manuell startest!?

Homebridge kann aber nur 1x laufen!

Wenn du den Status abfragen willst: statt "start" eben "status"...

systemctl (und damit auch journal) funktioniert (soweit ich weiß) nur mit systemd...
...du startest aber mittels initd...

Es sollte doch eine Logdatei geben!?
Im Startscript sollte stehen wo die liegt...

Wenn du homebridge stoppst (statt "start" eben "stop" ;)  ) und dann auf der Console homebridge einfach per "homebridge" startest was kommen für Ausgaben?
(siehe auch manueller Start von homebridge / sollte es eigentlich im Wiki geben)

Kenne zwar homebridge nicht (so gut) aber das hat die gleiche Basis wie alexa-fhem bzw. war/ist homebridge die Basis...
...und das kenne ich ganz gut...
(evtl. auch dort mal schauen, also z.B. im alexa-fhem Wiki, wenn es im homebridge Wiki keine Antworten mehr gibt)

Was hast du eigentlich für ein System?
Also HW/Software?

Weil initd ist nun auch nicht mehr wirklich aktuell...
...funktioniert aber noch...

Und: neue PID ist klar. Das macht Linux bei jedem neuen Start eines Prozesses, also die nächste (freie) PID vergeben...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hallo micky0867 und MadMax-FHEM,

sehr vielen Dank für eure Antworten. Ich versuche mal die Antworten zu geben:

Hardware und Software:
1. Hardware Raspberry 3
2. FHEM 5.9 auf neuestem Stand
3. Distributor ID: Raspbian, Description:    Raspbian GNU/Linux 9.6 (stretch), Release:        9.6, Codename:       stretch
4. IOS 12 auf den Zielgeräte für Homebridge

sudo systemctl status homebridge.service bringt:

pi@raspberrypi:~ $ sudo systemctl status homebridge.service
● homebridge.service - LSB: Start daemon at boot time for homebridge
   Loaded: loaded (/etc/init.d/homebridge; generated; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2018-12-23 21:29:24 CET; 10h ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1223 ExecStart=/etc/init.d/homebridge start (code=exited, status=203/EXEC)

Dec 23 21:29:24 raspberrypi systemd[1]: Starting LSB: Start daemon at boot time for homebridge...
Dec 23 21:29:24 raspberrypi systemd[1]: homebridge.service: Control process exited, code=exited status=203
Dec 23 21:29:24 raspberrypi systemd[1]: Failed to start LSB: Start daemon at boot time for homebridge.
Dec 23 21:29:24 raspberrypi systemd[1]: homebridge.service: Unit entered failed state.
Dec 23 21:29:24 raspberrypi systemd[1]: homebridge.service: Failed with result 'exit-code'.


habe anschliessend sudo service homebridge gemacht und dann sudo journalctl -xe

Daraus ergibt sich:
pi@raspberrypi:~ $ sudo service homebridge start
Job for homebridge.service failed because the control process exited with error code.
See "systemctl status homebridge.service" and "journalctl -xe" for details.
pi@raspberrypi:~ $ sudo journalctl -xe
--
-- All system services necessary queued for starting at boot have been
-- successfully started. Note that this does not mean that the machine is
-- now idle as services might still be busy with completing start-up.
--
-- Kernel start-up required KERNEL_USEC microseconds.
--
-- Initial RAM disk start-up required INITRD_USEC microseconds.
--
-- Userspace start-up required 40622 microseconds.
Dec 24 07:55:54 raspberrypi systemd[1]: Started User Manager for UID 1000.
-- Subject: Unit user@1000.service has finished start-up
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit user@1000.service has finished starting up.
--
-- The start-up result is done.
Dec 24 07:56:37 raspberrypi sudo[5274]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/systemctl status homebridge.servi
Dec 24 07:56:37 raspberrypi sudo[5274]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
Dec 24 07:56:37 raspberrypi sudo[5274]: pam_unix(sudo:session): session closed for user root
Dec 24 08:10:54 raspberrypi sudo[5355]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/journalctl -xe
Dec 24 08:10:54 raspberrypi sudo[5355]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
Dec 24 08:12:43 raspberrypi sudo[5355]: pam_unix(sudo:session): session closed for user root
Dec 24 08:13:30 raspberrypi sudo[5366]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/usr/sbin/service homebridge start
Dec 24 08:13:30 raspberrypi sudo[5366]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
Dec 24 08:13:31 raspberrypi systemd[1]: Starting LSB: Start daemon at boot time for homebridge...
-- Subject: Unit homebridge.service has begun start-up
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit homebridge.service has begun starting up.
Dec 24 08:13:31 raspberrypi systemd[5393]: homebridge.service: Failed at step EXEC spawning /etc/init.d/homebridge: Exec format error
-- Subject: Process /etc/init.d/homebridge could not be executed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- The process /etc/init.d/homebridge could not be executed and failed.
--
-- The error number returned by this process is 8.
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Control process exited, code=exited status=203
Dec 24 08:13:31 raspberrypi systemd[1]: Failed to start LSB: Start daemon at boot time for homebridge.
-- Subject: Unit homebridge.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit homebridge.service has failed.
--
-- The result is failed.
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Unit entered failed state.



@MadMax-FHEM,
mir ist bewusst, dass ich Homebridge nur einmal starten kann.

Deine Frage lautet, was passiert bei sudo service homebridge status:

pi@raspberrypi:~ $ sudo service homebridge status
● homebridge.service - LSB: Start daemon at boot time for homebridge
   Loaded: loaded (/etc/init.d/homebridge; generated; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2018-12-24 08:13:31 CET; 8min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 5393 ExecStart=/etc/init.d/homebridge start (code=exited, status=203/EXEC)

Dec 24 08:13:31 raspberrypi systemd[1]: Starting LSB: Start daemon at boot time for homebridge...
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Control process exited, code=exited status=203
Dec 24 08:13:31 raspberrypi systemd[1]: Failed to start LSB: Start daemon at boot time for homebridge.
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Unit entered failed state.
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Failed with result 'exit-code'.


Die Frage nach dem Logfile kann ich nicht beantworten. Hab mal das Start Script angeschaut, da sehe ich keine Location oder Name für ein Logfile.

Ich habe leider nicht Fähigkeiten, die Fragen von homebridge von Alexa zu holen. Da habe ich zu wenig Erfahrung. Sorry. Ich sehe homebridge für mich auch als erster Schritt in Richtung Alexa. Das steht auch noch auf meiner Liste.

Die oben aufgefühten Informationen belegen aber meine Vermutung, dass da noch ein BUG in der homebridge Installation liegt.
Aber in welcher Richtung kann ich suchen. Die Installation brachte keinen Fehler.
Hat jemand noch einen Tip. Merci und Frohe Weihnachten.








MadMax-FHEM

Also du hast zunächst versucht mittels initd zu starten:

sudo /etc/init.d/homebridge start

Dann wieder mittels systemd bzw. deutet folgende Zeile darauf hin:

sudo systemctl status homebridge.service

Dann anders:

Was kommt bei:

ls -la /etc/init.d/homebridge

bzw.:

ls -la /etc/systemd/system/homebridge*

Nicht dass du beide "Startarten" eingerichtet hast...
...und sich diese "beißen"... ;)

Bei Stretch ist eigentlich systemd aktuell...
...aber initd tut noch...

Sollte unter /etc/init.d/ eine homebridge Datei sein, dann poste doch mal den Inhalt: sudo cat /etc/init.d/homebridge

Da sollte eigentlich der Pfad der Logdatei stehen...
...ist zumindest bei alexa-fhem so...

Beim Start mittels systemd geht das Auslesen des Logs eben mittels journalctl...

Das müssen wir uns dann auch mal anschauen: Failed at step EXEC spawning /etc/init.d/homebridge: Exec format error

Aber zunächst mal die Startart sicherstellen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Danke für die weihachtliche Antwort, MadMax-FHEM,

hier die Antworten  :):

pi@raspberrypi:/bin $ ls -la /etc/init.d/homebridge
-rwxr-xr-x 1 root root 1166 Dec 23 14:45 /etc/init.d/homebridge


pi@raspberrypi:/bin $ ls -la /etc/systemd/system/homebridge
ls: cannot access '/etc/systemd/system/homebridge': No such file or directory

oder
i@raspberrypi:/etc/systemd $ ls -la
total 44
drwxr-xr-x  5 root root 4096 Nov 13 13:59 .
drwxr-xr-x 89 root root 4096 Dec 23 21:03 ..
-rw-r--r--  1 root root 1014 Oct 28 18:02 journald.conf
-rw-r--r--  1 root root 1022 Oct 28 18:02 logind.conf
drwxr-xr-x  2 root root 4096 Nov 13 14:09 network
-rw-r--r--  1 root root  642 Oct 28 18:02 resolved.conf
drwxr-xr-x 16 root root 4096 Dec 20 21:04 system
-rw-r--r--  1 root root 1601 Oct 28 18:02 system.conf
-rw-r--r--  1 root root  607 Oct 28 18:02 timesyncd.conf
drwxr-xr-x  2 root root 4096 Oct 28 18:02 user
-rw-r--r--  1 root root 1130 Oct 28 18:02 user.conf


sudo cat /etc/init.d/homebridge:

pi@raspberrypi:/etc/init.d $ sudo cat /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`
case "$1" in
start)
if ps -p $PID > /dev/null 2>&1; then
        echo "Homebridge is already running"
else
        su - "fhem" -c "homebridge > /dev/null 2>&1 &"
        echo "Homebridge starting"
        sleep 2
    $0 status
fi
;;
stop)
if ! ps -p $PID > /dev/null 2>&1; then
        echo "Homebridge is not running"
else
        kill $PID
        echo "Homebridge closed"
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"
else
        echo "Homebridge is not running"
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0
pi@raspberrypi:/etc/init.d $


Das sollten die Antworten sein:

Merci





MadMax-FHEM

#6
Du hast den "Stern" vergessen bei:

ls -la /etc/systemd/system/homebridge*

EDIT: bei Linux-Befehlen (gerade mit "sudo" vorne weg) GENAU arbeiten! Da kann schnell mal ganz viel schief gehen... Und vorher evtl. mal googeln (oder fragen) was das macht/soll ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Dumm, im Startscript steht keine Logausgabe drin...

Was kommt auf der Console, wenn du einfach manuell startest?

Also "einfach" hombridge auf der Console eingibst?
Siehe Wiki "einmaliger manueller Start"...

Vorher (sicherheitshalber) mal: sudo service homebridge stop

Und mittels: ps -ax | grep homebridge
prüfen. Sollte nur die "grep-Zeile" kommen. Keine weitere...
...bzw. einfach mal posten...

Ein: sudo killall homebridge
wäre "notfalls" auch möglich...

Ansonsten erweitern wir das Script um Logging...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hi Joachim,

ich habe dies mit dem stern gesehen.

Mit Stern kommt :
pi@raspberrypi:/etc/init.d $ ls -la /etc/systemd/system/homebridge*
ls: cannot access '/etc/systemd/system/homebridge*': No such file or directory
y

Deshalb habe ich ein ls -la  zusätzlich in /etc/systemd/system $ ls -la gemacht:

pi@raspberrypi:/etc/systemd/system $ ls -la
total 72
drwxr-xr-x 16 root root 4096 Dec 20 21:04 .
drwxr-xr-x  5 root root 4096 Nov 13 13:59 ..
-rw-r--r--  1 root root 1551 Apr 20  2018 autologin@.service
drwxr-xr-x  2 root root 4096 Nov 13 14:18 bluetooth.target.wants
lrwxrwxrwx  1 root root   37 Nov 13 14:18 dbus-org.bluez.service -> /lib/systemd/system/bluetooth.service
lrwxrwxrwx  1 root root   40 Nov 13 14:20 dbus-org.freedesktop.Avahi.service -> /lib/systemd/system/avahi-daemon.service
lrwxrwxrwx  1 root root   34 Nov 13 14:22 dhcpcd5.service -> /lib/systemd/system/dhcpcd.service
drwxr-xr-x  2 root root 4096 Nov 13 14:22 dhcpcd.service.d
-rw-r--r--  1 root root  356 Nov 27 11:45 fhem.service
drwxr-xr-x  2 root root 4096 Nov 13 13:59 getty.target.wants
drwxr-xr-x  2 root root 4096 Nov 13 14:09 getty@tty1.service.d
drwxr-xr-x  2 root root 4096 Nov 13 14:19 halt.target.wants
drwxr-xr-x  2 root root 4096 Dec 20 21:04 multi-user.target.wants
lrwxrwxrwx  1 root root   35 Dec 20 21:04 mysqld.service -> /lib/systemd/system/mariadb.service
lrwxrwxrwx  1 root root   35 Dec 20 21:04 mysql.service -> /lib/systemd/system/mariadb.service
drwxr-xr-x  2 root root 4096 Nov 13 14:05 network-online.target.wants
drwxr-xr-x  2 root root 4096 Nov 13 14:19 poweroff.target.wants
drwxr-xr-x  2 root root 4096 Nov 13 14:21 rc-local.service.d
drwxr-xr-x  2 root root 4096 Nov 13 14:19 reboot.target.wants
drwxr-xr-x  2 root root 4096 Nov 13 14:19 remote-fs.target.wants
lrwxrwxrwx  1 root root    9 Dec 12 13:53 serial-getty@ttyAMA0.service -> /dev/null
drwxr-xr-x  2 root root 4096 Nov 13 14:21 sockets.target.wants
drwxr-xr-x  2 root root 4096 Nov 13 14:17 sysinit.target.wants
lrwxrwxrwx  1 root root   35 Nov 13 14:04 syslog.service -> /lib/systemd/system/rsyslog.service
drwxr-xr-x  2 root root 4096 Nov 13 14:06 timers.target.wants


Um zu verdeutlichen, dass da keine homebridge drin ist.

Merci





UweUwe

Hallo Joachim,

Homebridge an der Console bringt:

pi@raspberrypi:/home $ homebridge
[12/24/2018, 10:08:00 AM] config.json (/home/pi/.homebridge/config.json) not found.
[12/24/2018, 10:08:00 AM] Loaded plugin: homebridge-fhem
homebridge API version: 2.2
this is homebridge-fhem 0.4.5
[12/24/2018, 10:08:00 AM] Registering platform 'homebridge-fhem.FHEM'
[12/24/2018, 10:08:00 AM] ---
Setup Payload:
X-HM://0023ISYWY54MJ
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:



























Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ 031-45-154 │
    └────────────┘

Server listening on: http://<ip>:8282
[12/24/2018, 10:08:00 AM] Homebridge is running on port 46251.
pi@raspberrypi:/home $ homebridge
[12/24/2018, 10:08:00 AM] config.json (/home/pi/.homebridge/config.json) not found.
[12/24/2018, 10:08:00 AM] Loaded plugin: homebridge-fhem
homebridge API version: 2.2
this is homebridge-fhem 0.4.5
[12/24/2018, 10:08:00 AM] Registering platform 'homebridge-fhem.FHEM'
[12/24/2018, 10:08:00 AM] ---
Setup Payload:
X-HM://0023ISYWY54MJ
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:



























Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ 031-45-154 │
    └────────────┘

Server listening on: http://<ip>:8282
[12/24/2018, 10:08:00 AM] Homebridge is running on port 46251.


Das sieht aus meiner Sicht nicht schlecht aus.

sudo service homebridge status bringt dann:

pi@raspberrypi:~ $ sudo service homebridge status
● homebridge.service - LSB: Start daemon at boot time for homebridge
   Loaded: loaded (/etc/init.d/homebridge; generated; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2018-12-24 08:13:31 CET; 1h 59mi
     Docs: man:systemd-sysv-generator(8)
  Process: 5393 ExecStart=/etc/init.d/homebridge start (code=exited, status=203/

Dec 24 08:13:31 raspberrypi systemd[1]: Starting LSB: Start daemon at boot time
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Control process exit
Dec 24 08:13:31 raspberrypi systemd[1]: Failed to start LSB: Start daemon at boo
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Unit entered failed
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Failed with result '
lines 1-11/11 (END)
● homebridge.service - LSB: Start daemon at boot time for homebridge
   Loaded: loaded (/etc/init.d/homebridge; generated; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2018-12-24 08:13:31 CET; 1h 59min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 5393 ExecStart=/etc/init.d/homebridge start (code=exited, status=203/EXEC)

Dec 24 08:13:31 raspberrypi systemd[1]: Starting LSB: Start daemon at boot time for homebridge...
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Control process exited, code=exited status=203
Dec 24 08:13:31 raspberrypi systemd[1]: Failed to start LSB: Start daemon at boot time for homebridge.
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Unit entered failed state.
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Failed with result 'exit-code'.


ps -ax bringt:

pi@raspberrypi:~ $ ps -ax | grep homebridge
6274 pts/0    S+     0:00 grep --color=auto homebridge


sudo killall homebridge bringt:

pi@raspberrypi:~ $ sudo killall homebridge
homebridge: no process found


Merci










MadMax-FHEM

Mal langsam... ;)

Die Befehle aber in der Reihenfolge wie ich geschrieben habe, also erst mal service stop bzw. killall...

Dann (nur zur Sicherheit ;)  ) das ps -ax usw.

Dann auf der Console "einfach" nur homebridge

Jep, manueller Start sieht gut aus!

Jetzt müssen wir nur noch rauskriegen warum das mit der initd-Startdatei nicht geht...

Und das mit dem ls -la im Verzeichnis /etc/systemd/system wäre mein nächster Vorschlag gewesen... ;)

Aber sieht so aus als hättest du tatsächlich nur ein Startscript ;)

Wie hast du das angelegt bzw. den Inhalt reinkopiert?
War da dazwischen mal ein "Windows-System" bzw. "Windows-Editor"!?

Den Inhalt der Datei schaue ich mir später mal an...
...muss jetzt erst mal Baum schmücken... ;)
Und ich denke wir sollten es um eine Logausgabe erweitern (falls mal wieder was ist)... ;)

Aber du kannst ja schon mal mit manuell gestarteter homebridge "weiterspielen"... ;)
Musst halt solange die Console "auf lassen"...

Bis denn, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Ja SIR,  :) immer zu Diensten,

Sudo service homebridge status bringt

pi@raspberrypi:~ $ sudo service homebridge status
● homebridge.service - LSB: Start daemon at boot time for homebridge
   Loaded: loaded (/etc/init.d/homebridge; generated; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2018-12-24 08:13:31 CET; 2h 33min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 5393 ExecStart=/etc/init.d/homebridge start (code=exited, status=203/EXEC)

Dec 24 08:13:31 raspberrypi systemd[1]: Starting LSB: Start daemon at boot time for homebridge...
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Control process exited, code=exited status=203
Dec 24 08:13:31 raspberrypi systemd[1]: Failed to start LSB: Start daemon at boot time for homebridge.
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Unit entered failed state.
Dec 24 08:13:31 raspberrypi systemd[1]: homebridge.service: Failed with result 'exit-code'.


Sudo service homebridge stop bringt:

pi@raspberrypi:~ $ sudo service homebridge stop
pi@raspberrypi:~ $


ps -ax | grep homebridge bringt

pi@raspberrypi:~ $  ps -ax | grep homebridge
6484 pts/0    S+     0:00 grep --color=auto homebridge


ZitatAber sieht so aus als hättest du tatsächlich nur ein Startscript ;)

Wie hast du das angelegt bzw. den Inhalt reinkopiert?
War da dazwischen mal ein "Windows-System" bzw. "Windows-Editor"!?

Ja, ich hab da schon etwas umgemacht. Windows-System kann schon sein. Paste und Copy könnte sein.
sehr wahrscheinlich sogar, bin aber schon länger dran und deshalb unsicher..

ZitatUnd ich denke wir sollten es um eine Logausgabe erweitern (falls mal wieder was ist)...

Gerne mach ich dies.. aber wie?

Vielen Dank beim Baumschmücken, bei uns steht der Baum schon länger, in unserer Gegend teilweise schon seit 2-3 Wochen.
Das ist eben unterschiedliche Tradition.

Merci und Fröhliche Weihnachten.

Uwe










MadMax-FHEM

Tausche mal den User "fhem" im Script gegen den User "pi"...
Weil auf der Console klappt es ja auch (nur) mit dem User "pi"...
...sieht zumindest so aus...

Wobei das hier müssen wir noch beheben:

/home/pi/.homebridge/config.json) not found.

Wo liegt denn die config.json. ?
Wohin hast du "installiert"?

Komisch, dass homebridge trotzdem startet...
...alexa-fhem hätte da wohl den Dienst quittiert... ;)

Wenn Windows dazwischen war, dann könnte das (neben evtl. dem User) auch ein Problem sein...

Aber immer mal eins nach dem andern...

Logausgabe folgt... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

So, dann mal zur Erweiterung um ein Logging ;)

Bitte folgendes unterhalb von "export Node_Path" im Startscript ergänzen:

export LOGPATH="/home/pi/homebridge/log"

Den Pfad halt nach eigenen Bedürfnissen anpassen...

Achtung: User "pi" braucht dort Schreibrechte!

Anmerkung: falls Pfadteile nicht existieren (z.B. es gibt dort noch kein Verzeichnis "log" dann noch anlegen: mkdir Verzeichnisname)

Und dann den Startaufruf wie folgt ändern/anpassen:

su - "fhem" -c "homebridge > $LOGPATH/homebridge-`date +%Y-%m`.log 2>&1 &"

Evtl. halt noch wie bereits geschrieben statt User "fhem" eben User "pi"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hallo Joachim,

sehr gerne beantworte ich die Fragen zu  8) meinem Problem  8)
Zitat
Wobei das hier müssen wir noch beheben:

/home/pi/.homebridge/config.json) not found.

Wo liegt denn die config.json. ?
Wohin hast du "installiert"?

ich vermute, dass dies ein Zugriffsproblem ist:

pi@raspberrypi:/opt/fhem/.homebridge $ dir
accessories  config.json  persist


ZitatBitte folgendes unterhalb von "export Node_Path" im Startscript ergänzen:

erledigt. Die Datei heisst homebridge und liegt unter /etc/init.d/homebridge (siehe wiki, .. startet den Homebridge Server als Benutzer "pi" und nimmt an, dass sich .homebridge/config.json ins einem Homeverzeichnis unter /home/pi/ befindet   ==>  :o und das tut es nicht :o.

Bei den anderen Antworten habe ich ich Schwierigkeit:

ZitatTausche mal den User "fhem" im Script gegen den User "pi"...
Weil auf der Console klappt es ja auch (nur) mit dem User "pi"...
...sieht zumindest so aus...

Ich sehe zwei Files, in den configurationen stehen:

/etc/init.d/homebridge
/opt/fhem/.homebridge/config.json

in beiden Files habe ich keinen User "fhem". Im "config.json" habe ich

pi@raspberrypi:/opt/fhem/.homebridge $ cat config.json
{
    "bridge":{


      "name": "Homebridge",
      "username":"CC:22:3D:E3:CE:30",
      "port":51826,
      "pin":031-45-154"
    }
    "platforms":[
      {
        "platform":"FHEM",
        "name":"FHEM",
        "server":127.0.0.1",
        "port":"8085",
        "ssl":true,
        "auth": {"user": "xxxxxxxxx", "pass": "xxxxxxxxx"},
        "filter":"room=Homekit"
       }
      ],
      "accessories":[]
     }


auth habe ich mal geixt. mein Port für FHEM ist 8085, unsicher bin ich mir mit server und "ssl true", da ich bisher
nur http Zugriffe konfiguriert habe.
auth: ja ich habe eine Zugriffberechtigung für FHEM eingerichtet.

Meinst du "name" = "FHEM" in "pi" ändern? Habe ich noch nicht gemacht.

ZitatUnd dann den Startaufruf wie folgt ändern/anpassen:

In homebridge gibt es eine Stelle mit Startaufruf:

start)
if ps -p $PID > /dev/null 2>&1; then
        echo "Homebridge is already running"
else
        su - "fhem" -c "homebridge > /dev/null 2>&1 &"
        echo "Homebridge starting"
        sleep 2
    $0 status


Du meinst diese Stelle su - "fhem" -c ...........
Korrekt? habe ich auch noch nicht gemacht.

Nochmals vielen Dank

Uwe





















MadMax-FHEM

#15
Kein Zugriffsproblem sondern falscher Ort für die config.json

Die config.json muss im Home des startenden Users und dort dann im .homebridge Verzeichnis liegen.

Also für den User "fhem" (home: /opt/fhem):

/opt/fhem/.homebridge

Für den User "pi" (home: /home/pi):

/home/pi/.homebridge

Also zuerst klären/entscheiden/festlegen welcher User nun starten soll...
Als User "pi" scheint es ja von der Console aus zu laufen bzw. sich starten zu lassen...


Genau die Stelle wo du "anpassen/ersetzen" sollst bzgl. Logging dort steht doch der User drin...
...aktuell halt noch der User "fhem".

su - "fhem" bedeutet: logge User "fhem" ein bzw. führe als User "fhem" aus...
...su: switch user

Also:
/etc/init.d/homebridge

Ist die "Service-Datei" womit homebridge beim Booten als Service gestartet wird.
(bitte mal nach den Begriffen googeln und lernen! Sonst wird es echt schwer mit Erläutern)

Also nix in der config.json!


In der config.json ist dann die Konfiguration von homebridge hinterlegt.
Also die Athentifizierung externer Aufrufe und der Zugriff auf fhem zum Auslesen und Steuern der Geräte...

Dort muss halt der Zugriff auf dein fhem passen (sollte aber später im Log stehen, wenn was nicht passt und du das Logging mal "aktiviert" hast).
Also user/passwort falls eingerichtet und eben auch ob per http oder https etc.

Besser vielleicht mal zum Test einen weiteren Webzugang ohne alles einrichten und den mal in die config.json eintragen.
Wenn das dann geht, kann man ja die Sicherheit hochschrauben...
Wenn man denkt, dass es nötig ist.
Aber wenn kein Port nach außen auf ist sollte es im eigenen Netz nicht wirklich nötig sein (außer man will Benutzer im eigenen Netz "aussperren") und bei externem Zugriff macht es ohne https überhaupt keinen Sinn...
...aber wir schweifen ab... ;)


Also entscheiden/probieren mit welchem User homebridge laufen soll und dann entsprechend die config.json platzieren und halt im Startscript (/etc/init.d/homebridge) den entsprechenden User eintragen...

Mehr kann ich nicht mehr erläutern...
...evtl. mal hier schauen (da ist noch mal einiges erläutert / aber aufpassen: nicht plötzlich auf systemd wechseln!! Bitte nur lesen und lernen/verstehen! Sonst geht zuviel durcheinander ;)  ): https://forum.fhem.de/index.php/topic,93540.msg861872.html#msg861872

EDIT: vielleicht noch mal ein "ls -la" posten vom Verzeichnis wo homebridge "installiert" ist bzw. wohin es "entpackt" wurde und du dann npm install aufgerufen hast (nehme an das sollte ähnlich wie bei alexa-fhem sein)... Und auch mal "sagen" wo das denn ist... Damit lässt sich dann eher entscheiden welcher User starten sollte. Ansonsten kann es sein, dass die Rechte nicht passen und dann wird es "anstrengend"... ;)

EDIT2: zum editieren der Datei /etc/init.d/homebridge wirst du sudo brauchen. Also beispielsweise mit: sudo nano /etc/init.d/homebridge  / zum Eintragen der Erweiterung um "Logging"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hi Joachim,

hab mich jetzt mal mit deinen Antworten, vielen Dank, und das auch noch am Heiligen Abend, beschäft und versuche dies jtzt mal nacheinander abzuarbeiten.

Zuerst die config.json bis zum manuellen Start der homebridge.
Ich möchte es aus dem user fhem machen und nicht pi.
die config.json steht auch korrekt in /opt/fhem/.homebridge/config.json

Folgender Inhalt:
      "port":51826,
      "pin":"031-45-154"
    },

    "platforms":[
      {
        "platform":"FHEM",
        "name":"fhem",
        "server":"127.0.0.1",
        "port":"8085",
        "ssl": true,
        "auth": {"user": "xxxxx", "pass": "xxxx"},
        "filter":"room=Homekit"
       }
      ],
      "accessories":[]
     }


Habe einige Tests gefahren, homebridge zu start,  ohne die "ssl":true Zeile, bekomme dann aber Authorisation error.

Mit der jetztigen Version des config.json kommen folgende Informationen an der Konsole:

      pi@raspberrypi:~ $ su fhem
Password:
fhem@raspberrypi:/home/pi$ homebridge
[12/25/2018, 12:25:40 PM] Loaded config.json with 0 accessories and 1 platforms.
[12/25/2018, 12:25:40 PM] ---
[12/25/2018, 12:25:40 PM] Loaded plugin: homebridge-fhem
homebridge API version: 2.2
this is homebridge-fhem 0.4.5
[12/25/2018, 12:25:40 PM] Registering platform 'homebridge-fhem.FHEM'
[12/25/2018, 12:25:40 PM] ---
[12/25/2018, 12:25:40 PM] Loading 1 platforms...
[12/25/2018, 12:25:40 PM] [fhem] Initializing FHEM platform...
starting longpoll: https://127.0.0.1:8085/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1545737141223
[12/25/2018, 12:25:41 PM] [fhem] Fetching FHEM devices...
[12/25/2018, 12:25:41 PM] Loading 0 accessories...
Server listening on: http://<ip>:8282
[12/25/2018, 12:25:41 PM] [fhem] Fetching FHEM devices...
[12/25/2018, 12:25:42 PM] [fhem] Fetching FHEM devices...
[12/25/2018, 12:25:42 PM] [fhem] Fetching FHEM devices...


Und das Fetching FHEM devices hört nicht mehr auf .. , bis dass ich Kitty abwürge und mich neu anmelde.

in FHEM habe ich siri und den Raum Homekit angelegt. Ein Homematic Gerät liegt in dem Raum.

Kann es sein , dass es die Gross/Kleinschreibung ist .. fhem, FHEM ..











binford6000

ZitatEin Homematic Gerät liegt in dem Raum.
Ist das Attribut "genericDeviceType" mit zB. switch gesetzt?

UweUwe

Sorry, zu schnell abgeschickt.

Habe es auch schon in der config.json mit "name" : "FHEM" versucht, anstatt "name" : "fhem".

dann läuft die Zeile

[12/25/2018, 12:25:41 PM] [fhem] Fetching FHEM devices...

leicht verändert mit

[12/25/2018, 12:25:41 PM] [FHEM] Fetching FHEM devices...

durch.

Ich denke, solange ich hier keine funktionierendem Homebridge Start hinbekomme, brauche ich nicht weiterzumachen.  Aber wo ist mein Thema? Schreibrechte?

Uwe


binford6000

#19
      pi@raspberrypi:~ $ su fhem
Password:
fhem@raspberrypi:/home/pi$ homebridge
[12/25/2018, 12:25:40 PM] Loaded config.json with 0 accessories and 1 platforms.
[12/25/2018, 12:25:40 PM] ---
[12/25/2018, 12:25:40 PM] Loaded plugin: homebridge-fhem
homebridge API version: 2.2
this is homebridge-fhem 0.4.5
[12/25/2018, 12:25:40 PM] Registering platform 'homebridge-fhem.FHEM'
[12/25/2018, 12:25:40 PM] ---
[12/25/2018, 12:25:40 PM] Loading 1 platforms...
[12/25/2018, 12:25:40 PM] [fhem] Initializing FHEM platform...
starting longpoll: https://127.0.0.1:8085/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1545737141223
[12/25/2018, 12:25:41 PM] [fhem] Fetching FHEM devices...
[12/25/2018, 12:25:41 PM] Loading 0 accessories...
Server listening on: http://<ip>:8282
[12/25/2018, 12:25:41 PM] [fhem] Fetching FHEM devices...
[12/25/2018, 12:25:42 PM] [fhem] Fetching FHEM devices...
[12/25/2018, 12:25:42 PM] [fhem] Fetching FHEM devices...


Homebridge startet doch manuell und sucht nach Geräten. Findet aber keine. Deswegen genericDeviceType checken...
Der Raum für Homebridge muss natürlich auch gesetzt sein.

VG Sebastian

binford6000

#20
Hast du auch ein siri Gerät unter fhem?
Internals:
   NAME       siri
   NR         147
   STATE      active
   TYPE       siri
   homebridge-fhem version 0.4.5
Attributes:
   devStateIcon active:ios-on-blue
   icon       it_smartphone
   room       90_System->92_Webdevices


Wenn homebridge läuft sollte hier im Reading homebridge-fhem die korrekte Version auftauchen.

VG Sebastian

UweUwe

Hallo binford6000

ne, ich habe in der Raum Homekit aktuell nur einen Homematic Rauchmelder HM_SEC_SD. Hier wird in der Attribut Liste dieses genericDeviceType gar nicht angeboten.

soll ich es mit attr   xx genericDeviceType switch  "besetzten"?


binford6000

Zitatne, ich habe in der Raum Homekit aktuell nur einen Homematic Rauchmelder HM_SEC_SD. Hier wird in der Attribut Liste dieses genericDeviceType gar nicht angeboten.

attr Rauchmelder userattr genericDeviceType
attr Rauchmelder genericDeviceType security


Keine Ahnung ob das was bringt. Habe nur Aktoren und Leuchtmittel in homebridge drin...
Hast du keine Aktoren oder Leuchtmittel?

VG Sebastian

UweUwe

Hallo binford 600,

ich bin gerade an einer Neuinstallation und hab erstmal nur die Rauchmelder drin. Ich will zuerst alle Dienste klarziehen, bevor ich an die Geräte gehen.

Das Attribut genericDeviceType auf die Rauchmelder habe ich hinbekommen, bringt aber beim homebridge start keine Änderung. Leider


MadMax-FHEM

#24
Warum willst du homebridge unter "fhem" laufen lassen, wenn es zumindest unter "pi" startet...

Da machen Tests mit "pi" auf der Console eigentlich keinen Sinn...
...bzw. bleiben dann nachher nur Probleme beim "Ummodeln"...

Wie geschrieben für Tests mal einen simplen (neuen) Webzugang einrichten...

Und vielleicht auch mal einen simplen Dummy einrichten.
Beispiel aus dem alexa-fhem Wiki sollte passen (bis auf alexaName etc.)...

Damit sind etliche "Problemquellen" ausgeschlossen...
Wenn das dann geht kann man ja stückchenweise ändern etc.

Auch mal den verlinkten Thread angeschaut!?

EDIT: was soll ein Rauchmelder denn mit homebridge tun? Bzw. homebridge mit dem Rauchmelder? ;)

Viel Erfolg, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hallo Joachim,

dann werde ich deinem Rat mal folgen.
Das alles dauert bei mir leider, da ich nicht der Experte bin..





MadMax-FHEM

Dauern ist kein Problem (wie du dem anderen Thread entnehmen kannst ;)  )...

Lieber langsam und in Ruhe!
Lieber 3x lesen und überlegen...

Viel Erfolg!

Achja: poste doch mal 'ls -la' vom "Installationsverzeichnis" und nenne auch mal den Pfad (also dort wo du homebridge "entpackt" hast und npm install ausgeführt hast [sofern das bei homebridge so ähnlich wie bei alexa-fhem ist]). Dann sieht man wie es ist/wäre, wenn man auf einen anderen User umstellen will...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hallo Joachim,

ich bin nach dem wiki.Homebridge_einrichten vorgegangen. Die Installation habe ich hier durchgeführt:

npm install -g -- unsafe-perm homebridge
und
npm install -g homebridge-fhem


Das Ergebnis von ls -la lautet:

pi@raspberrypi:~ $ ls -la
total 18660
drwxrwxrwx 8 pi   pi       4096 Dec 23 13:45 .
drwxr-xr-x 3 root root     4096 Nov 13 14:09 ..
-rw------- 1 pi   pi      17791 Dec 25 15:46 .bash_history
-rw-r--r-- 1 pi   pi        220 Nov 13 14:09 .bash_logout
-rw-r--r-- 1 pi   pi       3523 Nov 13 14:09 .bashrc
drwx------ 3 pi   pi       4096 Dec 23 13:40 .config
-rw-r--r-- 1 pi   pi      88408 Dec 12 14:54 coprocessor_update.eq3
-rw-r--r-- 1 pi   pi      88408 Dec 12 14:55 coprocessor_update.eq3.1
-rw-r--r-- 1 root root 18774592 Oct  7 19:03 fhem-5.9.deb
drwxr-xr-x 4 pi   pi       4096 Dec 23 13:45 .homebridge
-rw------- 1 pi   pi         48 Dec 20 20:52 .mysql_history
drwxr-xr-x 2 pi   pi       4096 Dec  8 08:03 .nano
drwxr-xr-x 5 root root     4096 Dec 23 13:23 node_modules
drwxr-xr-x 4 pi   pi       4096 Dec 23 13:40 .npm
-rw-r--r-- 1 root root    71093 Dec 23 13:23 package-lock.json
-rw-r--r-- 1 pi   pi        675 Nov 13 14:09 .profile
drwx------ 2 pi   pi       4096 Dec 23 11:36 .ssh
-rw-r--r-- 1 pi   pi        180 Dec 12 14:54 .wget-hsts


Du willst aber sicherlich noch:

pi@raspberrypi:~ $ cd /opt/fhem/.homebridge/
pi@raspberrypi:/opt/fhem/.homebridge $ ls -la
total 20
drwxr-xr-x  4 fhem dialout 4096 Dec 25 12:15 .
drwxrwxrwx 15 fhem dialout 4096 Dec 23 16:05 ..
drwxr-xr-x  2 fhem dialout 4096 Dec 23 19:53 accessories
-rw-r--r--  1 fhem dialout  439 Dec 25 12:10 config.json
drwxr-xr-x  2 fhem dialout 4096 Dec 23 19:53 persist


Uwe


MadMax-FHEM

#28
Wie du vielleicht selber sehen kannst:

Die Insrallationsdateien (also das "Programm" homebridge) "gehören" dem User "pi"...

...die Konfiguration liegt und "gehört" dem User "fhem"...

Ich würde (da ja wie geschrieben es von Console mit User "pi" läuft) die Sachen unter /opt/fhem/.homebridge nach /home/pi/.homebridge verschieben:

sudo mv /opt/fhem/.homebridge /home/pi/

Und danach die Rechte anpassen:

sudo chown -R pi:pi /home/pi/.homebridge


Und dann im Startscript (/etc/init.d/homebridge) "fhem" durch "pi" ersetzen (und auch gleich die 2 Einträge/Ergänzungen bzgl. Logging einfügen)


Hast du nach "nackt" /home/pi "installiert"...
...hätte man vorher evtl. ein Verzeichnis /home/pi/homebridge (nicht verwechseln mit: /home/pi/.homebridge !!) anlegen können, dann wäre (für später) klar, was nun zu homebridge gehört und was "einfach so" schon im Home-Verzeichnis vom User "pi" war... ;)


Dann (wie auch schon geschrieben) einen Webzugang "ohne alles" (also einfach define HomeBridgeWeb FHEMWEB 8088 global   / Port nat. gegebenenfalls anpassen) den dann in der config.json (jetzt unter /home/pi/.homebridge ;)  ) eintragen...

Einen "Testdummy" anlegen, etwa so:


define Lampe dummy
attr Lampe genericDeviceType switch
attr setList on off
attr room homebridge


Ob für homebridge weitere Attribute notwendig sind weiß ich leider nicht (bei alexa-fhem gibt es ja "spezielle" wie beispielsweise alexaName etc.).

Das Attribut room muss nat. zum "Filter" in der config.json passen.

Und dann mal Vollgas! ;)



Oder die Konfiguration lassen und die Installation auf den User fhem "umbiegen.
Ist aber (verm.) deutlich aufwändiger und ich kann da nicht viel helfen, dazu kenne ich mich mit node-js zu wenig aus.

Minimal müsstest du die "Berechtigungen" auf den User "fhem" "umbiegen", da aber dank der (für mich nicht anders erkennbaren) "nackten" Installation nach /home/pi/ nicht (für mich) so klar erkennbar ist was da alles dazu gehört: schwierig...
(der Befehl dazu würde so lauten: sudo chown -R fhem:dialout <Dateien/Verzeichnisse>  und da wird's halt schwer, also bei: <Dateien/Verzeichnisse>)

Und ob das reicht weiß ich nicht...
...wie geschrieben zu wenig Ahnung bzgl. node...

Besser wäre natürlich noch vorher die Dateien/Verzeichnisse (hier wieder: welche genau -> keine Ahnung) irgendwo nach /opt/fhem "verschieben", damit alles sauber beieinander liegt...
(evtl. halt nach /opt/fhem/homebridge   nicht verwechseln mit /opt/home/.homebridge)


So, noch ausführlicher kann ich nicht...
...alles weitere: Linux lernen, node-js einarbeiten und die Zusammenhänge (Installation/Programm, Konfiguration, Servicestart usw.)

EDIT: wie geschrieben (mehrfach) würde ich es einfach sauber unter "pi" zum Laufen bringen (alexa-fhem läuft bei mir auch unter dem User "pi" kann ganz normal per "Service-Steuerung" aus fhem heraus gestartet etc. werden). Ich verstehe da den Sinn (immer noch nicht) es unter "fhem" laufen zu lassen (bzw. beim "Umarbeiten" am Ende eine komplett kaputte Installation zu haben)... Aber: jedem sein System... ;)

EDIT2: mal den verlinkten Thread angesehen!? Da ist so ziemlich alles haarklein erläutert... ;)

Viel Erfolg, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hallo ..
habe jetzt die homebridge manuell am Laufen und kann über ios mit dem Dummy sprechen.
Ich sag jetzt nicht,wo mein Fehler war, er war trivial. und mehr als beschämend.
Ich habe alles unter fhem gelassen, uns von dort aus läuft es auch user fhem.
So hatte ich es ja auch gemäss Wiki machen sollen.. dies war der Grund für fhem.

Folgendes verwirrt mich im WIKI "Homebridge einrichten". Man lässt einen bis Ende "Manueller Start" die homebridge auf fhem einrichten und ab "Homebridge automatisch starten" sagt man :: startet den Homebridge Server als Benutzer "pi" und nimmt an, das sich .homebridge/config.json in seinem Homeverzeichnis unter /home/pi/befindet..
Irgendwie verwirrt dies den Anfänger.. (dieses Wochenende bekomme ich LINUX Kurs).
Ich habe jetzt die config.json entsprechend kopiert.

Nächstes Verständisthema habe ich mit hombridge Konfigurationsatei:

Es gibt ja 2 Wikis: Homebridge Start und Status in FHEM & Homebridge_einrichten .

Die Vorlage für den bomebridge "service" ist nahezu gleich.

In der Vorlage Wiki Homebridge Start und Staus in FHEM gibt es zusätzliche 4 Zeilen:

homeBridgeUser="fhem"
fhemHost=127.0.0.1
fhemhostTelnetPort=7072
fhemDefine"Sys_Homebridge"

Soll ich diese Zeilen in den Service "homebridge" einfügen.
==> ich hab ihn eingefügt.

Mein status mit homebridge ist jetzt folgendermassen:

Starte ich von PI "homebridge" so fährt homebridge hoch und zeigt mir das Scan-Bild und die Console bleibt blockiert bis Ctrl c

sudo service homebridge start bringt:

pi@raspberrypi:/ $ sudo service homebridge start
Warning: homebridge.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Job for homebridge.service failed because the control process exited with error code.
See "systemctl status homebridge.service" and "journalctl -xe" for details.
pi@raspberrypi:/ $


Sudo /etc/init.d/homebridge start bringt:

pi@raspberrypi:/ $ sudo /etc/init.d/homebridge start
Homebridge starting
Homebridge is running PID 1364
pi@raspberrypi:/ $


Bin etwas ratlos









MadMax-FHEM

#30
Gut aus Fehlern lernt man (sind meist unwichtig für andere ;)  )...

Ehrlich gesagt (wie geschrieben: homebridge ist nicht mein Ding / kann nur helfen weil/wo es ähnlich wie alexa-fhem ist) weiß ich nicht wo die Einträge hin müssen.

Du könntest mal die direkten Links zu den beiden Wikis posten, dann habe ich sicher die "richtigen" Wiki-Seiten und dann kann ich mal schauen (ob ich schlau werd ;)  ).

Was mich "verwirrt" sind die Ausgaben bzgl. homebridge.service weil das normalerweise die systemd-Startdatei ist (die du ja nicht hast!?)...
...also /etc/systemd/system/homebridge.service (bzw. /etc/systemd/system/homebridge).

Bist du sicher, dass da "nichts" ist!?
Bzw. hast du mal (versucht) den homebridge Service mittels systemctl "einzurichten"!?

Wie geschrieben: es gibt systemd und ("alt" aber funktioniert noch) initd.
Immer nur eines davon verwenden, sonst geht (alles) durcheinander...
Aktuell läuft es zumindest mit dem initd-Script also solltest du dabei (erst mal) bleiben.

Hast du folgendes ausgeführt:

sudo update-rc.d homebridge defaults

Siehe z.B. hier: https://www.debuntu.org/how-to-managing-services-with-update-rc-d/

Die Ausgabe beim Start mittels initd-Script sieht doch gut aus...

Hast du die Ergänzung für das Logging eingebaut?
Wenn du das willst kannst du auch das aktuelle initd-Script (/etc/initd/homebridge) posten, dann ergänze ich...
...hab jetzt wieder einen PC mit vernünftiger Tastatur :)

Denn wenn das mal als Service automatisch gestartet wird und du Fehler etc. suchen/finden willst geht ohne Log vermutlich nix mehr...

Ratlos? Warum? Läuft doch ;)

Was bringt ein:

sudo /etc/init.d/homebridge status
(nach einem: /etc/init.d/homebridge start  /   bzw. nach einem [re]boot)

Also ich würde sagen, wenn die Ausgabe von Status (nach dem manuellen Start) noch anzeigt, dass homebridge läuft, dann bist du hiermit fertig und musst nur noch schauen, dass deine Geräte erkannt werden etc.

Da kann ich aber dann nicht mehr helfen...
...würde dann empfehlen einen neuen Thread aufzumachen, der hier ist hiermit wohl "ausgelutscht" ;)

Wenn du die Links postest schaue ich selber...
...aber trotzdem schon mal die Frage: war/ist der Plan homebridge auch von fhem aus starten/stoppen zu können!?
(ist bei alexa-fhem ja ganz praktisch [aber kein MUSS], da ja nach Änderungen [neue Geräte, andere Namen etc.] homebridge neu gestartet werden muss damit das wirksam wird  /   kann/könnte aber auch per Linux-Console erfolgen  /  nicht ganz so praktisch aber wenn homebridge mal läuft und man alle Geräte "drin" hat muss man ja auch nix mehr neustarten)

Wenn du diesbezüglich noch nichts eingerichtet hast, evtl. mal einen Blick hierauf werfen: https://forum.fhem.de/index.php/topic,79952.msg719659.html#msg719659
(nutze ich zum Steuern von alexa-fhem / das mit den 2 Dummy und dem DOIF aus dem Wiki fand ich nicht so toll  /  musste aber mein Startscript etwas anpassen damit es gut lief aber die Anpassungen sind für homebridge bestimmt auch schnell gemacht ;)  )

Irgendwann evtl. überlegen auf systemd umzusteigen (bei Jessie war der Wechsel und ab Stretch ist eigentlich systemd Standard / also wer weiß wie lange initd noch unterstützt wird)...
...sollte in dem verlinkten Thread (also dem anderen homebridge einrichten für ungeübten) erläutert sein, wenn ich mich recht entsinne...

Viel Erfolg, Joachim

P.S.: Umstieg von initd auf systemd für fhem und alexa-fhem stehen auch bei mir demnächst an... ;)
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hallo Joachim,
nochmals vielen Dank für deine Unterstützung.
Irgendwie bin ich wieder zurückgefallen. Ich kann aktuell auch nicht mehr über die IOS Geräte steuern.
Die Antwort bei Scannen oder Pineingabe ist: "Gerät bereits hinzugefügt". Um dieses Gerät zu deinem Zuhause hinzuzufügen, musst du es erst zurücksetzen". App "Home" in IOS habe ich bereits gelöscht und neu geladen.. keine Änderung. In FHEM weiss ich nicht, wo ich dies zurücksetzen soll. Also das Zwischenhoch von gestern ist weg. Ich denke, dies muss ich zuerst lösen.
Das Thema tritt bei 2 IOS Geräten auf. Was meinst du? Dann kann ich mich daran machen, das Ganze zu automatisieren..

Ich denke, dass das Laden von homebridge ok ist. Er findet meinen Dummy.. etc.. mit cntl C kann ich ih beenden.

fhem@raspberrypi:~/.homebridge$ homebridge
[12/26/2018, 10:28:47 AM] Loaded config.json with 0 accessories and 1 platforms.
[12/26/2018, 10:28:47 AM] ---
[12/26/2018, 10:28:47 AM] Loaded plugin: homebridge-fhem
homebridge API version: 2.2
this is homebridge-fhem 0.4.5
[12/26/2018, 10:28:47 AM] Registering platform 'homebridge-fhem.FHEM'
[12/26/2018, 10:28:47 AM] ---
[12/26/2018, 10:28:47 AM] Loading 1 platforms...
[12/26/2018, 10:28:47 AM] [FHEM] Initializing FHEM platform...
starting longpoll: http://127.0.0.1:8085/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1545816528249
[12/26/2018, 10:28:48 AM] [FHEM] Fetching FHEM devices...
[12/26/2018, 10:28:48 AM] Loading 0 accessories...
Server listening on: http://<ip>:8282
[12/26/2018, 10:28:48 AM] [FHEM] Checking devices and attributes...
[12/26/2018, 10:28:48 AM] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=csrf_506270523012670&XHR=1
[12/26/2018, 10:28:48 AM] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=jsonlist2%20TYPE=siri&fwcsrf=csrf_506270523012670&XHR=1
[12/26/2018, 10:28:48 AM] [FHEM] siri device is siri
[12/26/2018, 10:28:48 AM] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=%7B$defs%7Bsiri%7D-%3E%7B%22homebridge-fhem%20version%22%7D%20=%20%220.4.5%22%7D&fwcsrf=csrf_506270523012670&XHR=1
[12/26/2018, 10:28:48 AM] [FHEM] Fetching FHEM devices...
[12/26/2018, 10:28:48 AM] [FHEM] fetching: http://127.0.0.1:8085/fhem?cmd=jsonlist2%20room=Homekit&fwcsrf=csrf_506270523012670&XHR=1
[12/26/2018, 10:28:48 AM] [FHEM] got: 1 results
[12/26/2018, 10:28:48 AM] [FHEM] SYS_Dummy is switch
[12/26/2018, 10:28:48 AM] [FHEM] SYS_Dummy has
[12/26/2018, 10:28:48 AM] [FHEM]   On [state;on,off]
  2018-12-26 10:28:48 caching: SYS_Dummy-state: off
[12/26/2018, 10:28:48 AM] [FHEM]     caching: On: false (as boolean; from 'off')
[12/26/2018, 10:28:48 AM] [FHEM] Initializing platform accessory 'SYS_Dummy'...
[12/26/2018, 10:28:48 AM] [FHEM] creating services for SYS_Dummy
[12/26/2018, 10:28:48 AM] [FHEM]   information service for SYS_Dummy
[12/26/2018, 10:28:48 AM] [FHEM]     manufacturer, model and serial number characteristics for SYS_Dummy
[12/26/2018, 10:28:48 AM] [FHEM]   Switch service for SYS_Dummy
[12/26/2018, 10:28:48 AM] [FHEM]     On characteristic for SYS_Dummy:state
Setup Payload:
X-HM://0023ISYWYO10F
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:



























Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ 031-45-154 │
    └────────────┘

[12/26/2018, 10:28:49 AM] Homebridge is running on port 51826.
^C[12/26/2018, 10:30:55 AM] Got SIGINT, shutting down Homebridge...



Die config.json, die in /opt/fhem/.homebridge steht,  sollte auch ok sein:

    "bridge":{


      "name": "Homebridge",
      "username":"CC:22:3D:E3:CE:30",
      "port":51826,
      "pin":"031-45-154"
    },

    "platforms":[
      {
        "platform":"FHEM",
        "name":"FHEM",
        "server":"127.0.0.1",
        "port":"8085",

        "auth": {"user": "xx", "pass": "xxx"},
        "filter":"room=Homekit"
       }
      ],
      "accessories":[]


Homebridge meldet sich ja an und sieht die Geräte..

==> die Datei zum Start homebridge als Service ist ja jetzt erstmal aussen vor.

Ich denke, dass irgendwo eine alte Konfiguration in den IOS Geräten hängt.

aber wo, und gleich in 2 Stück und nicht weh, auch nicht, wenn ich die App gelöscht habe.

Uwe

UweUwe

Bei einem Punkt muss ich mich noch präziser ausdrücken:

Wenn ich versuche das IOS Gerät per SCAN auf den Bildschirm versuche anzumelden, dann kommt die Fehlermeldung oben:

" "Gerät bereits hinzugefügt". Um dieses Gerät zu deinem Zuhause hinzuzufügen, musst du es erst zurücksetzen"."

Über den 8 stelligen Code findet er das Gerät nicht, kein IOS Gerät.. leider.

Uwe

MadMax-FHEM

Zitat von: UweUwe am 26 Dezember 2018, 11:09:40
Bei einem Punkt muss ich mich noch präziser ausdrücken:

Wenn ich versuche das IOS Gerät per SCAN auf den Bildschirm versuche anzumelden, dann kommt die Fehlermeldung oben:

" "Gerät bereits hinzugefügt". Um dieses Gerät zu deinem Zuhause hinzuzufügen, musst du es erst zurücksetzen"."

Über den 8 stelligen Code findet er das Gerät nicht, kein IOS Gerät.. leider.

Uwe

Hi Uwe,

ohje.

Aber leider (da kein "Apfelmensch") kann ich bzgl. spezifischer Homebridge-Probleme nicht helfen...

Aber du hast recht der Start sieht schon mal (wie geschrieben immer meinen Hintergrund: alexa-fhem beachten) gut aus.

Wie steht es um die anderen Dinge:

Logeintrag im Startscript: /etc/init.d/homebridge   ?

Und dem Befehl bzgl. update-rc.d  ?

Und noch die Antwort auf die Frage: hast du mal mittels systemctl den homebridge als Service "registriert" (oder versucht)?

Ich denke wir (biete ich halt an) solten mal das Logging eintragen (wenn nicht schon geschehen) und den Autostart als Service weiter machen/fertig machen.

Denn dann läuft homebridge schon mal...

Das andere Problem würde ich (entweder im jetzigen Stadium mit manuellem Start / oder nachdem Autostart mit Logging funktioniert) in einem neuen Thread angehen!

Also sowas wie "homebridge läuft und findet fhem Geräte Verbindung/Kopplung (oder wie immer man das nennt) mit Apple/IOs funktionert nicht"...

Wenn du das gleich lösen willst, kannst du auch später hier weiter machen bzgl. Autostart/Logging etc.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hallo Joachim,

ich gehe jetzt einzeln an: in /etc/init.d/homebridge geändert, gemäss deinen Hinweisen

Logfile eingefügt :

export LOGPATH="/etc/init.d/.homebridge/log"

Aufruf geändert

#       su - "fhem" -c "homebridge > /dev/null 2>&1 &"
        su - "fhem" -c "homebridge > $LOGPATH/homebridge-`date +%Y-%m`.log 2>&1 &"


Schreibrechte gegeben auf /etc/init.d/.homebridge/log

Ergebnis:

pi@raspberrypi:/ $ sudo /etc/init.d/homebridge start
-su: /etc/init.d/.homebridge/log/homebridge-2018-12.log: No such file or directory
Homebridge starting
Homebridge is not running


Die directory gibt es aber:

pi@raspberrypi:/.homebridge $ cd /log
pi@raspberrypi:/log $ sudo chmod 0777 .
pi@raspberrypi:/log $ sudo /etc/init.d/homebridge start
-su: /etc/init.d/.homebridge/log/homebridge-2018-12.log: No such file or directory
Homebridge starting
Homebridge is not running


Die wiki heissen:

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

Danke für die Unterstützung.

Uwe








MadMax-FHEM

#35
STOPP (und besser lesen!):

der Pfad für die Logdatei ist ja Quatsch!!!

Bitte einen Pfad nehmen den es gibt (oder einen anlegen wie geschrieben) UND der startende User (in dem Fall "fhem") MUSS dort rein SCHREIBEN dürfen!

Das ist bei /etc/init.d/... sicher NICHT der Fall!!

EDIT: und BITTE NICHT EINFACH IN WICHTIGEN SYSTEMVERZEICHNISSEN (wie /etc/...) RECHTE ÄNDERN ODER SONSTWIE RUMFUHRWERKEN!!!!!!!

EDIT3: zumindest nicht ohne VORHER genau drüber NACHGEDACHT zu haben und überlegt/gegoogelt/... WAS DAS DENN (genau) ANRICHTET!!

EDIT4: so kann ganz schnell ein System KOMPLETT "VERNICHTET" werden...

EDIT2: was spricht gegen: export LOGPATH="/opt/fhem/log"

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

#36
Also es gibt Verzeichnisse für Systemanwendungen:

meist: /usr/bin oder /usr/sbin

Dann Anwendungen der User selbst meist entweder im Home:

/home/pi

/opt/fhem

Oder halt in "shared" Verzeichnissen, wenn mehrere User das benutzen können sollen


Und dann gibt es die Systemkonfigurationen und die liegen unter:

/etc

Und dort sollte man ganz genau überlegen (und wissen) was man tut!
Nicht umsonst ist dafür eben "sudo" (superuser do / also: root!) notwendig!

Wenn immer ein "sudo" notwendig ist: GENAU prüfen! Auch die Schreibweise des Befehls etc.! Da können Schreibfehler schnell zur Zerstörung des Systems führen! Weil bei "root" wird nicht groß gefragt sondern einfach gemacht... Und "root" darf ALLES! Auch das System platt machen ;)

EDIT: wollte dich jetzt nicht erschrecken! Aber schwerst "sensibilisieren"! Lass auch die Finger von "sudo chmod 0777" und solchen Dingen!

EDIT3: bzw. wenn schon, dann mit Rechten auf Linux-Systemen beschäftigen! Weil nur weil jeder Zugriff auf /etc/init.d/log (also nur den letzten Teil laut deinen Eingaben) hat heißt das noch lange nicht, dass jeder überhaupt so weit kommt, weil vorher muss er ja erst mal nach /etc/und dann init.d usw. ;) Bzw. chmod ändert ja nur die Zugriffsrechte nicht aber die Besitzrechte etc.

EDIT2: wann war der Linux-Kurs noch mal ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Gut vielleicht nicht ganz so schlimm:

weil

Zitat
pi@raspberrypi:/.homebridge $ cd /log
pi@raspberrypi:/log $ sudo chmod 0777 .

ja vermutlich (besser man macht vorher ein "pwd" damit der der nicht vor dem Rechner sitzt auch mitkriegt "wo" du gerade "stehst") in /home/pi "standst" bzw. in /home/pi/.homebridge

Das ist wiederum das KONFIGURATIONSVERZEICHNIS von homebridge!

Also weiter mit Verzeichnissen:

Konfigurationen von Anwender-Programmen liegen meist:

home-des-nutzenden-Users/.NameDesProgrammes

Der "Punkt" sorgt dafür, dass man das Verzeichnis normalerweise (ls-Befehl) nicht sieht (verstecktes Verzeichnis) damit man da nicht "aus Versehen" rumturnt!

Eine Logdatei macht dort überhaupt keinen Sinn!

Und wie schon geschrieben: nicht einfach wild irgendwelche chmod-Befehle absetzen!

Und daher sollte die config.json ja mittlerweile unter:

/opt/fhem/.homebridge

liegen...

(zusätzlich als Kopie oder eigentlich reicht NUR dort / dann kommt man auch selbst nicht durcheinander)


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Zitat
Die directory gibt es aber:

Code: [Auswählen]

pi@raspberrypi:/.homebridge $ cd /log
pi@raspberrypi:/log $ sudo chmod 0777 .
pi@raspberrypi:/log $ sudo /etc/init.d/homebridge start
-su: /etc/init.d/.homebridge/log/homebridge-2018-12.log: No such file or directory
Homebridge starting
Homebridge is not running

NEIN gibt es NICHT!

Weil:

/home/pi/.homebridge/log (was es vielleicht gibt und du ja auch fleißig mit den Rechten gearbeitet hast) ist eben NICHT:

/etc/init.d/homebridge/log

was in deiner LOG_PATH Variablen steht!!
Und wo auch laut Fehlermeldung versucht wird die Logdatei anzulegen (weil das ja so in der LOG_PATH Variablen steht ;)  )...

(und es ist gut so, dass du vermutlich/hoffentlich DORT nicht rumgefuhrwerkt hast!)

Entschuldige die ersten erschreckenden Posts aber ich dachte zunächst du hättest in /etc/init.d mit Logs und Rechten gefuhrwerkt...
...war aber wohl (hoffentlich/vermutlich) nicht so... :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hi,
mag sein, dass ich noch nen Unsinn gemacht habe. Ein ist klar, viel habe ich dazugelernt.. :)

Ich hab die Logdatei dahin gebaut, wo du vorgeschlagen hast:

# export LOGPATH="/home/pi/homebridge/log"

und auch den Startaufruf auf PI umgebaut, da jetzt alles auf PI läuft:
3 Versionen habe ich als Startaufruf:

        su - "pi" -c "homebridge > /dev/null 2>&1 &"
#       su - "fhem" -c "homebridge > $LOGPATH/homebridge-`date +%Y-%m`.log 2>&1 &"
#       su - "pi" -c "homebridge > $LOGPATH/homebridge-`date +%Y-%m`.log 2>&1 &"


1. ist die ursprüngliche im Wiki vorgeschlagen.
2. Ist deine ursprüngliche
3. ist die auf pi umgebaute von dir

zu 1: homebridge wird gestartet, so sagt er, kein Logfile, klar.
zu 2: habe ich nicht getestet.
zu 3: bringt folgende Fehlermeldung:

pi@raspberrypi:/etc/init.d $ sudo /etc/init.d/homebridge start
-su: /homebridge-2018-12.log: Permission denied
Homebridge starting
Homebridge is not running



In /home/pi/homebridge/log kann ich von pi aus Dateien aus Nano heraus schreiben und wieder löschen.
Damit sollte pi Schreibrechte haben.  Trotzdem die Fehlermeldung, oder ist der Abbruch nicht  im Logfile begründet?

Uwe


MadMax-FHEM

#40
Den Lattenzaun vor dem export musst du aber weg machen!

Sonst ist die Variable "auskommentiert" und dann vermutlich im "lokalen" Verzeichnis geloggt (was vermutlich /etc/init.d/ ist, da ja von dort das Script gestartet wird)... äh natürlich in "root" also '/' dort hat "pi" (und "fhem") schlechte Karten ;)

Also da es ja auch mit fhem als User per initd Script gestartet werden konnte würde ich Variante 2 mit dem zuletzt vorgeschlagenen Logpfad (/opt/fhem/log) nehmen...

EDIT: dachte schon ich hätte dich "verscheucht"... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hi, ne verscheuchen geht bei mir nicht so leicht. Wir hatten Weihnachtsfamilienfeier in der Grossfamilie.


# Gartenzaun
Ich versuchte zu erklären, dass ich die beiden Varianten 1 und 3 versucht habe, nacheinander, durch verschieben des # in die entsprechende Zeile. Die dargestellte Variante ist, ohne # vor der ersten Zeile,  "1" und bringt keinen Fehler .. aber auch kein Logfile.

Die Variante 3 und da habe ich den Gartenzaun vor die Zeile 1 gemacht, bringt den Fehler mit dem "Permisson", aber will ganz offensichtlich ein Logfile schreiben, aber erfolglos.. Dies mit dem Gartenzaun habe ich verstanden..

Uwe

MadMax-FHEM

#42
Ich meinte den "Gartenzaun" bei der export LOG_PATH Zeile...

Weil wenn das auskommentiert ist, wird das mit der Logdatei (wie du gemerkt hast) nicht funktionieren...

Das andere hab ich schon verstanden...

EDIT: du kannst auch die LOGPATH Variable weglassen und folgendes schreiben:


su - "fhem" -c "homebridge > /opt/fhem/log/homebridge-`date +%Y-%m`.log 2>&1 &"


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hi Joachim,

das sieht doch ganz ordentlich aus: hier das Logfile..

pi@raspberrypi:~/homebridge/log $ cat homebridge-2018-12.log homebridge-2018-12.log
[12/26/2018, 10:45:57 PM] Loaded config.json with 0 accessories and 1 platforms.
[12/26/2018, 10:45:57 PM] ---
[12/26/2018, 10:45:58 PM] Loaded plugin: homebridge-fhem
homebridge API version: 2.2
this is homebridge-fhem 0.4.5
[12/26/2018, 10:45:58 PM] Registering platform 'homebridge-fhem.FHEM'
[12/26/2018, 10:45:58 PM] ---
[12/26/2018, 10:45:58 PM] Loading 1 platforms...
[12/26/2018, 10:45:58 PM] [FHEM] Initializing FHEM platform...
starting longpoll: http://127.0.0.1:8085/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1545860758715
[12/26/2018, 10:45:58 PM] [FHEM] Fetching FHEM devices...
[12/26/2018, 10:45:58 PM] Loading 0 accessories...
Server listening on: http://<ip>:8282
[12/26/2018, 10:45:58 PM] [FHEM] Checking devices and attributes...
[12/26/2018, 10:45:58 PM] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=csrf_192894397093198&XHR=1
[12/26/2018, 10:45:58 PM] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=jsonlist2%20TYPE=siri&fwcsrf=csrf_192894397093198&XHR=1
[12/26/2018, 10:45:58 PM] [FHEM] siri device is siri
[12/26/2018, 10:45:58 PM] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=%7B$defs%7Bsiri%7D-%3E%7B%22homebridge-fhem%20version%22%7D%20=%20%220.4.5%22%7D&fwcsrf=csrf_192894397093198&XHR=1
[12/26/2018, 10:45:59 PM] [FHEM] Fetching FHEM devices...
[12/26/2018, 10:45:59 PM] [FHEM] fetching: http://127.0.0.1:8085/fhem?cmd=jsonlist2%20room=Homekit&fwcsrf=csrf_192894397093198&XHR=1
[12/26/2018, 10:45:59 PM] [FHEM] got: 1 results
[12/26/2018, 10:45:59 PM] [FHEM] SYS_Dummy is switch
[12/26/2018, 10:45:59 PM] [FHEM] SYS_Dummy has
[12/26/2018, 10:45:59 PM] [FHEM]   On [state;on,off]
  2018-12-26 22:45:59 caching: SYS_Dummy-state: off
[12/26/2018, 10:45:59 PM] [FHEM]     caching: On: false (as boolean; from 'off')
[12/26/2018, 10:45:59 PM] [FHEM] Initializing platform accessory 'SYS_Dummy'...
[12/26/2018, 10:45:59 PM] [FHEM] creating services for SYS_Dummy
[12/26/2018, 10:45:59 PM] [FHEM]   information service for SYS_Dummy
[12/26/2018, 10:45:59 PM] [FHEM]     manufacturer, model and serial number characteristics for SYS_Dummy
[12/26/2018, 10:45:59 PM] [FHEM]   Switch service for SYS_Dummy
[12/26/2018, 10:45:59 PM] [FHEM]     On characteristic for SYS_Dummy:state
Setup Payload:
X-HM://0023O9G6Z54MJ
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:



























Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ 123-12-123 │
    └────────────┘

[12/26/2018, 10:45:59 PM] Homebridge is running on port 51826.
[12/26/2018, 10:45:57 PM] Loaded config.json with 0 accessories and 1 platforms.
[12/26/2018, 10:45:57 PM] ---
[12/26/2018, 10:45:58 PM] Loaded plugin: homebridge-fhem
homebridge API version: 2.2
this is homebridge-fhem 0.4.5
[12/26/2018, 10:45:58 PM] Registering platform 'homebridge-fhem.FHEM'
[12/26/2018, 10:45:58 PM] ---
[12/26/2018, 10:45:58 PM] Loading 1 platforms...
[12/26/2018, 10:45:58 PM] [FHEM] Initializing FHEM platform...
starting longpoll: http://127.0.0.1:8085/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1545860758715
[12/26/2018, 10:45:58 PM] [FHEM] Fetching FHEM devices...
[12/26/2018, 10:45:58 PM] Loading 0 accessories...
Server listening on: http://<ip>:8282
[12/26/2018, 10:45:58 PM] [FHEM] Checking devices and attributes...
[12/26/2018, 10:45:58 PM] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=csrf_192894397093198&XHR=1
[12/26/2018, 10:45:58 PM] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=jsonlist2%20TYPE=siri&fwcsrf=csrf_192894397093198&XHR=1
[12/26/2018, 10:45:58 PM] [FHEM] siri device is siri
[12/26/2018, 10:45:58 PM] [FHEM]   executing: http://127.0.0.1:8085/fhem?cmd=%7B$defs%7Bsiri%7D-%3E%7B%22homebridge-fhem%20version%22%7D%20=%20%220.4.5%22%7D&fwcsrf=csrf_192894397093198&XHR=1
[12/26/2018, 10:45:59 PM] [FHEM] Fetching FHEM devices...
[12/26/2018, 10:45:59 PM] [FHEM] fetching: http://127.0.0.1:8085/fhem?cmd=jsonlist2%20room=Homekit&fwcsrf=csrf_192894397093198&XHR=1
[12/26/2018, 10:45:59 PM] [FHEM] got: 1 results
[12/26/2018, 10:45:59 PM] [FHEM] SYS_Dummy is switch
[12/26/2018, 10:45:59 PM] [FHEM] SYS_Dummy has
[12/26/2018, 10:45:59 PM] [FHEM]   On [state;on,off]
  2018-12-26 22:45:59 caching: SYS_Dummy-state: off
[12/26/2018, 10:45:59 PM] [FHEM]     caching: On: false (as boolean; from 'off')
[12/26/2018, 10:45:59 PM] [FHEM] Initializing platform accessory 'SYS_Dummy'...
[12/26/2018, 10:45:59 PM] [FHEM] creating services for SYS_Dummy
[12/26/2018, 10:45:59 PM] [FHEM]   information service for SYS_Dummy
[12/26/2018, 10:45:59 PM] [FHEM]     manufacturer, model and serial number characteristics for SYS_Dummy
[12/26/2018, 10:45:59 PM] [FHEM]   Switch service for SYS_Dummy
[12/26/2018, 10:45:59 PM] [FHEM]     On characteristic for SYS_Dummy:state
Setup Payload:
X-HM://0023O9G6Z54MJ
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:



























Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ 123-12-123 │
    └────────────┘

[12/26/2018, 10:45:59 PM] Homebridge is running on port 51826.



Merci, weiter sind wir gekommen, bzw. hast du mich geschoben..
Mein Zugriff auf IOS werde ich in einer neuen Session starten.

?? aber eine Frage habe ich noch... warum sehe ich 2 x , auf den ersten Blick identische Blöcke im LOGfile
Mit scheint, dass die "Anmeldung" 2 x doppelt hintereinander läuft.. Oder macht das das Logfile?

Uwe

MadMax-FHEM

Wenn du den Aufruf cat 2x mit dem Logfile "fütterst" kommt auch 2x Logfile raus ;)

Zitat
cat homebridge-2018-12.log homebridge-2018-12.log

Aber ich musste auch eine Weile schauen ;)

Aber: sieht gut aus.

Wie gesagt welcher User startet und wo das Log liegt musst du entscheiden...
...aber wenn es läuft ist es homebridge egal von wem es gestartet wurde ;)

Viele starten (und installieren) es halt durch den User "fhem" damit die Logdatei auch unter /opt/fhem/log liegt...

Geschmackssache :)

Wenn du statt:


su - "fhem" -c "homebridge > /opt/fhem/log/homebridge-`date +%Y-%m`.log 2>&1 &"


Einen "Doppelpfeil" machst, dann wird die Logdatei immer fortgeschrieben...
...statt bei jedem Start eine neue angelegt...

Auch Geschmackssache...

Also so (Beispiel):


su - "fhem" -c "homebridge >> /opt/fhem/log/homebridge-`date +%Y-%m`.log 2>&1 &"


https://wiki.ubuntuusers.de/Shell/Umleitungen/

Aber ich will dich nicht weiter "verwirren" ;)

Lieber mal lassen wie es ist...

Viel Spaß bzw. Erfolg mit der Anmeldung!
Da kann ich leider nicht helfen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hallo MadMax FHEM,
da bin ich wieder. Wollte jetzt Alexa installieren. Ist dazu jetzt ein guter Zeitpunkt und über welchen Weg soll man gehen?
Du hast mit bei Homebridge gute und nützliche Tips gegeben. Jetzt will ich von Start an auf das richtige Pferd setzen.
Merci

Uwe

MadMax-FHEM

Hallo,

ob jetzt (schon) der richtige Zeitpunkt ist weiß ich nicht (so genau).

Aber alexa-fhem (wenn man "nur" den Smart Home Skill braucht/will) ging noch nie so einfach :)

Siehe:
https://wiki.fhem.de/wiki/FHEM_Connector
https://forum.fhem.de/index.php/topic,95272.msg880923.html#msg880923

Es wird halt grad noch (in den letzten Zügen) dran gearbeitet...
...ich hab's auf einem Testsystem schon laufen.
Ging fix und problemlos...
...aber wie gesagt: neues Testsystem (nackt ohne irgendwas ;)  )

Werde aber (wenn es keine "Baustelle" mehr ist) umziehen auf mein aktuelles System und auch ein paar andere Dinge von meinem "Haupt-Testsystem" auf mein "Hauptsystem" ziehen...

Je nachdem wieviel Lust/Energie du hast evtl. noch etwas "nachbasteln" zu müssen oder wie gern du es jetzt schon haben willst: (etwas) warten (und "beobachten"/lesen) oder (sofort) los legen ;)

oder irgendwas dazwischen ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Nomo

Und Jahre später scheitere auch ich kläglich am Homebridge Service. Vielleicht hat Joachim ja noch etwas Geduld oder interessiert sich für das Rätsel:

Installiert nach Anleitung
  https://wiki.fhem.de/wiki/Homebridge_einrichten und
  https://wiki.fhem.de/wiki/Homebridge_Start_und_Status_in_FHEM

Im Terminal läuft Homebridge prima, als user fhem. Soweit so gut.
Das init.d/homebridge script macht aber irgendwie faxen:
stefan@raspberrypi:/opt/fhem/log $ sudo service homebridge status
● homebridge.service - LSB: Start daemon at boot time for homebridge
     Loaded: loaded (/etc/init.d/homebridge; generated)
     Active: active (exited) since Tue 2023-03-14 14:50:20 CET; 7h ago
       Docs: man:systemd-sysv-generator(8)
    Process: 547 ExecStart=/etc/init.d/homebridge start (code=exited, status=0/SUCCESS)
        CPU: 2.726s

Mär 14 14:50:09 raspberrypi systemd[1]: Starting LSB: Start daemon at boot time for homebridge...
Mär 14 14:50:11 raspberrypi su[563]: (to fhem) root on none
Mär 14 14:50:11 raspberrypi su[563]: pam_unix(su-l:session): session opened for user fhem(uid=999) by (uid=0)
Mär 14 14:50:15 raspberrypi homebridge[547]: Homebridge starting
Mär 14 14:50:16 raspberrypi homebridge[704]: Can't connect to 127.0.0.1:7072
Mär 14 14:50:16 raspberrypi homebridge[738]: Can't connect to 127.0.0.1:7072
Mär 14 14:50:18 raspberrypi homebridge[930]: Homebridge is not running
Mär 14 14:50:19 raspberrypi homebridge[935]: Can't connect to 127.0.0.1:7072
Mär 14 14:50:20 raspberrypi homebridge[1042]: Can't connect to 127.0.0.1:7072
Mär 14 14:50:20 raspberrypi systemd[1]: Started LSB: Start daemon at boot time for homebridge.


Script:
#!/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"
export LOGPATH="/opt/fhem/log"

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 > $LOGPATH/homebridge-`date +%Y-%m`.log 2>&1 &"
#        su - fhem -c "/usr/local/bin/homebridge > /opt/fhem/log/homebridge.log 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


Die Log-Datei wird ums v@#@! nicht vom service angelegt.
Ein sudo -n journalctl -o cat -n 2500 -f -u homebridge
zeigt keine Änderungen wenn ich manuell "sudo service homebridge start" eingebe.
:-\
Wenn ich das script direkt aufrufe kommt:
stefan@raspberrypi:~ $ sudo /etc/init.d/homebridge start
Homebridge starting
Homebridge is not running


Auch wird keine /opt/fhem/log/homebridge2023-03.log Datei erzeugt.

die Permissions der init.d sind identisch mit den anderen Dateien (755 root.root) und die links in die rcX.d Verzeichnisse sehen auch gut aus.

Es ist mir ein Rätsel, warum der Service weder startet noch die log Datei angelegt wird. Permission der /opt/fhem/log lässt natürlich das Anlegen zu...


MadMax-FHEM

#48
Was hast du für ein System?

init.d ist doch schon lange "ersetzt" durch systemd...

Und ich habe noch nicht gesehen, dass homebridge als User fhem läuft...
Zeig das doch mal.

Wenn das tatsächlich geht, dann sollte ein Unit-File (systemd) auch gehen...

EDIT:
Was ich nich sehe:
Zitat
Mär 14 14:50:16 raspberrypi homebridge[704]: Can't connect to 127.0.0.1:7072

Steht im Startscript, also dass Telnet verwendet wird. Bin jetzt aber kein Homebridgenutzer/-kenner...
Bei einer neuen Installation von fhem wird kein Telnet mehr angelegt.

define telnetPort telnet 7072 global

In deinem Fall (local host 127.0.0.1) kann wohl auch das global im define weg. Ist aus Sicherheitssicht besser, da dann telnet nur lokal geht.
Ob Telnet generell (noch) gebraucht wird von Homebridge oder "nur", weil das in deinem (alten) Script steht: keine Ahnung...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

DeeSPe

Der Homebridge Dienst sollte per systemd bereits seit Jahren so eingerichtet werden:
https://gist.github.com/johannrichard/0ad0de1feb6adb9eb61a/

Dann einfach da Modul 98_sysemd benutzen um den Dienst aus FHEM heraus steuerbar zu machen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Nomo

Zitat von: MadMax-FHEM am 15 März 2023, 07:05:03
Was hast du für ein System?

init.d ist doch schon lange "ersetzt" durch systemd...

Und ich habe noch nicht gesehen, dass homebridge als User fhem läuft...
Zeig das doch mal.

Wenn das tatsächlich geht, dann sollte ein Unit-File (systemd) auch gehen...

EDIT:
Was ich nich sehe:
Steht im Startscript, also dass Telnet verwendet wird. Bin jetzt aber kein Homebridgenutzer/-kenner...
Bei einer neuen Installation von fhem wird kein Telnet mehr angelegt.

define telnetPort telnet 7072 global

In deinem Fall (local host 127.0.0.1) kann wohl auch das global im define weg. Ist aus Sicherheitssicht besser, da dann telnet nur lokal geht.
Ob Telnet generell (noch) gebraucht wird von Homebridge oder "nur", weil das in deinem (alten) Script steht: keine Ahnung...

Gruß, Joachim

Ich habe nach einem SD-Fehler ein neu aufgesetztes Raspbian System mit bullseye.
Ich habe mich ein paar Jahre nicht mehr mit den aktuellen Entwicklungen bei fhem beschäftigt und habe noch andere Hobbies, man möge mir das verzeihen.
Ich finde die Idee gut, dass man Wissen sammelt und viele sich an der Aktualisierung beteiligen. Insofern finde ich das fhem wiki grundsätzlich gut.
Natürlich schaue ich bei den Artikeln, wann die zuletzt bearbeitet wurden. Bei der Homebridge Installations Anleitung steht da: Diese Seite wurde zuletzt am 26. Januar 2022 um 08:59 Uhr bearbeitet
Wenn man in der hem-Gemeinde einhellig der Meinung ist, dass diese Art der Installation völlig veraltet ist, wäre es vielleicht sinnvoll, diesen Artikel zumindest mit einem Hinweis zu versehen, dass er veraltet ist.
Man erspart damit Mitmenschen sinnlos Zeit zu verschwenden.

Aber wenn das heute mein Linux-Update-Trainings-Tag ist, soll es halt so sein.

Homebridge läuft grundsätzlich unter dem User fhem, wie in der Anleitung beschrieben. Ist getestet, bei Bedarf schicke ich den Beweis.

Telnet geht grundsätzlich, kann ich auf dem CLI nachvollziehen. Global habe ich entfernt, danke für den Hinweis.

Ja, der erste Telnet geht ins Leere, da läuft der fhem wohl noch nicht. Ist ein grundsätzliches Problem, keine Ahnung warum das noch niemandem aufgefallen ist. Das erklärt aber nicht, warum auch ein späterer Start des services fehlschlägt. Und warum die f**ing Logdatei nicht angelegt wird.
Selbst wenn ich die telnets auskommentiere, startet die Homebridge nicht und es wird auch keine Logdatei angelegt. Also what am I missing here????

Ok, ich lese mich dann mal in System ein, wenn niemand eine Idee hat..


MadMax-FHEM

Mal die Anmerkungen von mir und DeeSPe bzgl. systemd vs. initd (was du ja "vehement" nutzt/nutzen willst ;)  ) beachten...
(Seit Stretch ist systemd statt initd)

Zitat
Homebridge läuft grundsätzlich unter dem User fhem, wie in der Anleitung beschrieben. Ist getestet, bei Bedarf schicke ich den Beweis.

Ja wäre hilfreich, wie geschrieben.

Weil wenn das geht und man (wir) sieht wie du es startest, kann man (wir) evtl. ein systemd Unit-File erstellen.
(wenn du es nicht zeigst: Unit-File selber machen)

Aber wie geschrieben: evtl. hilft ja bereits der Link von DeeSPe...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Nomo

Zitat von: MadMax-FHEM am 15 März 2023, 12:18:24
Mal die Anmerkungen von mir und DeeSPe bzgl. systemd vs. initd (was du ja "vehement" nutzt/nutzen willst ;)  ) beachten...
(Seit Stretch ist systemd statt initd)

Ja wäre hilfreich, wie geschrieben.

Weil wenn das geht und man (wir) sieht wie du es startest, kann man (wir) evtl. ein systemd Unit-File erstellen.
(wenn du es nicht zeigst: Unit-File selber machen)

Aber wie geschrieben: evtl. hilft ja bereits der Link von DeeSPe...

Gruß, Joachim

Sorry wenn das so rüberkommt, als wollte ich unbedingt init.d verwenden. Ich wollte nur darauf hinweisen, dass das so in der "aktuellen" Anleitung steht. Und natürlich wurmt es mich, wenn ich nicht verstehe, warum ein einfaches script nicht das tut, was da drin steht. Init.d ist abgehakt, ich gelobe systemd zu verwenden 😊


stefan@raspberrypi:~ $ sudo -u fhem bash
fhem@raspberrypi:/home/stefan$ [b]homebridge >> /opt/fhem/log/homebridge.log 2>&1 &
[/b][1] 8669
fhem@raspberrypi:/home/stefan$ pidof homebridge
fhem@raspberrypi:/home/stefan$ pidof homebridge
8669
fhem@raspberrypi:/home/stefan$ tail -f /opt/fhem/log/homebridge.log
                                                     
                                                     
                                                     
Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │ 012-45-696 │     
    └────────────┘     
                       
[15.3.2023, 14:38:08] Homebridge v1.6.0 (HAP v0.11.0) (Homebridge) is running on port 51826.
^C
fhem@raspberrypi:/home/stefan$


Und das Beste: Ich kann mit dem iPhone sogar die fhem devices steuern. Läuft also UND funktioniert. Ein Traum 😊

Wenn wir jetzt einen Homebridge.service neu bauen (und das funktioniert auch 😊 ), wie bekommen wir das in die Anleitung? Kann das nur ein Owner, gibt es eine Autoren-Gruppe?

Aber eins nach dem anderen 😜


MadMax-FHEM

Zitat von: Nomo am 15 März 2023, 14:59:47
Sorry wenn das so rüberkommt, als wollte ich unbedingt init.d verwenden. Ich wollte nur darauf hinweisen, dass das so in der "aktuellen" Anleitung steht. Und natürlich wurmt es mich, wenn ich nicht verstehe, warum ein einfaches script nicht das tut, was da drin steht. Init.d ist abgehakt, ich gelobe systemd zu verwenden 😊

Alles gut ;-)

Wollte nur sehen, ob User fhem das mit dem init.d Script tut oder einfach direkt homebridge aufruft...

Ich bin jetzt auch kein Unit-File Spezialist (habe nur ein oder 2 für "simple Dinge" angelegt), würde aber mal folgendes ins Rennen werfen (angelehnt an meine simplen Unit-Files und an das verlinkte etc.)


sudo nano /etc/systemd/system/homebridge.service


Da dann folgendes pasten:


[Unit]
Description=Node.js HomeKit Server
After=network-online.target

[Service]
Type=simple
User=fhem
# EnvironmentFile=/etc/default/homebridge
# Adapt this to your specific setup (could be /usr/bin/homebridge)
# See comments below for more information
ExecStart=/usr/local/bin/homebridge >> /opt/fhem/log/homebridge.log 2>&1
Restart=on-failure
RestartSec=10
#KillMode=process

[Install]
WantedBy=multi-user.target


Vorausgesetzt homebridge liegt unter /usr/local/bin:


which hombridge


oder auch

whereis homebridge


Dann folgendes


sudo systemctl daemon-reload

sudo systemctl enable homebridge.service


Und dann mittels


sudo systemctl start homebridge.service


Und dann mal sehen.

Bei einigen Punkten muss man probieren:

# EnvironmentFile=/etc/default/homebridge
Ich habe es mal auskommentiert, mal sehen...

#KillMode=process
Müsste ich mich einlesen, auch mal auskommentiert...

Restart=on-failure
RestartSec=10
Gut da muss man halt sehen was "vernünftig" ist/besser passt und ob 10sec ausreichen.
Man könnte das auch mal weglassen (auskommentieren), wäre ja nur, dass nachgestartet wird, falls mal was wäre...

Viel Erfolg, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Nomo

Zitat von: MadMax-FHEM am 15 März 2023, 15:31:49
Alles gut ;-)

Wollte nur sehen, ob User fhem das mit dem init.d Script tut oder einfach direkt homebridge aufruft...

Ich bin jetzt auch kein Unit-File Spezialist (habe nur ein oder 2 für "simple Dinge" angelegt), würde aber mal folgendes ins Rennen werfen (angelehnt an meine simplen Unit-Files und an das verlinkte etc.)


sudo nano /etc/systemd/system/homebridge.service


Da dann folgendes pasten:


[Unit]
Description=Node.js HomeKit Server
After=network-online.target

[Service]
Type=simple
User=fhem
# EnvironmentFile=/etc/default/homebridge
# Adapt this to your specific setup (could be /usr/bin/homebridge)
# See comments below for more information
ExecStart=/usr/local/bin/homebridge >> /opt/fhem/log/homebridge.log 2>&1
Restart=on-failure
RestartSec=10
#KillMode=process

[Install]
WantedBy=multi-user.target


Vorausgesetzt homebridge liegt unter /usr/local/bin:


which hombridge


oder auch

whereis homebridge


Dann folgendes


sudo systemctl daemon-reload

sudo systemctl enable homebridge.service


Und dann mittels


sudo systemctl start homebridge.service


Und dann mal sehen.

Bei einigen Punkten muss man probieren:

# EnvironmentFile=/etc/default/homebridge
Ich habe es mal auskommentiert, mal sehen...

#KillMode=process
Müsste ich mich einlesen, auch mal auskommentiert...

Restart=on-failure
RestartSec=10
Gut da muss man halt sehen was "vernünftig" ist/besser passt und ob 10sec ausreichen.
Man könnte das auch mal weglassen (auskommentieren), wäre ja nur, dass nachgestartet wird, falls mal was wäre...

Viel Erfolg, Joachim

stefan@raspberrypi:~ $ sudo nano /etc/systemd/system/homebridge.service
stefan@raspberrypi:~ $ sudo systemctl daemon-reload
stefan@raspberrypi:~ $ sudo systemctl enable homebridge.service
Synchronizing state of homebridge.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable homebridge
stefan@raspberrypi:~ $ sudo systemctl start homebridge.service
stefan@raspberrypi:~ $ pidof homebridge
stefan@raspberrypi:~ $

😕
Logfile wird auch nicht angefasst.
sudo -n journalctl -o cat -n 2500 -f -u homebridge  schweigt still

Habe das Logfile mal weggemacht, dafür ist ja das journal da?
Geht auch nicht 😕😕

Vielleicht war das mit dem homebridgemapping für heute genug Erfolg 😊

Bei Amazon gibt es gerade die Ring Intercom für 49€. Deswegen überhaupt Homebridge, weil es da ein plugin gibt 😜

Laut ChatGPT ist das ja total einfach, das in fhem einzubinden:
Um Ring Intercom in FHEM zu integrieren, gibt es verschiedene Ansätze, je nachdem, welche Art von Integration Sie suchen. Hier sind einige Möglichkeiten, wie Sie Ring Intercom in FHEM einbinden können:

Verwendung des offiziellen Ring-APIs: Ring bietet eine offizielle API an, die es Ihnen ermöglicht, auf Ihre Ring-Geräte zuzugreifen und sie zu steuern. Sie können das FHEM-Modul "FHEM::Ring" verwenden, um diese API zu integrieren und auf Ihre Ring Intercom-Geräte zuzugreifen. Weitere Informationen zur Verwendung des Moduls finden Sie in der FHEM-Dokumentation.
Verwendung von ioBroker: ioBroker ist eine alternative Open-Source-Plattform für die Hausautomatisierung, die Ring-Integrationen unterstützt. Sie können ioBroker in FHEM einbinden und die Ring-Adapter von ioBroker verwenden, um auf Ihre Ring Intercom-Geräte zuzugreifen.
Verwendung von Node-RED: Node-RED ist eine visuelle Programmierplattform, die es Ihnen ermöglicht, auf einfache Weise Datenflüsse zwischen verschiedenen Geräten und Diensten zu erstellen. Sie können Node-RED in FHEM einbinden und einen Node-RED-Fluss erstellen, der auf Ihre Ring Intercom-Geräte zugreift und sie steuert.
In jedem Fall sollten Sie sicherstellen, dass Sie die erforderlichen API-Schlüssel und Authentifizierungsdaten haben, um auf Ihre Ring-Intercom-Geräte zugreifen zu können. Außerdem sollten Sie die Dokumentationen und Anleitungen sorgfältig lesen, um sicherzustellen, dass Sie die Integration korrekt durchführen.

;D



MadMax-FHEM

Hast du nach dem Start des Services mal den Status abgefragt?

Also sudo systemctl status homebridge.service ?

Mal die Alternativen probiert?

Wie genau sieht dein Unit File aus:

cat /etc/systemd/system/homebridge.service

Wenn du etwas am Unit File änderst das daemon reload nicht vergessen...

Was ist die Ausgabe von ls - la /etc/systemd/system

init.d hast du deaktiviert/gelöscht?

Sonst hast du ja 2x homebridge als Service...
Evtl. das Unit File mal anders nennen, nur um Namenskonflikt bzgl. Service zu vermeiden...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Nomo

Zitat von: MadMax-FHEM am 15 März 2023, 17:20:04
Hast du nach dem Start des Services mal den Status abgefragt?

Also sudo systemctl status homebridge.service ?

stefan@raspberrypi:~ $ sudo systemctl status homebridge.service
● homebridge.service - Node.js HomeKit Server
     Loaded: loaded (/etc/systemd/system/homebridge.service; enabled; vendor preset: enabled)
     Active: active (exited) since Wed 2023-03-15 10:55:44 CET; 7h ago
      Tasks: 0 (limit: 1596)
        CPU: 0
     CGroup: /system.slice/homebridge.service

Mär 15 10:55:34 raspberrypi systemd[1]: Starting LSB: Start daemon at boot time for homebridge...
Mär 15 10:55:35 raspberrypi su[554]: (to fhem) root on none
Mär 15 10:55:36 raspberrypi su[554]: pam_unix(su-l:session): session opened for user fhem(uid=999) by (uid=0)
Mär 15 10:55:40 raspberrypi homebridge[543]: Homebridge starting
Mär 15 10:55:42 raspberrypi homebridge[824]: Homebridge is not running
Mär 15 10:55:43 raspberrypi homebridge[827]: Can't connect to 127.0.0.1:7072
Mär 15 10:55:44 raspberrypi homebridge[944]: Can't connect to 127.0.0.1:7072
Mär 15 10:55:44 raspberrypi systemd[1]: Started LSB: Start daemon at boot time for homebridge.
stefan@raspberrypi:~ $

Komisch, das mit dem "start" hat nicht wirklich gut funktioniert.

Zitat von: MadMax-FHEM am 15 März 2023, 17:20:04
Mal die Alternativen probiert?
Welche?

Zitat von: MadMax-FHEM am 15 März 2023, 17:20:04
Wie genau sieht dein Unit File aus:

cat /etc/systemd/system/homebridge.service

Wenn du etwas am Unit File änderst das daemon reload nicht vergessen...
[Unit]
Description=Node.js HomeKit Server
After=network-online.target

[Service]
Type=simple
User=fhem
# EnvironmentFile=/etc/default/homebridge
# Adapt this to your specific setup (could be /usr/bin/homebridge)
# See comments below for more information
ExecStart=/usr/local/bin/homebridge
Restart=on-failure
RestartSec=10
#KillMode=process

[Install]
WantedBy=multi-user.target


Zitat von: MadMax-FHEM am 15 März 2023, 17:20:04Was ist die Ausgabe von ls - la /etc/systemd/system
lrwxrwxrwx  1 root root   35 22. Sep 02:09 display-manager.service -> /lib/systemd/system/lightdm.service
-rw-r--r--  1 root root  456 15. Feb 02:16 fhem.service
drwxr-xr-x  2 root root 4096 15. Feb 01:54 getty.target.wants
drwxr-xr-x  2 root root 4096 22. Sep 02:14 getty@tty1.service.d
drwxr-xr-x  2 root root 4096 22. Sep 02:07 graphical.target.wants
drwxr-xr-x  2 root root 4096 22. Sep 02:06 halt.target.wants
-rw-r--r--  1 root root  380 15. Mär 17:56 homebridge.service
-rw-r--r--  1 root root 1024 15. Mär 16:16 .homebridge.servicesudo.swp
drwxr-xr-x  2 root root 4096 15. Mär 16:24 multi-user.target.wants
drwxr-xr-x  2 root root 4096 22. Sep 02:07 network-online.target.wants


Zitat von: MadMax-FHEM am 15 März 2023, 17:20:04init.d hast du deaktiviert/gelöscht?

Sonst hast du ja 2x homebridge als Service...
Evtl. das Unit File mal anders nennen, nur um Namenskonflikt bzgl. Service zu vermeiden...

stefan@raspberrypi:~ $ mv /etc/init.d/homebridge /etc/init.d/homebridge.obsolete
mv: das Verschieben von '/etc/init.d/homebridge' nach '/etc/init.d/homebridge.obsolete' ist nicht möglich: Keine Berechtigung
stefan@raspberrypi:~ $ sudo mv /etc/init.d/homebridge /etc/init.d/homebridge.obsolete
stefan@raspberrypi:~ $ sudo update-rc.d homebridge remove
stefan@raspberrypi:~ $ ls -la /etc/rc?.d/*homebridge
ls: Zugriff auf '/etc/rc?.d/*homebridge' nicht möglich: Datei oder Verzeichnis nicht gefunden
stefan@raspberrypi:~ $ sudo systemctl daemon-reload
stefan@raspberrypi:~ $ sudo systemctl enable homebridge.service
stefan@raspberrypi:~ $ sudo systemctl start homebridge.service
stefan@raspberrypi:~ $ sudo systemctl status homebridge.service
● homebridge.service - Node.js HomeKit Server
     Loaded: loaded (/etc/systemd/system/homebridge.service; enabled; vendor preset: enabled)
     Active: active (exited) since Wed 2023-03-15 10:55:44 CET; 7h ago
      Tasks: 0 (limit: 1596)
        CPU: 0
     CGroup: /system.slice/homebridge.service

Mär 15 10:55:34 raspberrypi systemd[1]: Starting LSB: Start daemon at boot time for homebridge...
Mär 15 10:55:35 raspberrypi su[554]: (to fhem) root on none
Mär 15 10:55:36 raspberrypi su[554]: pam_unix(su-l:session): session opened for user fhem(uid=999) by (uid=0)
Mär 15 10:55:40 raspberrypi homebridge[543]: Homebridge starting
Mär 15 10:55:42 raspberrypi homebridge[824]: Homebridge is not running
Mär 15 10:55:43 raspberrypi homebridge[827]: Can't connect to 127.0.0.1:7072
Mär 15 10:55:44 raspberrypi homebridge[944]: Can't connect to 127.0.0.1:7072
Mär 15 10:55:44 raspberrypi systemd[1]: Started LSB: Start daemon at boot time for homebridge.
stefan@raspberrypi:~ $


?

MadMax-FHEM

#57
Wo kommt das her:

-rw-r--r--  1 root root 1024 15. Mär 16:16 .homebridge.servicesudo.swp
EDIT: eine "Sicherungskopie" vom Editieren? Wie hast du die Unit-Datei angelegt? Wie/womit kopiert? Was kommt bei cat /etc/systemd/system/homebridge.service


Es sieht so aus als würde immer noch init.d genutzt.

Gib doch dem Unit-File mal einen anderen Namen und nat. den Service unter dem neuen Namen neu registrieren.
EDIT:
sudo mv /etc/systemd/system homebridge.service /etc/systemd/system/test.service

Vorher den "alten" Dienst mal disablen und dann nat. den "neuen" Dienst wieder aktivieren:
sudo systemctl disable homebridge.service
dann "rename", also sudo mv ...
und dann
sudo systemctl enable test.service
Und nat. mal starten: sudo systemctl start test.service
Besser aber mal mit dem "allersimpelsten" Unit-File, siehe nächster Post.
Also evtl. mal disablen und homebridge.service löschen und neu anlegen unter test.service...

Stimmt der Pfad zu homebridge?

Wie hast du kopiert bzw. die Unit Datei angelegt?

Sieht irgendwie eigenartig aus, was du hier "präsentierst"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Werf doch mal alles raus bis auf ExecStart und Install...

Bzw. probier mal folgendes:


[Unit]
Description=Node.js HomeKit Server

[Service]
User=fhem
Group=dialout
# EnvironmentFile=/etc/default/homebridge
# Adapt this to your specific setup (could be /usr/bin/homebridge)
# See comments below for more information
ExecStart=/usr/local/bin/homebridge

[Install]
WantedBy=multi-user.target


Und prüfen, ob homebridge auch unter /usr/local/bin liegt, also das was von Console aus als User fhem geht.

Also mal als User fhem genau das genau so (mit Pfad) starten...

Wenn das geht, das (simple) Unit File aber nicht, dann weiß ich nicht weiter bzw. ist wohl irgendwas "schräg" bei dir...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Nomo

Zitat von: MadMax-FHEM am 15 März 2023, 19:33:50
Wo kommt das her:

-rw-r--r--  1 root root 1024 15. Mär 16:16 .homebridge.servicesudo.swp
EDIT: eine "Sicherungskopie" vom Editieren? Wie hast du die Unit-Datei angelegt? Wie/womit kopiert?
Ja komisch. Habe mir im Terminal irgendwie ein Sonderzeichen eingefangen und nicht mehr gesehen, das ich tippe bzw. reinkopiere. Da habe ich wohl durch mehrmals nano starten diese Datei provoziert. Nano hatte mich gefragt, ob ich die Datei wirklich mehrmals öffnen möchte...

Datei ist gelöscht, alles gut.

Zitat von: MadMax-FHEM am 15 März 2023, 19:33:50



Es sieht so aus als würde immer noch init.d genutzt.

Gib doch dem Unit-File mal einen anderen Namen und nat. den Service unter dem neuen Namen neu registrieren.
EDIT:
sudo mv /etc/systemd/system homebridge.service /etc/systemd/system/test.service

Vorher den "alten" Dienst mal disablen und dann nat. den "neuen" Dienst wieder aktivieren:
sudo systemctl disable homebridge.service
dann "rename", also sudo mv ...
und dann
sudo systemctl enable test.service
Und nat. mal starten: sudo systemctl start test.service
Besser aber mal mit dem "allersimpelsten" Unit-File, siehe nächster Post.
Also evtl. mal disablen und homebridge.service löschen und neu anlegen unter test.service...

Stimmt der Pfad zu homebridge?

Wie hast du kopiert bzw. die Unit Datei angelegt?

Sieht irgendwie eigenartig aus, was du hier "präsentierst"...


Was soll ich sagen, ich habe mal neu gebootet und es geht. Eigentlich untypisch für Linux, das ist eigentlich der Grund, warum ich Windows nicht so mag. Aber diesmal war irgendwas schräg, auch nach dem Löschen/umbenennen der init.d Datei etc.

Jetzt erscheint auch wieder der log im systemd Journal. 😊
Wer braucht da schon eine eigene Log-Datei...

Alle Fragen die Du noch hattest, hatte ich schon vorher geprüft, aber das wußtest Du ja nicht.

VIELEN DANK!

Ich bin mir fast sicher, dass es auch mit init.d funktioniert hätte, aber ich habe da jetzt auch keine Lust mehr zu suchen.
Was machen wir jetzt mit https://wiki.fhem.de/wiki/Homebridge_Start_und_Status_in_FHEM ? Wer darf das ändern?

MadMax-FHEM

Zitat von: Nomo am 16 März 2023, 00:13:38
Ja komisch. Habe mir im Terminal irgendwie ein Sonderzeichen eingefangen und nicht mehr gesehen, das ich tippe bzw. reinkopiere. Da habe ich wohl durch mehrmals nano starten diese Datei provoziert. Nano hatte mich gefragt, ob ich die Datei wirklich mehrmals öffnen möchte...

Datei ist gelöscht, alles gut.

Was soll ich sagen, ich habe mal neu gebootet und es geht. Eigentlich untypisch für Linux, das ist eigentlich der Grund, warum ich Windows nicht so mag. Aber diesmal war irgendwas schräg, auch nach dem Löschen/umbenennen der init.d Datei etc.

Da hat(te) sich wohl beim Anlegen/Aktivieren/usw. des Service etwas verhakt...
Bie mir geht/ging das eigentlich immer problemlos (wie es sein sollte)...

Aber wenn's geht :)


Zitat von: Nomo am 16 März 2023, 00:13:38
Jetzt erscheint auch wieder der log im systemd Journal. 😊
Wer braucht da schon eine eigene Log-Datei...

Alle Fragen die Du noch hattest, hatte ich schon vorher geprüft, aber das wußtest Du ja nicht.

VIELEN DANK!

Gerne.

Evtl. (doch) mal (selber) mit Unit-File beschäftigen und so Dinge wie Restart und Abhängigkeit (z.B. network-target o.ä. / wichtig: die Services muss es geben und auch so heißen / network-online-target vs. network-target -> bei mir habe ich Dienste von network-target abhängig / network-online-target?  )...

Nicht, dass dann bei einem Ausfall/Reboot etc. es doch wieder nicht (gleich) geht...


Zitat von: Nomo am 16 März 2023, 00:13:38
Was machen wir jetzt mit https://wiki.fhem.de/wiki/Homebridge_Start_und_Status_in_FHEM ? Wer darf das ändern?

Du :)

Einfach Zugang beantragen https://wiki.fhem.de/wiki/Hauptseite ganz unten...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)