Erstellung eines Homebridge Plugins für HomeKit

wie findet Homebridge dann den Richtigen sensor? Über den Namen oder die ID?
Werden bei dir dann die Zustände angezeigt?

IDu brauchst jeweils ein HG für wie im Bsp. Tor geht auf/Tor geh zu … welches einen Webhook sendet.

Bsp. bei mir:

http://192.168.1.136:51827/?accessoryId=sensor1&state=true

bzw.

http://192.168.1.136:51827/?accessoryId=sensor1&state=false

Der Name ist letztlich egal, kann in Homee und Homebridge jeweils unterschiedlich sein, ist vollkommen egal, da die Zuordnung ja über Webhook funktioniert.

1 „Gefällt mir“

OK Danke, jetzt hab ich es verstanden.

1 „Gefällt mir“

@medicus07
Letzte Frage die IP ist vom Pi und der Port vom Homebridge plugin, oder?

IP: lokale IP des Raspberry

Port: des Webhook plugins (bei mir hat Homebridge 51826 und das Webhook-Plugin 51827

Edit: Wo wir gerade dabei waren, habe ich noch einen Sensor in Homebridge integriert, den ich schon länger geplant hatte… :wink:

2 „Gefällt mir“

Nachdem die Ankündigung der HomeKit Unterstützung ja zurück gezogen wurde, habe ich ein Plugin für Homebridge erstellt mit dem sich die Geräte abfragen und direkt steuern lassen. Also ohne Umweg über ein Homegramm und einen Webhook.

Das Package heißt homebridge-homee (https://www.npmjs.com/package/homebridge-homee). Die Installation sowie die Konfiguration ist in der ReadMe erklärt.

Da ich nur ein paar wenige Geräte besitze, ist die Unterstützung momentan noch recht gering. Geräte die bereits teilweise oder ganz funktionieren:

  • Devolo Window/Door Sensor
  • Danfoss Living connect Thermostat
  • Fibaro Motion Sensor
  • Fibaro Door/Window Sensor

Andere Geräte werden zurzeit bewusst nicht angezeigt.

Für weitere Geräte muss zumindest der richtige HomeKit-Geräte-Typ in einer Mapping-Datei ergänzt werden. Sensoren sollten recht einfach umsetzbar sein, bei anderen Geräten können aber noch andere Änderungen nötig sein.

Wer mich dabei unterstützen möchte und mit NodeJS umgehen kann, kann sich gerne per PN melden. Für alle die bei Github angemeldet sind: Ich freue mich über einen Stern: https://github.com/stfnhmplr/homebridge-homee

Bitte beachtet, dass es sich um eine unstabile Version handelt. Es kann also unter Umständen zu Fehlern und Abstürzen eurer Homebridge Installation führen. Bei mir läuft die Installation jedoch seit zwei Tagen mit den o.g. Geräten ohne Fehler.

11 „Gefällt mir“

Find ich das klasse, das Du das an den Start gebracht hast…

Ich kann leider nicht Programmieren würde dich aber wo es geht unterstützen.

super danke für deine Arbeit!!!

Habt direkt mal ausprobiert.

Die Konsole zeigt mir dann folgendes an:

[Homee] Failed getting devices. Retrying…
[7/11/2017, 6:35:58 PM] [Homee] Error: Homee: Error while receiving AccessToken: Error: getaddrinfo ENOTFOUND undefined undefined:7681
at Request._callback (/usr/local/lib/node_modules/homebridge-homee/lib/homee.js:46:21)
at self.callback (/usr/local/lib/node_modules/homebridge-homee/node_modules/request/request.js:188:22)
at emitOne (events.js:96:13)
at Request.emit (events.js:189:7)
at Request.onRequestError (/usr/local/lib/node_modules/homebridge-homee/node_modules/request/request.js:884:8)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:189:7)
at Socket.socketErrorListener (_http_client.js:358:9)
at emitOne (events.js:96:13)
at Socket.emit (events.js:189:7)

Hast du da zufällig eine Idee!

@Einstein77 Prima, danke. Es hilft schon, wenn du das Plugin bei dir zu Hause ausprobierst und die funktionierenden und nicht funktionierenden Geräte auflistest.

@fisch Das sieht auf den ersten Blick nach einer falschen IP-Adresse in der config.json aus. Du kannst die Adresse kontrollieren indem du folgende Adresse im Browser aufrufst: http://[deine-ip]:7681/webapp Dort sollte dann die Homee Oberfläche erscheinen.

mmmm an der IP liegt es leider nicht …

ich habe es auch mal installiert… und beim Start fliegt er hier raus

[7/11/2017, 7:26:00 PM] Loading 2 platforms…
/usr/lib/node_modules/homebridge/lib/api.js:108
if (name.indexOf(’.’) == -1) {
^

TypeError: Cannot read property ‘indexOf’ of undefined
at API.platform (/usr/lib/node_modules/homebridge/lib/api.js:108:11)
at Server._loadPlatforms (/usr/lib/node_modules/homebridge/lib/server.js:284:45)
at Server.run (/usr/lib/node_modules/homebridge/lib/server.js:80:36)
at module.exports (/usr/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:570:32)
at Object.Module._extensions…js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:389:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:504:3

Hast Du eine Idee?

ich habe die config.json geändert

{
“accessory”: “Homee”,
“name”: “Homee”,
“ip”: “192.168.178.1”

geändert auf

{
“platform”: “Homee”,
“name”: “Homee”,
“ip”: “192.168.178.1”

danach will er aber auch nicht richtig

[7/11/2017, 7:37:33 PM] Loading 2 platforms…
[7/11/2017, 7:37:33 PM] [Homee] Initializing Homee platform…
[7/11/2017, 7:37:33 PM] [Homee] Failed getting devices. Retrying…
[7/11/2017, 7:37:33 PM] [My FritzBox] Initializing Fritz!Box platform…
[7/11/2017, 7:37:33 PM] Loading 0 accessories…
[7/11/2017, 7:37:33 PM] [Homee] Error: Homee: Error while receiving AccessToken: Error: getaddrinfo ENOTFOUND undefined undefined:7681
at Request._callback (/usr/lib/node_modules/homebridge-homee/lib/homee.js:46:21)
at self.callback (/usr/lib/node_modules/homebridge-homee/node_modules/request/request.js:188:22)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at Request.onRequestError (/usr/lib/node_modules/homebridge-homee/node_modules/request/request.js:884:8)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:188:7)
at Socket.socketErrorListener (_http_client.js:309:9)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at connectErrorNT (net.js:1021:8)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
[7/11/2017, 7:37:34 PM] [My FritzBox] Fritz!Box platform login failed
[7/11/2017, 7:37:35 PM] [Homee] Failed getting devices. Retrying…
[7/11/2017, 7:37:37 PM] [Homee] Failed getting devices. Retrying…
[7/11/2017, 7:37:39 PM] [Homee] Failed getting devices. Retrying…
[7/11/2017, 7:37:41 PM] [Homee] Failed getting devices. Retrying…

Genau so habe ich es auch gemacht…selbiges Fehlerbild.

Sorry, da haben sich zwei Fehler in die Readme eingeschlichen. Wie ihr schon entdeckt habt muss es “platform” heißen. Bitte benennt dann die “ip” noch in “host” um. Dann sollte es klappen. Die ReadMe ist aktualisiert.

Ich habe gestern Abend auch noch weitere Profile mit den HomeKit Typen verbunden. Das update lässt sich mit npm update -g homebridge-homee installieren.

1 „Gefällt mir“

Danke werde ich morgen direkt mal testen!! Gesonnt was es alles findet!

Wenn das gajze ohne Webhooks funzt :+1::+1::+1:wäre genial!

[Homee] Failed getting devices. Retrying...

Update auf 0.3 wurde durchgeführt und die Änderungen wie in der Readme vorgenommen-

[7/12/2017, 6:17:21 AM] [Homee] Error: Homee: Error while receiving AccessToken: Error: Parse Error
at Request._callback (/usr/local/lib/node_modules/homebridge-homee/lib/homee.js:46:21)
at self.callback (/usr/local/lib/node_modules/homebridge-homee/node_modules/request/request.js:188:22)
at emitOne (events.js:96:13)
at Request.emit (events.js:189:7)
at Request.onRequestError (/usr/local/lib/node_modules/homebridge-homee/node_modules/request/request.js:884:8)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:189:7)
at Socket.socketOnData (_http_client.js:416:9)
at emitOne (events.js:96:13)
at Socket.emit (events.js:189:7)

Hallo…

Wirklich klasse das Du das Plugin noch weiter verbesserst…

ich habe auch das Update gemacht und die Config angepasst… fliege aber auch wie “fisch” raus

[7/12/2017, 6:50:00 AM] Loading 1 platforms…
[7/12/2017, 6:50:00 AM] [Homee] Initializing Homee platform…
[7/12/2017, 6:50:00 AM] [Homee] Failed getting devices. Retrying…
[7/12/2017, 6:50:00 AM] Loading 0 accessories…
[7/12/2017, 6:50:00 AM] [Homee] Error: Homee: Error while receiving AccessToken: Error: Parse Error
at Request._callback (/usr/lib/node_modules/homebridge-homee/lib/homee.js:46:21)
at self.callback (/usr/lib/node_modules/homebridge-homee/node_modules/request/request.js:188:22)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at Request.onRequestError (/usr/lib/node_modules/homebridge-homee/node_modules/request/request.js:884:8)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:188:7)
at Socket.socketOnData (_http_client.js:367:9)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:547:20)
[7/12/2017, 6:50:02 AM] [Homee] Failed getting devices. Retrying…
[7/12/2017, 6:50:04 AM] [Homee] Failed getting devices. Retrying…

Mmh. Das ist komisch. Benutzername und Passwort sind auch korrekt? Das müssen die gleichen Angaben sein, wie Ihr euch ins Webinterface einloggt. Also die komplette config muss dann so aussehen:

"platforms": [
    {
        "platform": "Homee",
        "name": "Homee",
        "host": "ip-von-homee",
        "user": "testuser",
        "pass": "testpasswort"
    }
]

Könnt ihr denn das Webinterface über http://[deine-ip]:7681/webapp erreichen und euch mit user und pass einloggen?

ist alles korrekt…

kann mich über http://[deine-ip]:7681/webapp auch mit dem benutzer einloggen

wenn du mal bei mir rauf schauen möchtest, kann ich dich auf ein GoTo Meeting einladen.
Brauche dann deine Mailadresse