homebridge/homekit

Begonnen von justme1968, 01 Februar 2016, 16:16:37

Vorheriges Thema - Nächstes Thema

budy

Moin,

ich habe einen Dummy, welcher den Status aus einem HM-SEC-SCo und einem HM-SEC-RHS in einem Dummy zusammenfasst, damit ich je nach Zustand ein entsprechendes Icon setzen kann. Dazu wird einfach nur der Status der beiden Geräte hintereinander geschrieben. Also z.B. open_open oder open_tilted, wenn die Tür offen oder gekippt ist.

Diesen Dummy wollte ich nun in Homekit haben und habe folgendes Attribut und Mapping gesetzt:

genericDeviceType: contact
homebridgeMapping: ContactSensorState=state,values=closed_closed:CONTACT_DETECTED;closed_open:CONTACT_NOT_DETECTED;closed_tilted:CONTACT_NOT_DETECTED;open_tilted:CONTACT_NOT_DETECTED;open_open:CONTACT_NOT_DETECTED


Jetzt zeigt mir EVE einen Switch an, der Status ist immer AUS und unten steht Kontakt JA. Homekit scheint also meinen Dummy als Switch zu registrieren... Fehlt da noch etwas?

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

justme1968

du musst ContactSensor als genericDeviceType verwenden.

es gibt kein automatische mapping von contact auf ContactSensor. baue ich noch ein.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

und dran denken: wenn du siri nach dem fenster status fragen willst zusätzlich zu ContactSensorState auch noch CurrentDoorState passend mappen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

budy

Moin André,

hm ja, der genericDeviceType war falsch. Allersdings bietet mir FHEMWEB das so an. Zeit für ein Update?
Und was den CurrentDoorState angeht, das muss ich dann in einem separaten Dummy machen, oder gleich am RHS, denn ich kann ja keine zwei HomebridgeMappings in einem Device haben...

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

justme1968

im genericDeviceType attribut war das mal so vorgesehen, ich hatte es nur noch nicht nachgezogen.

wenn es für einen service type kenne abgekürzten genericDeviceType gibt kann man immer den in homebridge vorgesehenen langen namen verwenden.

du kannst in einem homebridgeMapping attribut mehrere characteristics erzeugen. ich würde auch vorschlagen values noch etwas zu vereinfachengenericDeviceType: ContactSensor
homebridgeMapping: ContactSensorState=state,values=closed_closed:CONTACT_DETECTED;/.*/:CONTACT_NOT_DETECTED CurrentDoorState=state,values=closed_closed:CLOSED;/.*/:OPEN


gruss
  andre

ps: wozu hast du beide sensoren an einem fenster? reicht der RHS nicht aus um alle zustände zu erkennen?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Gorean

Hi Andre,

ich habe inzwischen meine Installation von Homebridge hinbekommen. Es startet einwandfrei und ich kann auch in EVE die Homebridge pairen.

Leider werden scheinbar keine Geräte erkannt. Zumindest sehe ich keine in EVE.

Aktuell habe ich zum Testen nur zwei HUE Lights (ohne structure etc.) dem Raum Homebridge zugeordnet. Ich habe die aktuelle Version von Homebridge installiert.

Wenn ich Homebridge manuell starte kommt folgender Output:

pi@rpi:/opt/fhem $ homebridge --debug
*** 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-fhem
Registering platform 'homebridge-fhem.FHEM'
---
Loaded config.json with 0 accessories and 1 platforms.
---
Loading 1 platforms...
[FHEM] Initializing homebridge-fhem.FHEM platform...
starting longpoll: https://192.168.178.99:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1456089228118
[FHEM] Checking genericDeviceType...
[FHEM]   executing: https://192.168.178.99:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[FHEM] Fetching FHEM switchable devices...
[FHEM] fetching: https://192.168.178.99:8083/fhem?cmd=jsonlist2%20room=Homekit&XHR=1
Loading 0 accessories...
Server listening on: http://<ip>:8082
[FHEM] got: 0 results
Scan this code with your HomeKit App on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │ 000-00-000      │    (Geändert)
    └────────────┘     
                       
Homebridge is running on port 51826.

Meine config.json sieht folgendermassen aus:

{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:32",
        "port": 51826,
        "pin": "000-00-000"
    },

    "platforms": [
        {
            "platform": "homebridge-fhem.FHEM",
            "name": "FHEM",
            "server": "192.168.178.99",
            "port": "8083",
            "ssl": true,
            "auth": {"user": "MYUSER", "pass": "MYPASS"},
            "filter": "room=Homekit"
        }
     ],

    "accessories": []
}

Die Zuordnung in FHEM sieht wie folgt aus:

attr WZ_Decke_1 room _HUEDevice, Homekit
attr WZ_Decke_2 room _HUEDevice, Homekit

Hast Du einen Tip für mich, woran das liegen kann?

Danke & VG,
Peter

justme1968

attr WZ_Decke_1 room _HUEDevice, Homekit

da darf kein leerzeichen nach dem komma sein. das leerzeichen ist teil des raum namens.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

budy

Moin André,

Zitat von: justme1968 am 21 Februar 2016, 20:34:43
im genericDeviceType attribut war das mal so vorgesehen, ich hatte es nur noch nicht nachgezogen.

wenn es für einen service type kenne abgekürzten genericDeviceType gibt kann man immer den in homebridge vorgesehenen langen namen verwenden.

du kannst in einem homebridgeMapping attribut mehrere characteristics erzeugen. ich würde auch vorschlagen values noch etwas zu vereinfachengenericDeviceType: ContactSensor
homebridgeMapping: ContactSensorState=state,values=closed_closed:CONTACT_DETECTED;/.*/:CONTACT_NOT_DETECTED CurrentDoorState=state,values=closed_closed:CLOSED;/.*/:OPEN


gruss
  andre

Ehhh... ja, an einen regexp hatte ich auch schon gedacht, aber ich war anfangs noch mit dem generellen beschäftigt... ;)


Zitat von: justme1968 am 21 Februar 2016, 20:34:43
ps: wozu hast du beide sensoren an einem fenster? reicht der RHS nicht aus um alle zustände zu erkennen?

Das liegt daran, dass man nur mit dem RHS die Stellung des Griffs weiß, aber nicht, ob der Türflügel oder das Fenter tatsächlich offen ist. Die Türen rasten ein wenig ein und gehen nicht gleich auf, wenn man den Türgriff öffnet. Die Tür sieht zwar ggf. von außenr zu aus - ist es aber nicht. Außerdem könnte ja der Türflügel aufgehebelt werden, ohne dass jemand den Griff verwendet...

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

Gorean

Hi Andre,

das wars :) Ich fühl mich zwar wieder wie ein Anfänger, aber happy!

Danke!!

VG,
Peter

Gorean

Hi Andre,

jetzt wo es funktioniert habe ich eine struct mit genericDeviceType eingebunden.

Dabei scheint er sich aber sowohl die Helligkeit als auch die Farbe nach einer Änderung nicht zu merken. Wenn ich z.B. die Helligkeit in EVE auf 100 stelle ändert sich die Helligkeit, wenn ich dann wieder rausgehe und danach die Helligkeit erneut bearbeiten möchte, steht als Wert wieder 0 da. Das Licht bleibt auf 100% bis ich erneut z.b. 60% eingebe. Dann ändert sich das Licht auf 60% und das Spiel beginnt von Neuem.

Ist das ein Problem von EVE oder hab ich da noch was falsch gemacht?

VG,
Peter

justme1968

#265
@budy: fall 1 erkennst du aber trotzdem über den RHS fall zwei natürlich nicht. statt des dummys mit notify könnte man auch eine structure verwenden (und eventuell die _map attribute passend setzen).

@Gorean: du musst dafür sorgen das homekit ein reading mit der aktuellen helligkeit hat. wenn es das in der structure nicht gibt musst du eines der beteiligten devices dazu verwenden. ohne hinterlegtes reading das auch ein event erzeugt erfährt homebridge nie den gerade aktuellen wert.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

budy

Moin Andé,

Zitat von: justme1968 am 21 Februar 2016, 23:09:58
@budy: fall 1 erkennst du aber trotzdem über den RHS fall zwei natürlich nicht. statt des dummys mit notify könnte man auch eine structure verwenden (und eventuell die _map attribute passend setzen).

ja, damit muß ich mich mal beschäftigen... mit structures...

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

knueppler

Hallo Andre,

Zitat von: Gorean am 21 Februar 2016, 23:05:03
Dabei scheint er sich aber sowohl die Helligkeit als auch die Farbe nach einer Änderung nicht zu merken. Wenn ich z.B. die Helligkeit in EVE auf 100 stelle ändert sich die Helligkeit, wenn ich dann wieder rausgehe und danach die Helligkeit erneut bearbeiten möchte, steht als Wert wieder 0 da. Das Licht bleibt auf 100% bis ich erneut z.b. 60% eingebe. Dann ändert sich das Licht auf 60% und das Spiel beginnt von Neuem.

Dieses Problem habe ich mit meinen mi_Lights auch. Muss ich da noch was im Mapping ergänzen, ich hatte es so verstanden, dass die vollautomatisch erkannt werden.
Interessanterweise bekommen die, wenn man über ATV von außen zugreift, das wohlbekannte Dreieck verpasst. Im LAN sind sie dann wieder erreichbar.

Vielen Dank, Christian

justme1968

das problem von gorean liegt ziemlich sicher am fehlenden mapping für das reading.

sollte automatisch gehen. nimmst du das milight oder das wiflight modul?

eventuell fehlt noch irgendein reading. zeig mal bitte die ausgaben beim start und die ausgaben beim schalten. am besten in beide richtungen. also über eve schalten und über fhem schalten.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

knueppler

Hallo Andre,

ich verwende das mi_light-Modul, sind ja miLights.
Habe versucht, das über ein HomebridgeMapping a la
Brightness=brightness
zu lösen, das hat aber auch nicht geholfen. Die Beispiele sind mit Mapping.

Hier Beispiel homekit(EVE) -> FHEM (Brightness von 100 auf 52, angezeigt wurde und wird 0)
FHEM] mi_Erdgeschoss: executing set cmd for Brightness with value 52
[FHEM]   executing: https://192.168.178.51:8083/fhem?cmd=set%20mi_Erdgeschoss%20dim%2052&XHR=1
  2016-02-23 20:22:18 caching: mi_Erdgeschoss-state: on 52
[FHEM]     caching: On: 1 (as number; from 'on 52')


FHEM -> homekit (Brightness von 52 auf 100)
  2016-02-23 20:25:12 caching: mi_Erdgeschoss-state: on 100
[FHEM]     caching: On: 1 (as number; from 'on 100')


Hinweis: wenn ich die Remote über ATV3 abfrage, wird kein Query für das mi_Light im Log angezeigt. Übrigens für den WeatherChannel des Thermostats HM-CC-RT-DN auch nicht. Beides funktioniert aber im LAN.

Danke, Christian