rafaelborja / SmartthingsKingOfFansZigbee

Smartthings device handler for Home Depot Home Decorators Zigbee Fan (and fan controller) produced by King of Fans. This device handler is based on https://github.com/dcoffing/KOF-CeilingFan, refectored to work with new Smartthing app and to provide simpler user experience.
Apache License 2.0
28 stars 116 forks source link

Fan and Light both change when issued percentage change from Alexa #17

Open richard-murphy-by opened 4 years ago

richard-murphy-by commented 4 years ago

First, I want to thank you for your work!

I just changed my "Sunroom Fan" from KOF Zigbee Fan Controller" to "King of Fans Zigbee Fan Controller" today.

I deleted all child devices of the original "Sunroom Fan" and changed its "Type" to "King of Fans Zigbee Fan Controller".

I noticed immediately "Sunroom Fan" created a new Child Device named, "Sunroom Fan Light".

The Alexa Skill immediately notified me that "Sunroom Fan Light" was discovered.

My issue is that when I issue a Percentage Change to either the Light or the Fan from Alexa (using either voice command or the GUI), both the Fan and the Light change.

On/Off works correctly.

Here is some logs of state changes:

===================================================== "Sunroom Fan" Percentage Change: 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: trace switch level: null 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: trace level: 39 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: trace levelSliderControl: null 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: trace lightBrightness: 100 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: debug sendEvent lightBrightness 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: trace useDimmerAsFanControl(): null 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: trace isStateChange: true 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: debug parse() child device found 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: info Light event detected on controller (event): [name:level, value:63] 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: info Parse description read attr - raw: 3C0201000808000020A0, dni: 3C02, endpoint: 01, cluster: 0008, size: 8, attrId: 0000, result: success, encoding: 20, value: a0 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: info parse(read attr - raw: 3C0201000808000020A0, dni: 3C02, endpoint: 01, cluster: 0008, size: 8, attrId: 0000, result: success, encoding: 20, value: a0) 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: debug setLevel(val=63, rate=null,device=null) return [st cmd 0x3C02 0x01 0x0008 0x04 {a0 0100}, delay 2000, st rattr 0x3C02 0x01 0x0006 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0008 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0202 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0006 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0202 0x0001, delay 2000, st rattr 0x3C02 0x01 0x0008 0x0004, delay 2000] 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: trace That's tthe refresh: [st rattr 0x3C02 0x01 0x0006 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0008 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0202 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0006 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0202 0x0001, delay 2000, st rattr 0x3C02 0x01 0x0008 0x0004, delay 2000] 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: info refresh(null) called 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: info Adjusting Light Brightness via setlevel on parent: {63} 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: trace useDimmerAsFanControl(): null 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: debug setLevel(val=63, rate=null,device=null) 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:19:08 PM: debug setLevel(val=63, rate=null,device=null)

=================================================== Sunroom Fan Light Percentage Change: 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: trace switch level: null 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: trace level: 49 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: trace levelSliderControl: null 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: trace lightBrightness: 100 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: debug sendEvent lightBrightness 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: trace useDimmerAsFanControl(): null 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: trace isStateChange: true 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: debug parse() child device found 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: info Light event detected on controller (event): [name:level, value:72] 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: info Parse description read attr - raw: 3C0201000808000020B7, dni: 3C02, endpoint: 01, cluster: 0008, size: 8, attrId: 0000, result: success, encoding: 20, value: b7 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: info parse(read attr - raw: 3C0201000808000020B7, dni: 3C02, endpoint: 01, cluster: 0008, size: 8, attrId: 0000, result: success, encoding: 20, value: b7) 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: debug setLevel(val=72, rate=10,device=Sunroom Fan Light) return [st cmd 0x3C02 0x01 0x0008 0x04 {b7 0100}, delay 2000, st rattr 0x3C02 0x01 0x0006 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0008 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0202 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0006 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0202 0x0001, delay 2000, st rattr 0x3C02 0x01 0x0008 0x0004, delay 2000] 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: trace That's tthe refresh: [st rattr 0x3C02 0x01 0x0006 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0008 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0202 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0006 0x0000, delay 2000, st rattr 0x3C02 0x01 0x0202 0x0001, delay 2000, st rattr 0x3C02 0x01 0x0008 0x0004, delay 2000] 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: info refresh(null) called 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: info Adjusting Light Brightness via setlevel on parent: {72} 92c8cfcc-89c2-456c-89c4-9a5854dd5ae1 5:25:26 PM: debug setLevel(val=72, rate=10,device=Sunroom Fan Light)

================================================================ Thanks for any help you can give!

Richard

richard-murphy-by commented 4 years ago

Never mind, found the setting "dimmerControl" and set it to "Fan". Thanks for all the hard work.

My suggestion would be to make the instructions a little clearer by specifying, "If you use Alexa, you need to set the "dimmerControl" option to "Fan".

Thanks! Richard