sudo npm i -g homebridge-gpio-motion-sensor
sudo npm i -g --unsafe-perm homebridge-gpio-motion-sensor
sudo npm i -g homebridge-gpio-motion-sensor
sudo npm i -g --unsafe-perm homebridge-gpio-motion-sensor
Wenn die App zum installieren verwendet wird, dann wird systemctl und journalctl nicht verwendet.
Stefan
Am Beispiel von homebridge_cmdswitch2
"on_cmd": "/usr/local/bin/pihole enable",
"off_cmd": "/usr/local/bin/pihole disable 5s",
Heißt ich komme damit eh nicht zum eigentlichen Ziel und sollte eher darauf aufbauen:
Pi-Hole
Ja, das habe ich tatsächlich so ausprobiert und das funktionierte auch. Viel Erfolg!
Stefan
Wir helfen gern. Vielleicht noch mal so nebenbei, auch wenn es vielleicht uninteressant ist: was soll dieses Skript genau machen?
Ich will diesem namenlosen Skript mal den Namen namenlosesSkript.sh geben und dann kann man damit offenbar das machen:
namenlosesSkript.sh Get ruft den Befehl pihole status auf. Wenn das Ergebnis dieses Befehls das Wort Enabled enthält, dann soll ein Wert ausgegeben werden. Enthält das Ergebnis des Befehls dagegen nicht das Wort Enabled, dann soll genau das gleiche passieren. Das nenne ich fortgeschrittene Logik. Ein
hätte das gleiche getan.
namenlosesSkript.sh Set fragt das 4. Argument des Befehls ab, wobei die Argumente 2 und 3 völlig frei wählbar sind. Also
namenlosesSkript.sh Set Bla Fasel 0 macht das gleiche wie namenlosesSkript.sh Set Aber Holla 0 und stoppt damit pi-hole.
Wozu braucht man das jetzt wirklich, wenn man direkt pihole disable eingeben könnte?
Stefan
Was genau ist dein Problem? Versteh ich nämlich nicht ![]()
Weil du Homebridge falsch aufrufst. Der Befehl heißt sudo systemctl start homebridge und nicht einfach nur homebridge.
Stefan
Die Fehlermeldung lautet:
couldn't read file "./eq3/eq3.exp": no such file or directory
Was nichts anderes bedeutet, als dass der Pfad zu eq3.exp falsch ist. Wahrscheinlich hast du den Befehl auf der Shell als User pi aufgerufen, und da geht der natürlich. Wenn deine Homebridge unter einem anderen User läuft als pi (also als User homebridge oder als User root), dann geht's halt nicht mehr.
Du musst den ganzen Pfad zu eq3/eq3.exp setzen. Also so etwas wie
"on_cmd": "expect /home/pi/eq3/eq3.exp 00:1A:22:11:1D:21 boost",
Falls du die Forenanleitung verwendet hast, um deine Homebridge aufzusetzen, dann würde ich so vorgehen:
sudo cp -a eq3 /var/homebridge
sudo chown -R homebridge:homebridge /var/homebridge
und in config.json:
"on_cmd": "expect /var/homebridge/eq3/eq3.exp 00:1A:22:11:1D:21 boost",
Stefan
Allerdings springt der Switch nach ein paar Sekunden wieder auf "aus".
In der command line vom Pi-hole Rasperry wird der Status anders angezeigt.
Ja, das habe ich auch gesehen. Ich musste das jetzt mal nachbauen und komme zu diesem Ergebnis:
"on": "/usr/local/bin/pihole enable",
"off": "/usr/local/bin/pihole disable",
"state": "/usr/local/bin/pihole status | grep -i 'Pi-hole blocking is'",
"on_value": "[?] pi-hole blocking is enabled",
"exact_match": true,
Ich habe den Wert, den homebridge-ssh in das Homebridge-Log schreibt genommen und in die config.json eingefügt, mitsamt dem Häkchen. Das funktioniert bei mir. Nach dem Neustart von Homebridge zumindest wird der Schalter in der Home-App auf on gesetzt und bleibt da auch. In EVE passiert das gleiche, der Schalter steht auf on und bleibt dort.
Allerdings bleibt der Schalter auch auf on, wenn man Pi-Hole manuell auf der Shell stoppt, indem man dort pihole disable eingibt. Das ist unschön, liegt aber wohl daran, das homebridge-ssh den Status nur dann checkt, wenn man mit den Apps den Raum aufruft und der Schalter aktualisiert wird.
Stefan
Wir freuen uns hier immer ungemein über das Logfile, dass du hier mal posten solltest. Ich nehme an, dass du homebridge-config-ui-x einsetzt, um im Browser etwas zu sehen, und da gibt es auch das Log.
Stefan
Ich nutze dein Plugin nicht, kann also nur mutmaßen.
Der Befehl pihole status ergibt bei mir
Dein Befehl pihole status | grep -i 'Pi-hole blocking is Enabled' ergibt:
pi@redpi:~ $ pihole status | grep -i 'Pi-hole blocking is Enabled'
[?] Pi-hole blocking is Enabled
Das wäre übrigens auch mit pihole status | grep blocking gegangen, aber das nur mal so nebenbei. Sieht trotzdem gut aus.
Was mir auf homebridge-ssh auffällt, ist dass da auch ein "on_value" in der config.json steht, der bei dir fehlt. Ich würde ja fast glauben, dass die Konfiguration so aussehen müsste:
oder
wobei letzteres mit dem Häkchen Probleme machen könnte. Das "exact_match" steht wahrscheinlich dafür, dass der der "on_value" exakt mit dem Ergebnis von "state" übereinstimmen muss (true) oder nur ein Teil davon übereinstimmen muss (false).
Stefan
Halt - dimmen geht doch dann aber nicht sschuste ?! Bzw krass wenn das geht dann kannte ich das auch nicht
Verstehe ich was falsch? Mein Paulmann Cephei Schalt/Dimm-Controller taucht in der Hue-App auf und kann dort ganz normal geschaltet und gedimmt werden, und über homebridge-hue wird er in der Home-App anzeigt und kann dort ganz normal geschaltet und gedimmt werden.
Stefan
Ja. Mit der Philips Hue-App geht es direkt, für HomeKit-Programme brauchst du die Homebridge mit homebridge-hue, da Philips Nicht-Hue-Geräte nicht automatisch an HomeKit weiterreicht.
Stefan
Vielleicht gibt's da was von den Hue-Labs.
Ich bin noch so gar nicht in dem Thema pi-hole.
Macht das die Internetverbindung nicht langsamer wenn erst alles über den Pi geht?
Würde das mal hier mit einem Pi 2 ausprobieren wollen. Geht das auch per WiFi, oder muss der über LAN an die FRITZ!Box?
Es geht ja nicht über den Raspi. Es geht genauso wie vorher mit dem kleinen Unterschied, dass nicht dein Router als DNS verwendet wird, sondern der Raspi. Anstelle der richtigen IP-Adresse für irgendeine Werbeseite oder einen Werbeserver liefert Pi-Hole auf dem Raspi deinem Browser irgendeinen Blödsinn zurück. Also statt beispielsweise 166.77.88.99 bekommt dein Browser 0.0.0.0 genannt.
Ich bemerke keinen Unterschied außer bei SPON, hier dauert das Anzeigen der Spiegel-Seite ewig.
Stefan
Oder Raspi rebooten.
Was sagt denn das Kommando
which homebridge
?
Stefan