Re-adding is worth a try. I have migrated from from each of the other Zwave integrations to JS, so who knows. I noticed the difference of brands, and that was my primary concern.
I am also curious if I could update the firmware on these somehow. More reading to do I suppose!
Thanks
No joy. Comes back exactly the same way. Must be a different version of the product entirely.
Doing a little digging myself. So it does look like there are two different versions of the hsm200. V1 looks very similar to v2… except version two has a screw tab on top like below. Which is exactly what I have.
V2 lastest firmware is 2.2
V1 latest firmware is 1.10
I noticed that your is 1.8 so you have v1 and can update to 1.10. That may or may not help. If it doesn’t help then looks like you’ll need a v2.
Here is a forum post talking about it. Luckily there is a link to firmware 1.10 for v1 in post #9 if you wanna try it out.
That’s all I’ve got for now.
My EZM (v1) is on 1.10 and the light entity isn’t created. My HSM200s (v2) are on 2.2 and do have light entities. I could be mistaken, but I believe they both utilize COMAND_CLASS_COLOR and I’m almost positive I’ve controlled the indicator when paired with different Z-Wave controllers so it should just be a matter of some compatibility changes being made to ZWave JS.
Any updates? I’m porting things over from SmartThings where I was able to control the color of the light. My EZM v1 is on 1.8. Just connected to zwavejs2mqtt and see color switch config, but sending values does nothing and HA doesn’t see it as a light entity.
Finally figured out that while you can set each of the R/G/B colors from 0-255, each of the colors are really just on or off, so sending a 1 or 0 for each color suffices. I don’t need an entity for the light in HA, I just set it in automations, so I got it wired up in NodeRed sending the zwave_js set_value command. Here’s a dump of the node-red config:
[{"id":"7b0becb9.bc8374","type":"api-call-service","z":"2181a3f5.c73f6c","name":"","server":"73766d51.ce4224","version":3,"debugenabled":false,"service_domain":"zwave_js","service":"set_value","entityId":"binary_sensor.night_light_home_security_motion_detection_location_provided","data":"{\t \"command_class\":51,\t \"endpoint\":0,\t \"property\":\"hexColor\",\t \"value\":payload\t}","dataType":"jsonata","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":590,"y":980,"wires":[[]]},{"id":"34862d9d.3ee2a2","type":"inject","z":"2181a3f5.c73f6c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"black","payloadType":"str","x":110,"y":920,"wires":[["7fc51df7.fef104"]]},{"id":"7fc51df7.fef104","type":"function","z":"2181a3f5.c73f6c","name":"Color to RGB","func":"// RGB color in HEX\nswitch (msg.payload) {\n case 'black' : msg.payload = '#000000'; break;\n case 'white' : msg.payload = '#010101'; break;\n case 'red' : msg.payload = '#010000'; break;\n case 'green' : msg.payload = '#000100'; break;\n case 'blue' : msg.payload = '#000001'; break;\n case 'aqua' : msg.payload = '#000101'; break;\n case 'pink' : msg.payload = '#010001'; break;\n case 'yellow' : msg.payload = '#010100'; break;\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":370,"y":980,"wires":[["7b0becb9.bc8374"]]},{"id":"68096279.c230fc","type":"inject","z":"2181a3f5.c73f6c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"white","payloadType":"str","x":110,"y":960,"wires":[["7fc51df7.fef104"]]},{"id":"b60be33b.19509","type":"inject","z":"2181a3f5.c73f6c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"red","payloadType":"str","x":110,"y":1000,"wires":[["7fc51df7.fef104"]]},{"id":"bc103ac4.699918","type":"inject","z":"2181a3f5.c73f6c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"green","payloadType":"str","x":110,"y":1040,"wires":[["7fc51df7.fef104"]]},{"id":"1471617.b84e79f","type":"inject","z":"2181a3f5.c73f6c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"blue","payloadType":"str","x":110,"y":1080,"wires":[["7fc51df7.fef104"]]},{"id":"fed81087.1fede","type":"inject","z":"2181a3f5.c73f6c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"aqua","payloadType":"str","x":110,"y":1120,"wires":[["7fc51df7.fef104"]]},{"id":"68ed4b2f.7b7744","type":"inject","z":"2181a3f5.c73f6c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"pink","payloadType":"str","x":110,"y":1160,"wires":[["7fc51df7.fef104"]]},{"id":"1da8330.dd4c7cd","type":"inject","z":"2181a3f5.c73f6c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"yellow","payloadType":"str","x":110,"y":1200,"wires":[["7fc51df7.fef104"]]},{"id":"73766d51.ce4224","type":"server","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
Thanks, that was just the information I needed (and didn’t have time to look up) for me to put together this light template which will make an entity in HA and controls on/off and color. At some point if I find the time I’ll have to find out if there’s a way to get the current light color to keep the frontend in sync…
light:
- platform: template
lights:
garage_ezm:
friendly_name: "Garage EZM: Light"
turn_on:
service: zwave_js.set_value
data:
command_class: '51'
endpoint: '0'
property: hexColor
value: "#010101"
target:
entity_id: binary_sensor.garage_ezm_motion
turn_off:
service: zwave_js.set_value
data:
command_class: '51'
endpoint: '0'
property: hexColor
value: "#000000"
target:
entity_id: binary_sensor.garage_ezm_motion
set_color:
service: zwave_js.set_value
data:
command_class: '51'
endpoint: '0'
property: hexColor
value: >
{% set s = s / 100 %}
{% set hf = h / 60 %}
{% set i = hf|round(0, "floor") %}
{% set f = hf - i %}
{% set p = (1 - s) %}
{% set q = (1 - s * f) %}
{% set t = (1 - s * (1 - f)) %}
{% if i == 0 %}
{% set r = 1 %}
{% set g = t %}
{% set b = p %}
{% elif i == 1 %}
{% set r = q %}
{% set g = 1 %}
{% set b = p %}
{% elif i == 2 %}
{% set r = p %}
{% set g = 1 %}
{% set b = t %}
{% elif i == 3 %}
{% set r = p %}
{% set g = q %}
{% set b = 1 %}
{% elif i == 4 %}
{% set r = t %}
{% set g = p %}
{% set b = 1 %}
{% elif i == 5 %}
{% set r = 1 %}
{% set g = p %}
{% set b = q %}
{% elif i == 6 %}
{% set r = 1 %}
{% set g = t %}
{% set b = p %}
{% elif i == -1 %}
{% set r = 1 %}
{% set g = p %}
{% set b = q %}
{% endif %}
{% set r = '%0x' % ((r * 255) | int) %}
{% set g = '%0x' % ((g * 255) | int) %}
{% set b = '%0x' % ((b * 255) | int) %}
#{{ ("0" + r)[-2:] }}{{ ("0" + g)[-2:] }}{{ ("0" + b)[-2:] }}
target:
entity_id: binary_sensor.garage_ezm_motion
Just replace all instances of binary_sensor.garage_ezm_motion
above with the correct entity_id for your EZM.
Has anyone successfully updated the firmware on one of these? I tried using the zwavejs2mqtt control panel, the first time I tried to start it, it said something like “unable to start, because the device is waiting for an authorized button input” or something of that nature. (I tried pressing the button on the unit, before, and after initiating the upgrade with no joy either.) The second time I tried to start the upgrade, it reports an upgrade is already in progress. It still reports that a day later, so I’m not sure how to actually get it to work.
I’m on 2.3, and trying to get version 2.4, (posted here,) to work.
For posterity, I did figure out how to update this with the zwavejs2mqtt control panel. You do have to push the button on the device just before you push upgrade through the control panel. I guess it didn’t work for me before because it was in some sort of failed state while I was trying it. After I tried it several days later everything just worked, and I’m on the newly posted 2.5 firmware.
I am on the HomeSeer site and they only have the 2.2 firmware posted. My HSM200 already reports it’s on 2.3, and I see your link to 2.4 in the HomeSeer forums. Do you mind sharing with me the URL for the latest firmware please?
Many thanks.
Looks like 2.8 may be the latest. I ended up returning my devices since there were too many false motion triggers. https://forums.homeseer.com/forum/homeseer-products-services/homeseer-z-wave-products/hsm200-multisensor/1457998-hsm200-motion-sensor-triggered-by-led-light-control-changes-new-firmware-available/page3#post1507047
Thank you
This has been fixed for the EZM v1 devices here: https://github.com/home-assistant/core/pull/67089
I do realize you’ve returned this, but beyond pushing the button before sending the command, do you have a full set of instructions to update the firmware or a link where you got instructions?
I currently have the HSM200 in eisy (Universal Devices hub) and the 7 ‘sentinel’ lights on the dimmer are programmed to indicate if lights are ON or OFF in 7 different areas of my home. How would I do that with HA ?
Hey guys did you find a way tomake it work as a ligh in zwaveJS?
Pls explain what you mean with “work as a light” ? Mine works fine as a light switch and I was able to program the led lights.
All good looks like i found i can control light using light turn on ,
Clay, thanks. Dumb question: Where would I add this? and is there any way to “templatize” it so I don’t have redundant copy/paste blocks for multiple devices?
This would be in your configuration.yaml, under light:
. I believe Home Assistant now supports creating template functions that might allow you to minimize the redundant code in hexColor, but I have not used that feature. In fact, I’ve since removed this configuration; it should no longer be necessary with up-to-date versions of Home Assistant and ZWave-JS, light entities should be created automatically.