Hallo zusammen,
habe hier einen Sensative Stripe Fenster Sensor mit dem ich gerne per HomeBridge auf dem Iphone sehen würde ob ein Fenster geschlossen oder geöffnet ist. Das eigentlich Device habe ich erfolgreich angelegt und es funktioniert auch einwandfrei. Da es aber als State nur "wakeupInterval 86400 1" ausgibt habe ich einen Dummy erstellt und lasse dessen State per Notify entsprechend dem alarm Reading (das der Sensative Stripe ausgibt) anpassen. Das Funktioniert auch ohne Probleme... allerdings bin ich am verzweifeln wie der State aussehen muss damit es im iPhone bzw. der Eve App richtig angezeigt wird, denn dort ändert sich der Status im Gegensatz zu FHEM nicht ... ich habe den Dummy mit genericDeviceType = sensor angelegt (taucht in der EveApp / iPhone auch als solcher auf) und versucht es mit State open:Closed zu machen, aber das funktioniert nicht. Dann habe ich gesehen das Eve in der iPhone App bei dem Sensor Ja anzeigt und habe es mit State Ja:Nein versucht, aber auch hier ändert sich auf dem iPhone nichts wenn ich den Sensor betätige, in Fhem wird es aber immer korrekt angezeigt. Weiß jemand auf was der State gesetzt werden muss damit Eve/HomeKit das richtig auslesen kann ?
Vielen Dank
vg
David
einen genericDeviceType sensor gibt nicht. contact ist en deinem fall richtig.
mehr z.b. hier: https://wiki.fhem.de/wiki/Homebridge_User_Configs#EnOcean_STM_250_T.C3.BCr-.2FFensterkontakt oder hier: https://213.252.140.23/index.php/topic,48558.msg475666.html#msg475666
gruss
andre
ok danke, habe ich mir angeschaut und mal folgendes probiert
genericDeviceType
contact
homebridgeMapping
ContactState=state,values=Ja:CONTACT_DETECTED=0;Nein:CONTACT_NOT_DETECTED=1
bzw.
ContactState=state,values=Ja:CONTACT_DETECTED=0=Ja;Nein:CONTACT_NOT_DETECTED=1=Nein
Wobei ich hier das "ContactSensorState" lt. der Homebridge User Configs Seite mal geändert habe, hatte es aber auch mit "ContactSensorState" versucht
attr STM250 homebridgeMapping ContactSensorState=state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED
Hat sich da etwas geändert ? Denn lt. der Seite gibt es einen genericDeviceType ContactSensor, gibts bei mir aber nicht, habe nur contact deswegen hatte ich das mal angepasst... funktioniert so aber alles nicht, irgendwo ist noch der wurm drin : /
wie kommst du auf ContactState des steht doch überall etwas von ContactSensorState. die zusätzlichen = gehören da auch nicht hin.
attr <name> homebridgeMapping ContactSensorState=state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED CurrentDoorState=state,values=closed:CLOSED;open:OPEN
die beiden klein geschrieben closed und open musst du auf die readings werte die dein device liefert anpassen. das ; musst du je nach dem wo und wie du es eingibst verdoppeln.
es gibt keinen generis device type ContactSensor. aber der homekit service heisst so. contact und ContactSensor sind hier gleichbedeutend und man kann beides verwenden.
zeig mal ein list auf das device.
oha, völlig falsch verstanden und in die falsche richtung gedacht habe ich manohman :(
ContactSensorState=state,values=Nein:CONTACT_DETECTED;Ja:CONTACT_NOT_DETECTED
Ja & Nein ist der State der ausgelesen wird und der per Notify gesetzt wird...
und schon funktioniert es wie es soll, danke dir !!
wenn du CurrentDoorState zusätzlich mappst ist die anzeige in eve besser und du kannst siri nach offenen fenstern fragen.
ah perfekt, habe zusätzlich jetzt noch CurrentDoorState gesetzt und kann es per Siri abfragen ;)
jetzt wo ich gerade so drin bin habe ich mich gefragt ob ich überhaupt den umweg mit dummy & notify gehen muss oder es auch direkt im device machen kann
habe ja im sensor selbst ein reading "alarm" das entweder
AccessControl: Window/Door is open, arg 0000
oder
AccessControl: Window/Door is closed, arg 0000
ausgibt,.. wenn ich da also den genericDeviceType = contact setze und ein homebridgeMapping mache müsste das doch eigentlich auch gehen oder ?
Das reading kann man ja auf Alarm ändern oder ?
ContactSensorState=alarm,values=AccessControl: Window/Door is open, arg 0000:CONTACT_DETECTED;AccessControl: Window/Door is closed, arg 0000:CONTACT_NOT_DETECTED
muss ich die values "AccessControl: Window/Door is open, arg 0000" dann irgendwie in Klammern setzen damit er das als eins erkennt ?
du kannst direkt jedes beliebige reading verwenden. bei 'komischen' werten die z.b. leerzeichen enthalten bietet sich die regex variante von values an. z.b. so:values=/open/:CONTACT_DETECTED;/.*/:CONTACT_NOT_DETECTED
perfekt, danke dir, läuft :)
gibts eigentlich irgendwo eine Referenz mit den ganzen genericDeviceType der homebridge und was diese genau bedeuten bzw. welche eigenschaften sie haben, ebenso für homebridgeMapping oder woher weiß man das "genericDeviceType lock" ein "homebridgeMapping LockCurrentState=" hat oder ein "genericDeviceType contact" ein "homebridgeMapping ContactSensorState=" ?
hier: https://github.com/KhaosT/HAP-NodeJS/blob/master/lib/gen/HomeKitTypes.js (https://github.com/KhaosT/HAP-NodeJS/blob/master/lib/gen/HomeKitTypes.js) steht alles drin.
ist auch im readme und im ersten beitrag im homebrige thread erwähnt.
Hallo Andre,
ich habe das wie von dir hier beschrieben umgesetzt, was auch soweit auch funktioniert.
ContactSensorState=state,values=closed:CONTACT_DETECTED;open:CONTACT_NOT_DETECTED CurrentDoorState=state,values=closed:CLOSED;open:OPEN
Meine Kotakte liefern auch noch ein "tilted" Reading.
cmdState
closed|tilted|open
Müsste ich das noch ergänzen? Aktuell kommt hier kein Fehler und es funktioniert auch ohne.
Ich kann allerdings nicht nach offenen Fenstern Fragen, da versteht mich Siri nicht. Wie genau fragt ihr danach?
homekit kennt nur offen und geschlossen. gekippt gibt es nicht.
ich hatte damals einfach gefragt sind die fenster offen. und siri hat geantwortet x offen und y zu.
das scheint aber tatsächlich aktuell nicht mehr zu gehen.
Hallo @justme1968,
ich muss den alten Thread nochmal aufmachen, weil das bei mir leider nicht funktioniert. Ich nutze CUL_FHTTK und habe folgende Readings
Window Closed
batteryState ok
state Closed
Window bzw. state können "Open" oder "Closed" sein.
Mein "homebridgeMapping" sieht so aus, was korrekt erscheint, dennoch klappt es nicht in der Home App (iOS und Mac OS)
ContactSensorState=state,values=Closed:CONTACT_DETECTED;Open:CONTACT_NOT_DETECTED
CurrentDoorState=Window,values=Closed:CLOSED;Open:OPEN
StatusLowBattery=batteryState,values=ok:BATTERY_LEVEL_NORMAL;/.*/:BATTERY_LEVEL_LOW
Wenn ich bei "CurrentDoorState=state" statt "CurrentDoorState=Window" nutze, ändert sich nichts.
In Homebridge sieht das im Log so aus:
query: ContactSensorState for CUL_FHTTK_Kueche-state
cached: 0 (as number; means CONTACT_DETECTED)
Beim Initialisieren von Homebridge, beim Restart, wird übrigens folgendes geloggt (bei geöffnetem Fenster "Open"):
Jul 21 11:50:29 smarthome homebridge[7335]: [2019-7-21 11:50:29] [FHEM] CUL_FHTTK_Kueche is ContactSensor
Jul 21 11:50:29 smarthome homebridge[7335]: [2019-7-21 11:50:29] [FHEM] CUL_FHTTK_Kueche has
Jul 21 11:50:29 smarthome homebridge[7335]: [2019-7-21 11:50:29] [FHEM] ContactSensorState [state]
Jul 21 11:50:29 smarthome homebridge[7335]: [2019-7-21 11:50:29] [FHEM] CurrentDoorState [Window]
Jul 21 11:50:29 smarthome homebridge[7335]: [2019-7-21 11:50:29] [FHEM] StatusLowBattery [batteryState]
Jul 21 11:50:29 smarthome homebridge[7335]: 2019-07-21 11:50:29 caching: CUL_FHTTK_Kueche-state: Open
Jul 21 11:50:29 smarthome homebridge[7335]: [2019-7-21 11:50:29] [FHEM] caching: ContactSensorState: 1 (as number; means CONTACT_NOT_DETECTED; from 'Open')
Jul 21 11:50:29 smarthome homebridge[7335]: 2019-07-21 11:50:29 caching: CUL_FHTTK_Kueche-Window: Open
Jul 21 11:50:29 smarthome homebridge[7335]: [2019-7-21 11:50:29] [FHEM] CUL_FHTTK_Kueche-Window not a number: Open
Jul 21 11:50:29 smarthome homebridge[7335]: 2019-07-21 11:50:29 caching: CUL_FHTTK_Kueche-batteryState: ok
Jul 21 11:50:29 smarthome homebridge[7335]: [2019-7-21 11:50:29] [FHEM] caching: StatusLowBattery: 0 (as number; means BATTERY_LEVEL_NORMAL; from 'ok')
Jul 21 11:50:29 smarthome homebridge[7335]: [2019-7-21 11:50:29] [FHEM] homebridgeMapping: ContactSensorState=state,values=Closed:CONTACT_DETECTED;Open:CONTACT_NOT_DETECTED
Jul 21 11:50:29 smarthome homebridge[7335]: CurrentDoorState=Window,values=Closed:CLOSED;Open:OPEN
Jul 21 11:50:29 smarthome homebridge[7335]: StatusLowBattery=batteryState,values=ok:BATTERY_LEVEL_NORMAL;/.*/:BATTERY_LEVEL_LOW
Dann zeigt die App das auch korrekt als "offen" an, aber im Betrieb schaltet das nicht um.
homebridge API version: 2.2
homebridge-fhem 0.5.8