Thermostat dashboard not functioning

When I click the mode button nothing happens, a dialog should pop up to set the mode heat , cool, auto, off. I see the following error in the console.

Looks like an error to me....

That said, have you tried to manually tweak the supported modes at all? By calling a command where you pass in the list of supported modes for the thermostat?

Not 100% sure what your asking, but as I mentioned I can control the thermostats. They work fine. The Mobile app dashboard works, I can also send commands from the device page. The browser dashboard will update showing any changes I make to the thermostats, you just cant change anything from them.

I have two virtual thermostats in the bathrooms they get set to heat when we turn on the switch in the bathroom, don't normally use the dashboard. The Ecobee is on a schedule, and we hardly ever change it from that.

I wanted to add an additional temp sensor to the master bathroom because the Zooz 4in1 will sometimes not update temperature for several hours at a time and when it does this if you try to run the virtual thermostat it will go into emergency stop mode. I added another temp sensor and was on my browser at my desktop for testing. I originally thought there was an issue with the virtual thermostat app. I finally realized none of the other thermostats were working either including the Ecobee, which of coarse, is an entirely different app. This may have been like this for some time now as I generally don't use a browser for the dashboards.

Ah yes, my bad.... The adjustment of the thermostat modes is not something available on the device page like I was expecting. My memory of using this is from developing a thermostat driver myself, so not necessarily something you would have access to as a user.

I might need to slowly fade into the background... :slight_smile: Allowing others to offer more relevant options... :slight_smile:

Well I just tested local, cloud, legacy local and legacy cloud dashboards in Chrome on the latest (2.3.4.119) update and all seems to work on my side (including from the app).

Thanks for the info, I have been wondering if it was just me. I am not sure what to try though. I thought maybe a pop up blocker, I turned the pop up blocker off and no change. I can put a virtual thermostat, AAA Test Thermostats, using the HE default driver on the same page as the Advanced virtual that does not work, and I can select the mode button and I get the pop up. It's not just the Advance Virtual thermostat as I see the same thing with my Ecobee thermostat dashboard.

I guess deleting cookies but I see the same thing using Microsoft Edge. So I am at a loss.

I'm seeing the same behavior, Chrome, Firefox and edge, mobile seems to work with the latest update, but was not completely working with the previous one, I could adjust temp, but not change mode.

I'm using the CentraLite Pearl Thermostat driver, and the Advanced vThermostat Device drivers, neither of these have custom mode lists

Chrome and Edge error (I only see this changing the temp, no errors in logs changing mode, but nothing happens):

chunk-vendors.js?t=2.3.3:7 SyntaxError: Unexpected token 'o', "[off, heat,"... is not valid JSON
    at JSON.parse (<anonymous>)
    at a.supportedThermostatModes (app.js?t=2.3.3:1:209170)
    at nr.get (chunk-vendors.js?t=2.3.3:7:30684)
    at nr.evaluate (chunk-vendors.js?t=2.3.3:7:31685)
    at a.supportedThermostatModes (chunk-vendors.js?t=2.3.3:7:33378)
    at a.vi (app.js?t=2.3.3:1:205695)
    at t._render (chunk-vendors.js?t=2.3.3:7:23733)
    at a.r (chunk-vendors.js?t=2.3.3:7:27824)
    at nr.get (chunk-vendors.js?t=2.3.3:7:30684)
    at nr.run (chunk-vendors.js?t=2.3.3:7:31417)

FF error (I only see this changing the temp, no errors in logs changing mode, but nothing happens):

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
    supportedThermostatModes http://123.123.1.123/ui2/dashboard2/js/app.js?t=2.3.3:1
    get http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    evaluate http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    fr http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    vi http://123.123.1.123/ui2/dashboard2/js/app.js?t=2.3.3:1
    _render http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    r http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    get http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    run http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    Zn http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    pe http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    le http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    promise callback*oe http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    pe http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    tr http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    update http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    notify http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    set http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    SOCKET_ONMESSAGE http://123.123.1.123/ui2/dashboard2/js/app.js?t=2.3.3:1
    S http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:13
    commit http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:13
    commit http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:13
    _withCommit http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:13
    commit http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:13
    commit http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:13
    value http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:28
    value http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:28
    e http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:28
chunk-vendors.js:7:12041
    ie http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    re http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    ee http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    _render http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    r http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    get http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    run http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    Zn http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    pe http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    le http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    (Async: promise callback)
    oe http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    pe http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    tr http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    update http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    notify http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    set http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:7
    SOCKET_ONMESSAGE http://123.123.1.123/ui2/dashboard2/js/app.js?t=2.3.3:1
    S http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:13
    commit http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:13
    commit http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:13
    _withCommit http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:13
    commit http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:13
    commit http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:13
    value http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:28
    value http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:28
    e http://123.123.1.123/ui2/dashboard2/js/chunk-vendors.js?t=2.3.3:28
1 Like

So I added a thermostat controller tile to the dashboard and everything seems to be working, so I think this might be related to the drivers.

Here's the difference I'm seeing between these two drivers:
built in virtual thermostat driver:
image

The drivers for my actual thermostats:
image

I had a similar problem and used a fix suggested by @bertabcd1234

"Alternatively, if it lets you change the driver, you can use a slightly awkward workaround by temporarily changing the driver to something like Virtual Thermostat and running the "Set Supported Thermostat Modes" command (and, again, probably the similar one for fan modes) yourself."

I wonder if that might help.

Okay, is this related to this?

In both of my thermostats drivers the modes are not is quotes. So I am guessing that is why it doesn't work? The original problem, not being able to select the mode in RM, mentioned in the other thread was fixed after updating the app and hitting configure.

Still seems like there may be an issue? @nclark is this a driver issue, should the modes be listed in quotes. They are not on the device page, see below.

thermerr

You are using an out-of-spec driver. There is a simple fix available:

Could you share a sample of what the driver code should look like? I have a feeling at least one of mine is no longer actively supported.

So I used the method mentioned in the linked post above, switched to virtual and back, and I now have the supported modes in quotes. Still doesn't work in a tile. I looked at @nclark's driver and in the code the supported modes are in quotes but after hitting configure the quotes are removed.

You are missing the brackets around the list of supported modes.

Thank you that did it.

ok, I'll check the code tonight and see what the problem is.

I see what Bruce pointed out and will correct it for the next version. But it's kind of weird that it's working correctly on my end and was not working on yours. I was using the same fix I had sent you a week or so ago.

I did a quick look at the driver code and every place that I found had the quotes and appeared to be formatted correctly. So obviously there is more to it, or I missed something.

The last update did fix the problem I was having in RM, but as I mentioned I don't really use the dashboards in a browser that often. Also the dashboard in the mobile app worked so it's probably been this way for awhile. If I had not added that sensor to one of my thermostats I probably would not have noticed it for quite some time if ever.

My Tuya thermostat driver showed up in HomeKit after formatting the supportedThermostatModes this way :

........
import groovy.json.*
.......
sendEvent(name: "supportedThermostatModes", value: JsonOutput.toJson(["heat", "cool", "auto", "off"]))

But there is something more here that needs to be changed. The above formatting is not enough.
If you temporarily change the device driver to the inbuilt "Virtual Thermstat", it will show up in HomeKit. When you revert back to the Advanced vThermostat Device, it will disappear from Home application, even with the supportedThermostatModes properly formatted as JSON object.

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