Apple HomeKit: Anbindung an IPS auf Basis der HomeBridge von nfarina

Also ich habe nun noch eine Anpassung vorgenommen.

Bisher hat die HomeBridge alle Geräte einer „platform“ als einzelne Accessories zur Verfügung gestellt.
In dem zugrunde liegenden Framework „HAP-NodeJS“ habe ich den Code für die Einbindung einer „Bridge“ in HomeKit gefunden. Also habe ich die app.js modifiziert, so dass meine Symcon-Platform nun als Bridge bereitgestellt wird.

Konkret heißt das, dass man für alle IPS-Geräte nur genau ein Gerät mit HomeKit „pairen“ muss. Alle IPS-Geräte sind dann alle sofort verfügbar. Das macht die Konfiguration doch bedeutend einfacher. Ich fand es bisher immer nervig, dass man die Geräte einzeln hinzufügen musste…

Erst nach einem Neustart meines iPhones waren alle anderen Symcon-Instanzen verschwunden und es war nur noch genau ein HomeKit-Gerät verfügbar: „Symcon“. Nach dem Hinzufügen waren dann alle funktionsfähigen Geräte sofort in HomeKit steuerbar ohne, dass diese einzeln hinzugefügt werden mussten. Die ID einer Instanz kann man nun über die Seriennummer eines Geräts (einsehbar über die Geräteigenschaften in den HomeKit-Apps) erkennen. Der Anzeigename entspricht nun immer dem Namen in IPS.

Ich habe auch etwas mit den reinen Temperatursensoren rumgespielt, aber leider herausgefunden, dass die characteristics meiner „Generic“-Geräte, die Mindestanforderungen eines HomeKit-Geräts abdecken. Du kannst da also leider nicht einen Wert weglassen, da HomeKit sonst die Verbindung verweigert. Daher habe ich mir so beholfen, dass ich den gleichen Wert bei mehreren Characteristics zurückmelden, bspw. bei „Target Temperature“ und bei „Current Temperature“.

Hallo Andre,

ich habe hier einen Fork Homebridge-Fork mit HM deiner Arbeit mit der Integration mehrerer HomeMatic Komponenten.

Leider konnte ich das noch nicht in Verbindung mit deinen aktuellsten Änderungen testen. Das hole ich heute Abend nach.

Unterstützt werden derzeit:

HM-LC-Sw2-FM => Unterputz 2-fach Aktor
HM-LC-Sw1-FM => Unterputz 1-fach Aktor
HM-LC-Sw1-Pl => So ne Funk-Steckdose
HM-ES-PMSw1-Pl => Funk-Steckdose mit Strommessung (jedoch ohne Stromauswertung, nur Ein-Aus-Schaltung)
HM-WDS40-TH-I => Temperatursensor Indoor
HM-WDS40-TH-O => Temperatursensor Outdoor
HM-TC-IT-WM-W-EU => Wandthermostat neue Version

Wichtig
IPS liest die Homematic-Gerätearten (bsp.: HM-LC-Sw2-FM) derzeit nicht aus. Bis das soweit ist, muss der Gerätetyp in der Beschreibung der Geräteinstanz jedes Gerätes manuell in folgendem Format erfasst werden.

Device-Type=„HOMEMATIC-GERÄTE-TYP“
Leerzeichen sind nicht erlaubt!

Beispiel für einen Aussen-Temperatursensor:
Device-Type=„HM-WDS10-TH-O“

Ihr könnt weiterhin jeden anderen Text in der Beschreibung erhalten. Wo der String Device-Type="" steht ist egal. Er darf jedoch nur einmal vorkommen. In meinem Screenshot-Beispiel habe ich „HomeKit-Variables:“ als Erinnerungsstütze für mich geschrieben.

Homekit-Device-Typ.JPG

@Andre seit dem neuesten Pull erhalte ich nun das Symcon Device mit den ganzen unterdevices. Meine HM Geräte werden angezeigt. Derzeit kann ich nur Geräte mit True/False steuern. Dimmen bzw Temperatur, sowie Strommessung funktionieren (natürlich, ist mir ja bekannt) noch nicht. Könnte man die Möglichkeit bauen eine eigene Variable über das homekit hub true/false zu schalten?

@mesa dein Fork funktioniert super, symcon erkennt nun auch in der server console mein wandthermosthat… problem ist ich hab das symcon device 1 mal gelöscht jetzt kommt es nicht mehr wieder… die anderen geräte kann man wenn man sie schon gelöscht hat wiederbekommen, indem man die dateien im persist ordner löscht… jedoch half das nicht für die symcon platform… wo verbirgt sich hier der Unique identifier?

Die Hue Lampen lassen sich auch super schalten, die farben lassen auch auch wählen… jedoch weiß siri nichts mit schalte „Lautsprecher“ auf „Blau“ (Lautsprecher heißt die Hue Lampe)…

Also entweder bin ich zu blöd, aber ich weiss nicht wie ich die Temperatur abfrage :slight_smile:

Habe einen Wandthermostat der ist wie folgt konfiguriert:

App: Insteon+
Device name: „Wandthermostat Wohnzimmer“
Siri Control: „Wohnzimmer Termostat“
Room: „Wohnzimmer“

Befehl:
-> „Stelle die Temperatur im Wohnzimmer auf 18 Grad“ -> Siri: OK, ich habe das Thermostat (Wohnzimmer) auf 18 Grad gestellt. Funktioniert auch.

-> „Aktuelle Temperatur im Wohnzimmer“ -> Siri: Ich weiss nicht wer „Zimmer ist“ ->FALSCH
-> „wie ist die aktuelle Wohnzimmer Temperatur“ -> Siri: Es sind 31 grad draussen -> FALSCH
-> „Wohnzimmer Thermostat aktuelle Temperatur“ -> Siri: Ich weiss nicht wer „Zimmer ist“ ->FALSCH
-> „Wie ist die aktuelle Temperatur im Wohnzimmer“ -> Siri: Tut mir leid, aber ich kann „Zimmer“ nicht in deinen Kontakten finden -> FALSCH

Gleiches Spiel bei Luftfeuchtigkeit. Was mache ich falsch? Wie lautet der Befehl?

Wie habt ihr eure Devices im HomeKit angebunden und wie sprecht ihr sie an? Das ist zum Verzweifeln :smiley:

Moin zusammen,

meine Homematic Geräte werden jetzt sowohl in der App „Eve“ als auch in der App „Insteon+“ korrekt erkannt.
Bei dem Versuch die Geräte in der App zu pairen, wird ein Code abgefragt.
Der Standart Code 031-45-154 führt grundsätzlich dazu, dass der Server beendet wird.

Allerdings konnte ich die Bindestriche mit der eingeplanten Tastatur des Iphone`s nicht eingeben.

Gruß

Axel

Bei beiden homebridge varianten funktioniert 12345123… die bindestriche musst du natürlich nicht mit eintippen…

Vielen Dank,

das Passwort passt

Gruß

Axel

Versuch es mal mit: „Wie warm ist es in der Küche“ So hat es bei mir funktioniert :wink:

Versuch es mal mit: „Wie warm ist es in der Küche“ So hat es bei mir funktioniert :wink:

HAHAHA unglaublich! Das funktioniert. Ich hab mich schon für blöd gehalten. Und meine Frau konnt’s auch nicht mehr hören. Mein ständiges Gerede mit Siri :slight_smile:

Danke dir :slight_smile:

Aber so richtig zuverlässig fehlt mir noch der Siri-Befehl für die Luftfeuchtigkeit. Jemand da ne Idee? :slight_smile:

Den habe ich auch noch nicht rausgefunden…habe es schon mit feucht und nass probiert, aber leider ohne Erfolgt:D

Hallo Leute,

das „Projekt“ hier geht ja in großen Schritten voran! Respekt!

Da ich keines der bisher hier diskutierten Hardware verwende, habe ich mir die Frage gestellt, ob man das Ganze nicht etwas „universeller“ gestalten könnte.
Ich halluziniere mal:

  • Die Universalklasse wird über ein Phantasienamen angesprochen
  • Die Variablen die dabei angesprochen werden stehen in einer verküpften Verbindung zu den richtigen Variablen

Ein Beispiel:
In der Phantasieklasse setze ich mit Siri „nur“ eine Variable auf True/False (oder einen Integerwert), durch die Verbindung (bei Änderung mache dieses oder jenes) wird jetzt das Deckenlicht im Wohnzimmer indirekt über Hardware vom Typ xy geschaltet. In dieser Phanthasiegruppe könnte ich dann auch Integer-Variablen setzen, die dann über die Verbindung im IPS den Dimmer oder Lautstärke setzen. Auch könnte z.B. die Temperaturwerte aller Räume dort „gesammelt“ werden und abgefragt werden.

Ich hoffe das war jetzt so einigermaßen verständlich…:wink:

Joachim

Hat jemand einen Tipp, wie ich ich mein Symcon device wieder für mein iPhone sichtbar mache?

Wiegesagt ich hatte es 1 mal gekoppelt, danach gelöscht… inzwischen mehrfach das Handy neugestartet, homekit konfiguration zurückgesetzt… mal versucht ( bin ein noob ) am code rumzubasteln um irgendwie zu versuchen das gerät umzubenennen oder dessen specs zu ändern damit das iphone denkt es wäre ein neues aber ich bekomme es nicht hin…

Wie muss ich denn jetzt vorgehen?

Hallo Joachim,

genau das tun wir doch :slight_smile:

HomeKit kann übrigens „Phantasienamen“ (mit Einschränkungen) bedienen. Im Grunde liegt das Problem daran:

  1. Angenommen wir erstellen einen neuen Gerätetyp „UniversalZahlensetzer“ (ja blöd der Name, ich weiss), der hat die Funktionen von einem Thermostat (damit kannst du Zahlen setzen und lesen).

  2. im iPhone kannst du den dann meinetwegen als „Anlage Lautstärke“ konfigurieren und mit dem Siri Befehl „Stelle Anlage Lautstärke im Wohnzimmer auf xyz“ sendest du einen Befehl an den Gerätetyp „UniversalZahlensetzer“

  3. Dieser ruft anstatt eines HerstellerGerätes einfach ein Skript auf welches den Wert weiterverarbeitet… Aber nun fehlt dir die Verbindung zu deinem gewünschten Endgerät, der Sound Anlage im Wohnzimmer… D.h. du müsstest hier für jedes zu steuernde Endgerät eine Verbindung im Skript programmieren. Und das ist es was noch nicht passiert ist :slight_smile: Andre hat bereits die ersten EIB Geräte eingebunden und ich die ersten Homematics. (Zunächst einmal mit Gerättypen die von HomeKit von Haus aus unterstützt werden. Den Workaround „UniversalZahlensetzer“ sollte man sicher nicht vor Einführung des neuen iOS beginnen, vielleicht gibt es bald neue, von Haus aus unterstützten Gerätetypen)

Bei mir geht das einwandfrei in dem ich in das /homebridge/persist/ Verzeichnis wechsel und dann alle Dateien mit „rm *“ lösche. Danach die Homebridge starten und schon wird Symcon wieder angezeigt.

Leider ohne erfolg, genau das hatte ich gemacht. Andere Accessories die ich mal gelöscht hatte werden auch wieder angezeigt (z.b. HTTP usw) aber das Symcon Device bleibt verborgen.

Versuch doch mal die Symcon Platform umzubenennen. Unter Name steht ja normalerweise: „Symcon“. Versuch mal hier einen anderen Namen zu definieren. Danach nochmal löschen und wieder starten.

Das habe ich natürlich alles schon versucht… jedoch taucht sie nicht auf. persist gelöscht, namen geändert, … in den platform dateien rumgespielt und mal die seriennummer und co geändert… nix… es kommt einfach nicht mehr es wird jedoch erfolgreich initialisiert.

Welche App benutzt du? Ich benutze hierfür die Insteon+