[FIXED] Thermostat controller not responding

Account dialog in the main menu.

I think I need to stop coding and write some user guides and publish these.

1 Like

Hey Clay, what I mean is that I will need to enable some logging mode in the hubiVue app, and a mechanism to have them sent to me so that I can review what’s going on. This will be a feature of the next release so I can troubleshoot issues like this, as unfortunately I can’t replicate this - if you create a virtual thermostat, you will probably find it works fine - so whilst you’re saying it isn’t a driver issue, it probably is - most of the problems are often dealing with undocumented quirks in how MakerAPI or drivers work.

2 Likes

@g.slender I’ve got the Ecobee 3 Lite running a brand new dual fuel, 2 stage heat pump so I’ll be watching this thread.
When I just tested the + - thing by bumping the - one time and that sent my cooling set point from 75 to down 65. My unit appears to have gotten the message because it went from stage 1 to stage 2 as a result of the increased cooling demand. I need to hear more about what you are expecting out of the little checkbox labeled Apply On Change…

If you uncheck that, you can change the settings (any/all of them) but the result of the change won’t apply/sent until after the tap Apply. The default behaviour for the tile dialogs is that 1 change is immediately applied - so for changing a fan from high to low, or a level from 90% to 10% is a single tap action. Other more complex actions (like multiple changes to RGB or Thermostat) would require you to untick that Apply On Change first so that you can change more than 1 thing before they are all applied.

That specific large jump was a bug. The old thermostat code (prior to v1.1.5) used to cap the max limit to 50 (for celsius down here) and so that would be the driver hitting the floor of 65 me thinks :stuck_out_tongue:

1 Like

I wound up sending that to you in drop box. The smaller file is the most recent, but both were done in v 1.1.5.

Okay… thanks for that… can you confirm for me that you can go to the device page for that thermo, and increase the coolingsetpoint or decrease the heating setpoint by .5 degree? It might be such that the driver won’t accept such a small inc/dec of the setpoints… 1/2 deg F is very small and probably a strange amount to reduce by (but in deg C it is very normal and common)

No. Not responding to the half degree changes. However you got me thiniking. I went in to hubitat and the Ecobee app and changed them to Celsius, and its still not reaponding. Just sent thats recording to you as well.

So interesting thing just happened… hehehe… wheni I switched everythung back over to Fahrenheit it read the set points and converted them to Fahrenheit, and sent the heating to 97°. Yeah, thats gonna cost me some WAF points.

Can you confirm what it will respond with - ie do this only in Hubitat, and work out what minimum change is allowed… obviously 0.5 isn’t it, but does it support 1 or does it need more… ie 2 degree per change or what? If you can confirm it needs a whole degree or whatever, I can add that feature that the increment/decrement is by X (ie .5 or .1 or 1 or 2 etc) - I will set the default to 1 and users (like me) can change it to 0.5 for my AC and others can change it to 2 degrees if they want it to bump up or down by 2 degree (which in F that might be more reasonable).

As a good technical test, that would help me a lot, can you try and do this test below using your browser, and tell me what values you can put in after the coolingSetpoint that work - for example, on the test AC device I have, it will accept and change the setpoint degree using any double value with 3 or more places. Obviously the AC behind that device won’t accept that, but the driver does.

Doesn’t mean it makes sense, but it does tell me if a) the driver works if it shows up in Hubitat, and b) if not, what does work by trial and error.

I think, in your case, the driver is ignoring or failing to accept 1/2 degree changes via MakerAPI and not providing an error - just silently ignoring the command. So perhaps we need to ensure the changes are within the range that the driver will accept and execute etc.

The following command in a browser is roughly what hubiVue sends when you tap or change a value and you see the spinning circle… that circle is hubiVue waiting for the value (ie coolingSetpoint) to change to a new value.

So run this command in your browser, but substitute the items in [ ] with the correct values for your environment.

http://[hubitat ip]/apps/api/[makerapi]/devices/[deviceid]/setCoolingSetpoint/22.001?access_token=[makerapi token]

An example with the values in the correct place…

http://192.168.2.20/apps/api/123/devices/321/setCoolingSetpoint/22.001?access_token=a8efabc0-7de3-5678-1234-c8486039fake
1 Like

My hope is… that with your feedback, and theses changes below will be correct, and what is needed to allow many different Thermostats to work correctly.

I should be able to push out a new version fairly soon once we’re sure that’s the issue you’re seeing.

What is that maker API number ? Where do I find it?

image

Just plugging stuff in , is this what you were after?

1 degree works. I tried using a half for poops and giggles. It was rounded it up to the next whole number, i.e. 71.5 was taken as 72. Same on the heating side. This was from inside the device in the device list, not through any dashboard, even the native boards.

Just a thought would you be able to tie that to the temp type (Celsius vs. Fahrenheit), So if you are using Fahrenheit, it’s automatically 1, or Celsius it will take the 0.5? Just sort spit balling on this one…

How would I determine the temp type? Where in MakerAPI is the regional information reported?

I don’t think that’s something published in Hubitat or in MakerAPI, so its something that the user will need to do on a per-device basis depending on their needs - ie you may be an ex-Aussie living in the USA and switch you devices to deg C etc

Would be good if you can do the MakerAP test above. Let me know what you’re struggling with and I’ll help

Maker API number is the MakerAPI AppID in the hub settings of hubiVue (and also in Hubitat as the AppID number)

I think that’s what that is . What I am not sure of is where to get the MakerAPI

image
is it this number?
image
I found the token.

When I put that number in the test string you asked for, with my MakerAPI token at the end this is what I got :

Sorry Clay, I can’t confirm the MakerAPI AppID as that’s unique to your HE installation. The value is in hubiVue, labeled as MakerAPI AppID in the Hub Settings in the app. So check that.

The test is that you send the command with a value in coolingSetpoint such as setCoolingSetpoint/76.5 and then check the Hubitat in device page and see if it indeed changed to 76.5 or not… if it did, then your Thermostat driver accepts half deg values and there is still a bug in my app. If not, and you can’t send a 76.5 to the driver (it ignores or does nothing) then I correctly need to change the increment to be whole numbers to ensure it works correctly.

The issue seems to be that you’re changing the value, but the driver is still reporting it to be the same previous value… ie you change it to 76.5 and the value stays at 76

It looks like the command isn’t’ sent or working, but I suspect it is and its being ignored.