homebridge von init.d auf systemd umstellen
-
-
Kann durchaus bleiben
Bei mir startet das ganze leider nicht
-- Logs begin at Thu 2016-11-03 17:16:43 UTC. --
Sep 20 11:33:21 raspberrypi sudo[251]: root : TTY=unknown ; PWD=/root ; USER=root ; ENV=DEBUG=* ; COMMAND=/usr/local/bin/homebridge
Sep 20 11:33:21 raspberrypi sudo[251]: pam_unix(sudo:session): session opened for user root by (uid=0)
Sep 20 11:33:22 raspberrypi systemd[1]: Started LSB: Start daemon at boot time.
Sep 20 11:33:40 raspberrypi node[277]: *** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
Sep 20 11:33:40 raspberrypi node[277]: *** WARNING *** Please fix your application to use the native API of Avahi!
Sep 20 11:33:40 raspberrypi node[277]: *** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
Sep 20 11:33:40 raspberrypi node[277]: *** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
Sep 20 11:33:40 raspberrypi node[277]: *** WARNING *** Please fix your application to use the native API of Avahi!
Sep 20 11:33:40 raspberrypi node[277]: *** WARNING *** For more information see <http://0pointer.de/avahi-compa…node&f=DNSServiceRegister>
Sep 20 11:35:06 raspberrypi sudo[251]: pam_unix(sudo:session): session closed for user root
Jemand eine Idee was ich falsch mache?
!!!!! homebridge beenden !!!!!!
Homebridge als Dienst einrichten mit automatischem neustart nach 10 sekunden.
folgendes einfügen in das Editorfenster:
Code# Defaults / Configuration options for homebridge # The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others) HOMEBRIDGE_OPTS=-U /var/homebridge # If you uncomment the following line, homebridge will log more # You can display this via systemd's journalctl: journalctl -f -u homebridge # DEBUG=*
mit "CTRL+X" "j" "enter" beenden
folgendes einfügen in das Editorfenster:
Code
Alles anzeigen[Unit] Description=Node.js HomeKit Server After=syslog.target network-online.target [Service] Type=simple User=homebridge EnvironmentFile=/etc/default/homebridge ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS Restart=on-failure RestartSec=10 KillMode=process [Install] WantedBy=multi-user.target
wenn hombridge als root laufen soll, dann diese Zeile anpassen
in
mit "CTRL+X" "j" "enter" beenden
folgende Zeilen jeweils mit Enter bestätigen
(Zeile für Zeile einzeln abarbeiten)
Codesudo useradd --system homebridge sudo mkdir /var/homebridge sudo cp -r /home/pi/.homebridge/* /var/homebridge/ sudo chmod -R 0777 /var/homebridge sudo systemctl daemon-reload sudo systemctl enable homebridge sudo usermod -a -G systemd-journal homebridge
Wenn die homebridge bisher als root lief, den cp Befehl bitte anpassen in:
jetzt kann man mit die homebridge:
"sudo systemctl start homebridge
" starten"sudo systemctl stop homebridge"
beenden"
sudo systemctl restart homebridge
" neustarten"
sudo systemctl sttus homebridge
" den aktuellen status ansehen"sudo journalctl -f -u homebridge" das live LOG beobachten
WICHTIG!!
"sudo nano /var/homebridge/config.json"
ist ab jetzt ist die aktuelle Konfigurations Datei, da müssen alle Eintragungen für die Plugins gemacht werden.
hoffe das Hilft
Ist das ausschließlich fuer Homebridge gedacht/gemacht, oder lassen sich die Codezeilen auch anpassen auf einen anderen Dienst?!
Ich habe jetzt AirSonos laufen und das stuerzt ab und zu ab. Und bevor ich jedesmal per terminal den Dienst neu atarte, wuerd ich das schon geil finden, wenn das mein raspi per skript selbst macht! ?
Selbstverständlich kann das für anderes angepasst werden.
Ich habe gerade die einzelnen Schritte durchgeführt. Es ist beim der vorletzten zeile folgende Meldung erschienen:
sudo systemctl enable homebridge
Synchronizing state for homebridge.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d homebridge defaults
Executing /usr/sbin/update-rc.d homebridge enable
Failed to execute operation: Bad message
Wenn ich homebridge starten will kommt folgendes:
sudo systemctl restart homebridge
Failed to restart homebridge.service: Unit homebridge.service failed to load: Bad message. See system logs and 'systemctl status homebridge.service' for details.
pi@raspberrypi:~ $ systemctl status homebridge.service
? homebridge.service - Node.js HomeKit
Loaded: error (Reason: Bad message)
Active: inactive (dead)
Was kann ich tun, um die Modifikation fertigstellen zu können?
Oder kann ich alles irgendwie rückgängig machen? Habe mir keine Sicherung gemacht ???
Folgender Status wird ausgegeben:
sudo systemctl status homebridge -l
? homebridge.service - Node.js HomeKit
Loaded: error (Reason: Bad message)
Active: inactive (dead)
Okt 11 22:40:29 raspberrypi systemd[1]: [/etc/systemd/system/homebridge.service:3] Missing '='.
Okt 11 22:40:29 raspberrypi systemd[1]: [/etc/systemd/system/homebridge.service:3] Missing '='.
See system logs and 'systemctl status homebridge.service' for details.
Was steht da?
Bin leider unterwegs.
tail -f /var/log/syslog
ich sehe gerade deine 2te Meldung.
Prüfe die beiden Service Dateien
Es fehlt ein = irgendwo, sagt das log
sudo nano /etc/default/homebridge
sudo nano /etc/systemd/system/homebridge.service
Wie im Post 1,
(Das kopieren Ist leider etwas mühselig mit dem iPad, zitieren geht garnicht)
Im ersten Befehl wird das angezeigt:
Defaults / Configuration options
# for homebridge The following
# settings tells homebridge where to
# find the config.json file and
# where to persist the data (i.e.
# pairing and others)
HOMEBRIDGE_OPTS=-U /var/homebridge
# If you uncomment the following
# line, homebridge will log more You
# can display this via systemd's
# journalctl: journalctl -f -u
# homebridge
# DEBUG=*
Bei der zweiten Zeile foogendes:
[Unit]
Description=Node.js HomeKit
Server
After=syslog.target
network-online.target
[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/local/bin/homebridge
$HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Ich kann nichts finden. Soll ich vielleicht die beiden dateien mit
sudo rm -rf jeweils löschen und dann neu eingeben?
Und dann nochmals die Befehle
- sudo systemctl enable homebridge
und der letzte Befehl eingeben?
Vor dem enable....
sudo systemctl daemon-reload
Noch eingeben
alles was mit # anfängt ist nur Kommentar
ExecStart=/usr/local/bin/homebridge
$HOMEBRIDGE_OPTS
Das stimmt nicht, muss alles auf einer Zeile sein siehe vorn.
Es kommt weiterhin folgende meldung:
sudo systemctl daemon-reload
pi@raspberrypi:~ $ sudo systemctl enable homebridge
Synchronizing state for homebridge.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d homebridge defaults
Executing /usr/sbin/update-rc.d homebridge enable
Failed to execute operation: Bad message
Und was steht im log?