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

Can't get this to actually do anything #19

Open fractically opened 4 years ago

fractically commented 4 years ago

Firstly, THANK YOU to everyone who has played a part in developing this. I've spent over a year trying to come up with other hacks to gain smart control (with hardware control via multiple RF remotes AND state updates to all smart home hubs, which eliminated Bond as an option) over an older (but still awesome) ceiling fan/light that I've retrofitted with this Wink-compatible 'universal' receiver/transmitter that I had to source on eBay (because it's no longer being manufactured/sold). The RF remote controls the fan, but unfortunately, I can't get it to work via SmartThings:

I've gone through all of the required steps I could find:

I've looked into potential Zigbee RF interference issues and just in case I've moved my SmartThings Hub into the same room as the device. I've also confirmed my current Zigbee channel (19) doesn't overlap with the 2.4Ghz channel of my wireless network (1).

I've attached screenshots to show what things look like when attempting to control it from the SmartThings app. I've connected SmartThings to Alexa, and although Alexa immediately found the new device(s), I'm of course unable to control the ceiling fan from it as well.

If it helps, here's the table from Controller's 'Show Device' page

Hope this is enough info for someone to be able to make some recommendations, I have no idea how long it'll be before someone happens across this posting.


*I have additional issues with the structure/formatting of the "Install Notes" that I can address in a subsequent post, but in particular, the statement:

You can also create a new device handler from code copying and pasting king-of-fans-zigbee-fan-controller.groovy and king-of-fans-zigbee-fan-light-child-device.src source code

I'm new to this whole SmartThings/custom device/developer world, so please forgive me if I'm simply not fluent enough to understand that this is phrased correctly, but to a newbie (at least me), these TWO sets of code snippets look to be designated for TWO devices/handlers/entries. I get that one might be a parent and the other a child, but the wording above (emphasis mine) implies (to me) that I'm supposed to be creating a single DTH and I should copy both code snippets into that. I actually tried this and got errors, so I decided that I was, in fact, supposed to create two DTH entries.

*FWIW, the very title of this aforementioned FAQ (which includes the qualifying descriptor "SmartThings Classic") makes me concerned because I'm not actually using the Classic app because (AFAIK) it's no longer an option. Is this FAQ still accurate/relevant, or is there a newer version with different instructions for those using the newer SmartThings app(s), and if so, should that* article be referenced going forward instead of this one?

controls spinninggear networkorservererror

cjhesse commented 3 years ago

I'm seeing similar (or the same) issues. I can get it to work again by deleting and re-adding the Zigbee device, but it only functions briefly. Sometimes it'll work as long as a day, or other times, as short as a couple minutes.

I've also tried changing the device type of both the main and child device in the IDE with mixed success. Changing the main device type to something else and then back to the KOF controller briefly fixed the child light, but it didn't fix the fan.

I'm not sure whether this is the fault of this app or the Zigbee network. I strengthened mine by adding two repeaters, but that doesn't seem to have helped. There's no more than 20 ft between my hub and each of the two repeaters in sequence, and the fan controller is in the same room as one of the repeaters.

robross0606 commented 3 years ago

I am also seeing the exact same issue. The controls worked perfectly when I first added the "Thing" and then changed the device type to KOF. I was able to turn fan on/off, change speeds, etc. It even shows up on both Alexa and Google Home. However, once my Smartthings hub was rebooted, I lost access in exactly the way described herein. The controls just spin and then come back with "A network or server error occurred". I have two KOF remotes on this setup that both have this same behavior.

If it helps, when the device is working I see periodic polling in the Smartthings live logs:

4c5b5cf0-55d3-4dd9-b358-8113df9313c5 6:40:28 PM: trace [fanEvents(0)]: [[name:switch, value:off, linkText:Guest Bedroom 2 Fan, descriptionText:Guest Bedroom 2 Fan switch is off, isStateChange:true, displayed:true], [name:fanSpeed, value:0, displayed:true, isStateChange:true, linkText:Guest Bedroom 2 Fan, descriptionText:Guest Bedroom 2 Fan fan speed is 0], null]
4c5b5cf0-55d3-4dd9-b358-8113df9313c5 6:40:28 PM: trace switch level: null
4c5b5cf0-55d3-4dd9-b358-8113df9313c5 6:40:28 PM: trace level: 25
4c5b5cf0-55d3-4dd9-b358-8113df9313c5 6:40:28 PM: trace levelSliderControl: null
4c5b5cf0-55d3-4dd9-b358-8113df9313c5 6:40:28 PM: trace lightBrightness: null
4c5b5cf0-55d3-4dd9-b358-8113df9313c5 6:40:28 PM: trace Sending dimmer events for fan event
4c5b5cf0-55d3-4dd9-b358-8113df9313c5 6:40:28 PM: trace useDimmerAsFanControl(): Fan
4c5b5cf0-55d3-4dd9-b358-8113df9313c5 6:40:28 PM: trace [isSpeedChange]: true
4c5b5cf0-55d3-4dd9-b358-8113df9313c5 6:40:28 PM: trace speed vs currentSpeed: 0 vs 1
4c5b5cf0-55d3-4dd9-b358-8113df9313c5 6:40:28 PM: trace [isSpeedChange(0)]
4c5b5cf0-55d3-4dd9-b358-8113df9313c5 6:40:28 PM: trace [fanEvents(0)]

When the controls become non-responsive, I stop seeing these periodic polls for device data in the logs.

fractically commented 3 years ago

Well, I’m afraid to say I gave up waiting. These subsequent posts actually came quicker than I’d expected, but as nice as it is to know I’m not alone with this issue, it doesn’t sound like it’s likely there will be a solution anytime soon.

On the positive side (well, at least for me 😅), I’ve solved my problem for less than $70. I bought and installed the Inovelli Z-Wave Fan & Light Switch (Red Series) https://www.amazon.com/dp/B08665WJ2B/ref=cm_sw_r_cp_api_glc_fabc_iV78FbB9TQJG3?_encoding=UTF8&psc=1 (to be clear, it includes the controller that is installed inside the fixture).

I can’t say enough nice things about, well, not just the quality, fit and finish, and feature set of this product, but just as important, the instructions - they are FANTASTIC!!! This experience makes me want to seek employment at Inovelli, because it seems as if they (as a company) care just as much (if not more) about documentation and ensuring as smooth an installer/end-user experience as possible as I do!!

The switch/controller worked perfectly on its own, and was painless to add and use within SmartThings. In order to get full and independent control of the fan/light within Alexa and Brilliant I followed some (VERY WELL-WRITTEN) instructions Inovelli had on their website. https://support.inovelli.com/portal/en/kb/articles/how-to-create-separate-fan-light-entities-in-alexa-or-google-home-smartthings Take a peek and you’ll get an idea of just how well they guide the installer/end user. The only thing I haven’t done yet is integrate it with HomeKit (via a HomeBridge plugin and SmartApp combo), but that should be pretty smooth, and it won’t be Inovelli’s fault if I have issues.

cjhesse commented 3 years ago

I actually had the Inovelli switch on order as soon as I decided the KOF switch wasn't going to work. It came in today so I installed it. I'll echo most of what @fractically said above. The switch seems well built and was easy to install. The only tricky part was getting the fan module to fit since it was a little thicker than the old module which made fitting it around the wires a little difficult.

I actually didn't need to follow the virtual device instructions to get the child devices to work with Google Home. The page says it affects Google Home, but that doesn't appear to be the case (as always, YMMV).

I first paired the switch to my SmartThings hub (scan the QR code then hold up on the light dimmer and press the light toggle three times while your hub is searching for devices). After that, I grabbed several DTHs from Inovelli's website (full instructions here):

I published the DTHs in my SmartThings IDE, switched over the Inovelli switch to the main DTH, and it automatically created the child devices for the fan and light. Google Home picked them up without any more work on my part. I don't use Alexa for smart devices, so I'm not sure if they show up there too.

There's a lot of options to play around with, so I'll do some more discovery in the next handful of days, but I highly recommend the Inovelli switch to anyone having issues with the KOF one.