homebridge/homekit

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

Vorheriges Thema - Nächstes Thema

Markus M.

Gestern zufällig beobacht:
Bei einer Tür scheint Siri leicht verschiedene und andere Commands zu übergeben, je nachdem ob ich Unlock oder Open sage. Die unterscheiden sich auch nochmal von dem was aus der Home App kommt.

Neben den internen Werten scheint es noch true/false und 1/0 zu geben.
Zumindest via Sprachsteuerung könnte es damit einen Weg geben, die Keymatic komplett zu integrieren.

Viel Spaß beim Experimentieren!
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Spezialtrick

Zitat von: justme1968 am 27 Mai 2017, 20:09:45
die filter regex kann beliebig komplex sein. du kannst mit list testen ob sie macht was du möchtest. und du kannst mehrere fhem platforms definieren. jede mit eigenem filter.

Ich wollte eigentlich nichts komplexes realisieren. Lediglich mehrere Räume in die Bridge einzubeziehen, um nicht jedes meiner Geräte in zwei Räume, also dem tatsächlichen und dem Homekit Raum, zuordnen zu müssen. Geht das?
FHEM - Debmatic - Zigbee2MQTT - Homekit

justme1968

wie oben schon geschrieben. entweder eine passende regex verwenden:"filter": "room=raum1|raum2"

oder mehrere platforms (z.b. pro raum) konfigurieren.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Spezialtrick

Zitat von: justme1968 am 30 Mai 2017, 13:33:56
wie oben schon geschrieben. entweder eine passende regex verwenden:"filter": "room=raum1|raum2"

oder mehrere platforms (z.b. pro raum) konfigurieren.

Viele Dank!
:)
FHEM - Debmatic - Zigbee2MQTT - Homekit

erotikbaer

@justme1968: ok, also am besten ohne levelInverse arbeiten. Dann bleibt aber trotzdem das Problem dass mir die Apple Home App anzeigt dass die Markise geschlossen ist, obwohl sie geöffnet ist. Bei einem Rolladen ist es vielleicht noch verständlich...wobei auch da irgendwie nicht. Denn die Home App zeigt das Gerät Markise als geschlossen an (und somit "ausgegraut") obwohl sie ausgefahren ist.
An das geschlossen und geöffnet kann man sich bestimmt gewöhnen, aber dass er es mir darstellt wie ein ausgeschaltetes gerät find ich sehr verwirrend.
Kann man da nix machen?

justme1968

nein. da lässt sich leider nichts machen. wie etwas dargestellt wird regelt die jeweilige app alleine. ein anderes roblem ist das es (noch) keine eigene service klasse für markisen gibt.

ob die logik passt liegt an der betrachtungsweise. ausgefahren ist dunkel. also grau.

schau mal ob du mit eve besser zurecht kommst.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

aski71

Hallo,

hat jemand schon mal einen WinMatic Fensterantrieb konfiguriert?

Ich steh da gerade auf der Leitung.

Ich habe es als Typ "window" definiert und mir folgendes homebridge Mapping ausgedacht, das mir grundsätzlich richtig erscheint:
CurrentPosition=1.LEVEL,factor=100 TargetPosition=control::control,factor=100 PositionState=1.DIRECTION,values=0:STOPPED;2:DECREASING;1:INCREASING

ABER:
CurrentPosition und TargetPosition sind ja vom Typ UINT und Prozentangaben.
Das geht also so lange gut, wie ich das Fenster nur öffne und schließe.
Wenn ich es aber auch verriegeln will, bzw. wenn es verriegelt ist, hat 1.LEVEL einen Wert von "-0.005".

Hat jemand hierfür eine Lösung?

Markus M.

Zitat von: aski71 am 06 Juni 2017, 17:42:01hat jemand schon mal einen WinMatic Fensterantrieb konfiguriert?

Wie kommst du auf die -0.005 bei level? Womit betreibst du das?
Dafür hab ich doch vor Ewigkeiten extra das HM Modul erweitern lassen?!

Komplettes Mapping mit Funktion zum verriegeln, wenn man manuell 1-4% setzt:
clear PositionState=direction,values=down:DECREASING;up:INCREASING;no:STOPPED;undefined:STOPPED,default=STOPPED
CurrentPosition=level,default=50,minValue=0,maxValue=100,minStep=1
TargetPosition=level,default=50,minValue=0,maxValue=100,minStep=1,delay=2,cmds=0:level+0;1:locked;2:locked;3:locked;4:locked,cmd=level,commandSuffix=ignore+75 
StatusLowBattery=HM_XXXXXX_Akku:state,threshold=20,values=1:BATTERY_LEVEL_NORMAL,default=BATTERY_LEVEL_LOW
BatteryLevel=HM_XXXXXX_Akku:state,default=0
ObstructionDetected=motorErr,valueOff=ok
StatusActive=CommandAccepted,valueOn=yes
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

aski71

Zitat von: Markus M. am 06 Juni 2017, 17:49:31
Wie kommst du auf die -0.005 bei level? Womit betreibst du das?
Dafür hab ich doch vor Ewigkeiten extra das HM Modul erweitern lassen?!


Ich verwende HMCCU.

Markus M.

Zitat von: aski71 am 06 Juni 2017, 17:58:26
Ich verwende HMCCU.

Du könntest den Modulautor bitten, die getrennten Readings level und lock aus CUL_HM zu übernehmen.
Oder Userreadings verwenden. Oder den Wert auf 0 mappen.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

aski71

Zitat von: Markus M. am 06 Juni 2017, 18:24:38
Du könntest den Modulautor bitten, die getrennten Readings level und lock aus CUL_HM zu übernehmen.
Oder Userreadings verwenden. Oder den Wert auf 0 mappen.

Danke für die Tipps, Markus.
Damit konnte ich das Problem lösen.

Sollte noch jemand HMCCU verwenden:

Ich habe ein userReading siriValue generiert, das den aktuellen Wert in volle Prozent umrechnet und den negativen Wert auf 0 setzt:

siriValue:1.LEVEL.* { my $windowstate = ReadingsVal("KMotorfenster","1.LEVEL","error"); return 0.0 if $windowstate < 0; return $windowstate*100; }

Für den Target-Wert nehme ich das "control" Reading und Kommando. Zusätzlich wandle ich den Wert 0, wenn er von Home kommt, in das Kommando "lock" um, das ich vorher über eventMap angelegt habe.

CurrentPosition=siriValue,minValue=0,maxValue=100,minStep=1 TargetPosition=control,factor=100,minValue=0,maxValue=100,minStep=1,delay=2,cmds=0:lock,cmd=control PositionState=1.DIRECTION,values=0:STOPPED;2:DECREASING;1:INCREASING

Markus M.

Zitat von: aski71 am 06 Juni 2017, 19:30:45
Zusätzlich wandle ich den Wert 0, wenn er von Home kommt, in das Kommando "lock" um, das ich vorher über eventMap angelegt habe.

Meiner Meinung nach wenig sinnvoll, da man sich damit nur unnötig die Batterien leer macht.
Verriegeln muss man im Sommer nur wenn man das Haus verlässt (und im EG wohnt) oder es stürmt.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

aski71

Zitat von: Markus M. am 06 Juni 2017, 20:01:01
Meiner Meinung nach wenig sinnvoll, da man sich damit nur unnötig die Batterien leer macht.
Verriegeln muss man im Sommer nur wenn man das Haus verlässt (und im EG wohnt) oder es stürmt.

... und dann sollte man auch dazu in der Lage sein.  ;)

Markus M.

Zitat von: aski71 am 07 Juni 2017, 09:16:18
... und dann sollte man auch dazu in der Lage sein.  ;)

1. Das sollte automatisch, komplett ohne eigenes Zutun passieren
2. Siehe Mapping weiter oben ;)
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

aski71

Zitat von: Markus M. am 07 Juni 2017, 09:30:21
1. Das sollte automatisch, komplett ohne eigenes Zutun passieren
2. Siehe Mapping weiter oben ;)

TargetPosition=level,default=50,minValue=0,maxValue=100,minStep=1,delay=2,cmds=0:level+0;1:locked;2:locked;3:locked;4:locked,cmd=level

Wenn ich DAS hier richtig interpretiere, verriegelst Du bei 1-4% und bei 0 schließt Du nur?!