image not found img not found

Inovelli Community

Home Assistant - 2nd Gen Switch RGB working!

I didnt run through them all, but I did jump right to 1:06 and can confirm that I got the same actual duration as you:

Desired Duration Actual Duration (Approx) Notification Value
1:06 6:40 21105153

I tried the same value on my Red Series switch, and while I didnt time it for the full duration, it definitely lasted more than 3 minutes.

Edit: I tried a couple other values, and got similar results to yours:

Desired Duration Actual Duration (Approx) Notification Value
0:10 0:11 17435137
0:30 0:32 18745857
1:00 1:04 20711937
1:01 1:05 20777473
1:02 2:12 20843009
1:06 6:40 21105153

Thanks for the confirming those results. Were all of these times on the a switch or did you use a dimmer as well?

All these times were on my dimmer. I tested the 1:06 duration on the switch, and confirmed that it lasts more than 3 minutes, but I did not time the full duration or test any other values on it.

Can you explain how I can interface with this script in Home Assistant? It would be great to use this to calculate values in HASS instead of having to effectively hard code values into my automation’s!

script: !include scripts.yaml in your configuration yaml. And in that file paste the led code from my paste in. Call it in automations like

    - alias: Front door locked switch notification
  trigger:
    platform: state
    entity_id: lock.front_door
    from: unlocked
    to: locked
  action:
  - service: script.turn_on
    entity_id: script.zwave_inovelli_led_color
    data:
      variables:
        color: red
        duration: 0
        effect: pulse
        level: 10
        node_id: 15

On mobile so formatting might not be right.

1 Like

That’s the exact additional info I was looking for. Thanks!!

@EricM_Inovelli, do you need any additional information to help fix this? I would love to be able to use the notification timing, but can’t due to the massive time discrepancies.

Depending on your use case, you might be able to modify the script as a workaround, and have HA do the timing. Essentially, the script would set the notification LED, wait for the desired time, then clear the LED. https://pastebin.com/NDaXDHf9 (note: I have not had a chance to test this change)

The only drawback is the script cannot run multiple times simultaneously. If you need to call the script multiple times (for multiple switches), you probably need a separate script for each switch.

1 Like

That makes sense. Thanks for updating the script. I’m not currently using it in any of my automations but when I get the chance to update them to use the script I’ll check out the updates you made.

I was looking over this again, and I can’t believe I didn’t notice this before. There may be a problem with the calculator I linked to above. The duration of the notification in parameter 16 is actually calculated with the below as the 3rd byte.

1-60 is in seconds

61-120 is in minutes
calculated by(value-60)
Example a value of 65
would be 65-60 = 5
minutes

120-254
Is in hours calculated
by(value-120)
Example a value of 132
would be 132-120 would
be 12 hours.

255 Indefinitely

Until the other calculator is fixed, can you try this one?

I just recently got my switches and started playing with notifications yesterday with the same problems mentioned. I just found this thread and tried the updated Google Sheet. I tested 10 seconds and 4 minutes which both worked for the expected durations. Thanks for the update!

1 Like

I’ll update this tonight and see if it fixes the issue!

For those you following this thread for the issues with notification duration length, I have updated the logic in my notification calculator to match the logic provided by @EricM_Inovelli. Once again that application is found here : https://nathanfiscus.github.io/inovelli-notification-calc/

4 Likes

I ended up using this. Timing works as expected now! Thanks for updating it.

Anybody using node-red might find this useful for decoding scenes. I got inspired by the notification node @pdong made. This one is the flip side, for handling scene activations.
It just takes the input msg from home assistant (or anything that has the same scene_id and scene_data) values) and adds two new properties (button and click_count). This way it’s easier to build logic on button and click_count instead of scene codes.

2 Likes

@platup I created an account here just so I could thank you! I was getting frustrated that my zwcfg was overwritten constantly.

I’ll have to try that out. Alternately, there is a solid sub-flow published here that I’ve been using. Only downside is the “node” is massive.

1 Like

I took a stab at creating a Home Assistant script to update the status led. I am really happy with the results, so I wanted to share The script can be called with some pretty straight forward parameters.

- service: script.inovelli_led
  data:
    entity_id: zwave.dimmer_family_room
    color: purple
    duration: 10 seconds
    effect: chase
    level: 10

As an experiment I am using Cyan to represent and unlocked Front Door and Purple to indicate an open Garage Door. Anyway, it was a fun exercise. If anyone would like to see the full code, I posted them here.

1 Like

I was having the same problem, thanks for pointing me in the right direction by looking at the issecured flag.

I just started using Node-Red this week with Home Assistant and the Inovelli Dimmer is the main reason why. I have a long way to go but I came up with this flow building off of the Status Manager. I have three Schlage Z-Wave Touchscreen Deadbolts and wanted to get a notification on one of my switches and be able to add others later on. I only wanted the unlock notification to go off every 5 minutes if one of them is still unlocked then give a notification to confirm they are locked.

I was able to use the Scene Manager flow/sub-flow to activate the config button to lock all my locks.

I hope this can help someone that was stuck in a spot like I was with limited Node-Red experience.

JSON:
[{“id”:“61b76373.302b7c”,“type”:“tab”,“label”:“Lock Status”,“disabled”:false,“info”:""},{“id”:“81003715.213b38”,“type”:“inovelli-status-manager”,“z”:“61b76373.302b7c”,“name”:“Doors Unlocked”,“nodeid”:“3”,“color”:“1”,“level”:10,“duration”:“10”,“display”:“5”,“switchtype”:“16”,“x”:380,“y”:320,“wires”:[[“cb42f4af.184648”,“68b4af8.de1605”,“fc7913cb.4df7d”,“9ab834c0.f968c8”]]},{“id”:“fc7913cb.4df7d”,“type”:“api-call-service”,“z”:“61b76373.302b7c”,“d”:true,“name”:“node 1”,“server”:“627c2fbf.e0dc3”,“version”:“1”,“debugenabled”:false,“service_domain”:“zwave”,“service”:“set_config_parameter”,“entityId”:"",“data”:"{ “node_id”: 1 }",“dataType”:“json”,“mergecontext”:"",“output_location”:“payload”,“output_location_type”:“msg”,“mustacheAltTags”:false,“x”:770,“y”:180,“wires”:[[]]},{“id”:“68b4af8.de1605”,“type”:“api-call-service”,“z”:“61b76373.302b7c”,“d”:true,“name”:“node 2”,“server”:“627c2fbf.e0dc3”,“version”:“1”,“debugenabled”:false,“service_domain”:“zwave”,“service”:“set_config_parameter”,“entityId”:"",“data”:"{ “node_id”: 2 }",“dataType”:“json”,“mergecontext”:"",“output_location”:“payload”,“output_location_type”:“msg”,“mustacheAltTags”:false,“x”:770,“y”:220,“wires”:[[]]},{“id”:“9ab834c0.f968c8”,“type”:“api-call-service”,“z”:“61b76373.302b7c”,“name”:“Living Room Dome (Node 3)”,“server”:“627c2fbf.e0dc3”,“version”:1,“debugenabled”:true,“service_domain”:“zwave”,“service”:“set_config_parameter”,“entityId”:"",“data”:"{“node_id”:3}",“dataType”:“json”,“mergecontext”:"",“output_location”:“payload”,“output_location_type”:“msg”,“mustacheAltTags”:false,“x”:680,“y”:320,“wires”:[[]]},{“id”:“cb42f4af.184648”,“type”:“api-call-service”,“z”:“61b76373.302b7c”,“d”:true,“name”:“node 4”,“server”:“627c2fbf.e0dc3”,“version”:“1”,“debugenabled”:false,“service_domain”:“zwave”,“service”:“set_config_parameter”,“entityId”:"",“data”:"{ “node_id”: 1 }",“dataType”:“json”,“mergecontext”:"",“output_location”:“payload”,“output_location_type”:“msg”,“mustacheAltTags”:false,“x”:770,“y”:260,“wires”:[[]]},{“id”:“60824a63.90c334”,“type”:“comment”,“z”:“61b76373.302b7c”,“name”:“Deabolts Locked or Unlocked (Node 3)”,“info”:“Note: node id is not set on the status manager, it is set on the svc calls and the svc call only inherits the value and other params”,“x”:590,“y”:80,“wires”:[]},{“id”:“790719fd.e86968”,“type”:“inovelli-status-manager”,“z”:“61b76373.302b7c”,“name”:“Doors Locked”,“nodeid”:“3”,“color”:“94”,“level”:10,“duration”:“10”,“display”:“2”,“switchtype”:“16”,“x”:380,“y”:400,“wires”:[[“6575a7e7.e38658”,“6271d103.f18b9”,“b5ca6484.872538”,“56123af2.92bf74”]]},{“id”:“6575a7e7.e38658”,“type”:“api-call-service”,“z”:“61b76373.302b7c”,“name”:“Living Room Dome (Node 3)”,“server”:“627c2fbf.e0dc3”,“version”:1,“debugenabled”:true,“service_domain”:“zwave”,“service”:“set_config_parameter”,“entityId”:"",“data”:"{“node_id”:3,“parameter”:16,“value”:17435223}",“dataType”:“json”,“mergecontext”:"",“output_location”:“payload”,“output_location_type”:“msg”,“mustacheAltTags”:false,“x”:680,“y”:400,“wires”:[[]]},{“id”:“8979c432.70a668”,“type”:“server-state-changed”,“z”:“61b76373.302b7c”,“name”:“Front Door Status”,“server”:“627c2fbf.e0dc3”,“version”:1,“exposeToHomeAssistant”:false,“haConfig”:[{“property”:“name”,“value”:""},{“property”:“icon”,“value”:""}],“entityidfilter”:“lock.front_door”,“entityidfiltertype”:“exact”,“outputinitially”:false,“state_type”:“str”,“haltifstate”:“unlocked”,“halt_if_type”:“str”,“halt_if_compare”:“is”,“outputs”:2,“output_only_on_state_change”:true,“x”:110,“y”:300,“wires”:[[“81003715.213b38”],[“790719fd.e86968”]]},{“id”:“b07dcbd4.b727e8”,“type”:“server-state-changed”,“z”:“61b76373.302b7c”,“name”:“Garge Door Status”,“server”:“627c2fbf.e0dc3”,“version”:1,“exposeToHomeAssistant”:false,“haConfig”:[{“property”:“name”,“value”:""},{“property”:“icon”,“value”:""}],“entityidfilter”:“lock.garage_door”,“entityidfiltertype”:“exact”,“outputinitially”:false,“state_type”:“str”,“haltifstate”:“unlocked”,“halt_if_type”:“str”,“halt_if_compare”:“is”,“outputs”:2,“output_only_on_state_change”:true,“x”:110,“y”:420,“wires”:[[“81003715.213b38”],[“790719fd.e86968”]]},{“id”:“1a979b27.26c7c5”,“type”:“server-state-changed”,“z”:“61b76373.302b7c”,“name”:“Back Door Status”,“server”:“627c2fbf.e0dc3”,“version”:1,“exposeToHomeAssistant”:false,“haConfig”:[{“property”:“name”,“value”:""},{“property”:“icon”,“value”:""}],“entityidfilter”:“lock.back_door”,“entityidfiltertype”:“exact”,“outputinitially”:false,“state_type”:“str”,“haltifstate”:“unlocked”,“halt_if_type”:“str”,“halt_if_compare”:“is”,“outputs”:2,“output_only_on_state_change”:true,“x”:120,“y”:360,“wires”:[[“81003715.213b38”],[“790719fd.e86968”]]},{“id”:“56123af2.92bf74”,“type”:“api-call-service”,“z”:“61b76373.302b7c”,“d”:true,“name”:“node 4”,“server”:“627c2fbf.e0dc3”,“version”:“1”,“debugenabled”:false,“service_domain”:“zwave”,“service”:“set_config_parameter”,“entityId”:"",“data”:"{ “node_id”: 1 }",“dataType”:“json”,“mergecontext”:"",“output_location”:“payload”,“output_location_type”:“msg”,“mustacheAltTags”:false,“x”:770,“y”:540,“wires”:[[]]},{“id”:“b5ca6484.872538”,“type”:“api-call-service”,“z”:“61b76373.302b7c”,“d”:true,“name”:“node 2”,“server”:“627c2fbf.e0dc3”,“version”:“1”,“debugenabled”:false,“service_domain”:“zwave”,“service”:“set_config_parameter”,“entityId”:"",“data”:"{ “node_id”: 2 }",“dataType”:“json”,“mergecontext”:"",“output_location”:“payload”,“output_location_type”:“msg”,“mustacheAltTags”:false,“x”:770,“y”:500,“wires”:[[]]},{“id”:“6271d103.f18b9”,“type”:“api-call-service”,“z”:“61b76373.302b7c”,“d”:true,“name”:“node 1”,“server”:“627c2fbf.e0dc3”,“version”:“1”,“debugenabled”:false,“service_domain”:“zwave”,“service”:“set_config_parameter”,“entityId”:"",“data”:"{ “node_id”: 1 }",“dataType”:“json”,“mergecontext”:"",“output_location”:“payload”,“output_location_type”:“msg”,“mustacheAltTags”:false,“x”:770,“y”:460,“wires”:[[]]},{“id”:“436c1c5c.7ab6f4”,“type”:“poll-state”,“z”:“61b76373.302b7c”,“name”:“Front Door”,“server”:“627c2fbf.e0dc3”,“version”:1,“exposeToHomeAssistant”:false,“haConfig”:[{“property”:“name”,“value”:""},{“property”:“icon”,“value”:""}],“updateinterval”:“5”,“updateIntervalUnits”:“minutes”,“outputinitially”:false,“outputonchanged”:false,“entity_id”:“lock.front_door”,“state_type”:“str”,“halt_if”:“unlocked”,“halt_if_type”:“str”,“halt_if_compare”:“is”,“outputs”:2,“x”:120,“y”:60,“wires”:[[“a52a72d4.2f374”],[“a52a72d4.2f374”]]},{“id”:“762775af.cf937c”,“type”:“poll-state”,“z”:“61b76373.302b7c”,“name”:“Grage Door”,“server”:“627c2fbf.e0dc3”,“version”:1,“exposeToHomeAssistant”:false,“haConfig”:[{“property”:“name”,“value”:""},{“property”:“icon”,“value”:""}],“updateinterval”:“5”,“updateIntervalUnits”:“minutes”,“outputinitially”:false,“outputonchanged”:false,“entity_id”:“lock.garage_door”,“state_type”:“str”,“halt_if”:“unlocked”,“halt_if_type”:“str”,“halt_if_compare”:“is”,“outputs”:2,“x”:110,“y”:180,“wires”:[[“a52a72d4.2f374”],[“a52a72d4.2f374”]]},{“id”:“caddea99.cba148”,“type”:“poll-state”,“z”:“61b76373.302b7c”,“name”:“Back Door”,“server”:“627c2fbf.e0dc3”,“version”:1,“exposeToHomeAssistant”:false,“haConfig”:[{“property”:“name”,“value”:""},{“property”:“icon”,“value”:""}],“updateinterval”:“5”,“updateIntervalUnits”:“minutes”,“outputinitially”:false,“outputonchanged”:false,“entity_id”:“lock.back_door”,“state_type”:“str”,“halt_if”:“unlocked”,“halt_if_type”:“str”,“halt_if_compare”:“is”,“outputs”:2,“x”:120,“y”:120,“wires”:[[“a52a72d4.2f374”],[“a52a72d4.2f374”]]},{“id”:“a52a72d4.2f374”,“type”:“switch”,“z”:“61b76373.302b7c”,“name”:“unlock or locked”,“property”:“payload”,“propertyType”:“msg”,“rules”:[{“t”:“eq”,“v”:“unlocked”,“vt”:“str”},{“t”:“eq”,“v”:“locked”,“vt”:“str”}],“checkall”:“true”,“repair”:false,“outputs”:2,“x”:370,“y”:160,“wires”:[[“81003715.213b38”],[]]},{“id”:“627c2fbf.e0dc3”,“type”:“server”,“z”:"",“name”:“Home Assistant”,“legacy”:false,“hassio”:true,“rejectUnauthorizedCerts”:true,“ha_boolean”:“y|yes|true|on|home|open”,“connectionDelay”:true,“cacheJson”:true}]

1 Like