Beiträge von sschuste

    By the way... nachdem ich meine beiden Homebridges aus HomeKit entfernt hatte waren auch die ganzen Regeln & Timer die mit den Geräten der Homebridge Instanzen verknüpft waren weg, ob das er Normalzustand ist kann ich nicht sagen...

    Ja, das ist normal. Sobald die Geräte, auf die die Regeln basieren, verschwunden sind, räumt HomeKit komplett auf.


    Stefan

    Die 'Plus' brauchen besondere Kabel? Gut, dass ich das nicht wusste ^^. Ich habe fünf Plusse über einen Splitter (ähnlich wie diesen hier) und Gender Changer (ähnlich wie den hier) an ein Notebook-Netzteil (ähnlich wie dieses) angeschlossen. Das funktioniert wunderbar, und daher denke ich, dass eine einfache Verlängerung wie diese funktionieren sollte.


    Wenn mein Gefrickel läuft, sollte ein einfaches Kabel meiner Meinung nach keine Hürde darstellen.


    Disclaimer: meine Lightstrips hängen an anderen Produkten als den verlinkten. Es ging mir hier nur um Förderung eurer Vorstellungskraft :) Die verlinkte Verlängerung habe ich nie getestet.


    Stefan

    Was genau bedeutet "leider läuft das bei mir mit dem Tool nicht"? Welches Tool? Was läuft nicht? Was passiert genau? Wie gehst du vor?


    Ich befördere Dateien von meinem Mac, indem ich das Terminal-Programm starte und dort eintippe:

    rsync -avzP hbridge_install.tar.gz [email protected]:


    und logge mich dort ein mit:

    ssh [email protected]


    Soll heißen, du kannst das direkt im Terminal eintippen und brauchst nicht erst dieses "Neue entfernte Verbindung"-Fenster zu öffnen.


    Stefan

    iMar 31 10:57:04 raspberrypi sudo[2248]: pam_unix(sudo:auth): auth could not identify password for [homebridge]

    Mar 31 10:57:04 raspberrypi sudo[2248]: homebridge : user NOT in sudoers ; TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/local/bin/ps4-waker standby


    Das ist einfach: der User homebridge darf sudo nicht benutzen. Dem kann aber abgeholfen werden, indem er in der Datei /etc/sudoers eingetragen wird.


    Mach das:

    sudo nano /etc/sudoers.d/homebridge


    Eine leerer Editor ist das Ergebnis, das die Datei /etc/sudoers.d/homebridge noch nicht existiert (wahrscheinlich nicht).


    Dort trägst du jetzt ein:

    homebridge ALL=(root) SETENV:NOPASSWD: /usr/local/bin/ps4-waker standby


    speicherst den Schmodder ab und versuchst es nochmal.


    Die obige Änderung der Rechte des Users homebridge bedeutet nicht, dass der jetzt für alles sudo-Rechte hat. Es bedeutet, dass er sudo mit diesem einen Befehl benutzen kann. Man kann natürlich die Rechte auch für alle Befehle des Systems verteilen. Ich rate ab, aber sei's drum: homebridge  ALL=(ALL:ALL) ALL). Ich empfehle aber, dem User homebridge nur die sudo-Rechte für die Befehle zu geben, die er auch wirklich braucht.


    Bei mir sieht das so aus (vor allem für das Plugin homebridge-config-ui-x):

    homebridge ALL=(root) SETENV:NOPASSWD: /usr/bin/npm, /bin/systemctl restart homebridge, /bin/journalctl, /usr/bin/node /usr/lib/node_modules/homebridge-config-ui-x/node_modules/nsp/bin/nsp check


    In meiner Config darf der User homebridge beispielsweise die Homebridge restarten, aber nicht etwa stoppen. Mit der PS4 darf der User homebridge nix anstellen, was ursächlich daran liegt, dass ich über keine PS4 verfüge :)


    Testen kann man das prima auf der Shell, indem man dort als User homebridge die Befehle eingibt:

    sudo /usr/local/bin/ps4-waker standby (sollte nun funktionieren)

    sudo ls (sollte nicht funktionieren, weil's ein Passwort will)


    Schlusswort: warum sollte der User homebridge keine vollen Rechte haben? Ich finde, es sollte drei Arten von Benutzern auf einem System geben: den totalen Master (root), seinen Hilfssheriff (pi) und die Luser, also jene, die keinen speziellen oder nur sehr wenige spezielle Rechte haben. Meiner Meinung nach sollten so wenig Services wie möglich als root gestartet werden, wobei sich das oft nicht umgehen lässt. Im Fall von Homebridge aber schon.


    Etwas nicht als root laufen zu lassen, ist immer sicherer, als es doch zu tun. Lässt man Homebrigde als root laufen, so hat der Prozess homebridge die gleichen Rechte wie root. Echte Cracks, die deinen Node.js-Server überfallen können, können dann mit deinem System über diesen Server machen was sie wollen, weil sie nun einen Prozess unter Kontrolle haben, der alles auf dem System anstellen darf. Bist du dir völlig sicher, dass deine Freundin oder dein Freund oder deine achtjährige Tochter, das Wunderkind, nicht über diese Fähigkeiten verfügen??? Nur weil ich paranoid bin, heißt das noch lange nicht, dass sie nicht hinter mir her sind.


    Konfiguration der config.json per App? Verboten. Konfiguration der config.json per Webinterface? Verboten. Homebridge stoppen, Raspi runterfahren? Verboten, verboten, verboten.


    Liebe Freunde, die ihre Installation unter root oder pi betreiben: kein Grund zur Schnappatmung. Lasst es so. Aber wägt das Risiko ab. Da eure Homebrigde (hoffentlich) von draußen nicht ohne weiteres zu erreichen ist, ist sie ja hinreichend sicher. Aber Unix/Linux-state-of-the-art ist es nun mal nicht. Falls ihr es euch zutraut: ändert es. Aber man sollte schon hinreichend sicher auf dem System sein. Alles andere ist nur frustrierend.


    Viel Erfolg.

    Stefan

    Nein. Es wird nie nachträglich gesteuert.



    Es ist wie mit dem Briefe schreiben. Wenn du einen Brief auf deinem Computer schreibst ohne dazu eine Textverarbeitung gestartet zu haben, wird der Brief nicht nachträglich geschrieben, sobald du drei Tage später Word startest.


    Stefan

    Szenen aus Homebridge werden auch nicht importiert. Weil's nicht geht. Dazu müsste Alexa mit der Apple-Homebridge kommunizieren können, und das ist nicht vorgesehen. Die Szenen, die ich in der der Alexa-App habe, wurden von der Hue-Bridge importiert.


    Jede neue Szene, die ich in Alexa nutzen will, muss ich der Hue-App definieren und dann wieder in der Alexa-App importieren. Diese Szenen enthalten dann auch nur das Hue-Zeugs. Was Hue nicht kennt, kennt auch Alexa nicht.


    Stefan

    kann ich mit dem cmdtrigger auch zwei befehle z.B. on/off befehle auf einen schalter legen?

    Ja, man kann unter Linux auf der Shell zwei Befehle in eine Zeile schreiben und mit Return nacheinander absenden. Oder drei. Oder soviel du willst. Dazu gibt es zwei Möglichkeiten:


    /usr/bin/command1; /usr/local/bin/command2


    Die Befehle werden mit einem Semikolon getrennt. Erst wird command1 aufgerufen und dann command2.


    Oder:

    /usr/bin/command1 && /usr/local/bin/command2


    Die Befehle werden durch zwei & getrennt. Erst wird command1 aufgerufen und danach command2, letzteres aber nur dann, wenn ersteres fehlerfrei gelaufen ist.


    Dabei sind Mischformen möglich:

    /usr/bin/command1; /usr/local/bin/command2 && /usr/bin/command3


    Stefan

    Mal ne frage dazu. Ich habe bei Alexa unter Szenen jede Szene doppelt. Wenn ich in Details gehe steht da genau das gleiche. Also nicht etwa über einen anderen skill drin oder sowas. Und ich habe nicht mal die Alexa Homebridge oder das Plugin.


    Habt ihr das auch?

    Nein.

    Ja, den großen Erklärbär machen und die wichtigsten Dinge vergessen. So mach ich‘s am liebsten.


    Ich benutze homebridge-alexa mit großer Freude. Installation ist so easy wie bei anderen Plugins, und wat sull isch sagen: dat Proggi funzt! Die Alexa-Skills reichen völlig aus, um den Standardkram zu machen, und so setze ich die auch ein.


    Ich will aber meine Szenen nicht überall verteilen, sondern an zentraler Stelle verwalten. Und daher erstelle ich die alle in HomeKit, das in meinen Augen dem Alexa-Kram weit überlegen ist, und triggere diese Szenen dann über fakebulb-Logik (was zu so hübschen Alexa-Aktionen wie „Kino ausschalten einschalten“ führt).


    Außerdem kann ich damit meine Eve Energys einbinden.


    Stefan

    Wie rufst du denn über Alexa HomeKit-Szenen auf?

    Man nehme:


    • Ein HomeKit-Szene (hier die Szene: Ich gehe ins Bett)
    • Eine HomeKit-Automation mit folgendem Inhalt: wenn blöde_lampe angeht, dann löse Szene Ich gehe ins Bett aus.
    • Eine Lampe oder Birne, die blöde_lampe heißt
    • Eine Alexa mit der Routine Alexa, ich gehe ins Bett, die blöde_lampe einschaltet.


    Alexa schaltet also blöde_lampe an, und HomeKit löst die Szene Ich gehe ins Bett aus, weil blöde_lampe angegangen ist. Und damit man dafür nicht extra beim Amazon eine neue HUE-Birne bestellen muss, die man dann blöde_lampe nennt, installiert man auf der Homebridge fakebulb und arbeitet mit einer virtuellen Birne. Oder man installiert die homebridge-automation-switches, die ich vorziehe.


    Stefan

    Hmmm. Ich tippe auf eine kaputte SD Card. Versuche folgendes, um erstmal deine Instanz zum Laufen zu bekommen:


    sudo mv /var/homebridge/persist /var/homebridge/persist.old

    sudo mkdir /var/homebridge/persist

    sudo cp /var/homebridge/persist.old/* /var/homebridge/persist


    Hier wird sicherlich die gleiche Fehlermeldung auftauchen, aber alle anderen Dateien werden kopiert. Dann noch:


    sudo chown -R bla:bla /var/homebridge/persist


    wobei du bla durch den Usernamen des Users ersetzt, unter dem du homebridge startest. Danach versuche homebridge ganz normal zu starten.


    Wenn deine Homebridge wieder läuft, dann versuche das Verzeichnis mit der kaputten Datei komplett zu löschen.


    sudo rm -rf /var/homebridge/persist.old


    Falls das klappt, würde ich den Pi noch mal neu starten.


    Stefan