Virtual Omni Sensor variable doesn't seem to work as trigger (possible bug?)

Ok from my Zoom notification setup here I'm able to write a text string from node-red to the Virtual Omni Sensor variable.

So in RM I want to use a change in this variable (which is simply a text string being the name of the meeting participant) to read out the name of the participant. However, when I attempt to use the variable as a trigger (when "changed") nothing happens. In fact, none of the event trigger types appear to work. I tested this by manually setting the variable from device properties, still no go.

Am I doing anything wrong here?

Can you show how your rule and variables are set up? It's not exactly clear to me where the virtual omnisensor fits in, since that is not a data type you can use for a variable (sounds like that might just be a string?). I tried to glean this from the other post but don't think anything that would help me figure this out from there. Just wondering if I could replicate this behavior.

Sure no problem.

I have a virtual device set up called Zoom (say) using the virtual omni sensor. This device is entered into the device list in maker API. In node red I can now use the hubitat command node which then executes the setvariable command to send a piece of text to the sensor variable attribute.

In RM I set up a new trigger with capability "custom attribute".
Then select device as being "Zoom" , then select "variable" as the attribute, comparison is "changed". (note that other booleans are available like "=" and that a text comparator is required which means that the variable must be a text string).

So I can now change the variable via maker API or by simply entering some text directly in the device properties (commands section - setvariable).

Now if I use any of the other omni sensor numerical attributes like temperature, I can trigger RM using an entered value of temperature for example. Just the variable attribute doesn't work even though I can set it up as a trigger.

EDIT: maker API isn't really required to test. Changing device variables via its properties does work to trigger RM.

Could it be something with your rule? The following worked for me:

I was going to suggest that it might not be true if the variable value doesn't change, but repeatedly setting it to "test1" without clearing or changing it to anything else in between also produced events and ran my actions as expected, so I'm not sure why yours wouldn't.


I added the log notification and get the expected output in the logs but I can't get a phone notification happening. Would you mind adding a notify action and see if it sends a message to your phone?

I just tried a virtual switch action as well, the switch refused to toggle when the variable is changed.

Pretty sure it's a bug unless you are able to trigger some other physical or virtual actions?

EDIT: Also coincidentally, the log output you have is identical to the log generated when the device variable is changed :open_mouth: I get the same output even without the log action.

Does your rike contain conditionals other actions that might affect which action runs? Turn on "Actions" logging for the rule and see what gets logged when it triggers.

I just created another test rule identical to yours, so no extra conditions.

I don't see any action logging preferences for rules?

EDIT: my bad, found it. No logs are generated when I attempt to trigger the rule.

OK results from the logging:

Event log shows the event occurring.
Trigger logs show nothing.
Action logs show nothing.

So I call bug? If you could confirm this I'll tag mike.

I can't replicate the results (mine above worked as expected). If you're comfortable providing a screenshot of your actual rule, maybe someone can spot something that isn't apparent from the explanation?

Sure here is the screen shot of my test rule.

Were you able to trigger any other actions like toggling a switch?

And for completeness, the virtual device.

Just to assist me a bit more, are you able to trigger any other actions other than the log action in your rule, eg toggle a switch?

No, but if the trigger matches, I can't imagine the type of actions would matter beyond that. It sounds like, according to your logs, the trigger isn't really matching and no actions are running?

Me neither.

It doesn't make sense to me either but would you mind indulging me and try a different set of actions?

OK, weird, now I can't even get my previous example to work--this does nothing now, though the event (not trigger and definitely not actions) gets logged:

for this:

The only difference I could think of is that the initial value of variable was null when I started and not the second time (above) I tested, but I tried with a new sensor and no set variable value, and it still didn't work, even though this should be the exact same thing I did above... :thinking:

Using another custom attribute works fine:

(ignore the fact that I deleted my test sensor without removing the trigger first and the fact that you don't need to use a custom attribute for motion; it was just something I did for testing...tried switching back to custom variable attribute for my omni sensor, and still no luck)

@bravenel, anything you might see here about the interaction between RM's "Custom attribute" trigger and however the events might get generated for the Virtual Omni Sensor driver that might cause a trigger that should match to not?

Thanks for that - this is the behaviour I'm seeing.

I tried this just now (had to set up a new virtual device in order to get the variable to show up as "null") and the rule still won't trigger on a variable change.

Show the subscriptions for the trigger. I suspect that changed doesn't mean what you think it means for this context. I'll look into it.

Is this what you mean?

No. The App Status page (gear icon) Event Subscriptions section.