This one has me flummoxed… Here’s a Tile whose only purpose in life is to send the characters ‘1#’ to a connected Variable Connector (device) which in turn is linked to a Hub Variable over on the Hubitat.
Once or twice, the Tap action succeeded, and the var value clearly updated. The other 99% of the time, the value never updates (as shown in lower-right corner), regardless of whether I have “Watch Attribute” set On or Off.
Of course, I’ve triple-checked my use of the correct command (setVariable) which is the only acceptable command for this type of Variable Connector device. I can manually change the value and/or do so using Rule Machine, but for some reason HV → Maker API is balking.
Can you outline what did in Hubitat so I can duplicate this situation?
There’s no rule running or anything. Just this setup:
- Define a Hub Variable (call it X) of type String, with value ‘ABC’;
- Create its corresponding Variable Connector of type Variable;
- Include the new device ‘ABC’ in Maker API;
- Start hubiVue and create a Device Tile linked to ‘X’;
- Define the Tap action as setVariable with value 1#;
- Define bottom-right Label as Override > Attribute = _variable with a Prefix of 'var = ';
Note that Bottom-Right Label will continue to show ‘ABC’ instead of ‘1#’ after tapping Tile. That’s the most rudimentary version of this I can conjure.
I’ve investigated this and found that the issue looks to be a Hubitat bug or issue related to the ‘#’ character being the value part of the command.
This isn’t something I can fix or troubleshoot and really requires the developers of Hubitat to pick up and own. If this is something you feel is important, I’d raise with them and see if they can figure out why MakerAPI won’t accept a # in the variable provided in a command.