Dummy zum Schalten von RGB LED Stripe --> Homebridge Mapping Problem

Begonnen von flipse, 23 Januar 2019, 16:57:17

Vorheriges Thema - Nächstes Thema

flipse

Hallo,

ich habe einen dummy mit entsprechenden notifys zum schalten eines ZWave RGBW Controllers und eines ZWave Switch erstellt:

Dummy Device

defmod RGB_Esszimmer dummy
attr RGB_Esszimmer devStateIcon {Color_devStateIcon(ReadingsVal($name,"ControllerRGBhex","FFFFFF"))}
attr RGB_Esszimmer homebridgeMapping clear\
On=state,valueOn=/on|^dim/,valueOff=off,cmdOn=on,cmdOff=off,nocache=1\
Hue=rgb::selectedRGBHex\
Brightness=dim::selectedDim\
Saturation=rgb
attr RGB_Esszimmer room Vouten,Homekit
attr RGB_Esszimmer setList rgb:colorpicker,rgb dim:slider,0,1,100
attr RGB_Esszimmer siriName RGB Esszimmer
attr RGB_Esszimmer userReadings ControllerRGBhex \
{\
ReadingsVal("ZWave_SW_RGBW","_lastRGBhex","")\
},\
stateSwitchEsszimmer \
{\
ReadingsVal("ZWave_SW_Voute_Esszimmer","state","undefied")\
}
attr RGB_Esszimmer verbose 5
attr RGB_Esszimmer webCmd on:off:dim:rgb FF7417:rgb ff0000:rgb 00ff00:rgb


Notify
defmod RGB_EZ_Chg_n notify RGB_Esszimmer:dim.*|RGB_Esszimmer:rgb.*|RGB_Esszimmer.on|RGB_Esszimmer.off\
\
setreading RGB_Esszimmer myLastAction $EVENT;;\
\
IF ([RGB_Esszimmer] eq "off") \
         (\
              set ZWave_SW_Voute_Esszimmer off\
         ) \
ELSE \
        (\
\
             IF ([ZWave_SW_Voute_Esszimmer] eq "off") \
             (\
                   set ZWave_SW_Voute_Esszimmer on,\
                   sleep 3\
              ),\
\
             IF ("$EVTPART0" eq "rgb") \
              (\
                    set ZWave_SW_RGBW rgb $EVTPART1\
              )\
             ELSE \
             (\
                   IF ("$EVTPART0" eq "dim") \
                   (\
                         set ZWave_SW_RGBW dim $EVTPART1\
                    )\
             )\
         )
attr RGB_EZ_Chg_n room Vouten
attr RGB_EZ_Chg_n verbose 5

setstate RGB_EZ_Chg_n 2019-01-23 15:42:53
setstate RGB_EZ_Chg_n 2019-01-23 13:38:59 state active




Sollten direkt am Zwave RGBW Controller Änderungen vorgenommen werden, wird auch ein notify ausgeführt, was dafür sorgt, dass die Werte im Dummy korrekt sind:

ZWave_SW_RGBW:state.*
setreading RGB_Esszimmer ControllerLastAction $EVENT;

IF ("$EVTPART1" eq "dim")
  (
      setreading ZWave_SW_RGBW _lastDim $EVTPART2,
      setreading RGB_Esszimmer ControllerDim $EVTPART2
  )
   ELSE
   (
       IF ("$EVTPART1" eq "rgb")
       (
           setreading ZWave_SW_RGBW _lastRGB $EVTPART2 $EVTPART3 $EVTPART4,
           setreading RGB_Esszimmer ControllerRGB $EVTPART2 $EVTPART3 $EVTPART4
           
       )
   )


Über Fhem funktioniert alles soweit, wie es soll.

1) Wenn Eine Farbe gewählt wird, wird das Device, wenn es ausgeschaltet ist, eingeschaltet, 3s gewartet, dann Farbe eingestellt im anderen Device
2) Wenn gedimmt wird, wird der RGBW Controller gedimmt und damit auch der LED Stripe

Mein Problem ist nun, dass ich das Homebridge Mapping nicht wirklich gut hinbekomme.

Homekit
1) Einschalten per Tap:                                       Funktioniert
2) Einschalten per Dimeinstellung:                      Funktioniert
3) RGBW Farbe auswählen:                                funktioniert nicht
4) Korrekten Status der Dimeinstellung anzeigen. funktioniert nicht

Auch nach Lesen der diversen Dokus, komme ich mit dem Homebridge Mapping nicht weiter. Könnt ihr mir helfen?

Vielen Dank schon mal

flipse

Keiner eine Idee?
Das Device an sich habe ich bereits lauffähig bekommen.
Leider aber nicht das Homebridge Mapping :(

arokh12

Zitat von: flipse am 24 Januar 2019, 17:49:40
Keiner eine Idee?
Das Device an sich habe ich bereits lauffähig bekommen.
Leider aber nicht das Homebridge Mapping :(


Hallo,
ich habe mich heute auch mit dem Thema beschäftigt. Bei mir sieht das Mapping so aus:

clear
On=Status,valueOn=on,valueOff=off,cmdOn=Status+on,cmdOff=Status+off
Brightness=Helligkeit,minValue=0,maxValue=100,minStep=1,cmd=Helligkeit
Hue=RGB,cmd=RGB
Saturation=Saturation,cmd=Saturation


Hoffe das hilft weiter,
arokh12