Thermostat controller 2.0 error

unable to add any of my 2 thermostats to the thermostat controller 2.0 app
using this driver for my stelpro zigbee thermostat had

getting this error

An unexpected error has occurred trying to load the app. Check Logs for more information.

Error: Cannot invoke method capitalize() on null object

these are my logs

app:4912022-10-03 08:29:49.834 amerrorjava.lang.NullPointerException: Cannot invoke method capitalize() on null object on line 158 (method mainPage)

dev:4812022-10-03 08:29:49.794 aminfosetSupportedThermostatFanModes(["auto","on"]) was called

dev:4812022-10-03 08:29:49.773 aminfosetSupportedThermostatModes(["heat","cool","auto"]) was called

dev:4812022-10-03 08:29:49.668 aminfosetSupportedThermostatModes(["auto","off"]) was called

dev:4812022-10-03 08:29:49.517 amwarninstalled...

turned on debug logs for the thermostat before trying to add but not seeing anything there after its added

on 2.3.3.125 on c5 hub
did not work on 2.3.3 but figured id wait for an update too see if a bug was fixed
thermostat scheduler brings up a similar error

Looks like the driver will need to be updated to support the supportedThermostatModes and supportedThermostatModes attributes, which I don't see it generating an event for at all right now. I don't think these are new, or at least not recent, so it likely always should have been doing this, but some additional clarity was recently provided surrounding the data type this excepts (a JSON list, not a Groovy list as a string like many drivers used to do), and some apps like the new Thermostat Controller 2.0 do expect this, though I think most/all are supposed to work around this with the "old" format for a while, too. But nether is possible with this driver since it doesn't look like it does it at all.

You can verify this by looking at the "Current States" section at the top of the device detail page for the thermostat. If you don't see these attributes there, that is indeed the problem. The best solution would probably be to fix the driver. I'm not sure where you found it (presumably not directly from GitHub) or if the author is still active in the forums or eve rmade a post about it, but if so, that is probably best. But as a workaround, you'd likely be able to temporarily switch to the Virtual Thermostat driver and run the setSupportedThermostatModes() and setSupportedThermostatFModes() commands yourself, providing a JSON list like ["auto", "off", "heat", "cool"] and ["auto", "on"] yourself with the appropriate values for your device/setup.

ok thanks its from

ill see if the author is still around or do your workaround
thanks!

edit you are correct none of those in current states

Same issue on Fibaro Heat Controller with the internal driver. However the issue is that there are no cooling states. this is correct as it is a radiator controller so can't cool. Can we have an option to remove cooling settings for heating only devices? then we can move to the new controller. I realise this is a US/UK problem :slight_smile:

Apologies forgot to attach the relevant log. Appreciate any help to get past this hurdle.

java.lang.NullPointerException: Cannot invoke method capitalize() on null object on line 171 (method mainPage)

setSupportedThermostatFanModes([]) was called

setSupportedThermostatModes(["auto","cool","emergency heat","heat","off"]) was called

Hi,

I was able to get it working using following method:

Change Fibaro driver to Virtual thermostat. Click Initialize on driver.
Change the driver back to Fibaro Heat Contoller Thermostat Head

Kari

Worked like a charm. thank you. I found it sometimes still errored out on creating the new controller but allowed me back in to work with it after that. thank you for taking the trouble to respond.

Hello, I am not able to add a thermostat to the “Thermostat Controller” ? App
Thermostat Scheduler work fine
Can someone help me with that.

Thanks

Hub: 2.3.4.114

Please remove that instance of the app (from its App Status page -- gear icon), and start over. Please take a screenshot of just before this problem happens.

I am not able to reproduce any problem at all with adding a thermostat to Thermostat Controller.

I tried but is not working.
Thanks for your help

See the steps below

No app

image

Add Thermostat Controllers

image

Add Thermostat

Clic Update & error

Please post the device page for that Thermo Salon thermostat. What type of thermostat is this?

It’s a “Sinope” but the same problem happened event if I choose a virtual thermostat

Question, is it normal to see “Thermostat Controllers” and “Thermostat Controller 2.0” for child ?

image

Yes, this is normal.

Please click on the gear icon to the left of the Thermostat Controller 2.0 you showed, and post that page here.

I have the feeling that "Thermostat Controller App" was not removed. When I reinstalled it was very fast.

I attach the versions of both. Is it the right versions?

If you still have this problem, then I would recommend that you roll back to whatever you prior release was, and then update again to 2.3.4.114.

You can roll back by going to [hub-ip]:8081. There you can do Restore Previous Version. You will need the MAC address from Settings / Hub Details to open the :8081 page.

Thanks,

What I did is go back to 2.3.3.140, I got the same problem.

I try 2.3.2.141 and this version work , but I have only “Thermostat Controller” not the version “Thermostat Controller2.0” with child, but it’s work.

With this version I lost a lot of improvement for . “Thermostat Scheduler”

I decided to go back to 2.3.4.114 and I hope the next version will fix it.

Thanks for you time

I copy the error below


Unexpected Error

An unexpected error has occurred trying to load the app. Check Logs for more information.

Error: No signature of method: java.lang.String.call() is applicable for argument types: (java.math.BigDecimal) values: [20.0] Possible solutions: wait(), any(), wait(long), each(groovy.lang.Closure), take(int), any(groovy.lang.Closure)

Log:

groovy.lang.MissingMethodException: No signature of method: java.lang.String.call() is applicable for argument types: (java.math.BigDecimal) values: [20.0] Possible solutions: wait(), any(), wait(long), each(groovy.lang.Closure), take(int), any(groovy.lang.Closure) on line 326 (method mainPage)

Completely different apps. I will continue to investigate this issue as to TC 2.0.

Thnaks :+1: