If I’m not mistaken, based upon their Z-Wave profiles, they both operate as lights. The dimming ability with the Smart Dimmer as well as the Fan Speed would be controlled by turning the “light” on along with the brightness attribute.
So to set it directly:
action:
service: light.turn_on
entity_id: light.dining_room
data:
brightness: 120
And to use it as a dimmer, you would create an input_slider and set the brightness attribute of the light to the value of the input slider.
As for the Fan Control, I believe it would work the same, however, you would not want to attach it to an input_slider, but rather I am sure there is a set number specific for each speed (Low, Medium, High), which you could then hookup to an input_select, in much the same way as an input_slider would work for the Smart Dimmer. Then the drop down would have Low, Medium or High, and based upon the selection, it would set the brightness to the specific number associated with that speed.
For instance, I have an audible alarm/strobe security device by Fortrezz that uses the light profile, and I control it by setting a specific number to the brightness attribute:
action:
service: light.turn_on
entity_id: light.fortrezz_strobe_alarm
data:
brightness: 33
For my strobe/alarm, a brightness value of 0 is Off, 33 is Strobe only and 66 is Strobe and Audible Alarm, so I have an input_select with “Off, Strobe, Strobe & Alarm” as the choices, and when I select each of those, it sets the brightness value on the “light” in order to perform the correct operation.
I am sure the Vera and other Hubs have a profile already designed for most of the name brand devices, especially those from GE, so they are most likely doing this all internally and simply displaying it to you as a dimmer slider and possible a Low/Medium/High selection for the fan, but I still believe that was done internally by Vera in the backend.
Home Assistant is more of a DIY setup, so while most of the commercial cloud based hubs try and do all of that for you behind the scenes so that it just works, with Home Assistant, a lot of this stuff has to be setup manually with templates, input_sliders, input_selects, automations, etc.
The “light” profile does not always have to refer to an actual light, but rather the profile in which the device receives the value it needs to complete its operation. I use Alexa to set my thermostat temperature, but I do it through a Hue Bridge, so when I say “Alexa, set thermostat to 73”, she thinks she is setting a light called Thermostat to the brightness of 73, but in actuality, my thermostat is receiving the brightness value and interpreting it as a temperature and setting it to 73 degrees.