What's a good way to configure a Z-Wave 3-Speed Fan

I’ve attached a GE Z-Wave 3-Speed Fan Control (ZW4002 / 12730). In its default configuration it shows up and works like a dimmer. When its dimmed from 1-33 it runs in Low, 34-66 is Medium and 67-99 is High and 0 is Off. I could configure configure a UI fan component with Off, Low, Medium, High but what I’d like to know is if there’s a way to create a custom Thing or Item level that would simply except a command of low, medium, high, off, on?

No but you can create a multilevel switch in sitemap such as

Switch item=EG_Treppe_Animation label="Treppe" icon="colorwheel" mappings=[1="Aus",6="Kamin",7="Sturm",8="Regenbogen",9="Aurora",10="Polizei"]

EG_Treppe_Animation is an item of Number type. I didn’t try to directly use it with a dimmer type item, might work or not. If it does not work, add a rule to trigger on that item and to sendCommand() a proper value to your dimmer item.

Thanks @mstormi for that answer. It helped me with my new ZW4002 switch.

You are correct, it works fine with a Dimmer type.

As @goody said, the fan only has three speeds + off (1-33 it runs in Low, 34-66 is Medium and 67-99 is High and 0 is Off). Per your suggestion, I created the following in the sitemap:

Switch item=StudyFan label="Fan" icon="fan_ceiling" mappings=[0="Off",1="Low",34="Medium",67="High"]

Changing the fan speed from the switch itself can result on any value from 0-100, but the fan will run according to those ranges. So when the fan is manually changed, it’s likely that none of these buttons will be active when the fan speed is changed at the switch.

To deal with that, I created this rule:

rule "Study Ceiling Fan fixed values"
    Item StudyFan changed
    var Number fanLevel = StudyFan.state
    if (fanLevel >= 2 && fanLevel <= 33){
    } else if (fanLevel >= 35 && fanLevel <= 66){
    } else if (fanLevel >= 68 && fanLevel <= 100){

Just leaving this here in case it helps someone else.

1 Like