homebridge-gpio-relay Konfiguration

  • Hallo zusammen


    Ich möchte das Plugin gpio-relay installieren. NPM

    Dazu müssen nach Installation noch folgende Befehle eingegeben werden:

    Code
    git clone git://github.com/jamesblanksby/quick2wire-gpio-admin.git
    cd quick2wire-gpio-admin
    make
    sudo make install
    sudo adduser $USER gpio


    Was bedeutet der Begriff $USER? Kann ich diese Zeile direkt so eingeben oder muss dies durch etwas ersetzt werden? Falls Ersatz notwendig wo finde ich die korrekte Angabe?


    Besten Dank im Voraus und Gruss


  • USER ist dein eigener Benutzer mit gemeint. Vermutlich wird es bei dir Pi sein.

  • Ok, danke für die Info. Habe es nun mit $USER eingegeben und die Meldung

    "Der Benutzer "pi" ist bereits Mitglied der Gruppe "gpio"

    Ist das gut oder schlecht? :)


    In Homekit sehe ich nun die 4 Relay bzw. Switch jedoch wird dort immer "Keine Antwort" angezeigt.


    Ich habe übrigens dieses Relay Board => KLICK

    Dort kann man gemäss Anleitung zwischen Pin und GPIO umstellen, habe dies auf GPIO gestellt das im Plugin davon die Rede war.


    Hat mir jemand Tips wie ich die Ansteuerung der 4 Relais bewerkstelligen kann?

    Danke und Gruss

  • Ok, danke für die Info. Habe es nun mit $USER eingegeben und die Meldung

    "Der Benutzer "pi" ist bereits Mitglied der Gruppe "gpio"

    Ist das gut oder schlecht? :)

    Tja, was könnte bloß sudo adduser $USER gpio bedeuten;)? Ich verrate es mal: "Liebstes Betriebssystem, füge doch bitte den aktuell eingeloggten Benutzer der Gruppe gpio hinzu, falls möglich." Und das Betriebssystem antwortet: "Tut mir leid Schatz, das würde ich ja gern tun, aber der aktuell eingeloggte Benutzer ist bereits Mitglied der Gruppe gpio, also füge ich ihn jetzt nicht nochmal hinzu."


    Tja, ist das jetzt gut oder schlecht? Es ist natürlich immer schlecht, wenn dein Raspi Widerworte gib statt in gewohnt devoter Erwartungshaltung den Cursor blinken zu lassen. Aber es sind freundliche Widerworte, denn gemeint hat er eigentlich: "Dein Kommando war an Überflüssigkeit nicht überbieten". Aber Linux ist ja user-friendly, und es würde dich nie so anranzen.


    Nimm's also wie ein Mann und gleichzeitig einfach zur Kenntnis und mache fröhlich pfeifend weiter. :thumbup:


    Stefan

  • sschuste : Deine Antworten sind der Hammer ? Du solltest Lehrer machen, falls Du es nicht schon bist ??


    Hast Du mir netterweise noch einen Tip betreffend dem Relais Plugin oder gibt es eines welches Du verwendest und zufrieden bist?

    So damit ich mich pfeifend vor meine Frau stellen kann und ganz selbstverliebt „Ich habe eine Relaissteuerung gemacht!“ rufen kann ???

    Einmal editiert, zuletzt von M240-Swiss ()

  • Hast Du mir netterweise noch einen Typ betreffend dem Relais Plugin oder gibt es eines welches Du verwendest und zufrieden bist?

    Nee, da kann ich nicht helfen. Relais und GPIO und Gelöte und Hardware, da staune ich auch nur und begreife nüscht.


    Stefan

  • sschuste : Deine Antworten sind der Hammer ? Du solltest Lehrer machen, falls Du es nicht schon bist ??


    Hast Du mir netterweise noch einen Typ betreffend dem Relais Plugin oder gibt es eines welches Du verwendest und zufrieden bist?

    So damit ich mich pfeifend vor meine Frau stellen kann und ganz selbstverliebt „Ich habe eine Relaissteuerung gemacht!“ rufen kann ???

    Ich verwende deines in der Version 1.0.7 und bin einfach zufrieden.

    Macht was es soll und ich vertraue sehr darauf da es bei mir die Tiefgarage und zweimal die Wasserversorgung für Blumen und "Aussendusche" regelt

    "SMART HOME" = Ärger und Probleme bewältigen die es ohne erst gar nicht gäbe

  • Hallo zusammen


    Habe nun alles komplett neu aufgesetzt und das Plugin gemäss NPM Anleitung installiert. Beim Neustarten der Homebridge erscheint nun untenstehende Meldung.


    Wenn ich das richtig verstehe habe ich keine Berechtigung den Pin zu schalten

    "Error when trying to open pin 3

    Sep 12 21:22:19 raspberrypi homebridge[2397]: /bin/sh: 1: gpio-admin: Permission denied"


    Kennt das jemand und wie kann ich diese Berechtigung erhalten?


    Einmal mehr danke im Voraus :)



  • upwind_anderl : Kannst Du mir deine config mal zeigen?

    @Typ1er : Danke für den Tip, leider kann ich dieses Plugin nicht installieren. Erscheinen diverse Fehlermeldungen :(

    Logo :





    Deine Fehlermeldung ist genau das Problem aus deinem ersten Posting denke ich ... du musst wie Nastra bereits erklärt hat den richtigen User noch hinzufügen

    "SMART HOME" = Ärger und Probleme bewältigen die es ohne erst gar nicht gäbe

  • upwind_anderl : Danke für deine Config, sieht identisch aus wie meine.

    Den User „pi“ habe ich mit dem Befehl „sudo adduser $USER gpio“ ja bereits eingefügt. Oder braucht es dazu einen anderern User?


    Ich habe die zweite Homebridge ebenfalls mit dem User Pi installiert, spielt das eine Rolle?


    Oder sonst jemand eine Idee?

    Einmal editiert, zuletzt von M240-Swiss ()

  • Also ich bin wirklich alles andere als fit mit Linux, Code und Co.


    Aber so auf den allerersten Blick würde ich behaupten DU hast lediglich den user "$USER" als user hinzugefügt, oder?! ^^


    Quelle


    probier doch mal

    sudo adduser Pi gpio

    bzw.

    sudo adduser $Pi gpio

    Keine Ahnung was der amieuro da macht

    "SMART HOME" = Ärger und Probleme bewältigen die es ohne erst gar nicht gäbe

  • Aber so auf den allerersten Blick würde ich behaupten DU hast lediglich den user "$USER" als user hinzugefügt, oder?! ^^

    Wie so oft täuscht der erste Blick :D


    Linux, Unix und sogar Windows arbeiten mit sogenannten Environment-Variablen. In diesen Variablen stehen Werte drin, die das Betriebssystem oder Programme oder auch der Anwender benötigen oder benötigen könnten.


    Diese Variablen kann man sich mit dem Befehl env anzeigen lassen. Da kommt dann unter anderem so illustres Zeugs wie


    Code
    USER=pi
    PWD=/var/homebridge
    HOME=/home/pi
    SSH_CLIENT=192.168.1.20 55195 22
    MAIL=/var/mail/pi
    TERM=xterm-256color
    SHELL=/bin/bash


    heraus. Hier kann man beispielsweise sehen, dass der login name des aktuell eingeloggten Users pi lautet, dass sein Homeverzeichnis /home/pi ist, das der Befehl env im processing working directory PWD /var/homebridge aufgerufen wurde und noch ganz andere Sachen.


    Mit dem Befehl echo kann man sich die Inhalte auch einzeln zeigen lassen. Um den Wert einer Variablen abfragen zu können, muss dem Variablennamen ein $ vorangestellt werden.


    Code
    pi@raspberrypi:~ $ echo $USER
    pi


    Wenn man also als pi eingeloggt ist, ist deshalb ein sudo adduser pi gpio das gleiche wie ein sudo adduser $USER gpio und ein sudo adduser $pi gpio erzeugt nur eine Fehlermeldung, weil die es die Variable $pi nicht gibt und daher ein NULL-Wert zurückgegeben wird.


    Man kann auch eigene Werte in das Environment setzen:


    export JESUS_MARIA_UND=Josefund mit

    echo $JESUS_MARIA_UNDwieder abfragen.


    Damit kann man auch vorhandene Werte überschreiben, was im Allgemeinen ein ganz saublöde Idee ist. Aber egal, das werden wohl nur die wenigsten unter uns je brauchen.


    Alle Werte sind flüchtig und verschwinden wieder, wenn man sich ausloggt. Bein nächsten Login ist der Josef also verschwunden.


    Stefan

  • sschuste : Danke für die Erläuterungen ??


    Entsprechend ist der User Pi im gpio vorhanden, hat jemand eine Idee wie ich das Problem lösen kann?

    Code
    ]: Error when trying to open pin 3
    Sep 12 21:22:19 raspberrypi homebridge[2397]: /bin/sh: 1: gpio-admin: Permission denied


    Komplettes Log

  • Meine Anleitung sieht etwas striktere Rechte für den User homebridge vor. Möglicherweise ist das das Problem.


    Das Geheimnis liegt möglicherweise in /etc/sudoers/homebridge. Dort habe ich festgelegt, dass der User homebridge nur sehr wenige Befehle mit root-Rechten ausführen darf. Laut meiner Anleitung darf der nur die Befehle /usr/local/bin/npm, /bin/systemctl restart homebridge, /bin/journalctl und /usr/local/bin/node mit erweiterten Rechten aufrufen. Die Fehlermeldung sagt aber aus: gpio-admin: Permission denied, und gpio-admin gehört nicht zu der Liste der "erlaubten" Programme.


    Liegt es also daran? Das kann man testen, indem man nicht die Homebridge nicht vom User homebridge starten lässt, sondern vom User root.


    Als erstes würde ich das "manuell" testen. Und zwar mit:

    sudo -i(wechselt in den root-Modus)

    homebridge -U /var/homebridge(startet homebridge mit der korrekten config.json in /var/homebridge)


    Die Homebridge wird nun im Vordergrund gestartet. Das bedeutet, wenn man das Terminalfenster schließt, wird auch der Prozess homebridge beendet. Dafür spuckt einem homebridge das Log gleich ins Terminalfenster aus. Zum Testen reicht das aber: besteht der Fehler weiterhin? Der User root darf ja alles, und ein Permission denied sollte nicht auftauchen.


    Stefan

  • sschuste : Danke schön, leider funktioniert es immer noch nicht


    Habe die Befehel soweit eingegeben, es erscheint nun aber eine andere Fehlermeldung (siehe unten) und die Relay werden weiterhin mit "Keine Antwort" in der HB App angezeigt :(


  • Habe die Befehel soweit eingegeben, es erscheint nun aber eine andere Fehlermeldung (siehe unten)

    Ja, das liegt an meiner Schläue, dir wesentliche Informationen vorzuenthalten. EADDRINUSE :::51826 heißt nichts anderes, als das homebridge schon läuft und du willst sie noch mal starten: address in use on Port 51826. Und, ja, natürlich läuft da schon eine Homebridge, nämlich deine normale. Die musst du erstmal anhalten mit


    sudo systemctl stop homebridge


    und dann kannst du das Experiment fortsetzen. Nachdem du zu Erkenntnissen gelangt bist, kannst du deine normale Homebridge wieder starten mit


    sudo systemctl start homebridge


    Sorry für mein Versäumnis, das zu erwähnen.


    Nebenbeies Partywissen, um im nächsten Club die Homebridge-Admins zu verblüffen: Man kann schon mehrere Homebridges auf einem einzigen Computer gleichzeitig laufen lassen, aber dann müssen sie auf unterschiedlichen Ports laufen, beispielsweise die eine auf Port 51826 und die andere auf Port 23009. Konfiguriert wird das in config.json. Dort findest du bei dir auch die ominöse Zahl 51826 und dort müsste sie geändert werden. Hat aber jetzt nix mit deinem Problem zu tun und schon klar, dass du das jetzt auch nicht tun musst.


    Stefan

  • Dank sschuste ein erstes kleines Erfolgserlebnis. Die einzelnen Switch zeigen im HK nun nicht mehr "keine Antwort".

    Nun habe ich jedoch folgenden Fehler:



    Dieser Fehler (als Beispiel: Error when trying to open pin 38 gpio-admin: could not flush data to /sys/class/gpio/export: Device or resource busy" wird auch jeweils immer angezeigt wenn ich in der HK App den Switch drücke


    Zwischenfrage: Wie kann ich die Rechte so vergeben das es immer root ist?


    Update: Habe nun mit den Pins experimentiert und bei Pin 26 folgende Meldung erhalten.



    Für weitere Hilfestellung wäre ich euch sehr dankbar

    3 Mal editiert, zuletzt von M240-Swiss ()