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

Actually, the recording of this c, p and w did work for me, was just looking in the wrong spot. Check the device details section, just above "in use by". There should also be an ip address Next step will be to see if there is anything in the logs to indicate why the command didn't work...

I can see what the problem is, a typo by me, missing a v in front of a post_data variable reference. I'll see if I can get a fix out before I travel into work (about 5 hrs time)

Great... but no rush.

another FYI... I don't see any IP address above "in use by"... or anywhere in the device page. I also don't see any entries in the logs either. But keep in mind i'm still a novice with hubitat. And the only errors I see from the logs has to do with my Garage MYQ and it reading the battery level.

Nope... I was wrong, there were errors in the log:

I can see what the issues are now. I might try and look at it after work. Thanks again for doing this testing and being the first....

1 Like

Hi @tohm, I've updated the child driver to hopefully fix the issues you found. You can take it again from the link I posted previously and overwrite the driver on your hub. I think you will need to remove the child devices, then run the refresh on the parent device, but I could be wrong. If that will cause you any issues, let me know and I can take a look, but might be another day or two before I get to it....

Hi Simon,

I deleted the Child, updated the Child driver, did a Refresh. The Refresh auto created the Child and now I see the IP and the W, C ... However, when I issued the command to increase the heat to 70 degrees... nothing happened, or at least what I expected should happen. Here are some screenshots...



Ah, yes, just a moment...

You can try again, just update the child driver code and try the command again.

Updated the driver, did a refresh... saw 1 new line from the log
dev:3882022-03-23 08:53:19.236 am infoA new authentication code value has been set

Issued the same command but it did not set the heat to 70 degrees.

Did you not see a debug log when you tried issuing the command? Starting with:

unitCommand_Kumo_Local: Initial data returned....

Sorry, I wish I had more technical understanding ... when I go to the logs, I select everything from dev:388 and this is what I see...

Is there something else that I can do to help you?

I also now tried a different command... turn off mini-split

Unit didn't turn off... no log entries and no event entries either

Ok, thanks @tohm. Let me think about it and come back to you.

1 Like

Hi @Tohm,

Just getting back to this now. I noticed in your last logs screenshot you were still looking at the "Past Logs", selected at the top of the screen. Could it have been that you needed to change this to the "Current Logs" to see the debug messages I was referring to? Are you able to test this again for me and see if any new debug messages show up? Or even just look at Past Logs now, to see what showed up a few days ago when you tested the changes I made. Thanks.

Like before I was searching through all the logs (current and past) but I don't see a "debug" for this device. I just now checked the past logs again and I don't even see any logs since then for the mini-split. Even now when I tried to issue a manual command to increase the heat.

minisplit 1

Is there something I can do that would force a log entry?

SUCCESS!!!

With debug logging turned on, @tohm and I were able to work out we just needed to include double-quotes in the commands being issued. We were able to see a temperature change take effect, which was a great outcome.

The change in temperature did take about 20 seconds to take effect. We then tested without an Internet connection and it did not work, so there's a little more to be done there.

I have updated the notes I posted for anyone wanting to test, adding the double-quotes. We also worked out we needed to supply Celsius values, which lines up with what Kumo Cloud expects.

I will move on to setting this up for real in the driver, i.e. making existing mode / temperature change commands able to be executed locally. I intend to include a Preference Setting in each child device to toggle whether to use local or cloud-based commands. I'll also do some more investigation on why the Internet was still required.

Thanks @tohm for your assistance in testing this.

Simon

2 Likes

Hello.
I'm having trouble getting this working. I can get the temperature from the child device but I'm unable to change anything on the unit. So I can't switch the unit on or off. If I set the Cooling Setpoint it updates under the Current States but never gets to the app.

I've been controlling the unit via API calls for the past 3 years so I've resorted back to this method which still works but I'd rather get this device working if possible.

I'll post some logs below:
dev:7102022-03-29 11:28:44.117 errorgroovy.lang.MissingMethodException: No signature of method: java.lang.String.call() is applicable for argument types: (java.math.BigDecimal) values: [16.0]
Possible solutions: wait(), any(), wait(long), any(groovy.lang.Closure), take(int), each(groovy.lang.Closure) on line 1112 (method off)

dev:7092022-03-29 11:28:44.099 debugoff: Turning OFF device MELCloud - Bedroom (114451)

dev:7102022-03-29 11:28:43.716 errorgroovy.lang.MissingMethodException: No signature of method: java.lang.String.call() is applicable for argument types: (java.math.BigDecimal) values: [16.0]
Possible solutions: wait(), any(), wait(long), any(groovy.lang.Closure), take(int), each(groovy.lang.Closure) on line 1078 (method on)

dev:7092022-03-29 11:28:43.699 debugon: Turning ON device MELCloud - Bedroom (114451)

dev:7102022-03-29 11:28:43.352 errorgroovy.lang.MissingMethodException: No signature of method: java.lang.String.call() is applicable for argument types: (java.math.BigDecimal) values: [16.0]
Possible solutions: wait(), any(), wait(long), any(groovy.lang.Closure), take(int), each(groovy.lang.Closure) on line 1112 (method off)

dev:7092022-03-29 11:28:43.335 debugoff: Turning OFF device MELCloud - Bedroom (114451)

dev:7102022-03-29 11:28:42.604 errorgroovy.lang.MissingMethodException: No signature of method: java.lang.String.call() is applicable for argument types: (java.math.BigDecimal) values: [16.0]
Possible solutions: wait(), any(), wait(long), any(groovy.lang.Closure), take(int), each(groovy.lang.Closure) on line 1078 (method on)

dev:7092022-03-29 11:28:42.587 debugon: Turning ON device MELCloud - Bedroom (114451)

dev:7092022-03-29 11:28:00.647 debugapplyResponseStatus: Status update complete

dev:7092022-03-29 11:28:00.640 debugadjustThermostatFanMode: No change to Fan Speed detected, no action taken

dev:7092022-03-29 11:28:00.633 debugadjustThermostatFanMode: No change to Fan Mode detected, no action taken

dev:7092022-03-29 11:28:00.626 debugadjustThermostatFanMode: MEL Fan Mode Key 2 parsed as HE Fan Mode Value Medium Low and HE Fan Speed medium-low

dev:7092022-03-29 11:28:00.618 debugadjustSetTemperature: No action taken, either no change in temperature or null temperature provided

dev:7092022-03-29 11:28:00.611 debugadjustSetTemperature: Temperature passed in was 16.0 which was parsed as 16.0, current set temperature is 16.0

dev:7092022-03-29 11:28:00.603 debugadjustRoomTemperature: No action taken

dev:7092022-03-29 11:28:00.596 debugadjustRoomTemperature: Temperature provided = 21.0

dev:7092022-03-29 11:28:00.582 debugapplyStatusUpdates: About to adjust temperatures...

dev:7092022-03-29 11:28:00.574 debugadjustThermostatOperatingState: Thermostat Mode passed in = 3, Power passed in false, OperatingState: idle

dev:7092022-03-29 11:28:00.567 debugadjustThermostatMode: Thermostat Mode provided 3, Power provided false, parsed as Mode Description off

dev:7092022-03-29 11:28:00.560 debugadjustThermostatMode: Adjust Thermostat Mode called

dev:7092022-03-29 11:28:00.552 debugapplyStatusUpdates: About to adjust thermostat mode details...

dev:7092022-03-29 11:28:00.545 debugapplyStatusUpdates: statusIsCurrent = 1

dev:7092022-03-29 11:28:00.538 debugapplyResponseStatus: lastCommandUTC = Null, Null

dev:7092022-03-29 11:28:00.530 debugapplyResponseStatus: Status Info: [unitId:114451, power:false, setMode:3, roomTemp:21.0, setTemp:16.0, setFan:2, minTempCoolDry:16.0, maxTempCoolDry:31.0, minTempHeat:10.0, maxTempHeat:31.0, minTempAutomatic:16.0, maxTempAutomatic:31.0, canHeat:true, canDry:true, canCool:true, hasAutomaticFanSpeed:true, numberOfFanSpeeds:5]

Hi @gettimhere, nice to hear another European has joined the group.

Based on recent experience for a user in the U.S., can you check what you have named the parent device. If you have named it MELCloud, try changing this to something different and see if that resolves the issue. I plan to look into the issue experienced in the U.S. (and in Europe if needed), but given the rename may resolve the issue, it may sit down the priority list if a device rename fixes it.

Let me know how it goes and whether you need more assistance.

Simon

Hello Simon

Thanks for the fast reply. I've tried:
re-naming the parent device - Not working
Deleting the child device (after renaming the parent device) & re-initializing the child device - Not working
Deleting both parent and child devices and starting from scratch with non 'MELCloud' Parent name - Not working.
Like I say I've got a work around for now so no real urgency from my part but it would be nice to get this working at some point. Thanks for all your efforts.