Gpio per Homebridge steuern

  • Hallo zusammen, ich bin (leider noch) sehr neu im Thema Raspberry Pi/linux/homebridge und versuche seit Tagen vergeblich eine GPIO Steuerung (einfache taster) zum laufen zu bekommen. Homebridge läuft. Nach der hier gegebenen Anleitung installiert. Auch Fakebulb läuft fehlerfrei. Jetzt zum Problem. Ich habe "GPIO onoff plugin for Homebridge" installiert. Das funktioniert auf dem Bildschirm, heißt das gerät wird mir in Homebridge und HomeKit angezeigt und ich kann es ein und ausschalten aber Physikalisch am J8 header passiert leider garnichts. Wer kann mir helfen?

  • Das ist was bei der Installation von "onoff" passiert


    npm WARN checkPermissions Missing write access to /home/pi/node_modules

    npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json'

    npm WARN pi No description

    npm WARN pi No repository field.

    npm WARN pi No README data

    npm WARN pi No license field.


    npm ERR! path /home/pi/node_modules

    npm ERR! code EACCES

    npm ERR! errno -13

    npm ERR! syscall access

    npm ERR! Error: EACCES: permission denied, access '/home/pi/node_modules'

    npm ERR! { [Error: EACCES: permission denied, access '/home/pi/node_modules']

    npm ERR! stack:

    npm ERR! "Error: EACCES: permission denied, access '/home/pi/node_modules'",

    npm ERR! errno: -13,

    npm ERR! code: 'EACCES',

    npm ERR! syscall: 'access',

    npm ERR! path: '/home/pi/node_modules' }

    npm ERR!

    npm ERR! The operation was rejected by your operating system.

    npm ERR! It is likely you do not have the permissions to access this file as the current user

    npm ERR!

    npm ERR! If you believe this might be a permissions issue, please double-check the

    npm ERR! permissions of the file and its containing directories, or try running

    npm ERR! the command again as root/Administrator (though this is not recommended).


    npm ERR! A complete log of this run can be found in:

    npm ERR! /home/pi/.npm/_logs/2019-01-13T16_25_30_850Z-debug.log

  • hier nochmal wenn mit sudo installiert


    pi@raspberrypi:~ $ sudo npm install onoff


    > [email protected] install /home/pi/node_modules/epoll

    > node-gyp rebuild


    gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/11.6.0"

    gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/pi/node_modules/epoll/.node-gyp"

    gyp WARN install got an error, rolling back install

    gyp WARN install got an error, rolling back install

    gyp ERR! configure error

    gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/pi/node_modules/epoll/.node-gyp'

    gyp ERR! System Linux 4.14.79-v7+

    gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"

    gyp ERR! cwd /home/pi/node_modules/epoll

    gyp ERR! node -v v11.6.0

    gyp ERR! node-gyp -v v3.8.0

    gyp ERR! not ok

    npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json'

    npm WARN pi No description

    npm WARN pi No repository field.

    npm WARN pi No README data

    npm WARN pi No license field.


    npm ERR! code ELIFECYCLE

    npm ERR! errno 1

    npm ERR! [email protected] install: `node-gyp rebuild`

    npm ERR! Exit status 1

    npm ERR!

    npm ERR! Failed at the [email protected] install script.

    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.


    npm ERR! A complete log of this run can be found in:

    npm ERR! /root/.npm/_logs/2019-01-13T16_27_28_633Z-debug.log


  • hier nochmal wenn mit sudo installiert


    pi@raspberrypi:~ $ sudo npm install onoff

    Es muss heißen:


    sudo npm install -g --unsafe-perm onoff


    Ich schätze, das unsere Anleitung nicht unbedingt mit GPIO funktionieren wird. Der User homebridge, unter dem die Homebridge läuft, hat bestimmt keine ausreichenden Rechte. Falls es beim Neustart der Homebridge zu Fehlermeldungen kommt, dann ändere bitte die Startkonfiguration:


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


    Ändere dort die Zeile User=homebridge in User=pi, und wenn es dann immer noch scheppern sollte in User=root. Nach jeder Änderung machst du ein


    sudo systemctl daemon-reload

    sudo systemctl restart homebridge


    Diese Änderungen haben nichts mit dem Installieren von Plugins zu tun, sondern nur mit dem Verhalten der Homebridge nach dem Start.


    Stefan

  • Hallo Stefan,


    Danke für die Tipps. Auf sudo npm install -g --unsafe-perm onoff bin ich tatsächlich schon selber gestoßen. der Rest brachte aber tatsächlich leichte Verbesserung. Nach wie vor kann ich per smartphone den virtuellen switch auf dem Bildschirm schalten. Habe Onoff und das Plugin neu installiert dieses Mal ohne jedwede Fehlermeldung doch das Ergebnis bleibt leider das gleiche. Keine Physikalische Zustandsänderung an irgendeinem Pin. Habe verschiedenste Pins versucht. Hast noch einen Tipp?


    Domme

  • Mit GPIO habe ich keine Erfahrungen. Steht denn irgendwas im Log? Vielleicht muss noch irgendeine Software nachinstalliert werden.


    Stefan

  • Im Log steht nur das Pin "n" auf true/false gesetzt wurde. klingt soweit logisch für mich. Leider kann ich es gerade nicht rauskopieren das ich mir grade die gesamte installation zerlegt hab durch eintrage eines pins den es nicht gibt. Jetzt kann ich nichtmal mehr auf den Pi sshn. Mache nun einen Cleaninstalle und versuche es nochmal. Vielleicht hab ich ja bei meinem rumprobieren was wichtiges zerlegt.


    Ps. Es muss für mich nicht dieses Plugin sein. ich versuche nur durch irgendein plugin die Gpio pins (Als Ausgang) benutzen zu können.

  • Hallo Stefan,


    Nach Cleaninstall sieht das Logfile wie folgt aus


    [1/16/2019, 8:03:57 PM] [GPIO-7] Writing Characteristic value true as true

    [1/16/2019, 8:03:57 PM] [GPIO-7] Wrote GPIO value

    [1/16/2019, 8:04:11 PM] [GPIO-7] Writing Characteristic value false as false

    [1/16/2019, 8:04:11 PM] [GPIO-7] Wrote GPIO value

    root : TTY=pts/0 ; PWD=/var/homebridge ; USER=root ; COMMAND=/bin/journalctl -o cat -n 500 -f -u homebridge

    pam_unix(sudo:session): session opened for user root by (uid=0)


    Ich habe alle Möglichkeiten was pins angeht ausprobiert. sowohl physikalische 7 als auch Gpio 7 und natürlich alles oben beschriebene beachtet. Beim gesamten Installationsprozess gab es keine Fehlermeldung.


    Vielleicht hat ja jemand das Plugin laufen und könnte mir mal seine Logf zum vergleich zeigen. Ich meine mal eine gesehen zu haben die etwas anders aussah (das 2. true in einer Zeile war glaub eher ne "1"). Find ich leider nicht wieder.


    Trotzdem Danke für deine Hilfe.


    Ps.: In der Installationsanleitung ist einer kleiner Bug. Zwischen schritt 2 und 3 fehlt einmal ctrl+c da man sich sonst am ende des logs befindet. Dort kann man ui-x nicht installieren. und tausend dank für die ansonsten perfekte Anleitung die selbst für mich verständlich ist. Kudos.

  • Ps.: In der Installationsanleitung ist einer kleiner Bug. Zwischen schritt 2 und 3 fehlt einmal ctrl+c da man sich sonst am ende des logs befindet. Dort kann man ui-x nicht installieren. und tausend dank für die ansonsten perfekte Anleitung die selbst für mich verständlich ist. Kudos.

    Oh, merci, das werde ich mir doch mal anschauen.


    Stefan