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

Ja ich benutze auch die Insteon+ wobei die Eve App auch funktioniert.

Jedoch die Bitte: @florian kannst du es ermöglichen, dass man die Symcon Platform umbenennen kann? Ich bekomme das Device nicht mehr angezeigt, da ich es 1 mal gepairt hatte und wieder gelöscht. Hat hier niemand anderes dasselbe Problem?

Hallo.

Jetzt Habe ich mich von dem Projekt doch anstecken lassen :rolleyes: und muss ich mich mal einklinken.

Status bei mir ist, dass ich die Sache auf einem BananaPi so weit am laufen habe und ich Homematic Geräte über den entsprechenden Eintrag in der config.json per Siri steuern kann.

Ich sehe auch das Symcon Accessoire und wenn man die Homebridge startet findet er auch jede Menge Instanzen. Wenn ich aber pairen will bricht der Vorgang mit dem Fehler

An Error Occured on client side connection, { [Error: write EPIPE] code: ‚EPIPE‘, errno: ‚EPIPE‘, syscall: ‚write‘ }

ab (sowohl Eve als auch Insteon)…

Ich habe die Bridge mal zum Vergleich auf eine kleine Testinstallation auf einem Raspberry losgelassen und da schliesst er die Instanzensuche mit einer Meldung ab wie viele er gefunden hat.

Mache ich das selbe auf meinen grossen IPS (Windows) dann kommt diese Meldung nicht, das sieht dann am Ende so aus:

[Symcon] Initializing device with name 10148…
[Symcon] 10148: adding control characteristic POWER_STATE_CTYPE…
[Symcon] 10148: services loaded
[Symcon] Initializing device with name 10065…
[Symcon] 10065: adding control characteristic POWER_STATE_CTYPE…
[Symcon] 10065: services loaded
TCP server accepting connection on port: 51832
HAP Server is listening
New Session 50602
Server Connection Established 36400
Start Verify M1
Verify M1 Finished
Start Verify M3
M3: Verify Success

Irgend eine zweckdienliche Idee woran das liegen könnte?

Hallo Kronos,

hast du den HomeMatic Fork mal ausprobiert anstatt in der Config.json alle Homematics manuell einzustellen?

Hallo Leute,

auch ich habe mich mal wieder mit der Einrichtung dieser Funktionalität beschäftigt. Als Ergebnis bekomme ich leider aber immer dieses:

root@raspberrypiTV:~/homebridge# npm run start

> homebridge@0.0.0 start /root/homebridge
> node app.js

Starting HomeBridge server...
*** 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>
root@raspberrypiTV:~/homebridge#

…das ist zwar schon deutlich weiter als vorher, aber irgendetwas fehlt ja offensichtlich. Ich habe die config.json zwar eingerichtet, aber eine symcon.js z.B. fehlt bei mir. Wie bekomme ich die installiert? Welche Befehle müssen dazu ausgeführt werden?

Joachim

Nachtrag: Die Dateien und Ordner von Andre’s Github sind offenbar alle da, nur die Verbindung zu IPS scheint nicht zu arbeiten und in der Insteon+ App werden auch keine Geräte gefunden…

…keiner einen Tipp für mich??:confused::mad:

Joachim

…auf einen PN-Tipp von Heinz habe ich diverse Komponenten neu installiert. Ohne einen sichtbaren Erfolg…
Es mag daran liegen, dass ich keine der von Euch eingerichteten Komponenten auf meinem Testsystem installiert ist. Daher meine Bitte:
Kann mir jemand mal ein Beispiel für eine config.json Posten bei der ich eine bestimmte Boolean-Variable im IPS schalten kann?

Joachim

Nutz doch die HTTP Variante… Bau dir eine PHP mit dem Inhalt, welche variable auf welchen Status sie schalten soll und schon hast du die Lösung =)

Ich leite alle Urls bis auf die Brightness auf mein Schaltscript:

http://symcon:83/user/ipsdimmer.php?typ=HM&id=16744&state=true (habe extra einen w/o ssl server am laufen, da das http accesory nicht mit ssl klarkam…)

Hallo,

bei mir geht es soweit aber nur wenn ich eine Plattform in der config.json einstelle.entweder ips oder hue oder was anderes
wenn ich hue und ips zusammen in der config habe kommt immer der fehler.

Cannot create another accessory with the same name ‚PhilipsHue‘. The ‚name‘ property must be unique for each accessory.

was kann das sein

meine config.json

{
    "description": "This is an example configuration file with all supported devices. You can use this as a template for creating your own configuration file containing devices you actually own.",

    "platforms": [
        {
            "platform": "Symcon",
            "name": "Haus20",
            "rpcClientOptions": {
                "port": 85,
                "host": "192.168.178.32",
                "path": "/api/",
                "login": "blub@freenet.de",
                "hash": "blub",
                "strict": true
            }
        },
        {
            "platform": "PhilipsHue",
            "name": "HUE Lampen",
            "username": "10ad12f211cbc7c2460bf77"
        }
    ],

    "accessories": [
       
    ]
}

Den Fehler mit der Hue erhalte ich auch. Ich muss den Server so oft starten, bis das Hue Device auch steuerbar ist… :smiley:

Hallo Joachim,

vermutlich kriegt deine Homebridge keine Verbindung zu IPS.

Hier erstmal meine Config.json

{
    "description": "This is an example configuration file with all supported devices. You can use this as a template for creating your own configuration file containing devices you actually own.",

    "platforms": [
        {
            "platform": "Symcon",
            "name": "Symcon",
            "rpcClientOptions": {
                "port": 82,
                "host": "192.168.2.252",
                "path": "/api/",
                "login": "email@mail.de",
                "hash": "password",
                "strict": true
            }
        }
    ],

    "accessories": [
			
    ]
}

Achte darauf, dass eine HTTPS Verbindung zu Symcon mit dieser config.json nicht funktioniert. Ich habe deshalb auf Port 82 parallel ein HTTP Webfront in IPS aktiviert. Es gibt jedoch auch die Möglichkeit über HTTPS zu verbinden, hierzu muss die Config.json anders aussehen, irgendwo hier im Thread gibt’s dafür ne Beschreibung.

Wenn du von Haus aus mit der o.g. Config deine HomeMatic Komponenten steuern möchtest benötigst du den folgenden Fork anstelle von Andre’s repository:

florianprobst/homebridge · GitHub

Und du musst deine Homematic Komponenten in der IPS-Console anpassen, Beschreibung wie’s geht hier:

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

Es sollte dann so aussehen:

~/homebridge$ npm run start

> homebridge@0.0.0 start /home/osboxes/homebridge
> node app.js

Starting HomeBridge server...
*** 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=libd                                                                                                                               ns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not su                                                                                                                               pported (or only supported partially) in the Apple Bonjour compatibility layer o                                                                                                                               f Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libd                                                                                                                               ns_sd&e=node&f=DNSServiceRegister>
Loading 1 platforms...
[Symcon] Initializing Symcon platform...
[Symcon] Fetching Symcon instances...
Loading 0 accessories...
[Symcon] HomeMatic device of type: HM-LC-Sw1-Pl found.
[Symcon] creating HomeMaticSwitchAccessory...
[Symcon] new instance found: Lichteffekte
[Symcon] HomeMatic device of type: HM-CC-TC found.
[Symcon] Homematic HM-CC-TC thermostats are not supported yet
[Symcon] HomeMatic device of type: HM-LC-Sw2-FM found.
[Symcon] creating HomeMaticSwitchAccessory...
[Symcon] new instance found: Wohnzimmerlicht Fensterbank
[Symcon] HomeMatic device of type: HM-WDS40-TH-I found.
[Symcon] creating HomeMaticTemperatureAccessory...

...
...
...
...
etc.

Hoffe das hilft die weiter.

@florianprobsts fork: Besteht hier irgendwie die Möglichkeit das Symcon Device wieder sichtbar zu machen (wo kann ich es umbenennen?..):mad:

Hallo Leute,

vielen Dank für Eure Unterstützung!
Hier mein Versuch der Umsetzung Eurer Tipps:

{
    "platform": "Symcon",
    "name": "Symcon",
    "rpcClientOptions": {
        "port": 3777,
        "host": "127.0.0.1",
        "path": "/api/",
        "login": "xxxx@xxxxxx.de",
        "hash": "xxxx",
        "strict": true
    }
{
     "accessory": [
     "Http",
     "name": "Deckenlicht",
     "on_url": "http://127.0.0.1:3777/user/ips.php?typ=HM&id=23149&state=true",
     "off_url": "http://127.0.0.1:3777/user/ips.php?typ=HM&id=23149&state=false",
     "brightness_url": "http://127.0.0.1:3777/user/ips.php?typ=HM&id=23149&state=true",
     "http_method": "POST"]
                     }


}

Homebridge und das Test-IPS sind auf dem gleichen Raspberry Pi. Leider gibt es da einen Syntaxfehler…
Wie müssten die Klammern etc. korrekt gesetzt werden?
Würde damit die Boolean-Variable mit er ID 23149 im IPS direkt geschaltet werden können?

Joachim

Ich gehe da immer so vor:

  1. iPhone->Einstellungen->Datenschutz->HomeKit->Konfiguration zurücksetzen
  2. Homebridge-Server beenden
  3. Auf dem Homebridge-Server den Ordner „persist“ komplett löschen.
  4. Homebridge neu starten

Das löschen / neu sichtbar machen einzelner Geräte ist zwar auch möglich aber nicht so leicht.

eben genau das hilft bei mir nicht… ich hab sogar die apps nochmal gelöscht, nach dem zurücksetzten neugestartet die komplette sache neu installiert und die config nochmal bearbeitet und trotzdem taucht es nicht mehr auf obwohl es in der konsole perfekt funktioniert. Das Device muss ja irgendwie einen Namen haben oder eine SN oder sonstiges… B

Hast du in deinen Homematic Geräten, welche du einbinden möchtest, den Device-Type gesetzt?

Device-Type=„HM-WDS10-TH-O“

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

Werden die Geräte beim starten der Homebridge erkannt?

Jaaa natürlich habe ich das alles getan und es hat auch funktioniert. Bis zu dem Zeitpunkt zu welchem ich das Device gelöscht habe. Seitdem taucht es nicht mehr auf. Beschrieben was ich alles versucht habe habe ich die letzten 2 Seiten ja schon mehr als genug.

Hallo Leute,

mich lässt das ganze Thema nicht los. Der Server startet erst einmal ohne Fehlermeldung. Ich sehe im Insteon+ zwei gefundene „Geräte“, „Symcon“ und „Deckenlicht“, wenn ich versuche die Verbindung über den Code 12345123 einzurichten läuft der Server auf einen Fehler. Kleine Fortschritte sind also zu verzeichen, aber derzeit wird eben diese Fehler angezeigt:

Loading 1 platforms...
[Symcon] Initializing Symcon platform...
[Symcon] Fetching Symcon instances...
Loading 1 accessories...
[Deckenlicht] Initializing Http accessory...
TCP server accepting connection on port: 51826
HAP Server is listening
[Symcon] [method: IPS_GetConfiguration, params: [17723]] Error: {"code":-32603,"message":"Please use the official AC_* function for configuration"}
[Symcon] 1 instances found
[Symcon] Initializing device with name Symcon...
[Symcon] Symcon: services loaded
TCP server accepting connection on port: 51828
HAP Server is listening
New Session 62359
New Session 62360
Server Connection Established 44397
Server Connection Established 44398
Client Disconnected
Start Pair M1
Server Disconnected
Start Pair M3
/root/homebridge/node_modules/HAP-NodeJS/node_modules/srp/lib/srp.js:418
      throw new Error("client did not use the same password");
            ^
Error: client did not use the same password

Im Thread geht es ja hin und her… Wie muss das Passwort sein? Base64-codiert oder Klartext? Muss überhaupt ein Passwort gesetzt werden, wenn man sich mit der Homebridge und dem IPS auf dem gleichen Raspberry Pi befindet?

Meine config.json sieht erzeit so aus:

{
        "description": "This is an example configuration file with all supported devices. You can use this as a template for$

        "platforms": [
                {
                        "platform": "Symcon",
                        "name": "Symcon",
                        "rpcClientOptions": {
                                "port": 3777,
                                "host": "127.0.0.1",
                                "path": "/api/",
                                "login": "xxx@xxx.de",
                                "hash": "xxx",
                                "strict": true
                        }
                }
        ],

        "accessories": [
                {
                        "accessory": "Http",
                        "name": "Deckenlicht",
                        "on_url": "http://127.0.0.1:3777/user/ips.php?type=HM&id=23149&state=true",
                        "off_url": "http://127.0.0.1:3777/user/ips.php?type=HM&id=23149&state=false",
                        "brightness_url": "http://127.0.0.1:3777/user/ips.php?typ=HM&id=23149&state=true",
                        "http_method": "POST"
                }
        ]
}

Was muss ich im IPS noch machen um die Anforderung weiter zu verarbeiten?

Joachim

Hallo Joachim,

der Fehler mit dem Passwort besagt, dass der eingegebene HomeKit-Code falsch ist.
Du musst hier 123-45-123 und nicht 12345123, also mit Minus eingeben.

Gruß
André

Das ist ein Trugschluss. Ich habe es bisher immer ohne Bindestrich eingegeben sowohl bei Eve als auch Insteon+

Hallo Leute,

ich habe versucht die Lösung von Joachim per Http-Befehl nachzuvollziehen.

Meine php Datei sieht folgendermaßen aus:

<? 
//der folgende Link wird per avic aufgerufen und hier entsprechend ausgewertet 
// http://ip:port/user/avic.php?typ=1&id=123456&par=0 

//die Variable "typ" hat HM für TEST-Schalten, 2 für Skript ausführen 
//die Variable "id" enthält die IPS-ID (z.B. des Skriptes oder des EIB-Schlaters) 
//die Variable "state" gibt den Schaltzustand an false=aus, true=ein 

$typ = $_GET["typ"]; 
$id = $_GET["id"]; 
$state = $_GET["state"]; 

switch($typ) 
  { 

  case "HM":     //HM-Schlaten 
         echo $id.$state; 
     SetValue($id,$state); 
  break; 

  case 2:     //Skript ausführen 
         echo $id; 
     IPS_RunScript($id); 
  break; 

  } 
?>

Bei dem Aufruf über den Internetexplorer gibt es jedoch folgende Meldung:

„21186trueParameter type of VariableID does not match in /usr/share/symcon/webfront/user/avic.php on line 18“

Die Variable 21186 ist eine Boolean Variable.

Weiterhin habe ich das Problem das ich keinen Zugriff mehr auf den Homekit Server habe wenn ich die Putty Verbindung des PC`s mit dem ich mich auf dem Raspberry (hier läuft sowohl IP Symcon als auch der Homekit-Server) beende.

Hat jemand hierzu Ideen?

Gruß

Axel