Fenster Sensor HomeBridge Anzeige

Begonnen von nerothos, 31 Dezember 2016, 15:25:00

Vorheriges Thema - Nächstes Thema

nerothos

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

justme1968

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

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

nerothos

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 : /


justme1968

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.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

nerothos

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 !!

justme1968

wenn du CurrentDoorState zusätzlich mappst ist die anzeige in eve besser und du kannst siri nach offenen fenstern fragen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

nerothos

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 ?


justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

nerothos


nerothos

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=" ?

justme1968

hier: 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.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

holzwurm83

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?
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

justme1968

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.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

dirkcx

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
Server: Gigabyte GB-BACE3160 | Ubuntu 20.04 LTS Server | aktuelles FHEM | CULUSB (busware) FS20/FHT/... | MySensors: seriell / esp8266 | ZigBee (Zigbee CC2531 / zigbee2mqtt) | homebridge / homebridge-config-ui