Homebridge Stabilitätsprobleme - kein Bonjour auf RPI?

Begonnen von PsychoD, 10 September 2018, 00:00:24

Vorheriges Thema - Nächstes Thema

PsychoD

Nabend zusammen,

ich habe bisher FHEM auf einem RPI2 betrieben, Grundsystem war ein OSMC. Das lief ganz gut, aber jetzt wollte ich das endlich mal sauber auf einem Raspian aufsetzen, und hab mir dafür einen RPI3B+ gekauft und alles von Grund auf neu aufgesetzt. FHEM läuft, Homebridge eigentlich auch, aber leider nicht durchgängig. Ich habe Homebridge mittels apt-get nach Wiki aufgesetzt, aber leider kommt es nach einiger Zeit immer wieder vor, dass die Geräte in der Home-App auf dem iPhone auf "Aktualisieren" oder "Keine Antwort" stehen. Avahi-Komponenten sind installiert, dennoch taucht die Homebridge auch in keinem Bonjour-Browser auf. Hat jemand eine Idee was ich verkehrt gemacht haben könnte?

Ich habe Homebridge bereits 2x neu eingerichtet, und auch die ID etc. geändert um alles von Grund auf neu hinzuzufügen. Leider keine Besserung

config.json:
pi@rpi-3:~ $ cat ~/.homebridge/config.json
  {
        "bridge": {
        "name": "Homebridge",
        "username": "B8:27:EB:7C:BF:AB",
        "port": 51826,
        "pin": "031-45-167"
    },

    "platforms": [
        {
            "platform": "FHEM",
            "name": "FHEM",
            "server": "localhost",
            "ssl": false,
            "port": "8083",
            "filter": "room=Homekit"
        }
     ],

    "accessories": []
}


Hat jemand eine Idee?

Danke & viele Grüße
Psy

PsychoD

Moin,

zum einen: Sorry dass ich das hier unter Sprachsteuerung gepostet hab - ich war wohl irgendwie im Kopf zu sehr bei Homebridge -> Siri.

Ich glaube ich habe zumindest eine deutliche Verbesserung hinbekommen, die ich anderen hilfesuchenden nicht vorenthalten will. Ich habe drei Dinge geändert. Zum einen hatte ich IPV6 in meiner Fritzbox nicht aktiv. Das zweite war das Problem, dass Homebridge nur auf ipv6 gelauscht hat, wie hier beschrieben:

Zitat
This the result of the way nodejs creates the server socket, see here:
(homebridge / hap-nodejs creates the server socket without specifying a hostname)

nodejs/node#9390
and here
nodejs/node@12cf359

It looks like the behaviour of nodejs on Ubuntu/Debian has changed, it opens only a tcp6 socket.

It is easy to test it, if you start a simple server:

node -e "net.createServer(c=>console.log).listen(5555)"

netstat -a | grep 5555
tcp6       0      0 [::]:5555               [::]:*                  LISTEN   

The solution is to modify hap-nodejs to create a tcp4 server socket or both.

A quick fix is to modify eventedhttp.js in /usr/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util, in line 60:

this._tcpServer.listen(targetPort);

to this

this._tcpServer.listen(targetPort, '0.0.0.0');

genommen von: https://github.com/nfarina/homebridge/issues/1277

Zuguterletzt hab ich noch den WLAN Stromsparmodus deaktiviert:
sudo iwconfig wlan0 power off

Seit dem scheint es jedenfalls massiv besser geworden zu sein.

VG
Psy


PsychoD

Noch ein Nachtrag: Im direkten Vergleich scheint mir Siri bzw. Homekit besser zu laufen (d.h. weniger "aktualisieren" oder "keine Antwort"), wenn ich den Raspberry per WLAN verbinde, nicht via Ethernet. Vielleicht hilft es ja jemandem.