In my search for the perfect smart dimmer, I have purchased, installed, and played with most of the popular brands and devices out there (at least in the zwave world).
Recently, I saw some youtubes on the Caseta Diva smart dimmer switch, and I got really excited for one reason;
This switch has a physical dimmer slider!
That’s right, you can slide the slider up and down, and have immediate dimming response, from the switch, without having to hold a button down to dim up or down. It’s a small thing, but being able to just quickly slide to the top, knowing you are at 100%, quick, instant, high WAF.
in addition, you can, of course, also set the dimming level via HA, and the switch will behave like any other smart switch, and change accordingly. the little led dimmer bar (behind the physical slider) will update to show the new dimming level.
So… now to the devil in the details.
Cons;
- In order to use this switch, or any other Caseta device, you need to have a smart hub. - yet another integration for HA.
- cost. these are quite expensive, 80 canadian pesos each, or 160 for the starter kit (hub+dimmer+Pico remote)
- Not as fully featured as other smart switches. No native double-click, hold, or other events. Limited switch options for min/max dimmer settings. No option to change ramp rate.
- lacks a neutral wire - needs an attached load to function. vampire.
- does not remember last brightness value when turning on via HA
- proprietary wireless / not z-wave. potentially limited range, or RF issues.
Pros;
- physical dimmer slider.
- instant response, very snappy, high WAF, functions like a normal switch
- does not need a neutral wire.
- integration appears to be all local. I will need to cut my internet one of these days just to be sure on that point…
- Pico can control switches natively (no HA), quick and easy. Can also use Pico as a limited scene controller; single click events by default only
The hub.
I’ve read, in the past, a PRO version of the hub would be required. looks like that is no longer the case. the Smart Hub which came in my startup kit works fine, supports up to 75 devices. Setting this up was painless. Super easy. (requires ethernet and dhcp). Adding the Caseta integration to HA was also super easy. no complaints here other than i have another device (the hub) to manage.
My hub is a L-BDG2-WH
The First switch
Much like the hub setup, adding the first switch was quite easy. Requires the Caseta app to add devices.
Physically, the switch is fairly standard as far as smart switches go. It doesn’t require the additional aluminum fins on the front plate for heat dissipation, so no tabs to break off for a multi-gang install. The switch has pigtails as opposed to wire terminals; not really a pro or a con. easy install if you are using Wago or other similar connectors. The fact the switch doesn’t have even an option for a neutral cable is annoying to me. I’ve already got neutrals in all my switch boxes, and because it dones’t have a neutral, you MUST have a load attached for the switch to function. basically it will pass a small voltage through the load in order to function. While no neutral is a huge plus in a lot of retrofit cases, it also means you cant simply power the switch on a test bench without an attached load.
Once installed, easily adds into the app by holding the bottom button for 10 seconds.
The dimmer on this thing is awesome… Have i mentioned that before?
Once added to the app, showed up almost immediately in HA, as a light object.
Home assistant integration
If you simply utilize the light object that gets created by the integration, it works well enough for basic control. You can drive the dimmer value from HA by setting brightness with service light.turn_on, and it functions as you would expect from a basic switch.
you can do triggers based on turned on, turned off, and toggle ONLY.
Here is where is somewhat starts to fall apart.
Control from the physical switch: Because there is a physical dimmer slider, when you turn the light ON at the switch, the dimmer will go to the placement of the slider. No problem, and I think this is the most intuitive behaviour.
Control from HA. when you call light_on with no additional settings, the switch will turn on at 100% brightness. (does not remember prior setting) This is the most annoying part. You can turn on the switch, set the brightness to 50%, turn off, and turn on again, and it’s back to 100%. I dont know if this is a limitation of the integration, or just how the Caseta functions by default.
To correct for this, and this is where we get a little into the territory of kludgey, you can create a light template on top of the light object, and implement an input_number to keep track of the brightness. I put this together based on a few other threads i found about these and other lights. It’s a bit ugly to have to repeat this process for multiple switches.
here is my light template for my Kitchen Island:
light.kitchen_island is the Caseta entity.
- platform: template
lights:
kitchen_island_t:
unique_id: "kitchen_island_template"
friendly_name: "Kitchen Island"
value_template: "{{ is_state('light.kitchen_island', 'on') }}"
level_template: "{{ state_attr('light.kitchen_island', 'brightness')|int }}"
turn_on:
service: light.turn_on
data_template:
entity_id: light.kitchen_island
brightness: "{{ states('input_number.kitchen_island_brightness') | int }}"
turn_off:
- service: input_number.set_value
data_template:
entity_id: input_number.kitchen_island_brightness
value: "{{ state_attr('light.kitchen_island', 'brightness') | int }}"
- service: light.turn_off
entity_id: light.kitchen_island
set_level:
- service: light.turn_on
data_template:
entity_id: light.kitchen_island
brightness: "{{ brightness }}"
- delay: '00:00:01'
- service: input_number.set_value
data_template:
entity_id: input_number.kitchen_island_brightness
value: "{{ brightness }}"
Just using this template, and interacting only from HA, it will remember the brightness value, and restore it when you turn on.
BUT… the input_number wont update itself if you change the dimmer value via the physical switch.
It will capture the brightness value when you toggle the template off, so that might very well be good enough.
If you want the variable to always be up to date, you will also need an automation to trigger on brightness state change, as follows;
alias: kitchen Island template brightness update
description: ""
trigger:
- platform: state
entity_id:
- light.kitchen_island
attribute: brightness
condition: []
action:
- service: input_number.set_value
data:
entity_id: input_number.kitchen_island_brightness
value: "{{ state_attr('light.kitchen_island', 'brightness') }}"
mode: restart
when updating the brightness from the switch, it’s actually very good about sending state updates. it will send state updates while the slider is being adjusted to very fine detail. As such, the automation is mode:restart
**You only really need this automation if you are planning on driving other devices / settings based on the brightness value being change. Example; changing the brightness value of a second light when you physically adjust brightness value at the switch.
between the template and the automation, the switch is operating as i would expect any other smart dimmer to operate. Toggling the template light off and on again will keep the same brightness setting through the cycle.
Conclusion
I really like this switch, despite all the issues. Given the cost and integration headache with templates, I will be very selective as to which lights would get one of these switches. The lack of scene control could be a big deal for some. I will have a zooz zen32 scene controller in the same gang box as these switches, so my smarts can be taken care of with that. I do a lot of double tap logic in other rooms, and while i could make an event handler to get that to work on these, i dont think it’s worth the effort.
If another producer (zooz… looking at you) would come out with a z-wave switch that just simply rips off this design, i would switch them out and kijiji these in a heartbeat, but in the mean time, they do what i need them to do, and function beautifully as a tactile dimmer control while still being “smart”