HomebridgeMapping korrektur

Begonnen von Steffen@Home, 27 Februar 2026, 09:00:37

Vorheriges Thema - Nächstes Thema

Steffen@Home

Hallo Leute,

ich habe ein Garagentor das den Status von mehreren notifies bekommt.

Das Problem ist in der (manuell kreierten) Lüftungsstellung (das reading state vom Garagentor Device wird nach einer gewissen Zeit von einem notify auf "stopped" gesetzt) bleibt die Anzeige des Garagentors in Homekit auf "schließen..."

Außerdem versteht er "opening" auch nicht (mehr). Ich dachte das war mal besser  ;)

Garagentor:
Internals:
   DEF       
   FUUID      654fb4bb-f33f-1cf4-6393-4c5c387e8adbf7bf
   NAME       Garagentor
   NR         68
   STATE      closed
   TYPE       dummy
   eventCount 65
   Helper:
     DBLOG:
       state:
         dbLogMaria:
           TIME       1772177355.46737
           VALUE      closed
   READINGS:
     2026-02-27 08:30:16   state           closed
Attributes:
   comment    gelbes Netzwerkkabel/weiss-braun
   devStateIcon closed:fts_garage_door_100 open:fts_garage_door_10@red opening:fts_garage_door_up@blue closing:fts_garage_door_down@blue stopped:fts_garage_door_manual@red
   event-on-change-reading state
   genericDeviceType GarageDoorOpener
   group      Garage
   homebridgeMapping CurrentDoorState=state,values=closed:CLOSED;;open:OPEN;;opening:OPENING;;closing:CLOSING;;stopped:STOPPED\
TargetDoorState=state,cmds=OPEN:open;;CLOSED:closed;;OPENING:opening;;CLOSING:closing;;STOPPED:stopped,values=closed:CLOSED;;open:OPEN;;opening:OPENING;;closing:CLOSING;;stopped:STOPPED
   icon       fts_garage
   room       Garage,Homekit
   setList    open closed opening closing stopped

Notify um Lüftungsstellung zu starten:
Internals:
   DEF        d_LueftenManual { if ( "$EVENT" eq "start") {fhem("set GPIO5 on-1; sleep 2; set GPIO5 on-1; set d_LueftenManual off; defmod -temporary atDelay at +02:00:00 {fhem \"set GPIO5 on-1\" if (Value(\"Garagentor\") eq \"stopped\")}")}}
   FUUID      655dee15-f33f-1cf4-c2f0-8b684e314746a0f2
   NAME       n_lueftmanual
   NOTIFYDEV  d_LueftenManual
   NR         78
   NTFY_ORDER 50-n_lueftmanual
   REGEXP     d_LueftenManual
   STATE      2026-02-27 08:19:34
   TRIGGERTIME 1772176774.92524
   TYPE       notify
   READINGS:
     2025-12-31 11:12:46   state           active
     2026-02-27 08:19:34   triggeredByDev  d_LueftenManual
     2026-02-27 08:19:34   triggeredByEvent off
Attributes:
   comment    d_LueftenManual { if ( "$EVENT" eq "start") {fhem("set GPIO5 on-1; sleep 2; set GPIO5 on-1; set d_LueftenManual off")} }
   room       Garage


Notify setzt status stopped wenn Keine Endschalter erreicht sind (Lüftungsstellung):
Internals:
   DEF        GPIO5:on defmod at_Garagentor_stopped at +00:00:20 { if( Value ("GPIO22") eq "off" && Value ("GPIO17") eq "off") { fhem "set Garagentor stopped" }}
   FUUID      6557a06a-f33f-1cf4-0e63-5e39879c91d2e32a
   NAME       n_Tor_stopped
   NOTIFYDEV  GPIO5
   NR         73
   NTFY_ORDER 50-n_Tor_stopped
   REGEXP     GPIO5:on
   STATE      2026-02-27 08:29:13
   TRIGGERTIME 1772177353.41478
   TYPE       notify
   READINGS:
     2025-12-31 11:12:46   state           active
     2026-02-27 08:29:13   triggeredByDev  GPIO5
     2026-02-27 08:29:13   triggeredByEvent on
Attributes:
   room       Garage


Homebridge-Log:
[27/02/2026, 08:19:32] [FHEM2] d_LueftenManual: executing set cmd for On with value true
[27/02/2026, 08:19:32] [FHEM2]   executing: http://192.168.1.124:8083/fhem?cmd=set%20d_LueftenManual%20start&fwcsrf=csrf_277345447265328&XHR=1
  2026-02-27 08:19:32 caching: Garagentor-state: OPENING
[27/02/2026, 08:19:32] [FHEM2] Garagentor-state value OPENING not handled in values
[27/02/2026, 08:19:32] [FHEM2] Garagentor-state value OPENING not handled in values
  2026-02-27 08:19:32 caching: Garagentor-state: opening
[27/02/2026, 08:19:32] [FHEM2]     caching: CurrentDoorState: 2 (as number; means OPENING; from 'opening')
[27/02/2026, 08:19:32] [FHEM2] Garagentor-state not a number: opening
  2026-02-27 08:19:32 caching: GPIO5-state: on
[27/02/2026, 08:19:32] [FHEM2]     caching: On: true (as boolean; from 'on')
  2026-02-27 08:19:32 caching: d_LueftenManual-state: start
[27/02/2026, 08:19:32] [FHEM2]     caching: On: false (as boolean; from 'start')
  2026-02-27 08:19:33 caching: GPIO5-state: off
[27/02/2026, 08:19:33] [FHEM2]     caching: On: false (as boolean; from 'off')
  2026-02-27 08:19:34 caching: GPIO5-state: on
[27/02/2026, 08:19:34] [FHEM2]     caching: On: true (as boolean; from 'on')
  2026-02-27 08:19:34 caching: d_LueftenManual-state: off
[27/02/2026, 08:19:34] [FHEM2]     caching: On: false (as boolean; from 'off')
  2026-02-27 08:19:35 caching: GPIO5-state: off
[27/02/2026, 08:19:35] [FHEM2]     caching: On: false (as boolean; from 'off')
  2026-02-27 08:19:54 caching: Garagentor-state: stopped
[27/02/2026, 08:19:54] [FHEM2] Garagentor-state not a number: stopped
[27/02/2026, 08:19:54] [FHEM2] Garagentor-state not a number: stopped


Vielen Dank für Hinweise!
Pi 1 - FHEM, HM-MOD-RPI-PCB, HM-RT-CC-DN, HM-WDS10-TH-O, HM-Sec-SCo, HM-LC-Sw1PBU-FM, Relais Platine für ext. Ansteuerung, LD382 Wifi LED Controller, DHT
Pi 2 - Kamera, DHT
Pi 3 - FHEM2, Grafana, DHT, Magnet-Sensoren, Relais-Platine

Wolfpunk

Vielleicht hilft's ja schon ein wenig in die richtige Richtung: TargetDoorState kennt nur OPEN und CLOSED.

https://developers.homebridge.io/#/characteristic/TargetDoorState

Steffen@Home

ok danke dafür. Habe es abgeändert zu:
CurrentDoorState=state,values=closed:CLOSED;;open:OPEN;;opening:OPENING;;closing:CLOSING;;stopped:STOPPED\
TargetDoorState=state,cmds=OPEN:open;;CLOSED:closed,values=closed:CLOSED;;open:OPEN
Pi 1 - FHEM, HM-MOD-RPI-PCB, HM-RT-CC-DN, HM-WDS10-TH-O, HM-Sec-SCo, HM-LC-Sw1PBU-FM, Relais Platine für ext. Ansteuerung, LD382 Wifi LED Controller, DHT
Pi 2 - Kamera, DHT
Pi 3 - FHEM2, Grafana, DHT, Magnet-Sensoren, Relais-Platine