homebridge-people

  • Hab nur gefragt, da es für tado ein plugin gibt mit anwesenheitserkunnung ?

  • Ich selbst nutze das people-plugin wie von DJay schon erwähnt

  • Moin, ich habe über das UI-Plugin einen Fork des Homebridge-People Plugins installiert, jedoch erhalte ich folgende Fehlermeldung:

    PM] Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/homebridge-people-guest-mode/node_modules/node-persist/storage/.node-persist'

    May 11 13:02:40 raspberrypi homebridge[18323]: at Object.mkdirSync (fs.js:773:3)


    Was muss ich denn tun, damit es funktioniert?


    Installiert nach der Anleitung im Forum. Beste Grüße und besten Dank

  • Hat keinen Erfolg gebracht (habe die entsprechende Änderung in der Zeile vorgenommen)

    Moin,


    habe versucht den Fork Homebridge-People-Guest-Mode zuninstallieren, aber das mit den Rechten habe ich noch nicht so drauf.... installiert über das UI, HB installiert nach der Forenanleitung. Er kann auf den CacheDirectory Ordner unter /var/lib/homebridge/homebridge-people/storage allerdings nicht zugreifen bzw. Erstellen. Da läuft er in nen Fehler, glaube ich

    Einmal editiert, zuletzt von Flausen ()

  • PM] Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/homebridge-people-guest-mode/node_modules/node-persist/storage/.node-persist'

    Da darfst du nicht hinschreiben. Setze in config.json:


    "cacheDirectory": "/var/homebridge/homebridge-people/storage",


    Stefan

  • Hi, das habe ich dann auch gemacht, hatte deinen alten Eintrag gefunden, aber auch da kann er nicht zugreifen als pi. Ich habe dann die Rechte verändert aber scheinbar nicht richtig, da er immer noch rum meckert...

    Musste sie Ordner manuell anlegen, da das Mkdir auch auf nen Fehler lief

  • Vielleicht über die command line


    sudo chown -R $USER /usr/local && npm install homebridge-Pluginname -g

    Was macht dieser Befehl? Als allererstes bewirkt er, dass ich mich mit Grausen abwende. Das ist seine primäre Funktion.


    Ansonsten besteht er aus den folgenden Zutaten:

    chown -R: change owner. Dieser Befehl weist einer oder einer Menge von Dateien einen neuen Besitzer zu. Der Parameter -R sagt aus, dass dies rekursiv geschehen soll, also über alle Unterverzeichnis hinweg und über alle Unterverzeichnisse in den Unterverzeichnissen und allen Dateien in diesen Unterverzeichnissen. Der neue Besitzer der Datei(en) ist dann


    $USER: Wer ist dieser ominöse $USER? Das ist genau der User, als der man gerade eingeloggt ist. Kann man testen mit echo $USER. Dem gehören dann alle Dateien in


    /usr/local: ist ein Verzeichnis auf dem Raspi, das eine Menge Dateien enthält. Der Begriff usr steht für Unix System Ressources, und im Verzeichnis liegen eine Menge Dateien, von denen manche für den Betrieb der auf dem Raspi installierten Programme essentiell sind. Er sollte immer root gehören.


    Der Befehl chown -R $USER /usr/local wird, wenn man als pi eingeloggt ist, also als chown -R pi /usr/local interpretiert. Ist man als homebridge eingeloggt, wird er als chown -R homebridge /usr/local interpretiert. Ist man gerade als root unterwegs, dann bedeutet er chown -R root /usr/local und ist man der Benutzer Erwin, dann bedeutet er chown -R Erwin /usr/local.


    Danach gehören alle Dateien im Verzeichnis /usr/local entweder pi, homebridge, root oder Erwin, je nachdem, wie man gerade eingeloggt war. Auf meinem Raspi befinden sich 80512 Dateien in /usr/local, die jetzt alle auf einmal irgendeinem neuen Benutzer gehören. Mir kann niemand weis machen, dass er von allen 80512 Dateien weiß, ob das gut oder schlecht oder egal ist, welchem User sie gehören. Vor allem wird die Herstellung des Ursprungzustands ein Ding der Unmöglichkeit sein.


    Wer wissen will, wieviele Dateien er in seinem /usr/local liegen hat, kann das leicht mit find /usr/local | wc -l herausfinden. Wird wahrscheinlich bei jedem unterschiedlich sein, weil wir alle unterschiedlich viele Plugins benutzen.


    Man könnte mit chown $USER alle Verzeichnisse auf dem Raspi so behandeln, und wenn man nur das richtige trifft, kann man den Raspi danach neu aufsetzen. Garantiert. Als Äquivalent kann man auch mit einer Schaufel auf das Ding einprügeln.


    Das wirklich Lustige ist: wenn der User homebridge nicht in Verzeichnisse schreiben kann, die root gehören, dann hat das schon so seine Richtigkeit. Aber wenn man schon die Rechte so verändern will, dass er es doch kann, dann hilft chown $USER /usr/local nichts, wenn man den Befehl als User pi ausführt, denn danach gehören die Dateien alle dem User pi und der User homebridge kann da immer noch nicht schreiben. Dafür hat man nun eine hässliche Installation.


    Die Moral von der Geschichte: wenn der User homebridge an einer Stelle nicht schreiben kann, dann muss er das woanders tun. Das kann er in seinem Homeverzeichnis /home/homebridge und im Homebridge-Konfigurationsverzeichnis /var/homebridge. Sonst nirgendwo. Das ist auch keine Eigenart von Homebridge und auch keine von Linux. Das ist auf einem Mac genauso wie unter Windows. Ja, ich weiß, das brauchte man damals nicht zu beachten auf dem C64 und unter DOS 2.11, auch nicht auf Apple System 7 oder Windows 95. Aber diese Dinger konnte man ja auch alle allein mit einem bösen Blick erledigen. Egal, die Plugins bieten oft die Möglichkeit an, einen Speicherort anzugeben, und wenn sie gut programmiert sind, dann schreiben die ganz automatisch in das Verzeichnis, in dem config.json liegt und wo das Schreiben erlaubt ist.


    DJay: Ich mache dir nicht den kleinsten Vorwurf, dass du die frohe Kunde mit chown $USER verbreitest. Das ist nämlich die Lösung irgendeines Plugin-Programmierers, die sowieso nur dann funktioniert, wenn man die Homebridge als User pi laufen lässt. Dem Typen gehören die Ohren langgezogen und danach muss er in die Ecke zum Schämen. Mit dem Gesicht zur Wand.


    So, das musste jetzt mal raus.


    Stefan

  • ^^<3 Ich liebe das Kopfkino, was beim Lesen Deiner Geschichten abläuft. Vom Lernfaktor mal ganz abgesehen.

    Mit find /usr/local | wc -l gerade bei mir herausgefunden... nur schlappe 184376 Dateien die wohl alle meinem User Pi gehören. 8)

    Ansonsten laufen alle meine 32 Plugins auch einwandfrei, so dass ich seit Ewigkeiten nicht mehr den Befehlt genutzt habe. Damals, hat er geholfen.

    Tatsächlich brauchte ich den Befehl glaube ich mal bei dem gaaanz alten harmony Plugin, wo ich sofort glaube, dass der Programmierer es schon damals nicht gut mit uns gemein hat.

    Vielleicht muss Nastra den Befehl in der Homebridge Befehlssammlung mal mit einem * vermerken, mit dem Hinweis auf Deine Lektüre.

    Hilfreich?

  • sschuste super Erklärung :thumbup:

    DJay erledigt;)

  • nur schlappe 184376 Dateien die wohl alle meinem User Pi gehören.

    Lol, aber lass es einfach so. Tatsächlich macht es nicht viel aus, da auf unseren Raspis nur homebridge läuft. Auf großen Computern, auf denen viele Programme installiert sind, kann eine solche Aktion ordentlich Ärger verursachen.


    Wahrscheinlich gehören nicht alle Dateien dem User pi. Das findest du heraus mit find /usr/local -user pi | wc -l. Mit dieser Information kannst du dann folgendes anfangen: nix :D


    Gruß

  • Bietet das Plugin neben dem Anyone und Noone Sensor auch die Möglichkeit, die fest zugewiesenen IPs als Sensor zu nutzen?


    Also wenn Person A das WLAN betritt, passiert A. Wenn Person B das WLAN betritt, passiert B?


    Falls es mit diesem Plugin nicht funktioniert, kennt vielleicht jemand eine andere Möglichkeit das umzusetzen? Standortbasiert wäre wegen der Akkulaufzeit meines iPhone6 nicht der optimale Weg.

  • Hallo zusammen,


    ich hoffe, ihr könnt mir helfen.

    Ich habe das People Plugin installiert und möchte damit die Zirkulationspumpe im Keller steuern (Steckdose) Ich habe einen Zeitplan hinterlegt, wann die Pumpe läuft und wann nicht. Mit dem Zeitplan das klappt auch soweit.


    Nun möchte ich, dass die Pumpe sich abschaltet, sobald niemand mehr im Haus ist (also sobald der No One Sensor ausgelöst hat). Gibt es eine Möglichkeit, dass der Sensor in gewissen Intervallen neu auslöst?


    Als Beispiel:

    Die Pumpe geht an um 8:00 Uhr und läuft bis 09:00 Uhr. Verlässt um 08:30 die letzte Person das Haus, löst der Trigger aus und Schaltet die Pumpe ab. Um 12:59 Uhr schaltet die Pumpe sich wieder ein und um 13:00 Uhr habe ich eine Automation: wenn niemand da, Pumpe aus! Der trigger ist aber von morgens noch ausgelöst. Die Automation greift wohl erst, wenn sich der Trigger während dem Zeifenster aktiviert.


    Deshalb meine Frage:

    Kann man den Trigger ggfs. alle 5 Minuten neu auslösen lassen? Oder gibt es andere Ideen?

    Gruß

    Maddin

  • Ich denke Du kannst als Auslöser eine Uhrzeit und als Bedingung den Sensor auswählen. Wenn Du das jedoch alle 5 Minuten machen möchtest, wirst Du ziemlich viele Automationen anlegen müssen...

    VG

    Wie kann ich denn die Bedingung „Any One“ als Beispiel bei der Uhrzeit einfügen?

    Aber ist da sicher gestellt, dass wenn sich während der AN Periode der Steckdose die Anwesenheit ändert, die Steckdose abschaltet?

    Gruß

    Maddin

  • Hallo Maddin84,


    ich würde an deiner Stelle einfach weiter Automationen entsprechend erstellen:

    • Auslöser ist die Zeit 13:00 Uhr und die Bedienung NoOne ist aktiv, dann abschalten.


    Diese Automation kannst du aber mit Home nicht erstellen, dafür musst du auf Eve zum Beispiel zurückgreifen.

  • Hallo Maddin84,


    ich würde an deiner Stelle einfach weiter Automationen entsprechend erstellen:

    • Auslöser ist die Zeit 13:00 Uhr und die Bedienung NoOne ist aktiv, dann abschalten.


    Diese Automation kannst du aber mit Home nicht erstellen, dafür musst du auf Eve zum Beispiel zurückgreifen.

    Danke, hatte vergessen dass mit Home / Eve hinzuzufügen...