OH: Bewegungsmelder in HomeKit einbinden

  • Hallo,

    Was ist die beste Möglichkeit, einen Bewegungsmelder in HomeKit einzubinden? Das WMD thing liefert ja einen Zähler, während Homekit ein Switch- oder Contact-Item für MotionDetectedState möchte.


    Vielleicht hat das schon jemand gemacht und kann mir ein bisschen Versuchszeit ersparen?


    Eine offensichtliche Möglichkeit wäre eine Regel, die auf State Updates des Zählers achtet und ein Switch-Item aktiviert. Dem Switch-Item würde ich Expire-Metadata mitgeben, so dass es sich nach kurzer Zeit (1 Sekunde?) wieder deaktiviert.


    Eventuell gibt es noch eine bessere Möglichkeit über Transformationen?


    Und wie lange möchte HomeKit die Bewegungsmeldung sehen, bevor der Switch wieder auf OFF geht?

  • apas_csc

    Changed the title of the thread from “Bewegungsmeldern und HomeKit einbinden” to “OH: Bewegungsmelder in HomeKit einbinden”.
  • Also ich habe es jetzt erst mal so gelöst:


    Code
    Group BueroBewegungSensorGroup "Bewegungssensor B" <qualityofservice> { homekit="MotionSensor" }
      Switch BewegungSensor_State "Bewegung B" (BewegungSensorGroup) {channel="livisismarthome:WMD:abcd:MotionSensorB:motionCount" [profile="transform:JS", sourceFormat="%s", function="| 'ON'"], 
              expire="1m,command=OFF",
              homekit="MotionDetectedState" }
      Switch BewegungSensor_BatteryLow "Bewegung B Batterie niedrig" (BewegungSensorGroup) {channel="livisismarthome:WMD:abcd:MotionSensorB:batteryLow",
              homekit="BatteryLowStatus" }

    Die Gruppe ist notwendig für HomeKit. Das Switch-Item "BewegungsSensor_State" wird, unabhängig vom konkreten Zählerstand aus dem Channel, mit Hilfe der JavaScript-Transformation auf "ON" gesetzt. Über expire wird es nach einer Minute wieder auf OFF gesetzt.

    Das zweite Switch-Item ist optional und zeigt HomeKit den Batteriezustand an.


    Die eine Minute habe ich gewählt, weil HomeKit auch Regeln bei Beendigung der Bewegung triggern kann. Eventuell setze ich diese Zeit auch noch höher, z. B. auf fünf Minuten, damit Regeln nicht vorzeitig ausgelöst werden.


    Die Anzeige in HomeKit ist unspektakulär:

  • Moin,


    Ich hatte was ähnliches Mal mit den FB-Knöpfen gemacht. dort konnte man den Zähler aus OH herraus setzen. Habe dann bei änderung des Zählers und Stand <> 0 ein Switch Item geschaltet und dieses über Metadaten nach xsec. Zurückgesetzt. Bei diesem Zurücksetzen dann den Zähler wieder auf 0 gesetzt.


    LG Manuel

  • Ich hatte was ähnliches Mal mit den FB-Knöpfen gemacht. dort konnte man den Zähler aus OH herraus setzen. Habe dann bei änderung des Zählers und Stand <> 0 ein Switch Item geschaltet

    Das ist auch interessant, ich werde es bei Gelegenheit mal probieren. Damit könnte man auch die Bewegungs"Intensität" erkennen: Alle z. B. 5 Minuten liest man den Zähler und setzt ihn zurück. Abhängig vom Stand können dann Aktionen durchgeführt werden, aber nicht, wenn z. B. nur eine Bewegung (Katze, oder Topfpflanze kippt um) erkannt wurden. So braucht man sich den letzten Zählerstand nicht merken und hat kein Problem, wenn er überläuft und wieder bei 0 beginnt.

  • Jetzt noch der Code der besser funktionierenden Version.


    Items:

    Code: livisi-motion.items
    Group BBewegungSensorGroup "Bewegungssensor B" <qualityofservice> { homekit="MotionSensor" }
      Number BBewegungSensor_Motion "Bewegung B (Zähler)" (BBewegungSensorGroup) {channel="livisismarthome:WMD:abcd:MotionSensorB:motionCount" }
      Switch BBewegungSensor_State "Bewegung B" (BBewegungSensorGroup) {expire="5m,state=OFF",
              homekit="MotionDetectedState" }
      Switch BBewegungSensor_BatteryLow "Bewegung B Batterie niedrig" (BBewegungSensorGroup) {channel="livisismarthome:WMD:abcd:MotionSensorB:batteryLow",
              homekit="BatteryLowStatus" }

    Es gibt jetzt, neben dem optionalen Batteriestatus, noch ein Zähler-Item, was direkt mit dem Livisi-WMD-Thing verbunden ist und ein Switch-Item, das über eine Regel für HomeKit gesteuert wird.


    Regel:

    Die Regel reagiert auf Zustandsänderungen des Zähleritems und stellt dann das Zustandsitem auf "ON". Das Zustandsitem hat eine "expire"-Konfiguration, die nach fünf Minuten den Zustand wieder auf "OFF" stellt.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!