Beiträge von sschuste

    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

    Hi, wenn du die PIN deiner Homebridge geändert hast (default: 031-45-154), dann musst du der homebridge-alexa-config noch eine Zeile dazugeben:


    Code
    "platforms": [
      { 
        "platform": "Alexa",
        "name": "Alexa", 
        "username": "xxxx", 
        "password": "xxxx",
        "pin": "031-45-155"
      }
    ]


    Bei läuft die neue Alexa fabulös.


    Stefan

    Zu den accessories:


    Vielleicht so:


    nano check-homebridge.sh


    Dort einfügen:

    Code
    #!/bin/bash
    
    sudo netstat -tulpen | grep 51826
    if [ $? -eq 1 ]; then echo "kaputt"; fi


    Speichern, nano verlassen und dann:


    chmod +x check-homebridge.sh

    ./check-homebridge.sh


    Läuft homebridge auf dem richtigen Port (hier: 51826), kommt sowas wie

    tcp6   0   0 :::51826   :::*    LISTEN    999    146684    14243/homebridge

    zurück. Läuft Homebridge auf einem anderen Port, wird ein kaputt ausgegeben.


    Den Port findest du in config.json.


    Anstatt einem then echo "kaputt"; kannst du natürlich auch eine andere Aktion einsetzen:


    then sudo systemctl restart homebridge;

    then sudo /etc/init.d/homebridge restart;

    then self-destruct-now;

    then sudo reboot;

    then open-ebay-and-sell-this-smart-home-bullshit;


    Stefan

    Das beste ist wohl immer, sich über ein Terminalprogramm und ssh auf den Raspi einzuloggen und da mal zu schauen. Wenn du das mit der App machen willst, geht das natürlich auch. Es gibt nur selten die Möglichkeit, sich selbst zu quälen, aber die App bietet dazu die folgende Möglichkeit:


    App Homebridge -> Tools -> Konsole


    Dann taucht das sowas ähnliches auf wie:


    Code
    ssh [email protected]
    
    The programs included with the blafasel rharbarber geknüdel blub....
    Unheimlich langer langweiliger Text
    Copyright-Zeugs
    Warranty
    Was auch immer
    
    pi@raspberrypi ~$

    Alles abhängig davon, wie dein Raspi heißt, mit welchem User du dich einloggst - halt so ähnlich.


    Am Prompt (oben: pi@raspberrypi ~$) gibst du ein:


    ps u -C homebridge


    Die App wird nun einen unglaublichen Kauderwelsch ausgeben, kaum lesbar. Bei mir sieht es so aus, aber die App bricht die Ausgabe auf dem iPhone ziemlich um:


    Code
    pi@raspberrypi:~ $ ps u -C homebridge
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    homebri+  7509  1.2 11.0 221056 104052 ?       Ssl  16:16   0:50 homebridge
    pi@raspberrypi:~ $

    Wo bei mir homebri+ steht, dort steht bei dir dein User.


    Stefan