indigodomo / HomeKit-Bridge

Enabled HomeKit integration via Homebridge for Indigo Home Automation
The Unlicense
46 stars 13 forks source link

Fibaro RGBWW not chasing color consistently #115

Open rehafer opened 6 years ago

rehafer commented 6 years ago

Expected Behavior

When using the color picker wheel in the Home app the color should change accordingly

Current Behavior

The Controller will occasionally not change color

Steps to Reproduce (for bugs)

Via Home app turn on device go to color settings edit colors until they fail to change

Versions

Configuration

   HomeKit Bridge                  {
        "platforms": [
                {
                        "protocol": "http", 
                        "name": "HomeKit Bridge Server", 
                        "listenPort": "8446", 
                        "platform": "Indigo2", 
                        "host": "127.0.0.1", 
                        "debug": false, 
                        "serverId": 697542815, 
                        "port": "8558"
                }
        ], 
        "bridge": {
                "username": "CC:22:3D:E3:CE:11", 
                "name": "HomeKit Bridge 1", 
                "pin": "031-45-154", 
                "port": "51828"
        }, 
        "accessories": [], 
        "description": "HomeKit configuration generated by HomeKit Bridge on 2018-07-29 16:36:59.704000 for device HomeKit Bridge 1"
}

Homebridge Log / Command Output

  Z-Wave                          sent "Color Strip" set brightness to 100
   Z-Wave                          sent "Color Strip" on
   Z-Wave                          received "CS - Red" status update brightness 2
   Z-Wave                          received "Color Strip" status update brightness 2
   Z-Wave                          received "Office Luminance" sensor update to 109 lux
   Z-Wave                          received "Office Humidity" sensor update to 31%
   Z-Wave                          received "Office Temperature" sensor update to 74.0 °F
   Trigger                         TempDiff
   Z-Wave                          sent "Color Strip" set color to 4 3 5, --
   Z-Wave                          received "CS - Red" status update brightness 4
   Z-Wave                          received "CS - Green" status update brightness 4
   Z-Wave                          received "CS - Blue" status update brightness 5
   Z-Wave                          received "Color Strip" status update brightness 5
   Z-Wave                          sent "Color Strip" set color to 8 13 8, --
   Z-Wave                          received "CS - Red" status update brightness 8
   Z-Wave                          received "CS - Green" status update brightness 13
   Z-Wave                          received "CS - Blue" status update brightness 8
   Z-Wave                          received "Color Strip" status update brightness 13

Jul 29, 2018, 4:40:33 PM
   Z-Wave                          sent "Color Strip" set color to 33 17 22, --
   Z-Wave                          received "CS - Red" status update brightness 33
   Z-Wave                          received "CS - Green" status update brightness 17
   Z-Wave                          received "CS - Blue" status update brightness 22
   Z-Wave                          received "Color Strip" status update brightness 33
   Z-Wave                          received "Color Strip" power load to 4.3 W
   Z-Wave                          sent "Color Strip" set color to 71 35 84, --
   Z-Wave                          received "CS - Red" status update brightness 71
   Z-Wave                          received "CS - Green" status update brightness 34
   Z-Wave                          received "CS - Blue" status update brightness 84
   Z-Wave                          received "Color Strip" status update brightness 84
   Z-Wave Error                    chr() arg not in range(256)
   Z-Wave                          received "Color Strip" power load to 10.9 W
   Z-Wave                          sent "Color Strip" off
   Z-Wave                          received "CS - Red" status update is off
   Z-Wave                          received "CS - Green" status update is off
   Z-Wave                          received "CS - Blue" status update is off

Device Simulation Report

    [code]
    ##### DEVICE DATA DUMP #####

    address : 21
    batteryLevel : None
    blueLevel : 84.15
    brightness : 0
    buttonGroupCount : 0
    configured : True
    defaultBrightness : 84
    description : 
    deviceTypeId : zwColorDimmerType
    displayStateId : brightnessLevel
    displayStateImageSel : DimmerOff
    displayStateValRaw : 0
    displayStateValUi : 0
    enabled : True
    energyAccumBaseTime : 2000-01-01 00:00:00
    energyAccumTimeDelta : 0
    energyAccumTotal : 0.04
    energyCurLevel : 0.0
    errorState : 
    folderId : 0
    globalProps : MetaProps : (dict)
         com.perceptiveautomation.indigoplugin.zwave : (dict)
              SupportsColor : true (bool)
              SupportsEnergyMeter : true (bool)
              SupportsEnergyMeterCurPower : true (bool)
              SupportsEnergyMeterReset : true (bool)
              SupportsGasMeterReset : true (bool)
              SupportsRGB : true (bool)
              SupportsRGBandWhiteSimultaneously : true (bool)
              SupportsTwoWhiteLevels : false (bool)
              SupportsWaterMeterReset : true (bool)
              SupportsWhite : true (bool)
              address : 21 (integer)
              indigoObjVersion : 6 (integer)
              modelNameAndFirmware : RGBW Controller (FGRGBWM), firmware 25.25 (string)
              propsPushTickler : 2 (string)
              tempAlwaysFalse : false (bool)
              userConfigVal009 : 1 (integer)
              userConfigVal010 : 10 (integer)
              userConfigVal012 : 255 (integer)
              userConfigVal013 : 2 (integer)
              userConfigVal016 : true (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 : 2 (integer)
                   p16 : 1 (integer)
                   p8 : 0 (integer)
                   p9 : 1 (integer)
              zwConfigValsStr : 16:1 8:0 9:1 10:10 12:255 13:2 (string)
              zwDevSubIndex : 0 (integer)
              zwEncryptClassCmdMap : (dict)
              zwEncryptClassCmdMapStr : - none - (string)
              zwEncryptionStatusStr : Not Supported (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 : 2 (integer)
                   Item : 3 (integer)
                   Item : 8 (integer)
                   Item : 9 (integer)
                   Item : 12 (integer)
                   Item : 14 (integer)
                   Item : 15 (integer)
                   Item : 20 (integer)
              zwNodeNeighborsStr : 1, 2, 3, 8, 9, 12, 14, 15, 20 (string)
              zwProtoVersMajor : 3 (integer)
              zwProtoVersMinor : 52 (integer)
              zwShowMainUI : true (bool)
              zwShowManualModifyConfigParmUI : false (bool)
              zwShowPollingUI : true (bool)
              zwShowSubmitModelInfoUI : false (bool)
              zwShowWakeIntervalUI : false (bool)
              zwWakeInterval : 0 (integer)
    greenLevel : 34.5015
    id : 1826503808
    lastChanged : 2018-07-29 16:41:03
    lastSuccessfulComm : 2018-07-29 16:41:03
    ledStates : []
    model : RGBW Controller (FGRGBWM)
    name : Color Strip
    onBrightensToDefaultToggle : False
    onBrightensToLast : True
    onState : False
    ownerProps : com.perceptiveautomation.indigoplugin.zwave : (dict)
         SupportsColor : true (bool)
         SupportsEnergyMeter : true (bool)
         SupportsEnergyMeterCurPower : true (bool)
         SupportsEnergyMeterReset : true (bool)
         SupportsGasMeterReset : true (bool)
         SupportsRGB : true (bool)
         SupportsRGBandWhiteSimultaneously : true (bool)
         SupportsTwoWhiteLevels : false (bool)
         SupportsWaterMeterReset : true (bool)
         SupportsWhite : true (bool)
         address : 21 (integer)
         indigoObjVersion : 6 (integer)
         modelNameAndFirmware : RGBW Controller (FGRGBWM), firmware 25.25 (string)
         propsPushTickler : 2 (string)
         tempAlwaysFalse : false (bool)
         userConfigVal009 : 1 (integer)
         userConfigVal010 : 10 (integer)
         userConfigVal012 : 255 (integer)
         userConfigVal013 : 2 (integer)
         userConfigVal016 : true (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 : 2 (integer)
              p16 : 1 (integer)
              p8 : 0 (integer)
              p9 : 1 (integer)
         zwConfigValsStr : 16:1 8:0 9:1 10:10 12:255 13:2 (string)
         zwDevSubIndex : 0 (integer)
         zwEncryptClassCmdMap : (dict)
         zwEncryptClassCmdMapStr : - none - (string)
         zwEncryptionStatusStr : Not Supported (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 : 2 (integer)
              Item : 3 (integer)
              Item : 8 (integer)
              Item : 9 (integer)
              Item : 12 (integer)
              Item : 14 (integer)
              Item : 15 (integer)
              Item : 20 (integer)
         zwNodeNeighborsStr : 1, 2, 3, 8, 9, 12, 14, 15, 20 (string)
         zwProtoVersMajor : 3 (integer)
         zwProtoVersMinor : 52 (integer)
         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 : 70.9104
    remoteDisplay : True
    states : States : (dict)
         accumEnergyTimeDelta : 0 (integer)
         accumEnergyTimeDelta.ui : 0 seconds (string)
         accumEnergyTotal : 0.04 (real)
         accumEnergyTotal.ui : 0.04 kWh (string)
         blueLevel : 84.15000000 (real)
         blueLevel.ui : 84 (string)
         brightnessLevel : 0 (integer)
         curEnergyLevel : 0 (real)
         curEnergyLevel.ui : 0.0 W (string)
         greenLevel : 34.50150000 (real)
         greenLevel.ui : 35 (string)
         onOffState : off (on/off bool)
         redLevel : 70.91040000 (real)
         redLevel.ui : 71 (string)
         whiteLevel : 0.00000000 (real)
         whiteLevel.ui : 0 (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 : 0.0
    whiteLevel2 : None
    whiteTemperature : None

    ##### DEVICE SIMULATION DATA #####

    Service : 
        alias : Color Strip
        model : Composite
        subModel : 
        indigoType : indigo.DimmerDevice
        pluginType : indigo.DimmerDevice.com.perceptiveautomation.indigoplugin.zwave.zwColorDimmerType
        type : Lightbulb
        desc : Lightbulb
        objId : 1826503808
        serverId : 697542815
        invertOnState : False
        convertFahrenheit : False
        required : (List)
            On : False
        optional : (List)
            Hue : 284.0
            Saturation : 59.0
            ColorTemperature : 2000
            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 : [1826503808]
                monitors : {1826503808: 'attr_onState'}
            Action : (HomeKitAction)
                Characteristic : On
                When : equal
                Value : True (bool)
                Value2 : 0 (bool)
                Command : device.turnOn
                Arguments : [1826503808]
                monitors : {1826503808: 'attr_onState'}
            Action : (HomeKitAction)
                Characteristic : Hue
                When : between
                Value : 0.0 (float)
                Value2 : 100000.0 (float)
                Command : homekit.commandSetDeviceColor
                Arguments : [1826503808, 697542815, '=service=', 'Hue', '=value=']
                monitors : {1826503808: 'attr_whiteTemperature'}
            Action : (HomeKitAction)
                Characteristic : Hue
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_redLevel'}
            Action : (HomeKitAction)
                Characteristic : Hue
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_blueLevel'}
            Action : (HomeKitAction)
                Characteristic : Hue
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_greenLevel'}
            Action : (HomeKitAction)
                Characteristic : Hue
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_whiteLevel'}
            Action : (HomeKitAction)
                Characteristic : Hue
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_whiteLevel2'}
            Action : (HomeKitAction)
                Characteristic : Saturation
                When : between
                Value : 0.0 (float)
                Value2 : 100000.0 (float)
                Command : homekit.commandSetDeviceColor
                Arguments : [1826503808, 697542815, '=service=', 'Saturation', '=value=']
                monitors : {1826503808: 'attr_whiteTemperature'}
            Action : (HomeKitAction)
                Characteristic : Saturation
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_redLevel'}
            Action : (HomeKitAction)
                Characteristic : Saturation
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_blueLevel'}
            Action : (HomeKitAction)
                Characteristic : Saturation
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_greenLevel'}
            Action : (HomeKitAction)
                Characteristic : Saturation
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_whiteLevel'}
            Action : (HomeKitAction)
                Characteristic : Saturation
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_whiteLevel2'}
            Action : (HomeKitAction)
                Characteristic : ColorTemperature
                When : between
                Value : 0.0 (float)
                Value2 : 100000.0 (float)
                Command : homekit.commandSetDeviceColor
                Arguments : [1826503808, 697542815, '=service=', 'ColorTemperature', '=value=']
                monitors : {1826503808: 'attr_whiteTemperature'}
            Action : (HomeKitAction)
                Characteristic : ColorTemperature
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_redLevel'}
            Action : (HomeKitAction)
                Characteristic : ColorTemperature
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_blueLevel'}
            Action : (HomeKitAction)
                Characteristic : ColorTemperature
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_greenLevel'}
            Action : (HomeKitAction)
                Characteristic : ColorTemperature
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_whiteLevel'}
            Action : (HomeKitAction)
                Characteristic : ColorTemperature
                When : equal
                Value : STUB (str)
                Value2 : 0 (str)
                Command : STUB
                Arguments : [1826503808, 0]
                monitors : {1826503808: 'attr_whiteLevel2'}
            Action : (HomeKitAction)
                Characteristic : Brightness
                When : between
                Value : 0 (int)
                Value2 : 100 (int)
                Command : dimmer.setBrightness
                Arguments : [1826503808, '=value=']
                monitors : {1826503808: 'attr_brightness'}
        loadOptional : False
        characterDict : (Dict)
            On : False
            Saturation : 59.0
            Brightness : 0
            ColorTemperature : 2000
            Hue : 284.0

    [/code]