I'm setting up a rule of actions and while adding one by one - I made it to my fifth action to have this rule perform (simple stuff like closing garage door, locking doors, et.) and I keep getting this error in the logs:
groovy.json.JsonException: A JSON payload should start with an openning curly brace '{' or an openning square bracket '['. Instead, '"[on, auto]"' was found on line: 1, column: 1 on line 5013 (method doActPage)
On the page when it fails to add an action it says this:
Unexpected Error
An unexpected error has occurred trying to load the app. Check Logs for more information.
Error: A JSON payload should start with an openning curly brace '{' or an openning square bracket '['. Instead, '"[on, auto]"' was found on line: 1, column: 1
Are you attaching a device like a fan or thermostat?
RM is basically saying it expects a JSON string but it is getting a list of "[on,auto]" instead.
This is probably from the attributes of the device you are trying to use in the RM.
Screenshot of device current states and also what Driver (Type) is that device using?
Also screenshot of what you are trying to do in RM before it errors out.
I have two other rules that are outdated and I'm rebuilding but haven't made it far yet
The older rules set "away mode" and "resume program" modes in the 4.0 RM legacy rules. Trying to simply walk through a 5.x rule to add this functionality is where it crashes, and I get the errors in the original post.
Trying to add an action in my rule that connected to my ecobee is when this error occurred when I chose to set the mode. (Which is how it worked in the legacy rule machine engine)... Now I get this error every single time I try to add an action to this rule - even though the thermostat isn't listed in the actions at all (it failed to save when I got this error).
There is a problem with the supportedThermostatFanModes attribute as reported by your driver, as @jtp10181 guessed above. If there isn't a fix directly available in your driver (I don't have an Ecobee to know for sure), there is a workaround you can do by temporarily setting the driver to Virtual Thermostat and running the setSupportedThermostatFanModes() command and passing in an appropriate value (not necessarily exactly what is in this post, but that's the format you'll need):
Your supportedThermostatModes attribute looks OK, so you can probably ignore that part.
I'm not sure when RM tries to fetch what attributes, but it's possible this is still your problem. It's consistent with the error in your logs, at least.
The commands referenced in the post I linked to are actual device commands you must run from the device detail page. These steps are not related to Rule Machine specifically; Rule 5.1 just happens to be one app that cares about these attributes having valid values (which was not always the case in the past for all apps).
@bertabcd1234 is correct, it is the setSupportedThermostatFanModes it is having problems with. If you notice setSupportedThermostatModes is a slightly different format.
So..... since this isn't an add on driver, but a driver that comes built into Hubitat, and it's a device that is supported by Hubitat - how do I use the basic rule system in Hubitat to use it with current versions of rule machine? I understand you guys are saying the Rule Machine 5.1 system is not happy with how the driver is formatted, but how do I fix that if it's all native Hubitat stuff? I don't see a way (nor do I want to) reverse engineer the ecobee driver - so what's next?
I mean I'm grateful for the help in understanding the problem - but I'm not seeing a fix here and I'm not sure what to do next... am I supposed to look for a 3rd party driver for ecobee? Is it no longer officially supported or something?
@support_team Not sure who is responsible for the Ecobee Thermostat driver? May need to be fixed, or possibly it has been fixed but this user has a legacy install and the attribute does not update by itself.