Jump to content

Possible to "Set Configuration Parameter" on Inovelli ZWave Red Series from Home Assistant?


maverick2041

Recommended Posts

Hi there,

I'm trying to figure out if it's possible, and how to format a proper service call, to update the LED on a Inovelli ZWave Red Series On/Off Switch from Home Assistant using the ISY994 integration.

I'm using this tool to determine the proper parameters to send: https://nathanfiscus.github.io/inovelli-notification-calc/

This works great when running from the ISY, but I'm unsure how to proceed with Home Assistant.

image.thumb.png.ba36e2992b4c609baf520c63592c162c.png
Fast-Blinks the LED Orange for 5 seconds

It seems like I would need to use isy994.send_raw_node_command (https://www.home-assistant.io/integrations/isy994/) in Home Assistant but I'm not sure what/if to use for "command:" or how to indicate the byte sizes of the parameters and their actual values.  I understand that it needs to be in dictionary format, but have no idea what the key names might be.

This is the format specified for using the isy994.send_raw_node_command:

Parameter Description Example
entity_id
Name of an entity to send command. light.front_door
command
The ISY REST Command to be sent to the device DON
value
(Optional) The integer value to be sent with the command. 255
parameters
(Optional) A dict of parameters to be sent in the query string (e.g. for controlling colored bulbs). [object Object]
unit_of_measurement
(Optional) The ISY Unit of Measurement (UOM) to send with the command, if required. 67


I know I can communicate with the switch since I'm able to turn it on/off from Home Assistant by using the following in an isy994.send_raw_node_command call:

   entity_id: switch.zw_002_on_off_power_switch
   command: DON (or DOF)


Any ideas or guidance you have would be very much appreciated!

Thank you for reading!

Link to comment

Hi @maverick2041,

Below is a rest command to set the param you may have to change the uom (uom107) to the correct correct byte value (see uom definitions for corresponding numerical values, i.e the 107 in uom107).  You  may be able to set CONFIG as the command then NUM.uom107 and VAL.uom107 (with correct bit values) as the dict keys.

I don't use Home Assistant but this may help you find the right path

/rest/nodes/ZW014_1/cmd/CONFIG?NUM.uom107=0&VAL.uom107=1

Link to comment

Thanks very much for the suggestion Javi.  I tried to implement what you had and came up with this for the service call in Home Assistant:

   entity_id: switch.zw_002_on_off_power_switch
   command: CONFIG
   parameters: {"num.uom107":8,"val.uom114":33884690}

Home Assistant won't accept the dict for parameters unless I encase the key names in quotes ""

Based on the UOM values found here: https://wiki.universal-devices.com/index.php?title=ISY_Developers:API:V5:Appendix:Units_of_Measure

Home Assistant however throws this error using "CONFIG" for the command:

   Failed to call service isy994/send_raw_node_command. Invalid ISY Command. for dictionary value @ data['command']

It accepts the command if I change CONFIG to ST, or DON, DOF, etc, but it just performs the command and ignores the parameters.


I found the REST equivalent of what I'm trying to do here: https://wiki.universal-devices.com/index.php?title=ISY_Developers:API:REST_Interface#Commands

This works:

   http://x.x.x.x/rest/zwave/node/ZW002_1/config/set/8/33884690/4

Seems like I'll have to figure out or ask if the isy994 integration for Home Assistant supports a "config" command, but at least I can pass the values over REST requests for now.  :)

Thanks again.

Link to comment

I wasn't trying to set a ZWave parameter, but I have a few instances were I wanted to do things not natively supported by Home Assistant (or at least I couldn't figure it out).  Rather than using rest calls (which I hadn't even considered, ironically), I used state variables which trigger programs to complete what I needed.  Setting a state variable was relatively easy in HA.

Many ways to skin a cat...

Link to comment

Also a good idea, thank you! ?  Though I was hoping to do this as directly as possible. 

I managed to find two issues on GitHub tracking feature requests for this exact functionality for PyISY & the ISY994 home assistant component, so it looks like it may be possible in the future.

PyISY: https://github.com/automicus/PyISY/issues/140
ISY994 HA component: https://github.com/shbatm/hacs-isy994/issues/70

Link to comment
  • 4 weeks later...
On 2/19/2021 at 5:57 PM, maverick2041 said:

I'm happy to report, thanks to developer shbatm in the two aforementioned repos, that this is now working directly in Home Assistant via the isy994 integration.  Tested with an Inovelli Red Series On/Off switch as-of release 3.0.0.dev17 here: https://github.com/shbatm/hacs-isy994/releases

shbatm also made a nice change/bug fix yesterday for the Insteon folks that have battery devices (mini remotes, open/close sensors, hidden door sensor, motion).  The change was actually to the PyISY library which is used by the HA integration.  Groups/Scenes that contain a battery device now ignore the state of the battery device when determining whether the scene is on or off in HA...  So far the fix is only in beta release version 3.0.0dev18.   It's a wonderful change!  especially if you have battery devices as scene controllers in the ISY.

Link to comment

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...