Beiträge von sschuste

    Unser Gäste WC ist Fensterlos, daher muss immer Licht eingeschaltet werden, sobald jemand den Raum betritt. Um das ganze zu automatisieren habe ich an der Tür einen Eve Door angebracht welches das Licht beim öffnen der Tür anschaltet. Soweit so gut.

    Ich mache genau das mit dem Eve Door. Wenn ich die Tür öffne, geht das Licht an. Wenn ich die Tür wieder öffne, geht das Licht aus. Der Trigger wird also nur dann verwendet, wenn die Tür aufgeht. Wenn sie geschlossen wird, ist mir das egal.


    Also, Tür öffnen, reingehen, Tür öffnen, rausgehen.


    Dazu habe ich zwei Automationen mit EVE gebaut:

    1. Kontakt = auf UND Strom = aus: Lampe an

    2. Kontakt = auf UND Strom = an: Lampe aus

    Ich würde dir empfehlen einen Bewegungsmelder (zusätzlich) zu installieren.

    Das habe ich auch noch gemacht, aber es geht auch ohne.

    Was ich mich gerade Frage ist, wenn ein SSH Befehl in einer Automation per Kurzbefehl abgearbeitet wird, welches Gerät setzt diesen dann ab?

    Das iPhone, das den Kurzbefehl hat.

    Als Beispiel Wenn Lampe X auf "an" geschaltet wird als Trigger für die Automation, wird der Kurzbefehl dann von meinem iPhone aus abgearbeitet?

    Ja.

    Dürfte ja nicht funktionieren wenn ich mich nicht im selben Netzwerk aufhalte.

    Stimmt auffallend. Sobald du dich nicht in deinem Netz aufhältst, kannst du den Raspi auch nicht mehr per ssh erreichen. Stell auf deinem iPhone das WLAN ab in Einstellungen - WLAN und begib dich damit in das Netz deines Providers, und prompt kannst du den Raspi nicht mehr erreichen.

    Ich schwör 🤞🏻

    Lol ^^. Ich wollte nur sichergehen und eine Fehlerquelle schon mal ausschalten.


    Versuchen wir es mal mit den Rechten (hier fängt jetzt das Klammern an Strohhalme an):

    Auf dem Raspi unter dem Account, für den du die Verbindung herstellen willst (homebridge? pi?):


    chown -R $USER:$USER .ssh

    Dieser Befehl setzt den Besitzer der Dateien richtig. Wahrscheinlich ist das schon richtig, aber wer weiß? Der Platzhalter $USER wird automatisch durch den Namen des eingelochten Benutzers ersetzt, du kannst das das oben also einfach so kopieren, wie es da steht. Schaden kann es nicht.


    chmod 700 .ssh

    Dieser Befehl sorgt dafür, dass das Verzeichnis .ssh, in dem die relevanten Dateien liegen, nur für den Besitzer der Dateien zugänglich ist. Das ssh-Protokoll will es so.


    chmod 600 .ssh/*

    Dieser Befehl macht das gleiche mit den Dateien, die im Verzeichnis .ssh liegen. Ich bin mir nicht sicher, ob das überhaupt notwendig ist.

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzGiIBUoXuoFv6WG0fSGqk3aUsjdYmAJGAQN3aVLPOwkUxUQgt3SYkI2tKJLsheqrnj+/XcFrA3YGXdp1KjTYMxLLtDVKxxxxx+es9DGUrFvyBMGTk0Uu4fa6oo9XCfSPpsv8y5tLB7uPYCig0a1iabRkXcFrA3YGXdp1KjTYMxLLtDVKx9RszPBgHhU/XfxLajj4NiJguI5LQUw9qvqFkH4sJba5D1BoiYHuvnZZY3UPh/MpGqXU/4JEdzhpP7fhiQXUnwjjEE4Uomi8TTkbe4XGxtxwmlkkfoclvwVmMAtc40ZhI0qObw7VDNg3z66efJWZgpVFjHqsWLCMmVvIy8luFXYuTUIPrFxL/wBXCLI32QSmT Kurzbefehle auf iPhone

    In einer einzigen Zeile, ja? Also:

    ssh-rsa AAAAB3NzaC1yc2EAA .... 32QSmT Kurzbefehle auf iPhone

    Ich habe im Kurzbefehl den ssh-Schlüssel generiert und diesen mit


    nano .ssh/authorized_keys


    eingefügt.

    Das ist schon mal richtig, solange du den Key auf dem Rechner eingefügt hast, auf den du dich einloggen willst. Und das sieht dann wahrscheinlich ungefähr so aus:


    ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAj5dEtZa/pDNOObGkB5pBFwqlRej2xf5SQbc71QNdNA5PB8vcxYJw

    5BcTVhcSnArNJoRxdQ60Fvcf1jLPeO45XK9mDr2COmAJFu8Ksqci0rATcBjEHOELSZyOzmcBVXZVgQF2RDxOqLd9

    srdW064LQGxQeFFaeLh8ygJ3bGPqIrU=

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEGowEhS+EKkCppa7vLU6h6N2W8Sca2lhGPw1epm6M/zG0GErH

    WGnRFH+qH7ioYjEdqHA6SPVATqP/YEinjMNfdox8DjrU3NF2AFyeZMYV9konpG/qqe7qzewmH68ms+iAE85b/CBO

    xye2xWpyak8nJk8bIWGTHqyjyrfitnegd8HsR799fRVAgCnHewsv/zMlEDG/rnKekJ9u5GkV10zTqNAOJry+y8Hz

    BdzYsZvUIAFyYTc5RwX71oYGWSnTqo9HJZl+Pvn8CTdTXKVfitq1NFEHL+VXsZHAefW4Qg/Kj3k/5w9nK45/FCVw

    YAAPZHMvn37pRKdkcjaNlfXuDm71 [email protected]

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDY+YzD8QTbDAjp8XYWEMOBSNgMahxiTdALI6juKXgWDi8GSd4E

    eKyyW8w5SC5It1wazkoXNjfEFZgwDRgnqW9ldFQyN5lm9gYRDDY4TrJ3wc0GFYZtWJ74IEQLVxH3U34m1lSQIhp9

    ywg1wNy1Jq/jKqxjsr40Px1HFn/QlYieSrtK+J/+ZAU9Jk15MbuRi4c6PgFGI3zdGgL2dGEjJiJ15K5QHwQgLFoR

    45AEQk1KaLP98iM9ox956j/uO6bzzX9dcJ3V1t8R/wEXPjvuXlac1XC9aAR9RrcIA78JXXJmRlsiWtqKXI3bWvqJ

    vgGH5GgjO/9drskP/zxup06egpKr Generated By Termius

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCTjv+RmXEravxysfBy/+g0aFsEF6LGrhYpumm5HCOWohOuzWPz

    D/u3sqZRtwU8SO5TTSCN1OFWEahI2XYbLl6I8+ZUC5x+NFACQnFwiVIhGjttRBC3PswiuzF7XUu2a/A47qjLPm0R

    H+HrM8UpqaT8ZSdd/u2KIpNe5xSxkAJ/JwUS+eu/hj+LCI9bvc6paFfEpj+bnSKQC5H8Ij2+Zk/U6RrcJ3qMPNj0

    SFRai4mN3ilRjEoINvB718lPRTsexGgCqwX63B0gMmIe02u/FT4VP598leNZORgsEiXhjc4MI8eAIf3sKAB7wqMU

    wvODIp1F3GHYAjSc9iE9WUBSj8UJ Kurzbefehle auf Stefan Schustereit’s iPhone


    Unten ist der Kurzbefehle-Key eingefügt. Insgesamt enthält das Beispiel vier Keys. Jede Zeile, die mit ssh-rsa beginnt, ist eine einzige Zeile und darf keine harten Umbrüche enthalten. Im obigen Beispiel sind harte Umbrüche drin, damit ich das hier besser darstellen konnte. Wenn man das Terminalfenster so weit aufzieht wie möglich, kann man Umbrüche auf die Schliche kommen.


    Dann musst du natürlich noch die richtigen Einstellungen machen: Hostname (beispielsweise 192.168.1.22), Port 22, den richtigen Benutzer (das ist der, dem du deinen Public Key gegeben hast, im folgenden Beispiel pi) und den Befehl (folgenden Beispiel ls -l).



    Das war's. Beim ersten Aufruf musst du einmalig den Key-Austausch zwischen dem Zielgerät (hier: ein Raspi) und deinem iPhone bestätigen. Der Kurzbefehl läuft jetzt durch und führt als Benutzer pi ein ls -l auf dem Raspi aus. Weiter passiert nichts, es gibt keinerlei Rückmeldung vom Kurzbefehl. Wahrscheinlich passiert aber trotzdem das, was passieren soll. Sehen kann man es so nicht. Was man sehen kann, ist das der Kurzbefehl abgeschlossen wird.


    Der im Beispiel verwendete ls -l-Befehl dient nur als Test. So kann man ihn erstmal zu nichts gebrauchen. Da ich mich mit den Kurzbefehlen nicht so auskenne, weiß ich nicht, wie man das Ergebnis des Befehles anzeigen lassen kann - er erzeugt ja eigentlich eine Liste aller Dateien, die im Homeverzeichnis des Benutzers pi liegen. Aber eigentlich will man aber ein Skript auf dem Raspi ausführen, das dann irgendwas macht.


    Man kann den Zugriff des Kurzbefehls in einem Log des Raspi sehen:

    tail -f /var/log/auth.log (abbrechen mit control-c)


    Jan 18 12:47:48 homepi sshd[548]: Accepted publickey for pi from 192.168.1.201 port 64199 ssh2: RSA SHA256:l/sBtSFaZrplpLRQK5Jnfp1/8DsEI8+2pJ5DMmJuvNE

    Jan 18 12:47:48 homepi sshd[548]: pam_unix(sshd:session): session opened for user pi by (uid=0)

    Jan 18 12:47:48 homepi systemd-logind[367]: New session c119 of user pi.

    Jan 18 12:47:49 homepi sshd[588]: Received disconnect from 192.168.1.201 port 64199:11: NMSSH: Disconnect

    Jan 18 12:47:49 homepi sshd[588]: Disconnected from user pi 192.168.1.201 port 64199

    Jan 18 12:47:49 homepi sshd[548]: pam_unix(sshd:session): session closed for user pi

    Jan 18 12:47:49 homepi systemd-logind[367]: Session c119 logged out. Waiting for processes to exit.

    Jan 18 12:47:49 homepi systemd-logind[367]: Removed session c119.


    Je nachdem, was auf dem Raspi noch so los ist, kann das schnell wegscrollen.

    kann hier aber keinen Fehler erkennen:

    Ich auch nicht. Bearbeite die Datei noch einmal:

    sudo nano /etc/systemd/system/homebridge.service


    Lösche alle Zeilen im nano-Editor, kopiere deine Zeilen da oben aus dem Browserfenster heraus und füge sie wieder in nano ein. Das hört sich vielleicht sinnlos an, aber hat schon Wunder gewirkt. Speichern, dann noch mal

    sudo systemctl enable homebridge

    Ich benötige mehr rechte für den Ecovacs

    Welche denn?

    Vor allem der Punkt "users" ist mir noch nicht klar was ich da genau eintragen muss, sprich wie ich zu diesen Infos komme. Kann mir da jemand helfen?

    Klar. Einmal weise ich mal darauf hin, dass diese Frage hier im Forum ungefähr 105 mal gestellt wurde und mindestens doppelt so häufig beantwortet wurde.


    Unter users muss der Username rein, denn homebridge-hue beim ersten Start in das Log schreibt. Sieht dann so aus:

    Code
    {
    "platform": "Hue",
    "hosts": [
    "192.168.1.23"
    ],
    "lights": true,
    "users": {
    "00178xyzxy211560": "woCUlmzglln37ji674fKCpN78-sdfff7buWLa"
    }