Page 1 of 3

Support For Fibro RGBWW controller

PostPosted: Wed Jul 11, 2018 7:48 pm
by mrmatt68
I noticed there is a plugin for home bridge for fibaro HC2 but I did not see a plugin for the RGBWW controller itself and i was wondering if that was something you were planning to add? Or is it already possible to add via that plugin not actually having the HC2 system? here is a video i watched that peeked my interest..... https://youtu.be/w2HAEoorBcg I realize they must have a fibaro HC2 system but thought it may be possible to control the RGBWW controller directly via a plugin.

Thanks,

Matt

Re: Support For Fibro RGBWW controller

PostPosted: Thu Jul 12, 2018 9:42 am
by Colorado4Wheeler
I moved this into the HKB forum since it seems to be more of a HKB question than a Device Extensions question.

I haven't specifically added support for the Fibaro RGBWW to HKB, but the plugin does generically support changing colors on some devices. Right now the methods to change colors varies greatly from plugin to plugin so they have to be supported independently. If there is enough demand for this one then I'm not opposed to supporting a plugin that supports this device, which is to say that someone will need to interface to this device type first and then I can update HKB to support it.

As for Device Extensions, it is planned to have a 'wrapper' to accomplish similar tasks and I'm not sure if that would get you there or not but it is on the roadmap - however it would still be a requirement that you can do everything you want to do in Indigo prior to either DE or HKB working with it.

Re: Support For Fibro RGBWW controller

PostPosted: Fri Jul 13, 2018 7:56 am
by mrmatt68
Yes I can add the individual lights the HKB and then control each one independently but cannot control it like in the video through the home app or like in the Indigo server which also has the color popup that allow a color to be selected and changes immediately. I am not sure what you mean be interface to this device. I can send log or configuration files if needed. I have not specifically installed any kind of plugin for the controller in indigo or HKB and that is one question i was trying to figure out. I like the preconfigured scenes in this controller but could change to a more user friendly controller if there is something easier to change colors through the homekit app. I can set scenes to different colors and that works but really makes a mess on the interface. The screen in the video looked really handy and simple but i expect it's very complicated to program.

Re: Support For Fibro RGBWW controller

PostPosted: Fri Jul 13, 2018 8:20 am
by Colorado4Wheeler
Just to clarify, does Indigo fully support changing colors on those bulbs? If so then I can likely add support; I hadn't added support up to this point because everyone was using a Lutron or Hue and I had no base to test with.

Re: Support For Fibro RGBWW controller

PostPosted: Fri Jul 13, 2018 11:11 am
by mrmatt68
Yes Indigo creates 4 entries(under the devices tab) for the colors and 1 entry as the main and within indigo when i select the main switch or led there is a color swatch that i can open and choose a color and the lights change to that color. not on the iphone app though. I guess something is possible through a control page but i do not understand that yet and with HBK I hope i don't have to. I will take a few screenshots when i get home.

Re: Support For Fibro RGBWW controller

PostPosted: Fri Jul 13, 2018 11:18 am
by Colorado4Wheeler
HomeKit should show the ability to change colors if the Indigo device supports it. This doesn't mean that it works, but the palette should be there on the device in HomeKit. Is it? If it is then since I don't know how Indigo translates colors versus how I've done it with Hue lights then we could probably coordinate doing some device dumps and logs to see if it will easily pass through and then you would be golden.

Re: Support For Fibro RGBWW controller

PostPosted: Fri Jul 13, 2018 11:23 am
by mrmatt68
So far it only comes over as a dimmer but i did not bring all 5 devices over to HKB. I only added the Main dimmer if you will. basically I can set a color with the 4 sliders and then the 5th slider dims that color. So Maybe this isn't fully supported. I can send device dumps and logs if you can give me a basic description of the process.

Thanks,

Matt

Re: Support For Fibro RGBWW controller

PostPosted: Fri Jul 13, 2018 11:24 am
by Colorado4Wheeler
Lets start with a screenshot of the device itself, maybe that will help me understand the options we have since you mentioned there were multiple tabs (and thus multiple devices).

Re: Support For Fibro RGBWW controller

PostPosted: Fri Jul 13, 2018 2:18 pm
by mrmatt68
Here is a couple shots with the settings dialog open....

Re: Support For Fibro RGBWW controller

PostPosted: Fri Jul 13, 2018 2:55 pm
by Colorado4Wheeler
Ok, now I'll need a dump of that main device so I can see its capabilities. Plugins Menu -> HomeKit Bridge -> Advanced Plugin Actions -> Select your server -> Simulate HomeKit For Server Item -> Select your device -> click Execute Action button beneath it. This will output to your log, just simply reply here with the code to /code data.

Re: Support For Fibro RGBWW controller

PostPosted: Fri Jul 13, 2018 4:30 pm
by mrmatt68
Code: Select all
   ##### DEVICE DATA DUMP #####
   
   address : 23
   batteryLevel : None
   blueLevel : 69.14991736
   brightness : 0
   buttonGroupCount : 0
   configured : True
   defaultBrightness : 10
   description :
   deviceTypeId : zwColorDimmerType
   displayStateId : brightnessLevel
   displayStateImageSel : DimmerOff
   displayStateValRaw : 0
   displayStateValUi : 0
   enabled : True
   energyAccumBaseTime : 2015-03-25 11:29:59
   energyAccumTimeDelta : 104216856
   energyAccumTotal : 272.04
   energyCurLevel : 0.0
   errorState :
   folderId : 0
   globalProps : MetaProps : (dict)
        com.flyingdiver.indigoplugin.lifxbridge : (dict)
             fakeMAC : 00:16:0f:06:17:f0 (string)
             published : True (string)
        com.perceptiveautomation.indigoplugin.zwave : (dict)
             SupportsBatteryLevel : false (bool)
             SupportsEnergyMeter : true (bool)
             SupportsEnergyMeterCurPower : true (bool)
             SupportsEnergyMeterReset : true (bool)
             SupportsOnState : false (bool)
             SupportsSensorValue : false (bool)
             SupportsStatusRequest : true (bool)
             address : 23 (integer)
             indigoObjVersion : 6 (integer)
             modelNameAndFirmware : RGBW Controller (FGRGBWM), firmware 25.25 (string)
             propsPushTickler : 5 (string)
             tempAlwaysFalse : false (bool)
             userConfigVal009 : 1 (integer)
             userConfigVal010 : 10 (integer)
             userConfigVal012 : 255 (integer)
             userConfigVal013 : 10 (integer)
             userConfigVal016 : false (bool)
             userPollAfterActivity : true (bool)
             userPollInterval : 0 (integer)
             userPollingEnabled : true (bool)
             userWakeInterval : 60 (integer)
             version : 25.25 (string)
             zwAppVersMajor : 25 (integer)
             zwAppVersMinor : 25 (integer)
             zwAssociationsMap : (dict)
                  g1 : (list)
                       Item : 1 (integer)
                  g2 : (list)
                       Item : 1 (integer)
                  g3 : (list)
                       Item : 1 (integer)
                  g4 : (list)
                       Item : 1 (integer)
                  g5 : (list)
                       Item : 1 (integer)
             zwAssociationsMapStr : 1:[1] 2:[1] 3:[1] 4:[1] 5:[1] (string)
             zwClassCmdBase : 38 (integer)
             zwClassCmdMap : (dict)
                  c112 : 1 (integer)
                  c114 : 1 (integer)
                  c133 : 1 (integer)
                  c134 : 1 (integer)
                  c32 : 1 (integer)
                  c38 : 1 (integer)
                  c39 : 1 (integer)
                  c49 : 2 (integer)
                  c50 : 2 (integer)
                  c51 : 1 (integer)
                  c96 : 3 (integer)
             zwClassCmdMapStr : 20v1 60v3 26v1 86v1 27v1 72v1 70v1 31v2 32v2 33v1 85v1 (string)
             zwClassIds : (list)
                  Item : 4 (integer)
                  Item : 17 (integer)
                  Item : 1 (integer)
             zwClassInstanceCountMap : (dict)
             zwClassInstanceCountMapStr : - none - (string)
             zwClassName : Dimmable Power Switch (string)
             zwConfigVals : (dict)
                  p10 : 10 (integer)
                  p12 : 255 (integer)
                  p13 : 10 (integer)
                  p16 : 0 (integer)
                  p8 : 0 (integer)
                  p9 : 1 (integer)
             zwConfigValsStr : 8:0 9:1 10:10 12:255 13:10 16:0 (string)
             zwDevSubIndex : 0 (integer)
             zwEncryptionStatusStr :  (string)
             zwEndpointClassMap : (dict)
                  e1 : (list)
                       Item : 38 (integer)
                  e2 : (list)
                       Item : 38 (integer)
                  e3 : (list)
                       Item : 38 (integer)
                  e4 : (list)
                       Item : 38 (integer)
                  e5 : (list)
                       Item : 38 (integer)
             zwEndpointClassMapStr : 1:[26], 2:[26], 3:[26], 4:[26], 5:[26] (string)
             zwEndpointDevTypeMap : (dict)
                  e1 : (list)
                       Item : 17 (integer)
                       Item : 1 (integer)
                  e2 : (list)
                       Item : 17 (integer)
                       Item : 1 (integer)
                  e3 : (list)
                       Item : 17 (integer)
                       Item : 1 (integer)
                  e4 : (list)
                       Item : 17 (integer)
                       Item : 1 (integer)
                  e5 : (list)
                       Item : 17 (integer)
                       Item : 1 (integer)
             zwEndpointDevTypeMapStr : 1:(11 : 01), 2:(11 : 01), 3:(11 : 01), 4:(11 : 01), 5:(11 : 01) (string)
             zwFeatureListStr : routing, beaming, energyMeter (string)
             zwLibType : 3 (integer)
             zwManufactureId : 271 (integer)
             zwManufactureName : Fibaro System (string)
             zwMeterSubTypeFlags : 5 (integer)
             zwMeterSupportsReset : true (bool)
             zwMeterType : 1 (integer)
             zwModelDefnVers : 4 (integer)
             zwModelId : 151003136 (integer)
             zwModelName : RGBW Controller (FGRGBWM) (string)
             zwNodeNeighbors : (list)
                  Item : 1 (integer)
                  Item : 10 (integer)
                  Item : 12 (integer)
                  Item : 13 (integer)
                  Item : 14 (integer)
                  Item : 15 (integer)
                  Item : 18 (integer)
                  Item : 19 (integer)
                  Item : 20 (integer)
                  Item : 22 (integer)
             zwNodeNeighborsStr : 1, 10, 12, 13, 14, 15, 18, 19, 20, 22 (string)
             zwProtoVersMajor : 3 (integer)
             zwProtoVersMinor : 52 (integer)
             zwShowDumpDevToLog : false (bool)
             zwShowMainUI : true (bool)
             zwShowManualModifyConfigParmUI : false (bool)
             zwShowPollingUI : true (bool)
             zwShowSubmitModelInfoUI : false (bool)
             zwShowWakeIntervalUI : false (bool)
             zwWakeInterval : 0 (integer)
   greenLevel : 100.0
   id : 252057584
   lastChanged : 2018-07-13 16:37:35
   lastSuccessfulComm : 2018-07-13 16:37:35
   ledStates : []
   model : RGBW Controller (FGRGBWM)
   name : Living Room LEDS
   onBrightensToDefaultToggle : False
   onBrightensToLast : True
   onState : False
   ownerProps : com.perceptiveautomation.indigoplugin.zwave : (dict)
        SupportsBatteryLevel : false (bool)
        SupportsEnergyMeter : true (bool)
        SupportsEnergyMeterCurPower : true (bool)
        SupportsEnergyMeterReset : true (bool)
        SupportsOnState : false (bool)
        SupportsSensorValue : false (bool)
        SupportsStatusRequest : true (bool)
        address : 23 (integer)
        indigoObjVersion : 6 (integer)
        modelNameAndFirmware : RGBW Controller (FGRGBWM), firmware 25.25 (string)
        propsPushTickler : 5 (string)
        tempAlwaysFalse : false (bool)
        userConfigVal009 : 1 (integer)
        userConfigVal010 : 10 (integer)
        userConfigVal012 : 255 (integer)
        userConfigVal013 : 10 (integer)
        userConfigVal016 : false (bool)
        userPollAfterActivity : true (bool)
        userPollInterval : 0 (integer)
        userPollingEnabled : true (bool)
        userWakeInterval : 60 (integer)
        version : 25.25 (string)
        zwAppVersMajor : 25 (integer)
        zwAppVersMinor : 25 (integer)
        zwAssociationsMap : (dict)
             g1 : (list)
                  Item : 1 (integer)
             g2 : (list)
                  Item : 1 (integer)
             g3 : (list)
                  Item : 1 (integer)
             g4 : (list)
                  Item : 1 (integer)
             g5 : (list)
                  Item : 1 (integer)
        zwAssociationsMapStr : 1:[1] 2:[1] 3:[1] 4:[1] 5:[1] (string)
        zwClassCmdBase : 38 (integer)
        zwClassCmdMap : (dict)
             c112 : 1 (integer)
             c114 : 1 (integer)
             c133 : 1 (integer)
             c134 : 1 (integer)
             c32 : 1 (integer)
             c38 : 1 (integer)
             c39 : 1 (integer)
             c49 : 2 (integer)
             c50 : 2 (integer)
             c51 : 1 (integer)
             c96 : 3 (integer)
        zwClassCmdMapStr : 20v1 60v3 26v1 86v1 27v1 72v1 70v1 31v2 32v2 33v1 85v1 (string)
        zwClassIds : (list)
             Item : 4 (integer)
             Item : 17 (integer)
             Item : 1 (integer)
        zwClassInstanceCountMap : (dict)
        zwClassInstanceCountMapStr : - none - (string)
        zwClassName : Dimmable Power Switch (string)
        zwConfigVals : (dict)
             p10 : 10 (integer)
             p12 : 255 (integer)
             p13 : 10 (integer)
             p16 : 0 (integer)
             p8 : 0 (integer)
             p9 : 1 (integer)
        zwConfigValsStr : 8:0 9:1 10:10 12:255 13:10 16:0 (string)
        zwDevSubIndex : 0 (integer)
        zwEncryptionStatusStr :  (string)
        zwEndpointClassMap : (dict)
             e1 : (list)
                  Item : 38 (integer)
             e2 : (list)
                  Item : 38 (integer)
             e3 : (list)
                  Item : 38 (integer)
             e4 : (list)
                  Item : 38 (integer)
             e5 : (list)
                  Item : 38 (integer)
        zwEndpointClassMapStr : 1:[26], 2:[26], 3:[26], 4:[26], 5:[26] (string)
        zwEndpointDevTypeMap : (dict)
             e1 : (list)
                  Item : 17 (integer)
                  Item : 1 (integer)
             e2 : (list)
                  Item : 17 (integer)
                  Item : 1 (integer)
             e3 : (list)
                  Item : 17 (integer)
                  Item : 1 (integer)
             e4 : (list)
                  Item : 17 (integer)
                  Item : 1 (integer)
             e5 : (list)
                  Item : 17 (integer)
                  Item : 1 (integer)
        zwEndpointDevTypeMapStr : 1:(11 : 01), 2:(11 : 01), 3:(11 : 01), 4:(11 : 01), 5:(11 : 01) (string)
        zwFeatureListStr : routing, beaming, energyMeter (string)
        zwLibType : 3 (integer)
        zwManufactureId : 271 (integer)
        zwManufactureName : Fibaro System (string)
        zwMeterSubTypeFlags : 5 (integer)
        zwMeterSupportsReset : true (bool)
        zwMeterType : 1 (integer)
        zwModelDefnVers : 4 (integer)
        zwModelId : 151003136 (integer)
        zwModelName : RGBW Controller (FGRGBWM) (string)
        zwNodeNeighbors : (list)
             Item : 1 (integer)
             Item : 10 (integer)
             Item : 12 (integer)
             Item : 13 (integer)
             Item : 14 (integer)
             Item : 15 (integer)
             Item : 18 (integer)
             Item : 19 (integer)
             Item : 20 (integer)
             Item : 22 (integer)
        zwNodeNeighborsStr : 1, 10, 12, 13, 14, 15, 18, 19, 20, 22 (string)
        zwProtoVersMajor : 3 (integer)
        zwProtoVersMinor : 52 (integer)
        zwShowDumpDevToLog : false (bool)
        zwShowMainUI : true (bool)
        zwShowManualModifyConfigParmUI : false (bool)
        zwShowPollingUI : true (bool)
        zwShowSubmitModelInfoUI : false (bool)
        zwShowWakeIntervalUI : false (bool)
        zwWakeInterval : 0 (integer)
   pluginId : com.perceptiveautomation.indigoplugin.zwave
   pluginProps : com.eps.indigoplugin.homekit-bridge : (dict)
   protocol : ZWave
   redLevel : 13.15371394
   remoteDisplay : True
   states : States : (dict)
        accumEnergyTimeDelta : 104216856 (integer)
        accumEnergyTimeDelta.ui : 104216856 seconds (string)
        accumEnergyTotal : 272.04 (real)
        accumEnergyTotal.ui : 272.04 kWh (string)
        blueLevel : 69.14991736 (real)
        blueLevel.ui : 69 (string)
        brightnessLevel : 0 (integer)
        curEnergyLevel : 0 (real)
        curEnergyLevel.ui : 0.0 W (string)
        greenLevel : 100.00000000 (real)
        greenLevel.ui : 100 (string)
        onOffState : off (on/off bool)
        redLevel : 13.15371394 (real)
        redLevel.ui : 13 (string)
        whiteLevel : 100.00000000 (real)
        whiteLevel.ui : 100 (string)
   subModel : Composite
   supportsAllLightsOnOff : False
   supportsAllOff : False
   supportsColor : True
   supportsRGB : True
   supportsRGBandWhiteSimultaneously : True
   supportsStatusRequest : True
   supportsTwoWhiteLevels : False
   supportsTwoWhiteLevelsSimultaneously : False
   supportsWhite : True
   supportsWhiteTemperature : False
   version : 25.25
   whiteLevel : 100.0
   whiteLevel2 : None
   whiteTemperature : None
   
   ##### DEVICE SIMULATION DATA #####
   
   Service :
      alias : Living Room LEDS
      model : Composite
      subModel :
      indigoType : indigo.DimmerDevice
      pluginType : indigo.DimmerDevice.com.perceptiveautomation.indigoplugin.zwave.zwColorDimmerType
      type : Lightbulb
      desc : Lightbulb
      objId : 252057584
      serverId : 1795781458
      invertOnState : False
      convertFahrenheit : False
      required : (List)
         On : False
      optional : (List)
         Hue
         Saturation
         ColorTemperature
         Name
         Brightness : 0
      native : True
      requiresPlugin : (List)
      actions : (List)
         Action : (HomeKitAction)
            Characteristic : On
            When : equal
            Value : False (bool)
            Value2 : 0 (bool)
            Command : device.turnOff
            Arguments : [252057584]
            monitors : {252057584: 'attr_onState'}
         Action : (HomeKitAction)
            Characteristic : On
            When : equal
            Value : True (bool)
            Value2 : 0 (bool)
            Command : device.turnOn
            Arguments : [252057584]
            monitors : {252057584: 'attr_onState'}
         Action : (HomeKitAction)
            Characteristic : Brightness
            When : between
            Value : 0 (int)
            Value2 : 100 (int)
            Command : dimmer.setBrightness
            Arguments : [252057584, '=value=']
            monitors : {252057584: 'attr_brightness'}
      loadOptional : False
      characterDict : (Dict)
         On : False
         Brightness : 0
   

   

Re: Support For Fibro RGBWW controller

PostPosted: Sat Jul 14, 2018 11:18 am
by Londonmark
+1 on hoping for support for this... and let me know if there’s anything I can do to help. Obviously must be tough to find time given all the hard work on the Tado plugin...

Re: Support For Fibro RGBWW controller

PostPosted: Mon Jul 16, 2018 8:45 am
by Colorado4Wheeler
[MODERATOR NOTE] I've moved all the Tado discussions to the Tado thread.

Re: Support For Fibro RGBWW controller

PostPosted: Mon Jul 16, 2018 10:24 am
by Colorado4Wheeler
This is going to be much more difficult than I had imagined! I spent some time on this and converting from Apple's HSV/HLV system to RGB,W,T is challenging. The conversion libraries built into Python totally mess it up, going to have to try to write an algorithm for this I think. It was pretty easy on the Hue because they are similar enough to get away with it (but it hasn't been perfect either) but from straight RGB,W,T... yikes.

Doing this has been on roadmap since day 1 and integrating the Hue was my first step towards to the end goal because I have a lot of Hue devices, but I would like to do away with the Hue specific aspect of HKB and make that more generic for this application as well as others (plus the Hue is mostly right but not spot on).

Re: Support For Fibro RGBWW controller

PostPosted: Mon Jul 16, 2018 3:41 pm
by Colorado4Wheeler
Ok, closing in on a 1.0.2 beta that supports color changing across any Indigo device that supports color. It's been quite a challenge to get working! I'll let you know when you can try it out.