Red Series KeyPress to trigger in Home Assistant (or Node-Red) not working :-(

Yes there is! If it’s blinking red you’ve got a notification enabled, and what you are doing in this flow is changing the default led color. So you’ll need to turn the notification off before an led color change will take effect.

If you don’t want the effects like blinking or chasing etc… I just change the default led color. With notifications, a physical interaction with the switch flashes the default colour for a second which drives my OCD insane lol

I’m not at my system right now, I’ll inport your flow shortly and take a look.

Change the LED manager node to the notification manager mode. There is a check box for clearing the scene at the bottom of that one.

1 Like

Your flow looks good to me. I’m not seeing anything to change.

So if you say it’s “blinking red” that says to me you’ve got a notification on. Turn the notification off and you should be able to change your default LED color from there. You can also use the notification manager node if you prefer to use notification effects rather than a default LED color change. This node also has an option to cancel notifications.

In trying to understand what works and what does not, I am able to build a flow NOT based on the Keypressed3x down (which is what I need and prompted me to work with this). But I can make a notification turn on, and clear using the first flow below. The second flow includes the Inovelli Scene Manager and nothing I do now can get it process the Keypressed3X down. Its seems the problem is that node.

[{"id":"20a9fc7af502d2f7","type":"inovelli-notification-manager","z":"79ea17e34d7443e8","name":"","nodeid":"","entityid":"light.red_series_dimmer","zwave":"zwave_js","color":"6","brightness":"10","duration":"255","effect":"3","switchtype":"16","clear":true,"multicast":false,"x":900,"y":360,"wires":[["9a29d499fb14b391","917010f4be9049cf"]]},{"id":"917010f4be9049cf","type":"debug","z":"79ea17e34d7443e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":1030,"y":220,"wires":[]},{"id":"ad5be7dc5fb8357e","type":"server-state-changed","z":"79ea17e34d7443e8","name":"","server":"ab515b9f.86eef8","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"switch.plug_1","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"off","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":160,"y":360,"wires":[["b2dd86b8ed2fc7c3","20a9fc7af502d2f7"],[]]},{"id":"9a29d499fb14b391","type":"api-call-service","z":"79ea17e34d7443e8","name":"","server":"ab515b9f.86eef8","version":5,"debugenabled":false,"domain":"","service":"","areaId":[],"deviceId":[],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1170,"y":360,"wires":[["0760487975f4bd22"]]},{"id":"0760487975f4bd22","type":"debug","z":"79ea17e34d7443e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1350,"y":320,"wires":[]},{"id":"b2dd86b8ed2fc7c3","type":"debug","z":"79ea17e34d7443e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":510,"y":140,"wires":[]},{"id":"ab515b9f.86eef8","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]
[{"id":"ab7c9c183f88aee2","type":"debug","z":"79ea17e34d7443e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":850,"y":160,"wires":[]},{"id":"20a9fc7af502d2f7","type":"inovelli-notification-manager","z":"79ea17e34d7443e8","name":"","nodeid":"","entityid":"light.red_series_dimmer","zwave":"zwave_js","color":"6","brightness":"10","duration":"255","effect":"3","switchtype":"16","clear":true,"multicast":false,"x":900,"y":360,"wires":[["9a29d499fb14b391","917010f4be9049cf"]]},{"id":"917010f4be9049cf","type":"debug","z":"79ea17e34d7443e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":1030,"y":220,"wires":[]},{"id":"9a29d499fb14b391","type":"api-call-service","z":"79ea17e34d7443e8","name":"","server":"ab515b9f.86eef8","version":5,"debugenabled":false,"domain":"","service":"","areaId":[],"deviceId":[],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1170,"y":360,"wires":[["0760487975f4bd22"]]},{"id":"0760487975f4bd22","type":"debug","z":"79ea17e34d7443e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1350,"y":320,"wires":[]},{"id":"8775937945540d4d","type":"server-events","z":"79ea17e34d7443e8","name":"","server":"ab515b9f.86eef8","version":1,"event_type":"zwave_js_value_notification","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"waitForRunning":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"$outputData(\"eventData\").event_type","valueType":"jsonata"}],"x":180,"y":360,"wires":[["b1c5cdaf20de34c6","b2dd86b8ed2fc7c3"]]},{"id":"b2dd86b8ed2fc7c3","type":"debug","z":"79ea17e34d7443e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":510,"y":140,"wires":[]},{"id":"b1c5cdaf20de34c6","type":"inovelli-scene-manager","z":"79ea17e34d7443e8","name":"","nodeid":"7","entityid":"light.red_series_dimmer","zwave":"zwave_js","switchtype":"LZW31","outputs":15,"labels":["Tap Up on Light Paddle 1x","Tap Up on Light Paddle 2x","Tap Up on Light Paddle 3x","Tap Up on Light Paddle 4x","Tap Up on Light Paddle 5x","Hold Up on Light Paddle","Release Up on Light Paddle","Tap Down on Light Paddle 1x","Tap Down on Light Paddle 2x","Tap Down on Light Paddle 3x","Tap Down on Light Paddle 4x","Tap Down on Light Paddle 5x","Hold Down on Light Paddle","Release Down on Light Paddle","Tap Config Button"],"passthrough":false,"x":590,"y":360,"wires":[[],[],[],[],[],[],[],[],[],["20a9fc7af502d2f7","ab7c9c183f88aee2"],[],[],[],[],[]]},{"id":"ab515b9f.86eef8","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]

We’ll get you sorted Jim!

Can you give me a psuedo-code of exactly what you are trying to do?

There are 2 separate items at play here. Param 13 is the default LED color and sticks when no notifications are on. Notifications then override via parameter 16’s components added per calculator.

I think if we can get exactly what you want to do it would make it more clear to me how to get there.

Either way, can you post the code that comes out of the events:zwave_js_value_notification node? I’d also recommend throwing the debug message on every output of the scene manager to see if anything is triggering or if it is stopping dead for some reason.

Those both work for me. You sure your events node is working.

Thank you kreene1987! I will assemble a few things. To give you the bigger picture as to my goals. First, I see a LOT of potential in the Inovelli products combined with Home Assistant and NodeRed; hence I am learning…mostly learning by doing things that help me and my family. Here is a visual of an issue Simple picture of the goal flowchart

Explanation: Our laundry room is in the bat cave we call our New England 1800s home basement. So, it would be nice to get a slightly nagging notification from the switch in a high traffic area. AND, be able to turn if off when we got the laundry (or buy more hardware that detects the washing machine door has been opened… or just turn the switch to completely off with no power drain at all I think…not sure…anyway).

There are some entries in earlier posts to MRobi in this thread but I work on some psuedo code that has more details. The main sticking point seems to be that no matter what I do before or after that Inovelli Scene Manager node, nothing happens. I can trigger a notication to flash and I can turn it off with the Inovelli Notification Manager node using other triggers in NodeRed but NOT the KeyPressed3x trigger.

I get the following from the debug node out of the events node:

{"_msgid":"b2b30ca069fea667","payload":{"payload":{"event_type":"zwave_js_value_notification","event":{"domain":"zwave_js","node_id":7,"home_id":3225786538,"endpoint":0,"device_id":"778a037a7c477abafd3c10d9f0729293","command_class":91,"command_class_name":"Central Scene","label":"Scene 002","property":"scene","property_name":"scene","property_key":"002","property_key_name":"002","value":"KeyPressed3x","value_raw":4},"origin":"LOCAL","time_fired":"2022-03-17T19:27:20.182885+00:00","context":{"id":"06fe95f146f8072da2751005415f522a","parent_id":null,"user_id":null}}},"topic":"zwave_js_value_notification"}

But the debug node after the Inovelli Scene Manager node get nothing!

I mentioned this to MRobi here earlier… this flow works just fine with a different trigger, but add that Scene Manager and nothing!

[{"id":"20a9fc7af502d2f7","type":"inovelli-notification-manager","z":"79ea17e34d7443e8","name":"","nodeid":"","entityid":"light.red_series_dimmer","zwave":"zwave_js","color":"6","brightness":"10","duration":"255","effect":"3","switchtype":"16","clear":true,"multicast":false,"x":900,"y":360,"wires":[["9a29d499fb14b391","917010f4be9049cf"]]},{"id":"917010f4be9049cf","type":"debug","z":"79ea17e34d7443e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":1030,"y":220,"wires":[]},{"id":"ad5be7dc5fb8357e","type":"server-state-changed","z":"79ea17e34d7443e8","name":"","server":"ab515b9f.86eef8","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"switch.plug_1","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"off","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":160,"y":360,"wires":[["b2dd86b8ed2fc7c3","20a9fc7af502d2f7"],[]]},{"id":"9a29d499fb14b391","type":"api-call-service","z":"79ea17e34d7443e8","name":"","server":"ab515b9f.86eef8","version":5,"debugenabled":false,"domain":"","service":"","areaId":[],"deviceId":[],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1170,"y":360,"wires":[["0760487975f4bd22"]]},{"id":"0760487975f4bd22","type":"debug","z":"79ea17e34d7443e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1350,"y":320,"wires":[]},{"id":"b2dd86b8ed2fc7c3","type":"debug","z":"79ea17e34d7443e8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":510,"y":140,"wires":[]},{"id":"ab515b9f.86eef8","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30}]

OK, based on your flow chart, you’re using the wrong node AFTER the scene-manager.

You’ll want 1 flow using the lower power level as your starting point, that will go into the notification manager node to turn your flashing red notification on.

Then you’ll want a second flow, which is the one we seem to be stuck on, that will turn the notification off after a triple down press. That one is the zwavejs events:all node, into the scene manager node, then into the notification manager node (not the led manager node) and you’ll want to use the notification manager node to turn off the notification your other flow turned on.

I just tested the scene manager node to make sure the triple down worked and it does. I had done the PR to add the mapping initially, and had done tons of testing before, so I was pretty sure it was still correct but wanted to be sure :slight_smile: Now your events:all looks to be working because the debug coming off of that is registering something and it looks like it’s all the right info. So go ahead and remove that debug node and leave just the ones after the scene-manager node. Multiple debugs can sometimes get confusing so I prefer to just use 1 and move it further down the flow as I go.

Try setting up a very simple one like this. Forget the rest for now. Fire the event and see if you get a debug message.
You could also take it 1 step further and tie every output of the scene manager node to that debug node just to see if it’s passing through SOMETHING from any of them. You should still only get the single debug msg.

I don’t think I was running the latest version of the nodes, I will try to update and test again tonight.

This is for sure making more sense!

This will be 2 flows as you have 2 triggers with different actions.

In my opinion the first “flow” should be done via HA automation, because it is THAT simple.

IF
Power Attribute of plug stays below 10W for 00:01:00 (or something like that)

CONDITIONS
None, unless you don’t want it blinking at midnight if a load ends.

THEN
Call Service
zwave_js.bulk_set_partial_config_parameters
parameter 16
value: 100600320 ← red pulse at brightness 10 and infinite, otherwise use calculator: Inovelli Switch Toolbox

For the second one, you have 2 options and I prefer the first.

  1. HA Automation again using this blueprint: ZWave-JS - Inovelli LZW31-SN Red-Series Dimmer - Blueprints Exchange - Home Assistant Community

For that you just create the automation using the blueprint, select the switch you want to see the event from, then select 3x down to

call service
zwave_js.bulk_set_partial_config_parameters
parameter: 16
value: 16714240

OR

  1. We can keep trying node red ha! I’ll look at the output and edit the post with a flow that I think should work.

Shoot I ran your output through the scene manager and it is triggering 3 up, not 3 down.

That might be our issue… @MRobi are you seeing the same with his output?

[{"id":"425127a59692d9ca","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"a45ff8172d65305c","type":"inovelli-scene-manager","z":"425127a59692d9ca","name":"","nodeid":"7","entityid":"","zwave":"zwave_js","switchtype":"LZW31","outputs":15,"labels":["Tap Up on Light Paddle 1x","Tap Up on Light Paddle 2x","Tap Up on Light Paddle 3x","Tap Up on Light Paddle 4x","Tap Up on Light Paddle 5x","Hold Up on Light Paddle","Release Up on Light Paddle","Tap Down on Light Paddle 1x","Tap Down on Light Paddle 2x","Tap Down on Light Paddle 3x","Tap Down on Light Paddle 4x","Tap Down on Light Paddle 5x","Hold Down on Light Paddle","Release Down on Light Paddle","Tap Config Button"],"passthrough":true,"x":450,"y":180,"wires":[[],[],["6697b506417c956e"],[],[],[],[],[],[],[],[],[],[],[],[]]},{"id":"f83b059995d96b82","type":"inject","z":"425127a59692d9ca","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":160,"wires":[["6f702aeb1d878f3b"]]},{"id":"6f702aeb1d878f3b","type":"function","z":"425127a59692d9ca","name":"","func":"var event = {\n    \"domain\": \"zwave_js\",\n    \"node_id\": 7,\n    \"home_id\": 3225786538,\n    \"endpoint\": 0,\n    \"device_id\": \"778a037a7c477abafd3c10d9f0729293\",\n    \"command_class\": 91,\n    \"command_class_name\": \"Central Scene\",\n    \"label\": \"Scene 002\",\n    \"property\": \"scene\",\n    \"property_name\": \"scene\",\n    \"property_key\": \"002\",\n    \"property_key_name\": \"002\",\n    \"value\": \"KeyPressed3x\",\n    \"value_raw\": 4\n  }\n\nnode.send({payload:{event_type:\"zwave_js_value_notification\",event}})","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":240,"y":160,"wires":[["a45ff8172d65305c"]]},{"id":"6697b506417c956e","type":"debug","z":"425127a59692d9ca","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":830,"y":180,"wires":[]}]

Editing to add:

property_key_name is the field that might need checking
001: Down
002: Up
003: Config

KeyPressed, KeyPressed2x, KeyHeld and KeyReleased are obviously mapping to the second part of what actual scene was selected.

Which begs the question @jimbarbara why in the heck are you getting an “up” scene from your switch when you trigger the down button!!! Do you have inverted selected? Is it installed upside down? I have to ask the stupid questions here lol.

I’m not at home to test that flow but I WAS WRONG. Now I’m not sure how that is affected if the switch is inverted. Those may change or they may not.

That does not align with the ZwaveJS blueprint posted above. 002 indicates up in that blueprint and it works for me.

Parameter 7 should be checked to confirm no invert, but otherwise I think we found our issue.

I just checked here and 3 clicks down is 001. I have no idea why a switch would be backwards. I didn’t think the invert switch changed anything but the on-off click direction, but maybe it does more.

edit - I just set the inverted on my dimmer and it does invert the scenes.

I would HIGHLY recommend connecting multiple outputs from the scene manager to the next node so if there is any output you see it happens.

Now that I’m home and tested, 3x down is indeed 001.

It’s mapped as such in the node as well

            9: {
              button: 1,
              scene: 4,

You can see in the debug logs above that what’s being fed through the node is 002 which is why the node doesn’t pass the message along. I think @kreene1987 may have solved the mystery…

@jimbarbara is the light bar on the left or right side of your switch when you’re looking at it? And what setting do you have under [27-112-0-7] Invert Switch

My switch has the LED on the right side. It looks like the one in this toolbox Inovelli Switch Toolbox.

And… and… and … Mystery SOLVED! Some idiot turned on that Parameter 7 Invert Switch this guy

First off, thank you all for sticking with this issue and helping to fix it. Second… I have no idea when or why I would have switched that parameter on (seriously I am clueless). And third, I will definitely need to pay this good tech karma forward.

Thanks again… and let me know if you need anything from me. I will be able to use this one switch to do a lot of different things now.

3 Likes

Glad you got it all figured out! And even happier it was something simple.

Just as an aside, Home Assistant has a really handy event viewer in the settings.

A mobile device in the HASS app (showing the event viewer) + standing beside the device you’re trying to troubleshoot will usually make short work of any troubleshooting.

Great to hear you got it resolved. Please mark as resolved @jimbarbara and pick whichever one drove the solution so future people might know where to look!