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

…dann zeige doch mal was Du gemacht hast:

  • Struktur im IPS-Baum
  • Dein Skript
  • Dein Ereignis

Joachim

OK: Hier die Screenshots:

fotobox2.jpg

Ich habe ein Homekit Accessory angelegt mit einem Schalter.
Dieser Schalter verweist auf die Variable Status. Die Status-Variable vom Typ Boolean hat eine Standard-Aktion mit diesem Skipt:


SetValue($IPS_VARIABLE, $IPS_VALUE);
if ($IPS_VALUE == 1) { IPS_Runscript(38129 /*[Wohnzimmer\Licht\Kerzen\Kerzen_ON]*/); }
if ($IPS_VALUE == 0) { IPS_Runscript(11950 /*[Wohnzimmer\Licht\Kerzen\Kerzen_OFF]*/); }

Das Script wird bei Änerung des Schalters durch Eve oder Siri ausgeführt. Der Wert bleibt bei False und wird niemals geändert.

Wie gesagt: Mit einem FS20 Gerät geht das - es scheint so, dass das Homebridge-Symcon Plugin nur Geräte steuert, aber keine Variablen setzen kann oder aber ich mein Code oben falsch ist…

…danach fehlt aber das Ereignis als Trigger…

So wie hier? Ändert nichts. Die Variable wird nicht gändert - da steht immer noch „nie“.

Geht das bei Dir etwa?

…was meinst Du mit „er verweist auf den Variablen Status“?

Dein Homebridge Switch muss auf die Boolean Variable verweisen…

Hi,

hab zwar noch keine Ahnung beim Homekit, aber kann es sein dass Dir die Negierung fehlt?


SetValue($IPS_VARIABLE, $IPS_VALUE);
if ($IPS_VALUE == 0) { IPS_Runscript(38129 /*[Wohnzimmer\Licht\Kerzen\Kerzen_ON]*/); }
if ($IPS_VALUE == 1) { IPS_Runscript(11950 /*[Wohnzimmer\Licht\Kerzen\Kerzen_OFF]*/); }

mfg

BerndJ

BTW: wieso eigentlich 2 Scripte??

Ok Ihr Lieben, ich gebe auf. Ich komme mit dem Symcon-Modul für Homebridge nicht richtig klar, mir ist das im derzeitigen Moment noch nicht flexibel genug. Und manchmal ist ja ein „Umweg“ auch eine Möglichkeit… Daher kurz zur Info, falls das Jemandem genauso gehen sollte:

Ich habe die FHEM-Homebridge installiert, die Module für Logitech-Harmony, für Homematic und ein HTTP-Modul hinzugefühgt. In der Config.json lassen sich mit letzterem Modul einfache Lichtschalter und Dimmer einrichten, die dann über http mit IP-Symcon kommunizieren. Das geht auch in der Symcon Version 3.5 mittels php-scripten im /webfront/user Verzeichnis.
Funktioniert bei mir auf einem Raspberry2 mit einem nicht aktuellen Raspbian Wheezy ohne Probleme und seit ein paar Tagen stabil. FHEM ist übrigens auch nicht nötig, habe ich nur als Zweitsystem.

Alle Homebridge Module sind hier zu finden:

https://www.npmjs.com/browse/keyword/homebridge-plugin

Viel Spaß damit
Olly

Hab es jetzt gerade auf meinem RaspPi2 installiert wo IPS 4 drauf läuft. Bei mir geht es ohne Fehler und ich konnte direkt Licht und Heizung per Siri steuern.

Hat jemand eine Idee wie ich die Sonos am besten ansteuere?

Edit: Lösung selber gefunden: https://www.npmjs.com/package/homebridge-sonos

Hallo Olly,

Deine Aussage im ersten Absatz finde ich schon sehr bedenklich und auch für falsch…weitere Kommentare dazu erspare ich mir…

Joachim

Moin,

ich habe mich auch gerade mal daran probiert und direkt mal eine Frage.
Funktioniert das überhaupt mit einem „alten“ Lan Adapter bzw. Bidcos Service der noch auf meinem Windows Server läuft ?
Ich habe Homebridge mit dem HomeMatic Plugin auf einem Raspi 1 am laufen. Aber nun weiß ich nicht weiter.
Hat er meine ganzen Homematic devices gefunden ?! In der Elgato Eve App konnte ich die Homebridge erfolgreich einbinden, sehe aber keinerlei Devices außer meine eh schon vorhandenen Hues.

{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:30",
        "port": 51826,
        "pin": "XXX-XX-XXX"
    },


    "platforms": [
        {
          "platform": "HomeMatic",
                     "name": "HomeMatic CCU",
                     "ccu_ip": "192.168.2.22",
                     "filter_device":[],
                     "filter_channel":[],
                     "outlets":[],
                     "doors":[],
                     "programs":[],
                     "subsection":""
        }
    ]
}

…Update verfügbar:

sudo npm update -g homebridge

Joachim

Moin,

ich bin nun dabei das Ganze auf meinem Pi aufzusetzen. Frischen Raspian Jessy genommen und den Anleitungen von Seite 16 gefolgt. Klappt soweit auch alles gut, bis zum Punkt der Homebridge Installation. Ich kann den Befehl unendlich eingeben, aber er springt nur eine Zeile weiter ohne Fehler und ohne „Installtion“. Habt ihr eine Idee dazu?

pi.PNG

EDIT: Ich kann homebridge natürlich auch nicht starten, da der Befehl nicht gefunden werden kann >> Da eben nicht installiert :frowning:

###Update###
Hab es lösen können. Habe nochmal das neuste Node manuell installiert nach dieser Anleitung http://blog.wia.io/installing-node-js-v4-0-0-on-a-raspberry-pi/ und nun passiert auch was bei meinen Befehlen…für mich als Hobby Linux Nutzer ist das Verhalten echt komisch - aber nun gehts weiter :slight_smile:

Hallo zusammen,

ich muss erneut „nerven“ :frowning:
Ich habe nun die HB auf meinem Pi B installiert und es läuft, jedoch wieder nur einige Stunden. Dann sind die Sensoren auf der EVE App nicht mehr steuerbar. Sie werden als nicht verbunden angezeigt. Setze ich meine Konfig auf dem iPhone zurück, kann ich die HB wieder einbinden und nutzen. Aber das kann ja nicht Ziel sein. Kann mir irgendwer helfen, den Fehler zu finden? Ich habe es sowohl mit der VM als nun auch auf dem PI, dass die Einrichtung auf iOS nach einer Zeit x (1 - 24 Stunden variabel) „zerschossen“ ist.

Bin wirklich über jeden Ansatz dankbar.

Hallo lahlor,

das hört sich ja an, wie die Probleme die es noch vor wenigen Wochen ständig gab…

Schaue mal in die Protokolle der Homebridge, was der jeweils letzte Eintrag ist. Ggf. kann man ja eine bestimmte Aktion identifizieren?

Joachim

Mit welchem Account bist du bei den Geräten in der iCloud angemeldet? Du musst dich mit einem @iCloud Account anmelden!

Was genau meinst du mit Anmeldung? Wo muss ich mich anmelden?

Hi Joachim,

wo finde ich die Protokolle denn genau der HB?

Moin zusammen. Ich sehe eine Homebridge in Eve aber ich bekomme keine Geräte, die ich in IPS angelegt habe (Accessory Licht und ein Accessory Thermostat mit Luftfeuchtigkeit )
In der config.json habe ich User und pw wie im Beispiel belassen. Aus einem Post hier habe ich verstanden, dass die keine Rolle spielen. Richtig?

Kann mir jemand an der Stelle helfen.
Wenn ich Homebridge als User Pi starte kommt das hier:

pi@IPS-raspi:~ $ homebridge
*** WARNING *** The program ‚nodejs‘ 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=nodejs>
*** WARNING *** The program ‚nodejs‘ 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=nodejs&f=DNSServiceRegister>
Loaded plugin: homebridge-symcon
Registering platform ‚homebridge-symcon.Symcon‘

Loaded config.json with 0 accessories and 1 platforms.

Loading 1 platforms…
[Symcon] Initializing Symcon platform…
[Symcon] Fetching Symcon instances…
[Symcon] [method: HKA_GetServicesWithConfiguration, params: [12775]] Error: {„code“:-32603,„message“:"<br />
<b>Warning</b>: Instance #59504 does not exist in <b>/var/lib/symcon/modules/symcon-php-homekit/HomeKitAccessory/module.php</b> on line <b>68</b><br />
RESULT:{„Fan“:,„GarageDoorOpener“:,„HumiditySensor“:,„LightBulb“:{„59979“:{„OnVariableId“:59504,„OnValueTrue“:„1“,„OnValueFalse“:„0“,„BrightnessVariableId“:0,„BrightnessMaxValue“:100,„HueVariableId“:0,„SaturationVariableId“:0,„SaturationMaxValue“:100,„InstanceName“:„LightBulb 1“}},„LightSensor“:,„LockMechanism“:,„Outlet“:,„Switch“:,„TemperatureSensor“:,„Thermostat“:,„WindowCovering“:}"}
/usr/lib/node_modules/homebridge-symcon/index.js:80
var services = typeof results[3].result === ‚object‘
^

TypeError: Cannot read property ‚result‘ of undefined
at /usr/lib/node_modules/homebridge-symcon/index.js:80:42
at /usr/lib/node_modules/homebridge-symcon/node_modules/async/lib/async.js:726:13
at /usr/lib/node_modules/homebridge-symcon/node_modules/async/lib/async.js:52:16
at /usr/lib/node_modules/homebridge-symcon/node_modules/async/lib/async.js:264:21
at /usr/lib/node_modules/homebridge-symcon/node_modules/async/lib/async.js:44:16
at /usr/lib/node_modules/homebridge-symcon/node_modules/async/lib/async.js:723:17
at /usr/lib/node_modules/homebridge-symcon/node_modules/async/lib/async.js:167:37
at /usr/lib/node_modules/homebridge-symcon/index.js:38:20
at IncomingMessage.<anonymous> (/usr/lib/node_modules/homebridge-symcon/node_modules/node-json-rpc/lib/rpcclient.js:182:9)
at emitNone (events.js:85:20)
pi@IPS-raspi:~ $

Hallo,

kannst du uns mal deine config.json posten (BITTE DAS KENNWORT und DEN USER rausnhmen ;)).
Bist du der Anleitung von Seite 16 gefolgt?

Habe die config.json 1:1 gelassen wie sie auf Github steht. Dann ist da wohl der Fehler… User und Passwort von welchem System müssen da rein?
RasPi, IPS-Passwort (Email & zugehöriges PW) oder IPS Webfront Daten? Oder was ganz anderes?
Jo, ansonsten ist die Anleitung im Post 160 (Seite 8 in Tapatalk) super und der bin ich gefolgt.

also du solltest mind. den unteren Bereich anpassen.

{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:30",
        "port": 51826,
        "pin": "031-45-154"
    },

    "description": "This is an example configuration file with one fake accessory and one fake platform. 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": 3777,
                "host": "127.0.0.1",
                "path": "/api/",
                "login": "username",
                "hash": "clear text password",
                "strict": true
            }
        }
    ]
}

Läuft IPS auf dem selben System? Wenn nicht, dann die IP von IPS in das Feld „Host“

"host": "127.0.0.1",

Zudem muss sich die HB ja an der IPS anmelden. Dazu in dem Feld login und hash dein User und das Passwort rein. Speichern und HB neu starten. Sollte dann auch gehen.