Cannot invoke method contains() on null object

Hi

Recently did an update of the HE OS. Now when I create a rules machine against thermostat mode I get the following error

Cannot invoke method contains() on null object

  • Platform version:2.3.3.123
  • Hardware version:Rev C-7

Steps I used to break this down from the larger rule machine code I have is the following

Create new rule

-Create New action on Thermostats
-Select any Thermostat

Click Update

Error appears

Same this happens if I try to create it via conditions

I can't reproduce this. Have you tried deleting that rule and creating from scratch? If so, maybe it's something with the device. You could try creating a virtual thermostat and see if you still get the error using it.

What does "Current States" look like on the devce detail page for the affected thermostats? My guess is that the possible operating and fan states are not in the new JSON format (which is supposed to worked either way for the moment, but it's possible something was missed). On a related note, what drivers are they using?

Hi FriedCheese

Thanks for the suggestions. The example was with a new rule. With a virtual thermostat as you suggested it worked. With either the Heatmiser Neo Thermostat or the Unified Thermostat it fails with the error. Heatmiser Neo is the one I really need to get working

Hi bertabcd1234

By manually selecting the Away Off command it changes the state of the thermostat

Is this a custom driver? It's missing the supportedThermostatFanModes and supportedThermostatModes attributes, which I'm guessing is tripping up the rule since it's probably trying to read them to know what to present in the UI.

Thanks, I've put a link to this thread on the Heatmiser Neostat page

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