Why am I suddenly getting an error when creating new Rule Engine actions?

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

Any ideas why this is happening or how to fix it?

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.

This is for an ecobee thermostat.

I have two other rules that are outdated and I'm rebuilding but haven't made it far yet :wink:

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.

Screenshot of my ecobee thermostat:

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).

Driver type is "Ecobee Thermostat"

What firmware are you on? This might be the reason your seeing those errors.

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 am only trying to set my ecobee to away mode and resume mode - not change fan speeds or such. I don’t see an option in the RM actions for that…

2.3.4.134

This is a native driver I believe - it’s not in my custom drivers area that I see…

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).

1 Like

@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?

Temporarely change the driver for "virtual thermostat" then use the "SetSupportedFanModes" command like this to set your modes: ["on","auto"]

Then change back the driver to yours.

@bertabcd1234 posted a link to another thread with instructions on how to fix it above: Why am I suddenly getting an error when creating new Rule Engine actions? - #5 by bertabcd1234

@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.

1 Like

We have identified the issue and a fix is coming in the next release.

4 Likes

picks jaw up off floor and re-attaches it to smile

1 Like

That's how we roll. Thanks for your feedback.

3 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.