Ich hatte mit meinem Setup dieses Problem auch, bei mir läuft ebenfalls Pihole zusammen mit der Homebridge auf dem Pi. Nach einigen Recherchen bin ich zum selben Schluß gekommen wie du: Wenn der Pi bootet und der Homebridge.service startet, ist das Netzwerk noch nicht so weit dass Internetadressen aufgelöst werden.
Ich habe mir folgendermaßen geholfen:
Die Homebridge.service Datei habe ich folgendermaßen angepasst.
[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=pi
ExecStartPre=/home/pi/.homebridge/meinSkript.sh
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=3
KillMode=process
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
Alles anzeigen
Die Zeile "ExecStartPre=" führt dazu dass, bevor der Hombridge Dienst gestartet wird, dieser Befehl ausgeführt wird.
Unter: /home/pi/.homebridge/ habe ich die Datei meinSkript.sh mit diesem Inhalt angelegt:
#!/bin/sh
echo "Commencing access lock..."
result=0
alt_fault=""
while [ $result -eq 0 ]
do
case "$(curl -s --max-time 2 -I http://google.com | sed 's/^[^ ]* *\([0-9]\).*/\1/; 1q')" in
[23]) echo "HTTP connectivity is up"; result=1;;
5) alt_fault="The web proxy won't let us through";;
*) alt_fault="The network is down or very slow";;
esac
done
echo "Obtained connection"
Alles anzeigen
Dieses Skript prüft wiederholt ob die Internetadresse "http://google.com" erreichbar ist und beendet sich danach.
Wenn du die Datei gespeichert hast, musst du sie mit:
sudo chmod +x /home/pi/.homebridge/meinSkript.sh
ausführbar machen.
Zum Schluß muss die geänderte Unit Datei des Homebridge.service noch dem System bekannt gemacht werden:
sudo systemctl daemon-reload
Ab jetzt Wird beim Boot des Raspi zuerst das "meinSkript.sh" ausgeführt und wenn das erfolgreich war, startet die Homebridge durch. In Zukunft dauert der Neustart einen Moment länger.
Wenn deine Internetverbindung down ist, dürfte deine Homebridge allerdings gar nicht mehr starten, das habe ich aber noch nicht ausprobiert.
Bei mir läuft es mit dieser Änderung seit Monaten stabil, bei jedem Neustart der Homebridge und bei jedem Reboot.