Umgang HomeBridge / AppleHomeKit mit Dummy-Variablen (Anbindung Nuki Opener)

Begonnen von schenkl, 02 März 2023, 10:51:37

Vorheriges Thema - Nächstes Thema

schenkl

Hallo,

ich habe es mittlerweile geschafft über einen Workaround meinen Nuki-Opener in FHEM einzubinden und mittel HomeKit zu steuern. Ich würde diesen Workaround (DOIF) aber gerne beseitigen. hier mein "Problem":

Ich habe den Nuki Opener (über die Nuki Bridge) in FHEM eingebunden (d.h. IODev=NukiBridge). Nun öffnete man diesen durch ein
set Opener electricStrikeActuation
Der NukiOpener kann nicht direkt in die Homebridge eingebunden werden (siehe mein zweiter Post mit der Auskunft von NUKI). Also habe ich mir einen Dummy "Haustuer_Dummy" dafür erstellt (siehe Screenshot Image-1.png). Dieser Dummy ist HomeKit zugewiesen:
setList locked unlocked
room Homekit
genericDeviceType lock
readingList state


Der Haustuer_Dummy wird in der Apple Home App auch korrekt als Schloss angezeigt. Auch der Status (locked vs unlocked) wird korrekt im iPhone angezeigt. Mein Problem ist aber, ich kann den Dummy nicht über das iPhone ändern bzw. steuern. Da er mir beim Schließen mittels der Apple Home-App in FHEM den State auf "lock locked" statt "locked" stellt, bzw. beim Öffnen auf "lock unlocked" statt "unlocked". Zur Info: Nachdem es sich bei dem NukiOpener um einen Türöffner der Eingangstür eines MFH handelt, benötige ich eigentlich nur den STATE "unlocked". Nach 5 Sekunden setzte ich den Status des Dummy automatisch wieder auf "locked", da der Summer die Tür ja auch nur für ca. 6 Sekunden "offen hält".

Kann mir da jemand helfen, dass so hinzubekommen, dass HomeKit bzw. Homebridge den State des Dummy direkt auf "unlocked" bzw. "locked" setzen?

Danke Mark

BTW mein Workaround sind die beiden DOELSEIF im folgende DOIF:

([Haustuer_Dummy] eq "unlocked")
({speak("H geöffnet.",50)}; set Opener electricStrikeActuation; set Haustuer_Dummy locked)
DOELSEIF ([Haustuer_Dummy] eq "lock locked")  ## wird leider über apple homekit so komisch gesetzt, ich ändere es in dem Workaround auf locked
(set Haustuer_Dummy locked)
DOELSEIF ([Haustuer_Dummy] eq "lock unlocked")  ## wird leider über apple homekit so komisch gesetzt
({speak("H geöffnet.",50)}; set Opener electricStrikeActuation; sleep 5; set Haustuer_Dummy locked)
## Wichtig ist das Attribute do always zu setzen!

schenkl

Hier noch die offizielle Antwort von Nuki zur Einbindung des Openers und Apple HomeKit. Schon cool, wie man den Opener dank FHEM dann doch im HomeKit zum Laufen bekommt :-)

Hallo Mark,

danke für deine Nachricht.

Momentan wird das Apple HomeKit leider nicht vom Opener unterstützt, weil Apple kein Profil dafür anbietet. Es kann den Opener nicht eindeutig zertifizieren, weil es weder ein Schloss, noch eine Klingel, noch ein Schalter ist.

Sollten sich noch andere Fragen ergeben, sind wir gerne für dich da!
Für schnelle Hilfe besuche am besten auch unser Help Center: https://support.nuki.io/hc/de

Schöne Grüße

Luka

Dein NUKI Team


DeeSPe

Ich verstehe irgendwie nicht wofür der Dummy gebraucht wird!
Wenn Du das Nuki-Device (oder was für ein Device auch immer) schon in FHEM integriert hast, dann kann doch dieses mittels passend gesetztem Attribut homebridgeMapping direkt für HomeKit zugänglich gemacht werden.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

jhohmann

Das würde ich auch so sehen. Und dann noch ein passendes homeBridgeMapping und es sollte gehen.
Ich habe z.B. bei mir auch ein notify so angepasst, dass ich das über Homekit aktivieren/deaktivieren kann.
Das geht von sich aus auch nicht.
Hier mein Beispiel:
attr ntJJAtHome genericDeviceType switch
attr ntJJAtHome homebridgeMapping On:valueOn=active,cmdOn=active,cmdOff=inactive

Das musst du aber für dich anpassen. Ich kenne dein Gerät nicht und weiß nicht, mit welchen Kommandos da was zu steuern ist.
Raspberry Pi 4 - bookworm / EnOcean - Rollo+Licht, deCONZ - Licht+Sensoren, ZWave - CO Messung, HMCCU mit piVCCU - Heizung+Rollo
plus dovecot, minidlna

DeeSPe

Mit etwas mehr Input könnte man sicherlich auch etwas mehr Output liefern.
Das Einzige was ich durch die gelieferten Informationen weiß ist dass das Schloss mit "set Opener electricStrikeActuation" öffnet.
Schön wäre noch zu erfahren wie man das Schloß abschliesst und in welchem Reading der Status des Schlosses zu finden ist.

Für meine KeyMatic benutze ich beispielsweise folgendes Mapping:
attr fl_Tuerschloss homebridgeMapping clear\
LockCurrentState=lock,values=/^uncertain/:UNKNOWN;;/^locked/:SECURED;;/.*/:UNSECURED\
LockTargetState=lock,values=/^lock/:SECURED;;/.*/:UNSECURED,cmds=SECURED:lock;;UNSECURED:unlock\
StatusLowBattery=battery,values=ok:BATTERY_LEVEL_NORMAL,default=BATTERY_LEVEL_LOW\


Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Mitch

Habe seit gestern auch einen Opener und hätte ihn gerne in Home.
Hab ein wenig rumgespielt, aber nicht wirklich etwas erreicht  :'(

Hier mal mein Opener:
Internals:
   BRIDGEAPI  1.13.0
   DEF        859486306 2
   DEVICETYPEID 2
   FUUID      64c245c3-f33f-5738-3444-ac18a11ed9a7c83d
   FVERSION   74_NUKIDevice.pm:v2.0.2-s25350/2021-12-17
   IODev      NUKIbridge
   LASTInputDev NUKIbridge
   MSGCNT     13
   NAME       Nuki
   NOTIFYDEV  global,autocreate,Nuki
   NR         732
   NTFY_ORDER 50-Nuki
   NUKIID     859486306
   NUKIbridge_MSGCNT 13
   NUKIbridge_TIME 2023-07-30 20:21:00
   STATE      online - door mode
   TYPE       NUKIDevice
   VERSION    v2.0.2
   eventCount 15
   Helper:
     DBLOG:
       batteryState:
         myDbLog:
           TIME       1690741260.42476
           VALUE      ok
       deviceType:
         myDbLog:
           TIME       1690739085.8556
           VALUE      opener
       firmwareVersion:
         myDbLog:
           TIME       1690723332.66753
           VALUE      1.10.1
       mode:
         myDbLog:
           TIME       1690741260.42476
           VALUE      door mode
       name:
         myDbLog:
           TIME       1690723332.66753
           VALUE      T�r�ffner
       nukiId:
         myDbLog:
           TIME       1690741260.42476
           VALUE      859486306
       ringactionState:
         myDbLog:
           TIME       1690741260.42476
           VALUE      0
       ringactionTimestamp:
         myDbLog:
           TIME       1690741260.42476
           VALUE      2023-07-30T17:44:44+00:00
       state:
         myDbLog:
           TIME       1690741260.42476
           VALUE      online
       stateName:
         myDbLog:
           TIME       1690741260.42476
           VALUE      online
       success:
         myDbLog:
           TIME       1690741260.42476
           VALUE      1
   READINGS:
     2023-07-30 14:34:56   IODev           NUKIbridge
     2023-07-30 20:21:00   batteryState    ok
     2023-07-30 19:44:45   deviceType      opener
     2023-07-30 15:22:12   firmwareVersion 1.10.1
     2023-07-30 20:21:00   mode            door mode
     2023-07-30 15:22:12   name            T�r�ffner
     2023-07-30 20:21:00   nukiId          859486306
     2023-07-30 20:21:00   ringactionState 0
     2023-07-30 20:21:00   ringactionTimestamp 2023-07-30T17:44:44+00:00
     2023-07-30 20:21:00   state           online
     2023-07-30 20:21:00   stateName       online
     2023-07-30 20:21:00   success         1
   helper:
Attributes:
   alias      Türöffner
   eventMap   electricStrikeActuation:öffnen
   group      Haustür
   icon       fts_door_right_open
   model      opener
   room       Übersicht
   stateFormat stateName - mode
   verbose    0
   webCmd     öffnen

Ich hätte gerne einen Taster in Home, der dann den Öffner auslöst.
FHEM im Proxmox Container

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Mitch

Sorry, meine Apple Home App, also Homekit.
Nutze dazu Homebridge.
FHEM im Proxmox Container

CoolTux

Ich habe einfach einen Dummy als Schalter definiert und dann mittels Notify dahinter die Aktion für den Opener geschrieben.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Mitch

Wollte ich eigentlich nicht.
Es sollte doch etwas in diese Richtung gehen:

attr <NAME> genericDeviceType StatelessProgrammableSwitch
attr <NAME> homebridgeMapping ProgrammableSwitchEvent=click,values=electricStrikeActuation
FHEM im Proxmox Container

MadMax-FHEM

Zitat von: Mitch am 31 Juli 2023, 17:30:09Wollte ich eigentlich nicht.
Es sollte doch etwas in diese Richtung gehen:

attr <NAME> genericDeviceType StatelessProgrammableSwitch
attr <NAME> homebridgeMapping ProgrammableSwitchEvent=click,values=electricStrikeActuation

Ich stecke ja in Homebridge/Apple-Zeugs nicht so drin aber genericDeviceType und homebridgeMapping giltet ja auch für alexa-fhem usw.

Bzw. wenn ich das hier anschaue https://forum.fhem.de/index.php?topic=113224.0 und mich nicht täusche, dann geht das nur in Richtung Home, also Klicke einen Knopf an einem physischen Gerät -> Klick nach fhem -> Klick nach Homekit/Home/Apple-wasauchimmer

Auch der "Name" Event klingt danach...

Evtl. wirst du fündig, wenn du nach Garagentoröffner suchst?

Das evtl.: https://forum.fhem.de/index.php?topic=93879.msg865665#msg865665

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)