Beiträge von sschuste

    Dann log dich mal auf dem Raspi per ssh ein und gib ein:

    sudo chown -R homebridge:hombridge /var/homebridge


    und versuch danach nochmal, deine Homebridge in homebridge-config-ui-x zu editieren.

    Ich habe seit kurzem das Problem, das nach dem Neustart der homebridge zwei Geräte (Siemens Vollautomat und Harmony Hub) aus dem zugewiesenen Raum verschwinden. Erst sind sie im Standardraum gelandet, jetz im Wohnzimmer. Dort landen komischerweise jetzt auch neue Geräte, nicht mehr im Standartraum.

    Gemacht habe ich vorher die Updates von hue plug-in, homebridge ui, das node Update und zwei bestehende aqara Bewegungsmelder neu eingelernt, da sie nicht mehr reagiert haben.

    Weis jemand, warum das sein könnte?

    Ich weiß das nicht. Bei mir ist das auch noch nicht vorgekommen. Ich kann hier nur sehr laienhaft spekulieren, warum das passiert. Diese Spekulation führt aber leider zu nichts und schon gar nicht zu einer Lösung.

    Diese Datei exerziert bei mir aber gar nicht. Der Ordner is leer bei mir.

    Das ist ziemlich merkwürdig. Eigentlich sollte das der Ordner sein, in dem deine gesamte Homebridge-Konfiguration gespeichert ist. In homebridge-config-ui-x kannst du auf der linken Seite unter den Systeminformationen sehen, wie dieser Ordner heißt. Er wird dort als Speicherpfad bezeichnet. Siehe hier:


    Kannst du mal posten, wie der Speicherpfad bei dir heißt und auch wie der Benutzer heißt? Danke.

    aber bei der Installation bekomme ich die Fehlermeldung:

    Das sollte installiert werden mit dem Befehlsudo npm install -g --unsafe-perm NAME_DES_MODULS. Nicht dass das alle Problem löst, aber die globale Installation ist schon mal wichtig. Ansonsten landet das Modul dort, wo es nicht gefunden werden kann.


    Alles Node-Zeugs sollte immer mit -g --unsafe-perm installiert werden.

    und bei FileZilla sehe ich auch das ein Ordner [email protected] existiert

    Bloß wo? Er sollte sich unter /usr/local/lib/node_modules befinden.

    Am 26. Oktober wird sich die Node LTS-Version von Version 14 auf Version 16 verändern. Was das bedeutet, will ich im Folgenden kurz darlegen.


    Was ist Node?

    Node ist eine Basis-Software, um Javascript-Programme auf einem Computer laufen zu lassen. Da die Homebridge und ihre Plugins zum größten Teil in Javascript geschrieben sind, wird Node immer benötigt, damit überhaupt etwas geht.


    Was bedeutet Node LTS?

    LTS ist die Abkürzung für Long Time Support und bezeichnet Software-Versionen, die der Hersteller über eine längere Zeit pflegt. Das ist sozusagen die Haupt-Version von Node. Hier wird garantiert, dass alle kritischen Fehler über 30 Monate repariert werden. Der wesentliche Punkt dabei ist, dass es keine funktionalen Änderungen mehr gibt, egal was dem Hersteller einfällt, an Node noch zu schrauben. Das heißt, dass Plugins, die beispielsweise für Node 14.0 geschrieben wurden, auch unter Node 14.11.7 laufen. Der wichtige Teil der Versionsnummer ist hier die 14.


    Was sind funktionale Änderungen?

    Node stellt Funktionen (oder Methoden) bereit, die Programmierer benötigen, damit ihr Programmcode funktioniert. Ein Hersteller kann sich entscheiden, derartige Funktionen umzugestalten, so dass sie anders verwendet werden müssen, oder er kann sich sogar entscheiden, bestimmte Funktionen nicht weiter anzubieten. Plugins, die derartige Funktionen verwenden, würden dann im besten Fall abstürzen und im schlimmsten Fall falsche Ergebnisse liefern. Tatsächlich kommt aber kein Software-Hersteller auf die Idee, das einfach so zu machen. Solche Änderungen werden sehr lange vorher angekündigt, so dass jeder Programmierer die Möglichkeit hat, seinen Programmcode an die neuen Gegebenheiten anzupassen.


    Hier kann man sehen, dass die Node-Entwickler schon lange vorher wissen, wann sie eine Version auf den Markt werfen: https://nodejs.org/en/about/releases/

    Da steht beispielsweise, dass die älteste Version, die sich noch in irgendeiner Pflege befindet, die Version 12 ist, dass die Version 14 die aktive LTS-Version ist, dass in ein paar Tagen die Version 16 die aktive LTS-Version werden wird und somit die 14er-Version ablöst.


    Was sagt die Versionsnummer?

    Zunächst mal: die Node-Versionen, die wir benutzen sollten, haben alle gerade Nummern (10, 12, 14, 16...). Die ungraden Versionen befinden sich in der Entwicklung, sind im Test, verändern sich möglicherweise stark oder sind nicht vollständig. Gar nicht weiter beachten.


    Die Node-Programmierer verwenden wie viele andere Programmierer ein System für ihre Versionsnummern. Die Versionsnummer besteht da aus drei Teilen, die durch einen Punkt getrennt sind. Die Teile haben Namen, die MAJOR, MINOR und PATCH heißen. Am Beispiel von Node 14.18.1 bedeutet das:

    • 14: MAJOR. In der Version 14 hat es vielleicht manche Änderungen gegeben, die nicht kompatibel zur Version 12 sind. Damit das jeder kapiert, hat sich die erste Nummer geändert (von 12 auf 14).
    • 18: MINOR. In der Version 14.18 hat es Änderungen gegeben, die aber nicht inkompatibel sind zu allen anderen 14er-Versionen. Möglicherweise wurde etwas hinzugefügt, aber auf keinen Fall wurde etwas entfernt oder in seiner Funktion verändert. Plugins für Version 14 laufen weiterhin ohne Einschränkungen.
    • 1: PATCH. In der Version 14.18.0 hat es einen Programmierfehler gegeben, der ausgebügelt wurde. Auch hier laufen Plugins für Version 14 ohne Einschränkungen.

    Viele Plugin-Programmierer machen es mit ihren Versionsnummern übrigens ganz genauso.


    Na schön, und was hab ich jetzt davon?

    Am 26. Oktober wird sich die LTS-Version von 14.x.x auf 16.x.x verändern. Alle diejenigen, die bislang ihr Node auf der neuesten LTS-Version gehalten haben, werden nun eine neue Version bekommen, die sich im MAJOR verändert hat. Eine Änderung im MAJOR kann dazu führen, dass manche Plugins nicht mehr laufen werden. Das betrifft möglicherweise Plugins, die schon lange nicht mehr von ihren Programmierern gepflegt wurden. Dass muss nicht zwingend so sein, aber es kann sein.


    Was nun? Profis nehmen nun einen neuen Raspi, duplizieren darauf ihre laufende Homebridge, unterziehen sie einem Update auf die neue MAJOR-Versionen und sehen, was geht und was nicht. Typen wie ich knallen die neue Version einfach drauf und nehmen eine Unterbrechung ihrer Homebridge in Kauf. Etwas Ängstlichere machen lieber gar kein Update und begründen das mit der alten Wahrheit "never change a running system". Jede dieser Vorgehensweisen hat etwas für sich, wobei die erste und die letzte von äußerster Vorsicht zeugen und meine Holzhammer-Methode eher nicht.


    Wie vorgehen?

    Wichtig: niemand muss jetzt updaten. Damit kann man sich erstmal schön Zeit lassen und dem Forum lauschen. Es gibt hier im Forum einige, die bereits seit einer geraumen Zeit die Version 16 einsetzen. Man hört wenig Drama aus dieser Richtung, eigentlich gar nichts, aber vielleicht gibt es ja schlechte Erfahrungen mit dem einen oder anderen Plugin. Wär schön, wenn wir da mal was hören würden.


    Update des offiziellen Homebridge-Images (auch nach Startapfel-Anleitung ab März 2021) :

    • Auf dem Raspi per ssh einloggen und dort den Befehl sudo hb-service update-node eingeben. Bei Problemen kann man das Update rückgängig machen mit
      sudo hb-service update-node 14.18.1


    Update älterer Homebridge-Installation (nach Startapfel-Anleitung bis Ende Februar 2021) :

    • Wer eine Installation hat, die manuell aufgesetzt worden ist (so wie sie die alte Smartapfel-Anleitung bis Februar 2021 beschrieb), sollte zum Update die Software n verwenden. Wenn man sie nicht schon installiert hat, dann erledigt das der Befehl:
      sudo npm install -g --unsafe-perm n

      Wenn man sudo n aufruft, wird einem die aktuell installierte Version angezeigt. Hat man n bereits früher verwendet, um Node-Versionen upzudaten, dann werden einem alle damit installierten Versionen angezeigt. Hier kann man ein Node-Update auf einfache Art und Weise wieder rückgängig machen, indem man mit dem Cursor auf die gewünschte Node-Version geht und dann dort die Entertaste drückt.

      Das Updaten geht so:
      sudo n lts (installiert die neueste Node LTS-Version)

    Bedeutet das das ich weder das Plugin homebridge-eq3ble noch das homebridge-mi-hygrothermograph nutzen kann, da diese das bluetooth-hci-socket module benötigen?

    Das bedeutet es eigentlich. Das Thema geht schon ein paar Jahre so. Der Entwickler von bluetooth-hci-socket hat sich nie wieder drum gekümmert und irgendwelche Alternativen gab es dann auch nicht. Ich habe das Thema schon vor zwei Jahren begraben.


    Irgendwer hat dann aber doch das Modul gepatcht, so dass es immerhin mit Node 10 läuft (und ich vermute mal stark: auch mit den Node-Versionen danach). Da gibt es also diesen Fork des Moduls als @abandonware/bluetooth-hci-socket. Siehe https://github.com/noble/node-…oth-hci-socket/issues/107


    Das verlangt dann eine Anpassung in den Source-Codes der Plugins. Dort würde dann eine Programmzeile wie

    require('bluetooth-hci-socket') verändert werden müssen in

    require('@abandonware/bluetooth-hci-socket')

    So eine Änderung würde bei etwaigen Updates der Plugins natürlich verloren gehen und immer wieder neu gemacht werden müssen. Allerdings nehme ich an, dass es keine weiteren Updates für diese Plugins mehr gibt.


    Ich kann keine weitere Hilfestellung leisten. Dazu hab ich schlichtweg zu wenig Plan von der Bluetooth-Materie. Die einzigen Bluetooth-Geräte, die ich über meine Bastellösungen abfrage, sind meine Mi Flower Care-Pflanzensensoren. Dafür habe ich eine andere Lösung gefunden, die ich hier kurz beschreibe: RE: Zweite Homebridge als Bluetooth Brücke


    Alternativ bleibt noch der Einsatz eines zweiten Raspi, den du dann ohne homebridge-config-ui-x betreibst - der würde dann rein auf Node 8 laufen.

    Ich habe seid tagen probleme damit das bluetooth-hci-socket Module zum laufen zu bekommen

    Da sitzt du seit Tagen dran? Nicht schlecht. Alle anderen sitzen da seit Jahren dran. Mit einfachen Worten: vergiss es.

    eine error message bezüglich des angeblich fehlende bluetooth-hci-socket

    Das Problem ist, dass der erst noch kompiliert werden muss, und dabei kommt es zu einem Fehler, so dass der Socket nicht erstellt wird. Das führt dazu, dass er als nicht vorhanden angemeckert wird.

    ist das weil dieser Auslöser nur einmalig aktiv wird wenn man diese Grenze erreicht bzw. unterschreitet und dieser Auslöser nicht aktiv wird wenn man diesen Wechsel nicht hat, weil es vllt. die ganze Zeit nur 18 Grad im Raum sind ?

    Ich glaube, dass das genau so ist. Ausgelöst wird offenbar dann, wenn die Temperatur unter 22º fällt, nicht wenn sie unter 22º ist.

    Jaja. Ich bin ein Depp und hab was Falsches behauptet. Machs wieder weg:

    sudo npm uninstall n


    und dann

    sudo npm install -g --unsafe-perm n


    Sorry. Patrick_ hat's ja auch schon gesagt.

    [email protected]:~ $ sudo n lts

    installed : v10.24.1 (with npm 6.14.12)

    [email protected]:~ $

    Ich verstehe. Der Raspi ist zu alt. Was für ein Modell hast du da? Für die älteren Modelle ist das nämlich die neueste Node-Version.

    Wenn ich es richtig verstanden habe kann ich die Schalter oder manche Schalter auch im Hue System belassen?

    Alle. Sie müssen dort sogar sein, weil HomeKit die Hue-Bridge steuert und nicht die Schalter oder andere Geräte selber. Ich habe habe meine Schalter nur über die Hue-App oder iConnectHue konfiguriert und in den HomeKit-Apps die Finger davon gelassen.


    Das Hue-System (und vor allem iConnectHue) können meiner Meinung nach mit Schaltern und Sensoren viel besser umgehen. Es muss ja nicht alles HomeKit sein, ich steuere nur meine Hue-Lampen damit und die Schalter nicht (auf die drücke ich ja drauf).

    Werden alle Schalterkonfigurationen gelöscht wenn in die Bridge in Homekit integriere?

    Nein. Aber du willst auch in HomeKit nichts weiter einstellen.

    Oder bleibt alles wie es ist bis ich einen Schalter in der Homekit App konfiguriere?

    So ist es.

    Ich meine auch irgendwo gelesen zu haben das ich auch nur einen Knopf eines Schalters in Homekit nutze und die anderen im Hue System.

    Das kannst du so machen.

    Einfach nur diesen einen Knopf in Homekit konfigurieren und die anderen Knöpfe bleiben wie sie sind oder muss ich anschließend im Hue System etwas neu einstellen?

    In der HueApp musst du gar nichts ändern. Achtung: viele hier im Forum -auch ich - haben sich immer Probleme eingehandelt, wenn sie in der Hue-App auf "Mit HomeKit synchronisieren" (oder so ähnlich) getippt haben. Ich werde das nicht wieder tun, egal wie sehr die Hue-App darauf bettelt. Es ist auch gar nicht notwendig - jedes neue Philips- oder FoH-Gerät, dass du an die Hue-Bridge anlernst, taucht ohne weiteres Zutun automatisch und sofort in HomeKit auf.


    Ich betreibe den ganzen Schmonzes jetzt seit Jahren störungsfrei.

    Oder ob ich lieber alle Thermostate zurückschicken und lieber auf ein System setzen soll.

    Gute Frage. Ich habe meine Therme mit dem Netatmo Thermostat HomeKit-fähig gemacht. Zu diesem Zeitpunkt gab es noch von keinem Hersteller Heizkörperthermostate, daher hab ich mir damals keinen Kopp machen müssen.


    Das funktioniert gar gut, aber natürlich werden damit immer alle Heizkörper beheizt. Mir macht das in meiner 75qm-Mietswohnung wenig aus, da eh alle Türen offenstehen und ich auch ständig in allen Räumen unterwegs bin. Wenn du ds genauer regeln willst, wird das natürlich so nicht ausreichen. Allerdings kann ich mir ein Zusammenspiel zwischen dem Wandthermostat und irgendwelchen Heizkörperthermostaten auch nur schwer vorstellen.

    curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to unofficial-builds.nodejs.org:443

    Möglicherweise liegt es daran. Es könnte sein, dass dein curl-Version zu alt ist. Vielleicht solltest du deinen Raspi insgesamt updaten, bevor du das Node-Update machst.


    sudo apt-get update

    sudo apt-get upgrade


    Das kann einige Minuten dauern. Danach versuchst du dein Node-Update noch einmal. Das wäre der erste Schritt, den ich unternehmen würde.


    Ansonsten kannst du es mal mit n versuchen. Erst

    sudo npm install n, dann

    sudo n lts

    Wie habt ihr das gelöst, dass gerade bei der Einzelraumreinigung unterschiedliche Saugleistungen oder gar der Wischmodus zugeschaltet werden soll.

    Ich hab ja den S7 und der kann allein entscheiden, ob er nun den Teppich wischen will. Unterschiedliche Saugleistungen habe ich nicht aktiviert. Das ist mir alles viel zu kompliziert.

    Tja, das sieht nicht gut aus. So einen Fehler hatte ich noch nicht (aber alle anderen).


    Es ist eindeutig: der SSH-Server kann nicht gestartet werden. Genau das erzeugt deinen Fehler ssh: connect to host 192.168.178.40 port 22: Connection refused. Connection refused bedeutet immer, dass auf dem angesprochenen Gerät der Port nicht offen ist (hier: Port 22). Wenn ein Port nicht offen ist, dann liegt es meist daran, dass der dazu gehörige Service nicht gestartet ist, und das hier der Fall.


    Du kannst den sshd im Debug-Modus aufrufen. Vielleicht steht da etwas Nettes:

    sudo /usr/sbin/sshd -d


    Ich hab mal gegoogelt, aber finde nichts wirklich Brauchbares. Manche Anwender haben das gleiche Problem, weil sie SELinux aktiviert haben. Wenn du davon noch nie gehört hast, dann wirst du das wohl nicht getan haben.


    Andere haben eine kaputte Konfigurationsdatei für den Server. Du kannst testen, ob er sich ohne diese Datei starten lässt:


    sudo mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

    sudo systemctl restart sshd

    sudo journalctl -xe


    Wenn das auch nicht funktioniert, dann sollte die Konfigurationsdatei wieder verfügbar gemacht werden:

    sudo mv /etc/ssh/sshd_config.bak /etc/ssh/sshd_config


    Wiederum andere schwören auf

    sudo mkdir -p /var/run/sshd

    sudo systemctl restart sshd

    sudo journalctl -xe

    Was auch immer das tut.


    Vielleicht hilft auch eine Rekonfiguration:

    sudo dpkg-reconfigure openssh-server


    Oder vielleicht hilft eine Neu-Installation des Service:

    apt-get remove --purge openssh-server

    apt-get install openssh-server


    Manchmal liegt es an einer kaputten SSD oder einem kaputten Dateisystem. Da hilft meist ein Reboot.


    Du siehst: ich weiß es nicht und kann nur raten.

    bzw. ist mir nicht klar wo ich den Abruf (curl) eintragen muss.

    Das ist einfach: gar nicht. curl ist ein Programm für Linux- und Unix-Computer. Da, wo dein curl-Kram steht, muss der Wert gesetzt werden, der an die Bridge gesendet wird. Um den Sensor einzuschalten, lautet der Wert "on".true. Um ihn auszuschalten, lautet der Wert "on":false.


    Lösch also die Zeile, die bei dir mit curl beginnt. Dann klicke auf neues Feld hinzufügen. Der Wert, der gesendet werden soll, ist ein boolescher Wert (auf deutsch ist true = wahr und false = falsch). Der Schlüssel ist immer das Wort on.




    Du musst also zwei Kurzbefehle anlegen - einer schaltet den Sensor aus, der andere schaltet ihn ein. Bei dem einen steht dann da


    on | Falsch


    und bei dem anderen


    on | Wahr


    So soll es aussehen: