Erstellung eines Homebridge Plugins für HomeKit

Ja du sagst es , der Username muss geändert werden manchmal.
AppleTV auch mal neu starten, da hängt es auch manchmal, evt. Cloud beim AppleTV abmelden und neu anmelden.
Dann solltest du in der Homeapp alles wieder anlegen können.
VG

1 „Gefällt mir“

Yup, hab es inzwischen hinbekommen (für Apple ziemlich üble User Experience), aber die Bridge wird im Netz nicht gefunden… Obwohl die Ports offen sind…

nmap -p1-65535 192.168.178.91
Starting Nmap 7.60 ( https://nmap.org ) at 2017-08-04 20:04 CEST
Nmap scan report for hassio.fritz.box (192.168.178.91)
Host is up (0.00094s latency).
Not shown: 65526 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
1400/tcp  open  cadkey-tablet
1883/tcp  open  mqtt
3218/tcp  open  smartpackets
8123/tcp  open  polipo
22222/tcp open  easyengine
51826/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 11.13 seconds
1 „Gefällt mir“

Hallo Leute,

hab mein System jetzt noch einmal frisch aufgesetzt - ohne die Hombrige App. Npm und Co alles up to Date. Das Plugin in der Version 0.2.2 läuft aber immer noch nicht. Es wird folgende Fehlermeldung ausgegeben:

TypeError: that.filterDevices is not a function
at that.homee.listen.message (/usr/local/lib/node_modules/homebridge-homee/index.js:41:58)
at WebSocket. (/usr/local/lib/node_modules/homebridge-homee/lib/homee.js:106:9)
at emitTwo (events.js:106:13)
at WebSocket.emit (events.js:191:7)
at Receiver.ontext (/usr/local/lib/node_modules/homebridge-homee/node_modules/ws/lib/WebSocket.js:841:10)
at /usr/local/lib/node_modules/homebridge-homee/node_modules/ws/lib/Receiver.js:536:18
at /usr/local/lib/node_modules/homebridge-homee/node_modules/ws/lib/Receiver.js:368:7
at /usr/local/lib/node_modules/homebridge-homee/node_modules/ws/lib/PerMessageDeflate.js:249:5
at afterWrite (_stream_writable.js:385:3)
at onwrite (_stream_writable.js:376:7)

Kann mir bitte jemand helfen. Möchte auch, dass es bei mir funzt :sob:

Hey Leute (@stfnhmplr, @Micha, @hblaschka, @Einstein77),

keiner ne Idee zu meinem Problem? Bei euch funktioniert das Plugin doch. Und ihr habt Ahnung von Linux und Co. :blush:

Grüße
Sebastian

Da muss dann wirklich mal @stfnhmplr Stefan ran.
Ist ja sein Plugin und da wird er sagen können was deiner Homebridge fehlt.

Startet denn deine Homebridge ?
Was für eine Node Js Version hast du drauf ?

Also die Installation (Jessie, Homebridge) ganz normal siehe Anleitung von mir hier im Forum. Das Einzige was ich feststellen konnte, dass die Homebridge unter dem User Pi installiert wurde und nicht im root-Verzeichnis.

Hier die Fakten:

  • Node 6.11.2
  • Homebridge 0.4.22
  • Homee-Plugin 0.2.2

Habe nur Homebridge und Homee-Plugin installiert. Hier meine Json, mit der die Fehlermeldung kommt. Lasse ich den unteren Teil für das Plugin weg, startet die Homebridge und funktioniert.

{
“bridge”: {
“name”: “Homebridge”,
“username”: “CD:22:3D:E3:CE:70”,
“port”: 51826,
“pin”: “031-45-522”
},

    "platforms": [{
            "platform": "homee",
            "name": "Homee",
            "host": "IP",
            "user": "Name",
            "pass": "Passwort",
            "debug": true
    }]

}

Mal ne Frage am Rande: Mit welchem Befehl(en) wird die Homebridge in das root-Verzeichnis installiert?

Wo du sie installierst spielt keine Rolle ob nun als PI oder Root.
Hast du das Plugin schonmal deinstalliert und neu installiert?

Hast du die config.json gecheckt?

Plugin deinstalliert und neu installeriert - keine Veränderung.
Gecheckt? - Ja: Validator, Name, Passwort, IP

Plugin, dann Homebridge deinstalliert und dann wieder Homebridge und dann Plugin installiert hat auch nichts gebracht.

Immer der gleiche Fehler :sob:

@hblaschka Du könntest versuchen den Cache zu löschen. Das hilft vielleicht. Wo der bei der Hassbian Installation ist, weiß ich aber nicht genau. Müsste aber eigentlich im gleichen Verzeichnis wie die config.json sein.

@CaptainL Das ist sehr eigenartig. Die Fehlermeldung sagt, dass eine Funktion in meinem Script nicht gefunden wird. Ich habe meine Installation gerade gelöscht und wieder neu aufgesetzt. Der Fehler tritt bei mir (und ja auch bei den anderen) nicht auf. Ich kann mir daher nur vorstellen, dass das etwas mit deiner Installation zu tun hat. Homebridge sollte immer global installiert werden. Also konkret solltest du zuerst mit sudo npm install -g --unsafe-perm homebridge homebridge selbst installieren. Anschließend dann das homee Plugin mit sudo npm install -g homebridge-homee Das -g sorgt dafür, dass die Installation im Verzeichnis /usr/lib/node_modules erfolgt. Aber das steht ja auch schon so in deiner Anleitung. Weiterer Versuch wäre, deine NodeJS Version auf den neusten Stand zu bringen. Aktuell ist es die 8.1.4. Anleitung hatte ich ein paar Posts weiter oben schon mal verlinkt.

1 „Gefällt mir“

Hallo @stfnhmplr,

danke für deine Rückmeldung. Da es bei euch allen ja tut, bin ich ja so verzweifelt… Homebridge habe ich in der Reihenfolge und global installiert. Vorhin ja dann auch nochmals deinstalliert und wieder neu aufgesetzt. Gleiches natürlich auch für dein Plugin. Fehler immer derselbe.

Node hatte und habe ich auch schon auf 8 upgedatet, allerdings läuft dann bei mir die Homebridge nicht mehr. Gerade auch nochmals versucht. Jetzt auf 8.2.1. bekomme ich trotz drüberinstallieren nicht mal mehr die Homebridge zum Starten. Log bleibt leer. Habt ihr alle die 8.2.1 am Laufen?

Irgendwie ist der Wurm drin. M.E. gibt es zwei Möglichkeiten. Entweder alles noch einmal auf 0 oder einer mit Ahnung schaltet sich per Viewer morgen mal auf meinen Rechner. Dann bitte PN. :blush:

Also ich bin auf 7.10.1 und da läuft es gut.

So, alles neu aufgesetzt. Jetzt mit 7.10.1 und immer noch folgender Fehler:

*** WARNING *** The program ‘node’ uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=node
*** WARNING *** The program ‘node’ called ‘DNSServiceRegister()’ which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister
/usr/local/lib/node_modules/homebridge-homee/index.js:41
[that.nodes, that.homeegrams] = that.filterDevices(message.all);
^

TypeError: that.filterDevices is not a function
at that.homee.listen.message (/usr/local/lib/node_modules/homebridge-homee/index.js:41:58)
at WebSocket. (/usr/local/lib/node_modules/homebridge-homee/lib/homee.js:106:9)
at emitTwo (events.js:106:13)
at WebSocket.emit (events.js:194:7)
at Receiver.ontext (/usr/local/lib/node_modules/homebridge-homee/node_modules/ws/lib/WebSocket.js:841:10)
at /usr/local/lib/node_modules/homebridge-homee/node_modules/ws/lib/Receiver.js:536:18
at /usr/local/lib/node_modules/homebridge-homee/node_modules/ws/lib/Receiver.js:368:7
at /usr/local/lib/node_modules/homebridge-homee/node_modules/ws/lib/PerMessageDeflate.js:249:5
at afterWrite (_stream_writable.js:383:3)
at onwrite (_stream_writable.js:374:7)

Hi CaptainL,

wenn du mir per PM deine Zugangsdaten schickst, schaue ich gerne mal drüber wo es hängt.

1 „Gefällt mir“

@anon21150642 @CaptainL Konntet ihr irgendeine Ursache finden?

1 „Gefällt mir“

Jap! Bugfix ist hier: https://github.com/stfnhmplr/homebridge-homee/pull/5 :slight_smile:

5 „Gefällt mir“

Danke! Ich wollte zuerst ein Objekt zurückgeben, hab mich aber dann hinterher für nen Array entschieden und die vorzeitige Rückgabe dann prompt vergessen :slight_smile:

4 „Gefällt mir“

An der Stelle auch nochmals ein herzliches Dankeschön an @anon21150642, der sich am WE viel Zeit genommen hat um den Fehler zu finden. Und natürlich an alle anderen, die das Plugin entwickelt/mitentwickelt haben oder hier unterstützen.

3 „Gefällt mir“

Eine Frage habe ich aber noch. Die Homebridge rennt ja jetzt förmlich auf dem Pi. Mein Problem ist jetzt aber, dass ich mich trotz vielfacher Versuche nicht mit der App koppeln kann. Die Homebridge wird erkannt, der Code wird eingegeben und dann kommt der Fehler.

Was bisher versucht wurde:

  • Homebridge ist auf neuster Version 0.4.22
  • Node auch 8.2.1
  • Neustart Pi
  • Neustart iOS Gerät
  • Ändern MAC-Adresse ìn Json
  • Löschen des Speichers rm -r ~/.homebridge/persist/

Sonst noch jemand eine Idee?

@CaptainL Der Fehler von oben ist doch behoben, oder? Was für ein Fehler kommt jetzt und wo tritt er auf?

Die Homebridge läuft jetzt auf dem Pi. Allerdings bekomme ich meine Home-App auf dem Handy nicht mit der Bridge gekoppelt:

“Homebridge konnte nicht hinzugefügt werden - Home konnte keine Verbindung zu diesem Gerät herstellen”