Autor Thema: homebridge/homekit  (Gelesen 387543 mal)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17761
homebridge/homekit
« am: 01 Februar 2016, 16:16:37 »
damit der alte homekit thread nicht noch länger wird gibt es jetzt diesen hier für die neue version.


hallo zusammen,

anbei eine erste test version des neuen und konfigurierbaren homebridge plugins.

zum testen ist es vermutlich am besten mit einer eigenen config.json und einem eigenen usernamen zu testen. homekit sollte dann ein zusätzliches bridge device anlegen. das index.js file muss nach ~/.nvm/versions/v0.12.7/lib/node_modules/homebridge-fhem. die alte version natürlich vorher sichern.


wie bisher müssen ein oder mehrere FHEM platform plugins im homebridge config file eingetragen werden.
neu ist das noch nicht vorhandene attribute automatisch auf fhem seite angelegt werden.

alle devices die in der alten version automatisch erkannt wurden sollten immer noch unverändert funktionieren. bei fenster und tür bin ich mir aber nicht ganz sicher. wenn nicht -> bitte melden. die häufigsten device typen sollen immer noch automatisch und ohne weiter konfiguration
funktionieren.


zusätzlich zum 'alten' automaktik modus gibt jetzt die möglichkeit die zuornungen zwischen fhem device und homekit accessory/service, zwischen fhem reading und homekit characteristic, das mapping vom fhem reading werten zu homekit werten sowie das mapping von homekit werten zu fhem set kommandos und werten völlig frei zu konfigurieren. die einzige einschränkung die es hier (zur zeit) noch gibt ist das es pro fhem device nur ein 'haupt' accessory auf homebridge seite erzeugt werden kann. es können aber sowohl homebridge accessoies aus mehreren fhem devices zusammen gebaut werden als auch mehrere accessories oder characteristics auf das gleiche reading ides gleichen device konfiguriert werden.

für alles weitere ist es sinnvoll sich einen überblick über hap-nodejs/lib/gen/HomeKitTypes.js zu verschaffen. die hier deklarierten Service und Charakteristik typen sowie konstanten lassen sich alle mit der im folgenden beschriebenen konfiguration verwenden.

auch bei diesem neuen modus ist das genericDeviceType attribut der ausgangspunkt für alles weitere. hiermit wird der homekit service typ bestimmt der einem fhem device zugeordnet wird.  zusätzlich zu den bisher verwendeten allgemeinen typen wie switch, outlet, light, ... die automatisch den entsprechenden homekit typ zugeordnet werden lässt sich hier jeder in homebridge bekannte service name verwenden.

der zweite schritt erfolgt dann über das neue homebridgeMapping attribut. der inhalt des Attributs wird von links nach rechts ausgwertet und ist wie folgt aufgebaut:
  • das attribut enthält eine durch leerzeichen getrennte liste aus konfiguraionen für jeweils eine characteristic
  • jede einzelne der characteristic konfiguraion besteht aus dem namen der characteristic gefolgt von einem = gefolgt von einer durch komma unterteilten liste von parametern
    attr <device> homebridgeMapping <Characteristic1>=<param1.1>,<param1.2>,... <Characteristic2>=<param2.1>,<param2.2>,...
  • jeder parameter besteht entweder aus
    • <cmd>:<device>:<reading>
      hier können nicht verwendete elemente von links nach rechts weg gelassen werden
    • <name>=<value>
    • dem schlüsselwort clear
      löscht alle vorhandenen (default) paramter dieser characteristic
  • das schlüsselwort clear kann auch an stelle einer ganzen characteristic konfiguraionen stehen

etwas formeller:attr <device> homebridgeMapping <Characteristic1>=<param1.1>,<param1.2>,... <Characteristic2>=<param2.1>,<param2.2>,...<Characteristic-n> ist hierbei ein in HomeKitTypes.js deklarierer name einer characteristic
<param-n> kann entweder <command>:<device>:<reading> oder <name>=<value> oder das schlüsselwort clear sein
<value> kann entweder ein wert oder eine mit ; unterteilte liste sein

und an einem konkreten beispiel:
hier wird ein im fhem vorhandener 'virtueller' thermostat der aus
  einem (dummy) device mit namen thermostat
    mit einem reading target das die aktuelle wunsch temperatur repräsentiert
    und einem 'set target' kommando um diese zu setzen
  und einem temperatur sensor namens myTemp
    mit einem reading temperature das die aktuelle temperatur enthält
besteht auf ein homekit thermostat device abgebildet das dann über siri abfrag und steuerbar ist:attr thermostat genericDeviceType thermostat
attr thermostat homebridgeMapping TargetTemperature=target::target,minValue=18,maxValue=25,minStep=0.5
                                  CurrentTemperature=myTemp:temperature


die folgenden parameter namen sind für die richtung fhem -> homebridge möglich:
  • minValue, maxValue, minStep: für alle int und float characteristics -> der erlaubte wertebereich in homekit
  • max: der maximal wert in fhem wenn dieser von maxValue abweicht
  • nocache: reading value wird nicht gecached sondern immer life abgefragt.
  • subtype: eindeutiger name um mehrere identische characteristics im gleiche accessory zu unterscheiden
  • threshold: schwellwert für die konvertierung von zahlen in boolean werte
  • invert: invertiert das fhem reading
  • part: das reading wird an leerzeichen gesplittet und der n-te teil als wert verwendet. es wird mit 0 beginnend gezählt
  • values: eine durch ; getrennte liste aus <von>:<nach> werte paaren die das mapping von fhem reading werten auf homekit werte beschreibt.
    • <von> kann ein wert oder eine in / eingeschlossene regex sein.
    • <nach> kann ein wert oder eine in HomeKitTypes.js deklarierte konstante der characteristic sein
  • valueOn, valueOff: werte die auf true/false bzw. an/aus abgebildet werden sollen. nur für bool characteristics, abkürzung zu values.
    wenn nur einer von beiden angegeben ist werden alle nicht berücksichtigten werden autmatisch dem gegenteil zugeordnet.
die rehenfolge der transformationen ist: eventMap, part, values, valueOn/valueOff, threshold, max, maxValue/minValue/minStep, invert

beispiel:PositionState=motor,values=/^up/:INCREASING;/^down/:DECREASING;/.*/:STOPPED On=state,valueOn=/on|dim/,valueOff=off

die folgende parameter namen sind für die richtung homebridge -> fhem möglich:
  • delay: true/<number> -> der wert wird nach <number>ms inaktivität an fhem gesendet. true -> 1000.
  • maxValue: maximal wert in homekit
  • max: maximal wert in fhem  wenn er von maxValue abweicht
  • invert: invertiert den homekit wert
  • cmd: das set kommando das verwendet werden soll: set <device> <cmd> <value>
  • cmdOn, cmdOff: die kommandos die für on/off bzw. true/false verwendet werden sollen
  • (cmdLock, cmdUnlock, cmdOpen: die kommandos zum verschliessen, aufschliessen und öffnen einer tür)
  • cmds: eine mit ; unterteilte list aus <von>:<nach> werte paaren die das mapping von homekit werten auf fhem kommandos beschreibt:
    • <von> kann ein wert oder eine in HomeKitTypes.js deklarierte konstante der characteristic sein
    • <nach> ist das zu verwendende set kommando
leerzeichen in kommandos müßen durch + ersetzt werden
die reihenfolge der transformationen ist: invert, max/maxValue
der vorrang der kommando mappings ist in aufsteigender reihenfolge: cmd, cmdOn/cmdOff, cmds

beispiel:TargetHeatingCoolingState=...,cmds=OFF:desired-temp+off;HEAT:controllMode+day;COOL:controllMode+night;AUTO:controllMode+auto

das ganze schaut auf den ersten blick vermutlich sehr unübersichtlich aus. es sollte aber mit etwas übung einfacher werden.

beim starten von homebridge mit --debug werden details zum mapping der werte und komamndos ausgegeben. damit kann man sich auch die im automatik modus verwendeten parameter ansehen und als ausgangspunkt für änderungen verwenden.


weitere beispiele:
1 device -> 1 service (thermometer)  attr <temp> genericDeviceType thermometer
  attr <temp> homebridgeMapping CurrentTemperature=temperature1,minValue=-30
wenn das reading temperature heisst statt temperature1 muss es nicht angegeben werden.

1 device -> 1 service, 2 characteristics (thermostat)  attr <thermostat> genericDeviceType thermostat
  attr <thermostat> homebridgeMapping TargetTemperature=target::target,minValue=18,maxValue=25,minStep=0.5
                                      CurrentTemperature=myTemp:temperature

1 device -> 2 services mit identischen characteristics (thermometer)  attr <dualTemp> genericDeviceType thermometer
  attr <dualTemp> homebridgeMapping CurrentTemperature=temperature1,minValue=-30,subtype=innen
                                    CurrentTemperature=temperature2,minValue=-30,subtype=aussen

n devices -> 1 service (temp + hum, dummy thermostat + temp)  attr <tempHum> genericDeviceType thermometer
  attr <tempHum> homebridgeMapping [CurrentTemperature=temperature1] CurrentRelativeHumidity=<device2>:humidity
wenn das reading temperature heisst statt temperature1 kann CurrentTemperature=temperature1 weg gelassen werden

1 device  -> n services (1 service per harmony activity)  attr <hub> genericDeviceType switch
  attr <hub> homebridgeMapping clear
                               On=activity,subtype=TV,valueOn=TV,cmdOn=activity+TV,cmdOff=off
                               On=activity,subtype=DVD,valueOn=/DVD/,cmdOn=activity+DVD,cmdOff=off
                               On=activity,subtype=Off,valueOn=PowerOff,valueOff=PowerOff,cmd=off

achtung: die zeilenenden der mehrzeiligen beispiele müssen natürlich maskiert werden wenn sie nicht im web frontend im attr text feld / popup eingegeben werden .


wenn diese konfigurierbarkeit noch nicht reicht gibt es auch die möglichkeit das mapping zwischen reading wert und homekit wert in beide richtungen durch kleine js routinen zu machen. hierzu später mehr sobald das jemand braucht :)

wenn auch das nicht reicht kann die komplette im mapping verwendete datenstruktur auch per json konfiguriert werden. auch dazu später mehr.


was in dieser version noch nicht eingebaut ist ist die konfiguration von custom characteristics (d.h. solche für die es in HomeKitTypes.js keine vorbereitet deklaration gibt) wie volume oder actuation. das kommt noch.

zum zeitplan: ich räume den code in den nächsten tagen noch auf, schmeisse so weit es geht alle internen sonderbehandlungen noch raus und warte dann gespannt was noch alles fehlt :) und fehlerfrei ist es sicher auch noch nicht.

gruss
  andre

edit 01.02.2016:
- cmdOn/cmdOff bug fix
- wenn kein reading angegeben wird ist jetzt state der default
- devices with mit einem attribut setList in dem es genau zwei einträge gibt werden automatisch zum switch
- mit dem ersten eintrag als on zustand und dem zweiten als off zustand.
  bug fix für die abfrage der werte aus dem cache

edit 02.02.2016:
- neuer parameter factor für die richtung reading -> homekit wird das reading mit diesem faktor multipliziert
- custom characteristics eingebaut, neue parameter name, format, unit
- elgato eve custom characteristics für voltage, current, power and energy
- neue parameter default und timeout -> erlaubt die simulation eines tasters z.b. für den türoffner.
- diverse default characteristics intern auf konfigurierbare mappings umgestellt
- bug fix für frei konfigurierbare thermostate

edit 03.02.2016:
- minValue/maxValue/minStep fix
- ausgabe des symbolischen homekit namens nach umwandlung aus einem reading
- eve custom air pressure characteristic
- PRESENCE/ROOMMATE fix
- fixed identify after pairing
- fixed bug in caching internal readings without own characteristic

edit 06.02.2016:
- fix für dim
- alle automatisch erkannten characteristics verwenden jetzt die konfigurierbaren mappings
- diverse fixes für log nachrichten
- ROOMMATE fix

edit 07.02.2016:
- bessere erkennung von WifiLight, HSV kommando statt RGB
- MilightDevice hinzugefügt
- fix für TargetDoorState taster bei HM-SEC-KEY
- mehr HM-SEC-KEY fixes

edit 11.02.2016:
- die hier beschriebene version ist eingecheckt und per npm update zu bekommen.
« Letzte Änderung: 17 April 2016, 16:19:07 von justme1968 »
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH
Gefällt mir Gefällt mir x 7 Zustimmung Zustimmung x 1 Informativ Informativ x 1 Hilfreich Hilfreich x 2 Liste anzeigen

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3696
  • Wer anderen eine Bratwurst brät...
Antw:homebridge/homekit
« Antwort #1 am: 01 Februar 2016, 16:31:39 »
du hast das homebridgeMapping attribut noch nicht gesetzt. da sollte etwas in der art drin stehen:attr Schlafengehen homebridgeMapping On:valueOn=gotosleep,cmdOn=gotosleep,cmdOff=home

Habe es mal hinzugefügt, funktioniert leider trotzdem nicht.
Internals:
   NAME       Schlafengehen
   NR         118
   STATE      home
   TYPE       dummy
   Readings:
     2016-02-01 16:13:49   state           home
Attributes:
   alias      Schlafmodus
   genericDeviceType switch
   group      Zuhause Status
   homebridgeMapping On:valueOn=gotosleep,cmdOn=gotosleep,cmdOff=home
   room       Anwesenheit,HomeKit
   setList    gotosleep home
   webCmd     gotosleep:home

Sehe auch keine Meldung auf der Homebridge Console beim Schalten in Eve.

Dabei ist mir gerade aufgefallen dass meine ganzen Schalter nicht mehr funktionieren, die vorher immer gingen:
[FHEM] ku_Abwaschlicht sending command set with value off
[FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=undefined&XHR=1
[FHEM] ku_Abwaschlicht sending command set with value on
[FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=undefined&XHR=1
[FHEM] ku_Deckenlicht sending command set with value on
[FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=undefined&XHR=1
[FHEM] ku_Deckenlicht sending command set with value off
[FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=undefined&XHR=1

Muss ich jetzt überall das homebridgeMapping setzen? Eigentlich sollten doch bestehende Geräte weiter funktionieren.

Hast Du an der Version hier schon wieder Änderungen verbaut oder ist das die aus dem anderen Thema?
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17761
Antw:homebridge/homekit
« Antwort #2 am: 01 Februar 2016, 16:39:02 »
in der version oben ist nur das problem mit der debug meldung repariert.

im attribut war noch ein fehler drin:attr Schlafengehen homebridgeMapping On=valueOn=gotosleep,cmdOn=gotosleep,cmdOff=home
das hoembridgeMapping musst du nur dann setzen wenn du nicht on und off bei einem switch verwendest.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3696
  • Wer anderen eine Bratwurst brät...
Antw:homebridge/homekit
« Antwort #3 am: 01 Februar 2016, 17:21:16 »
Okay, jetzt reagiert Homebridge zwar auf den Schalter, aber schalten tut der und alle anderen Schalter trotzdem nicht.

[FHEM] Schlafengehen sending command set with value gotosleep
[FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=undefined&XHR=1
[FHEM] Schlafengehen sending command set with value home
[FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=undefined&XHR=1
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17761
Antw:homebridge/homekit
« Antwort #4 am: 01 Februar 2016, 17:56:12 »
ups. da ist an einer stelle noch ein doppeltes mapping im code. das kann so nicht gehen.

ich habe die version oben noch mal aktualisiert.

danke
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3696
  • Wer anderen eine Bratwurst brät...
Antw:homebridge/homekit
« Antwort #5 am: 01 Februar 2016, 18:08:09 »
Jetzt schmiert Homebridge ab beim Schalten, egal ob dummy oder richtiger Schalter:

/usr/local/lib/node_modules/homebridge-fhem/index.js:1964
      this.error(this.name + ' Unhandled command! cmd=' + c + ', value ' + value);
           ^

TypeError: this.error is not a function
    at Object.FHEMAccessory.command (/usr/local/lib/node_modules/homebridge-fhem/index.js:1964:12)
    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge-fhem/index.js:2294:33)
    at emitThree (events.js:97:13)
    at emit (events.js:175:7)
    at Characteristic.setValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Characteristic.js:151:10)
    at Bridge.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:626:22)
    at Array.forEach (native)
    at Bridge.Accessory._handleSetCharacteristics (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:575:8)
    at emitThree (events.js:97:13)
    at HAPServer.emit (events.js:175:7)
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17761
Antw:homebridge/homekit
« Antwort #6 am: 01 Februar 2016, 18:32:28 »
arg... sorry. ich kann gerade nicht selber testen und ich hatte auch noch eine falsche version oben hin kopiert.

bitte versuch es noch ein mal...

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3696
  • Wer anderen eine Bratwurst brät...
Antw:homebridge/homekit
« Antwort #7 am: 01 Februar 2016, 18:43:24 »
Das funktioniert jetzt. Auch mein dummy Schlafengehen funktioniert so nun wenn ich in HomeKit schalte.
Leider funktioniert die Rückmeldung bisher nicht von FHEM an Homebridge. Wenn in FHEM der Schalter Schlafengehen verändert wird, so kommt die Änderung nicht in Homebridge/-Kit an.

Werde nun mal mit den anderen deviceTypes/Characteristics rumprobieren.
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17761
Antw:homebridge/homekit
« Antwort #8 am: 01 Februar 2016, 19:10:33 »
das liegt daran das wir vergessen haben zu konfigurieren das es um das state reading geht:attr Schlafengehen homebridgeMapping On=state,valueOn=gotosleep,cmdOn=gotosleep,cmdOff=home
dabei ist mir eben noch ein problem problem aufgefallen das mit der rückwärts kompatibilität zu devices ohne homebridgeMapping bzw. ohne values/valueOn/valueOff zu tun hatte. d.h. es gibt deswegen oben noch mal eine neue version :(.

gruss
  andre

ps: mit der neuen version von oben wird jetzt auch automatisch state als default verwendet wenn kein reading angegeben ist.

pps: könnte es sinnvoll sein die setList automatisch als default für cmdOn und cmdOff zu verwenden wenn es nur zwei einträge darin gibt?
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3696
  • Wer anderen eine Bratwurst brät...
Antw:homebridge/homekit
« Antwort #9 am: 01 Februar 2016, 19:21:54 »
Cool, jetzt funktioniert der dummy Schlafengehen in beide Richtungen.

Muss erst mal mit den ganze Parametern von homebridgeMapping klar kommen...
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17761
Antw:homebridge/homekit
« Antwort #10 am: 01 Februar 2016, 19:25:45 »
update: devices mit einer setList die genau zwei einträge enthält werden automatisch zu einem homekit switch bei dem der erste eintrag on entspricht und der zweite off.

damit wäre bei dummies wie deinem überhaupt nichts weiter zu tun ausser ihn in den FILTER mit auf zu nehmen.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH
Informativ Informativ x 1 Liste anzeigen

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3696
  • Wer anderen eine Bratwurst brät...
Antw:homebridge/homekit
« Antwort #11 am: 01 Februar 2016, 21:27:11 »
Ich habe nun noch ein paar dummys definiert und diese lasse ich meine 433 MHz Steckdosen schalten (GenShellSwitch). Somit wird auch der Status von FHEM zu Homebridge übertragen, was ich nur alleine mit dem GenShellSwitch nicht hinbekommen habe.

Trotzdem komme mit dem Mapping nicht klar, dachte ein Thermometer wäre nun ganz einfach. Aber auch Batterie und Thermostat bekomme ich nicht hin.

     2016-02-01 21:19:55   luminance       0 Lux
     2016-01-29 02:42:52   model           FIBARO System FGMS001 Motion Sensor
     2016-01-29 02:42:52   modelConfig     fibaro/fgms.xml
     2016-01-29 02:42:52   modelId         010f-0800-1001
     2016-02-01 21:21:29   reportedState   closed
     2016-02-01 21:21:29   state           closed
     2016-02-01 21:20:01   temperature     22.0 C
     2016-02-01 21:19:55   transmit        OK
     2016-02-01 21:19:53   wakeup          notification
     2016-01-29 03:19:44   wakeupReport    interval 900 target 1
Attributes:
   IODev      ZWaveBridge
   alias      Sensor Küche
   classes    SENSOR_BINARY WAKE_UP ASSOCIATION BATTERY MULTI_CMD CRC_16_ENCAP MANUFACTURER_SPECIFIC VERSION CONFIGURATION MULTI_CHANNEL_ASSOCIATION SENSOR_MULTILEVEL SENSOR_ALARM
   genericDeviceType thermometer
   group      Sensoren
   icon       people_sensor
   room       Anwesenheit,HomeKit,Küche,ZWave

Laut Info brauche ich ja kein Mapping hinzufügen wenn Temperatur=temperature ist.

Es werden Werte in Eve angezeigt, aber alle 0,0°C. Auf der Homebridge Console stehen aber die richtigen Werte.

[FHEM] Initializing platform accessory 'ku_Sensor'...
[FHEM] creating services for ku_Sensor
[FHEM]   information service for ku_Sensor
[FHEM]     manufacturer, model and serial number characteristics for ku_Sensor
[FHEM]   TemperatureSensor service for ku_Sensor
[FHEM]     CurrentTemperature characteristic for ku_Sensor:temperature
[FHEM]       initial value is: 21.9 (number)
[FHEM]       props: { format: 'float',
  unit: 'celsius',
  minValue: -30,
  maxValue: 100,
  minStep: 0.1,
  perms: [ 'pr', 'ev' ] }
[FHEM]     BatteryLevel characteristic for ku_Sensor:battery
[FHEM]       initial value is: 85 (number)
[FHEM]       props: { format: 'uint8',
  unit: 'percentage',
  minValue: 0,
  maxValue: 100,
  minStep: 1,
  perms: [ 'pr', 'ev' ] }
[FHEM]     StatusLowBattery characteristic for ku_Sensor:battery
[FHEM]       initial value is: 0 (number)
[FHEM]       props: { format: 'uint8',
  unit: null,
  minValue: null,
  maxValue: null,
  minStep: null,
  perms: [ 'pr', 'ev' ] }

2016-02-01 22:04:52 caching: ku_Sensor-temperature: 22.0 C
[FHEM]     caching: CurrentTemperature: 22 (number; from 22.0 C)
P.S. LD382 RGBW Dimmer scheint ohne Mapping zu funktionieren.
« Letzte Änderung: 01 Februar 2016, 22:06:40 von DeeSPe »
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17761
Antw:homebridge/homekit
« Antwort #12 am: 01 Februar 2016, 22:13:27 »
das schaut eigentlich alles ok aus.

geht nur die temperatur nicht? wird der batterie status und level richtig angezeigt?

was siehst du auf der konsole wenn du in eve auf einen raum mit dem sensor wechselst?

mach mal bitte ein jsonlist2 von dem device und starte die homebridge mit --debug und zeig die komplette konsolen ausgabe.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3696
  • Wer anderen eine Bratwurst brät...
Antw:homebridge/homekit
« Antwort #13 am: 01 Februar 2016, 22:34:51 »
Das kommt in der Console wenn ich in Eve den Raum Küche (mit Sensor) betrete:

[FHEM] query: StatusLowBattery for ku_Sensor-battery
[FHEM]   cached: 0
[FHEM] query: On for ku_Unterlicht-state
[FHEM]   cached: 0
[FHEM] query: On for ku_Abwaschlicht-state
[FHEM]   cached: 0
[FHEM] query: StatusLowBattery for ku_Sensor-battery
[FHEM]   cached: 0
[FHEM] query: StatusLowBattery for ku_Sensor-battery
[FHEM]   cached: 0

Temperatur wird mit 0,0 angezeigt, Batterie mit 0% und Batterie schwach mit NEIN.

Update:
Jetzt stand eben mal kurz die richtige Temperatur in Eve.
Dazu die Console:
  2016-02-01 22:34:44 caching: ku_Sensor-temperature: 22.0 C
[FHEM]     caching: CurrentTemperature: 22 (number; from 22.0 C)

Hab dann nochmal refreshed und dann stand wieder 0,0 da.
« Letzte Änderung: 01 Februar 2016, 22:37:58 von DeeSPe »
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17761
Antw:homebridge/homekit
« Antwort #14 am: 01 Februar 2016, 22:38:14 »
ich brauche mehr aus dem log. nicht nur den winzigen abschnitt.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

 

decade-submarginal