GE Ceiling Fan Switch Custom Device Type - Low, Med, High buttons w/no slider!

@cberger62, I just updated the device type to comment out the fingerprint in the device I published. Please update to the new code, or just comment out the following line (should be line 18) just like this:

// fingerprint inClusters: “0x26”

Those “//” comment out the line that causes dimmers added to your environment to be seen as a fan controller.

Do that in your new device type you created (pretty easy to create one, isn’t it?). Make sure to Save and Publish.

Problem solved. Thank you for your help. This forum has helped me and I’m sure many others do things most people don’t realize are possible.

noob here, I tried to add the self published device and it asks for a network id, where do I find that? I tried the next number, but the fan control did not connect to the hub.

woo hoo, figured it out, love my fan control now!

I’m wanting to have a button in SmartTiles that has a popup of hi-med-low-off instead of using dimmer slider.

Has anyone done this?

Hey guys… I love this controller so much!!! I’ve updated the code that started this thread to have the new layout and use the mutliattributetile to allow for up / down buttons. 99% of this code was created by @johnconstantelo I just added a few lines.

code

1 Like

Are you willing you share your changes?

oops - nevermind… I see your link now. :slight_smile:

Thanks
Gary

@craig, lol, I just updated that code for the multiattributetile as well, buy certainly not what additions you’ve made. Mind sharing?

Sorry guys — I was having issues getting the github link to work. I also added that instead of the light showing on / off it shows the level it’s own. I’m not 100% I like the shades of green but love to hear thoughts.

Crap I just realized the last edit of colors is AWFUL (white to dark green)… not my intention… I’ll have to play with that and fix it.

Has anyone tried this out? Thoughts?

@craig, I did try it, but I preferred a more simple layout, and I wish the VALUE_CONTROL would work on Android. I ran into that same issue with @Sticks18 and the GE Bulb device type. Here’s what mine ended up looking like:

Once VALUE_CONTROL starts working, or what ever the issues may be, I’ll start experimenting with it on a few of my device types I have.

2 Likes

I’ll have to take a look at the different colors for speed and see how that works. I like the idea! I made almost the same changes for my version with the Multiattribute tile. Yours looks a bit cleaner though!

I also modified the setLevel() command, so that it increases the speed if the new level is greater than the old, and vice versa if it’s lower. Otherwise the Value_Control arrows have little impact since they only increment level by 1. Unfortunately, the down arrow isn’t changing speed. The logs show that’s it’s calling the right function, but nothing happens and I can’t figure out why. Here’s my setLevel() command in case you want to give it a try.

def setLevel(value) {    
    log.debug "New speed is ${value}"
    
	if (value < device.currentValue("level")) {
    	log.debug "Speed decrease"
    	switch(device.currentValue("currentSpeed")) {
        	case "HIGH":
            	medSpeed()
                break
            case "MEDIUM":
            	lowSpeed()
                break
            case "LOW":
            	off()
                break
            default:
            	break
        }
    }
    
    if (value > device.currentValue("level")) {
        log.debug "Speed increase"
        switch(device.currentValue("currentSpeed"))  {
        	case "HIGH":
                break
            case "MEDIUM":
            	highSpeed()
                break
            case "LOW":
            	medSpeed()
                break
            case "OFF":
            	lowSpeed()
                break
            default:
            	break
        }
   
    }

	//def level = Math.min(value as Integer, 99)
	//delayBetween ([zwave.basicV1.basicSet(value: level).format(), zwave.switchMultilevelV1.switchMultilevelGet().format()], 5000)
}

I did mine a little differently where I actually checked for specific values and sent it to the commands. I’m at work so I can’t pull up the code but it seems to work.

Yours seems to be fine not sure why it wouldn’t work the only thing is you have a delay when you call the functions specifically and maybe you don’t when you call it this way (not sure why that would matter).

1 Like

Hey guys I’m having trouble adding the fan switch to my network, i was able to exclude it, but smarthings isn’t finding it, it’s in the same gang as another smart dimmer that it found no problem, any suggestions, and would I add the fan first to the network then put the code in, love the look of the app

I’m not sure if you got any help on this, but have you tried a zwave exclude on the device before adding it?

got it thank you guys working awesome, gonna try the custom app!

1 Like

Hi @Sticks18 and @craig! Thank you guys for your implementation of this device type. I’m having some slight issues, which are cosmetic only.

@Sticks18 The “Lit When Off” and “Refresh” buttons are askew in the bottom of the device. This is the latest iOS SmartThings App (2.0.3). I know you use android, but just wanted to bring this up. (see attached screenshot)

@craig With your device type, whenever I go into the app it will show the fan as HIGH when it’s on actually on Medium. I keep my fan on medium almost all the time and if I select medium in the device type it just stays as it is, but if I go back into the app sometime later it will see the fan as being on HIGH when there have been no changes (button presses or changed in the app). As a note, I don’t have this issue with @Sticks18’s version.

Thank you guys for doing an awesome job with this switch!

1 Like

First off, this code is great. Thanks. I’m having a few issue, maybe you can help:

The main tile icon always says High when the fan is on and the current speed always shows as --.
The fan changes properly from each setting, it just doesn’t display. It also always defaults to High when I turn it on after being off. Anyway to make the medium?

I’m using the latest version from the OP’s GitHub, is there another version I’m missing?

I’m having the same issue, so obviously it’s a flaw in my code. I’ll be honest and say it will most likely be a while before I get around to fixing it, but anyone wants to take a crack without me have at it :smile: