Beiträge von sschuste
-
-
Es hilft uns ungemein zu verstehen, was du da treibst, wenn du uns beschreibst, was du da treibst. Womit hast du Homebridge installiert? Mit welchen Mitteln hast du Homebridge konfiguriert? Was hast du getan, bevor die Homebridge unerreichbar wurde?
Stefan
-
Vielleicht ist https://www.npmjs.com/package/homebridge-weather-plus etwas für dich. Der liefert eine Menge Werte, die allerdings nicht in der HomeApp, sondern nur in EVE und anderen HomeKit-Apps angezeigt werden.
Stefan
-
Das arbeiten auf der co fig.jon. Fällt mir mit meinen Augen recht schwer, da ja alles stimmen muss.
Das fällt wohl jedem schwer. Meine Tipps zum unbeschwerten JSON hacken:
- Immer schön Ordnung halten mit Einrücken und Ausrücken. Das macht das ganze übersichtlicher und du findest Fehler leichter.
- Einen guten Editor nehmen. Auf dem Raspi findest du nur nano oder meinen Liebling vim, aber die können auch ordentlich nerven. Tatsächlich benutze ich inzwischen den Editor von homebridge-config-ui-x für die Konfiguration. Der ist gut gemacht, stellt config.json übersichtlich dar und mault bei Fehlern.
- Die Konfiguration bei jsonlint.com checken, wenn's mal richtig hakt.
- Die Konfiguration von Firefox darstellen lassen.
Viel Spaß,
Stefan
-
Das glaube ich nicht, bei mir Funktioniert auch alles und der Fenster Sensor steht unter Achtung und nicht unter Allgemein.
Ok, ich hab leider weder Schlösser noch Fenstersensoren und weiß daher nix Genaues nicht.. Danke für die Info. Werd mir jetzt einen Fenstersensor besorgen, ich will auch was unter "Achtung" haben

Stefan
-
Ok, vielen Dank. Bei mir steht da nur "Allgemein". Komisch ...
Weil bei dir alles funktioniert. Schalte einfach deine Homebridge aus und schon heißt es "Achtung".
Stefan
-
Na super. Eine schwere Geburt. Aber das Kind ist wohlauf, und das ist die Hauptsache.

-
Bei mir läuft's so ähnlich - Hue-Zeugs und ein paar EVE Energy. Letztere sind auch nicht Alexa-fähig und sie schalten langsam. Ich habe eine von den Energys wie beschrieben an Alexa angeschlossen und das funktioniert ganz wunderbar. Wenn du einen ganz einfachen Schalter ohne weitere Funktionen benötigst, dann versuch's doch mal mit homebridge-fakebulb.
Probleme gehen meist nicht von der Homebridge aus. Die Homebridge bekommt ja von sich selber ein Signal, nämlich: homebridge-alexa schaltet homebridge-automation-switch oder was auch immer. Das geht immer schnell. Ein Plugin triggert ein anderes Plugin. Das passiert alles auf deinem Raspi. Auch schaltet der Raspi keinesfalls deine Flare an. Das tut HomeKit von irgendeinem deiner Apple-Geräte. Es kann also keine Verzögerungsprobleme zwischen der Flare und der Homebridge auf dem Raspi geben.
Geschaltet wird deine Flare immer von HomeKit. Mal versucht, mit der Alexa-App deinen Dummy zu schalten? Was passiert dann?
Stefan
-
Den homebridge-delay-switch habe ich noch nicht probiert. aber wieso sollte ich den switch delayen?
Nee, das wäre der homebridge-delayed-switch

Der Delay-Switch genau wie der Automation-Switch sind Schalter, die nach dem Einschalten wieder ausgehen. Ich brauche das für für Szenen wie diese: wenn ich aus der Wohnung gehe, werfe ich Alexa ein "ich verlasse das Haus" zu. Damit wird das Licht ausgeschaltet und die Heizung heruntergestellt. Dazu stellt Alexa den Schalter Niemand zuhause auf ein. Ich frage diese Statusänderung ab: wenn der Schalter Niemand zuhause auf ein gestellt wird, dann soll HomeKit die Szene "Haus verlassen" aufrufen. Das klappt bei mir immer.
Leider gehöre ich zu der Gruppe von Zerstreuten, die immer etwas vergessen und immer noch mal in die Wohnung zurück müssen. Brille vergessen, Handy vergessen, Kopf vergessen, denk dir was aus: ich vergesse es dann ab sofort. Ich husch also rein, schalte das Licht im Wohnzimmer ein, schnapp mir, was ich brauche, und wiederhole den Kampfruf "Alexa, ich verlasse das Haus", denn ich will ja, dass das Licht, das ich gerade eingeschaltet habe, wieder ausgeschaltet wird.
Das funktioniert aber nicht mehr. Der Schalter, den Alexa beim ersten Verlassen der Wohnung eingeschaltet hat, steht immer noch auf ein. Meine Automation reagiert aber nur auf die Statusänderung des Schalters von aus zu ein. Der Schalter wird von Alexa also noch mal auf ein gesetzt. Eine Statusänderung findet nicht statt. Die Automation läuft nicht ab. Also habe ich einen Schalter gebraucht, der nach dem Einschalten gleich wieder ausgeht, sozusagen auf den Default-Wert gesetzt wird.
Sieht so aus:
Code{ "accessory": "DelaySwitch", "name": "Niemand zuhause", "delay": 100, "disableSensor": true },Stefan
-
Damit kenne ich mich gar nicht aus. Aber Google weiß was. Ich habe hier https://github.com/dubocr/homebridge-gpio-device etwas gefunden:
This message is related to a bug in the quick2wire-gpio-admin library, where if you attempt to export something that's already exported, gpio-admin crashed.
The simplest solution is to reboot.
Mal ins Blaue. Versuchs mal mit sudo reboot. Aber was weiß ich. Mit dem GPIO-Kram hab ich mich noch nicht auseinandergesetzt.
Stefan
-
Zwischenfrage: Wie kann ich die Rechte so vergeben das es immer root ist?
Editiere /etc/systemd/system/homebridge.service:
sudo nano /etc/systemd/system/homebridge.service
Suche die Zeile User=homebridge und ersetze sie durch die ZeileUser=root
Abspeichern mit ctrl-x. Dann:
sudo systemctl daemon-reload
sudo systemctl restart homebridge
Ab jetzt wird die Homebridge immer mit root-Rechten gestartet, auch nach einem Reboot.
Stefan
-
Plugins? Was ist das Hübsches?
-
Ja. Homebridge-Konfiguration geändert und neugestartet.
-
PS: der Name der homebridge ist der eigentlich völlig egal und kann beliebig geändert werden oder muss da das stehen was man anfangs beim erstellen der Instanz eingetragen hat?
Ich hab meine Bridge neulich im laufenden Betrieb umbenannt. Machte keine Probleme.
Stefan
-
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
-
Habe mich jetzt mal bei meiner Icloud abgemeldet und neu angemeldet. Ich mag mich täuschen aber es reagiert jetzt in der Home schneller und flüssiger. hmm mag das sein? Temperatur wird auch angezeigt. Hat geklappt
Das mag sein. Die Geheimnisse von HomeKit sind unergründlich. Dass du das mit der Temperatur hinbekommen hast, war jetzt ja eh ein Klacks für dich. Ich meine, du hast gleich mit heavy shit angefangen und bist da nun weiter als ich: Bluetooth hab ich jedenfalls auf dem Raspi noch nicht im Griff.
Stefan
-
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
-
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

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
CodeUSER=pi PWD=/var/homebridge HOME=/home/pi SSH_CLIENT=192.168.1.20 55195 22 MAIL=/var/mail/pi TERM=xterm-256color SHELL=/bin/bashheraus. 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.
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
-
Das System läuft jetzt erst mal.

-
Ach ja, eine Frage hätte ich noch. Wie ist es möglich dem Raspi ein paar Informationen zu entlocken und auch in der Home App anzeigen zu lassen? Temperatur und so..
Das kann ich dir nicht sagen, weil ich das nicht einsetze. Für mich sind diese Daten nicht so interessant. Ich kann daraus keine brauchbare Automation erstellen à la "wenn Raspi-Temperatur zu hoch, dann stelle meine Dusche auf kalt" (nein, ich habe leider keine so tolle Dusche) oder „wenn SD-Card voll, dann bestelle bei Amazon eine neue".
Daher frage ich diese Daten nicht ab, beispielsweise mit homebridge-raspberrypi-temperature oder homebridge-broadband. Klar, ich könnte, wenn der Raspi kurz vor der Kernelschmelze steht, im Schrank ein Lüfterchen anschmeißen und dazu irgendein 70€-Konstrukt aus Relais, Kabeln, Platinen, Lüfter, Blut, Schweiß, Tränen und Gelöte einsetzen. Ich könnte aber auch für 34,99 einen neuen Raspi kaufen, wenn der alte hin ist, oder noch besser: ich könnte dafür sorgen, dass der von Anfang an gut belüftet ist.
Ich könnte mit Fakegato eine Temperatur-Historie aufzeichnen, der ich dann irgendwann entnehmen kann, dass der Raspi im Sommer viel heißer war als im Winter. Ob ich für diesen ungeheuren Erkenntnisgewinn unbedingt HomeKit brauche, ist mir noch nicht so ganz klar.
Was dich absolut nicht davon abhalten soll, das in deinem nun erwachten, ja nahezu fiebrigen Bastelwahn zu verwirklichen und darüber zu berichten. Möglicherweise macht’s dann ja klick in irgendeiner meiner Gehirnhälften. Ich kann nur halt jetzt nichts dazu beitragen. Versuch's mal mit der Suchfunktion des Forums, ich bin mir sicher, dass dieses Thema hier bereits mundgerecht geschnitten und dann durchgekaut wurde.
Stefan