[RELEASE] Unified Thermostat Driver - MELCloud, MELView, Kumo Cloud and more if you want

Thanks for the feedback @waterwynde, great to hear you got the drivers working.

Yeah, the Fahrenheit temperature values is on the list, it is a bit strange that the Kumo platform used Celsius.... I do intend to put some more work into making these values present more like what you would expect.

Hi Simon - I saw a small blip today that you might want to be aware of... it looks like a timeout on the call to retrieve status from Kumo caused a null pointer exception, and also I'm think that the currently reported thermostatOperatingState is incorrect. In general, that state is "cooling" even when the system is idle. In the history (attached) you can see that it goes to "idle" just before the equipment turns on to cool, then goes back to "cooling" when the equipment shuts off, instead of "idle". I've noticed this incorrect state for the past few days. Looking at the logs, I saw the null pointer exception, which might be unrelated. The coolingSetpoint = 79.7 F. Just FYI. Thanks. -Alan

Here's the null pointer from the logs:


Here's the full logs over a few polling cycles:


Thanks @waterwynde, in particular for providing the logs. The NullPointerException on line 949 is actually where I try to lookup the fan mode, most likely returned from Kumo as part of a status update. I will most likely need to look at this in more detail. Might setup a PM with you over the weekend to work through this, when you have some time, no pressure... Anyone else who has seen this error is welcome to join...

Yes, happy to participate... I'm on US Eastern time... I suspect early morning or later evening my time would work?

Hmmm.... interesting.... I think I can see (mostly) what is happening, apart from your question mark over the operating state staying as cooling.

So the timeout error, I can see why that would cause the state to temporarily switch to idle and why that could cause the Null Pointer Exception, and that will be something for me to fix. If only we could get the status updates locally... :wink:

Re the operating state, if you are saying that, from your screenshots of the logs, the status updates at 12:35pm and onwards are after you have turned the unit off, then I'm not sure what I can do, as the data being returned by Kumo has the power = 1 and the operation_mode = 3, i.e. on and cooling. The debug message with "response" is the subset of the data returned by Kumo, the debug log immediately after that is my interpretation as the "Status Info" I then apply to the device in HE.

This is where it might be useful for you to step through a sequence of:

  • Have the unit turned off and see logs in that state
  • Turn the unit on, seeing the logs either side of that event
  • Turn the unit off, seeing the logs either side of that event

I may have hinted that it would be best to have some kind if interactive call. Certainly open to that if you want, but happy for you to work through the steps above whenever you have some time. Happy for you to post back here or in a PM to me, whatever suits.

Thanks again for raising this. Hopefully we can get it sorted out soon.

Simon

2022:09-25: 1.0.24 - Updated supported modes and fan modes to add double quotes to support HE platofrm version 2.3.3.122

Released an important update to the driver today that will affect all users (who use their thermostats on dashboards)

@bikesquid noted here that he could not change modes or fan modes on dashboard thermostat tiles, both with these devices but also another thermostat he owns. When attempting to click the mode or fan mode button on the tile, nothing happens, the pop-up that would normally appear does not show up.

The fix was to change the way the Supported Thermostat Modes and Supported Fan Modes are stored in the device attributes of the HE device, including double-quotes around the values, where I had not used any at all.

If you apply the most recent update (1.0.24) via HPM, open the child thermostat device in HE and click Save Preferences, you should see something like this on the right-hand side of the screen, noting the double-quotes:

If you cannot control the thermostat via a dashboard, even after applying this update, please let me know.

Thanks for picking this up and reporting it @bikesquid.

I'm trying to use the "thermostat controller" built-in app with my kumo thermostat that's connected via this driver (thank you for making it!), but get an error when I choose it as the temperature sensor.

Details:

  • I have a mitsubishi heat pump that is the "parent device" and an air handler that is the "child device".
  • I am trying to setup the thermostat controller app for the child device (the air handler- this is the piece of equipment controlled by my kumo cloud account and that I'm adjusting when I use the physical thermostat).
  • I can select the air handler when I start to setup the app.
  • Next step requires me to choose a temperature sensor- any other sensor I have lets me continue. But if I choose "Thermostat- Air Handler Controller", I get this message:

Any thoughts?

If you open the device page for the "air-handler", I.e. the device you are trying to use in the thermostat controller, does the device page show a "temperature" reading on the right-hand side, under the Current States heading?

Yes, here's the full list of states in case that's helpful. (There's also some celsius/farenheit mixing weirdness going on, perhaps because I just changed the temp unit setting on the parent device.)

Yeah, there's a few things I need to tighten up in that space, including removing that setting I expect. It should be set to the default (On / Celsius).

Make sure it's set correctly and run a refresh of the child device. Hopefully the temperature will have changed.

Yeah, I did, and all changed except 2 (heatingSetpoint and thermostatSetpoint) (I'm not super worried about getting this part sorted out, more commented since I knew it stuck out funny in the screenshot.)

Ok, no worries. Did that sort out the app? Or you haven't checked? If not, I'd be surprised if the fact I have not explicitly referenced the temperature measurement capability in the driver would be a problem, but we could try that.

Well...I just updated the HE firmware as well, to be sure there weren't any bug fixes there. And the newest version deleted the thermostat controller from my list of built-in apps. :joy: The release notes suggest it was updated, but should still be there. So off to figure that out first and then will circle back to this.

Ok, the new thermostat controller app just took a few extra min to show up in the list. But it's giving the same error as before with updated firmware and that temp unit setting set to the default (On/Celsius). Other temp sensors are still working fine if I choose them in the thermostat controller.

Hmmm... I'll be out for a few hours, but will try and take a look later tonight.

Solved. I did need the temperature capability. I'll have an update shortly.

New Release:
1.0.25 - Added TemperatureMeasurement capability to support Thermostat Controller Built-in App

@user1390 - So I expect, based on my experience, the device you were selecting as your temperature sensor, was most likely a device created on-the-fly by the thermostat controller app setup process, but the actual child device that is the thermostat using my driver was not available for you to select in the list of temperature sensors. Once I updated the driver to tell HE that is does record a temperature measurement, the device that is the thermostat then appears and, when I select the thermostat device, I did not see the same error you posted earlier.

If you update the Unified Thermostat (child) Driver via HPM (or manually if you prefer) to version 1.0.25 and try again, you should at least get past the error you were seeing, as long as you select the thermostat device as temperature sensor, not the one that references controller in the name.

Yes, that worked! Thank you!!

1 Like

I changed the temperature using the Habitat dashboard for the first time. (Until now I think I was only changing modes, not temperature.). I am using Fahrenheit. When I increased the heat set point from 60.8 to 62.8 (dashboard arrows move the temp by 1, even though that's not the exact Celsius value when converted to Fahrenheit) I saw something weird on the Mitsubishi Kumo Cloud app on my phone. (I wasn't physically in the home at the time, so I don't know what the Mitsubishi thermostat looked like.). The Kumo app showed the set point as "—". It did not update to the new set point in the app. It's like it wasn't able to render the number.

When I then tried to change the set point in the phone app, hitting the up-arrow set the set point to 50 degrees, the low limit. I was then able to hit the up-arrow several times to get the set point to 62 F.

I can do some debug/diagnostics this weekend, if you have something specific.

Thanks very much.

Unfortunately my time may be limited over the weekend to look at this. I am thinking setting up a defined list of translated F -> C values like we have discussed before is looking like the more likely solution.... It may be next weekend when I get more time to look at it in more detail, bur if I get time I will let you know.