-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
expose outdoor unit speed and/or heating stage #7
Comments
I would absolutely love to export this information, along with the indoor unit's actual fan speed when in auto. But I have not found it in the (undocumented) command/response schema used by the indoor units. My snooping on comms between the KumoCloud app and my units turned up the following commands to be sent to the unit ("c" being, presumably, "command"):
kumojs (from which this project pulled its starting point) dealt with item 1 only. I pull some additional info from item 2, because one of my units has a remote sensor. This is how we get humidity and the sensor's battery. I also pull some info from items 5 and 8 to auto-configure the capabilities of different unit types and installations (modes other than cool, number of fan speeds, etc.) When we get responses But additional snooping, and trying some likely command verbs I could think of in the spirit of the existing api, has not turned up what you're asking for, nor even just if the unit is currently heating/cooling. If anyone else wants to take a shot at it, it's easy enough with basic Python skills to make a PyKumo object and try to send arbitrary commands to the indoor unit, using the existing calls to A couple other avenues that might be worthwhile: the WiFi interfaces can evidently receive updates over the air. If someone could find one and unpack it, it might be possible to uncover the complete schema. Alternatively, a similar technique might be useable with the Android or iOS apps. |
I'd be interested in getting outdoor unit speed+stage also. I took a crack at learning more by decompiling the Kumo Cloud Android app and seeing what I could find.
Some commands that aren't listed above:
Maybe the mhk2 or indoorUnit.acoil commands have something? |
Also, what do you think of this object in the kumo_cache.json?
power and operation_mode look promising. |
In the past, people have looked at the web app but I'm not sure anyone has decompiled the Android app before, so thanks for that. In the webapp there seemed to be a bit less obfuscation in some of the surrounding code that shed light on what the commands do. See also my first comment in this thread. I too would dearly love to get ahold of indoor & outdoor unit current operation (calling, fan speed, etc.) but have hooked up a power monitor to the outdoor unit's circuit, which does give me some insight into how much it runs.
|
operation_mode: 1=heat, 2=dry, 3=cool, 7=fan, 16=off, 33=auto |
Philosophically I'm unwilling to rely on the cloud for any more than setup. The KumoCloud service has proved anything but reliable, and is much much slower than local control. However, anything in the kumo_cache that's specific to the device has to have come from the indoor unit, and should be fetchable by API. I suspect what you're seeing is just the "mode" -- in other words, it's the setting, not what the unit is actually doing. |
You may be correct, from what I've observed, changes made through the mobile app are ~immediately updated in the kumo_cache, changes made with a remote control are not available in the kumo_cache until you do something on the mobile app that triggers and interrogation of the head unit, like opening a zone detail page. |
Agree with this -- local control is far superior and certainly preferred.
Are you referring to something like https://blog.sense.com/sense-gets-flexible-with-flex-add-on-sensors/ ? I'm using Sense Flex for a similar purpose, but it's hard to tell how much watt consumption correlates with the setting. From the above discussion the past couple days, I think this outdoor unit speed/stage is unavailable. Maybe a future update to the Kumo Cloud firmware and app will expose this data in a way we can get to it with this integration. In the meantime, @brianr2600 mentioned the data is available over cn104. Can you tell us more about that? |
Not sure if this helps, but I just got a new ducted S-series heatpump installed and my WIFI adapter seems to respond to: query = '{"c":{}}'.encode('utf-8') I've uploaded the responses while idle, cooling with auto fan, and cooling with max fan. Unfortunately, diffs between them are super boring, suggesting that info about compressor and fan states is not in the local json. diff output_idle.txt output_cooling_fan_auto.txt
3c3
< 'spCool': 24.5,
---
> 'spCool': 24,
334c334
< 'adapter': {'status': {'localNetwork': {'stationMode': {'RSSI': -55,
---
> 'adapter': {'status': {'localNetwork': {'stationMode': {'RSSI': -52,
341c341
< 'uptime': 24799,
---
> 'uptime': 25196,
370c370
< 'wallClock': {'posix': 1722191420,
---
> 'wallClock': {'posix': 1722191816,
374c374
< 'local': 'Sun Jul 28 14:30:20 2024'},
---
> 'local': 'Sun Jul 28 14:36:56 2024'},
552c552
< 'scansCompleted': 2435,
---
> 'scansCompleted': 2474, diff output_idle.txt output_cooling_fan_max.txt
3c3
< 'spCool': 24.5,
---
> 'spCool': 24,
6c6
< 'fanSpeed': 'auto',
---
> 'fanSpeed': 'powerful',
334c334
< 'adapter': {'status': {'localNetwork': {'stationMode': {'RSSI': -55,
---
> 'adapter': {'status': {'localNetwork': {'stationMode': {'RSSI': -48,
341c341
< 'uptime': 24799,
---
> 'uptime': 25722,
370c370
< 'wallClock': {'posix': 1722191420,
---
> 'wallClock': {'posix': 1722192352,
374c374
< 'local': 'Sun Jul 28 14:30:20 2024'},
---
> 'local': 'Sun Jul 28 14:45:52 2024'},
552c552
< 'scansCompleted': 2435,
---
> 'scansCompleted': 2526,
597c597
< 'indoorHumid': 70},
---
> 'indoorHumid': 68}, |
Thanks for this! It's both good & bad news. Good news: we've managed to find most of the interesting stuff already I'll take a look over your raw responses. I'm booked this weekend but maybe next week. Edit: another interesting diff would be between normal operation, and when there's a significant difference between the current temperature and the setpoint. |
I'd like to thank you for discovering this command, as I've just used it to create a script to set schedules in lieu of the horrible Kumo Cloud "service". I've had so many problems with Kumo Cloud, and that inspired me to check out pykumo. At first I wrote a CLI cron script to set temps on my thermostats. After discovering the schedule information, I was able to decipher how scheduling works and write another script to just set the schedule. My system -- I can't speak for all Mitsubishi systems, but this seems to work for me -- seems to have 28 schedule "slots" when you query
I discovered that you can directly overwrite one of the 28 slots with a query like:
I hope this works for others and that others find this information useful. |
This information is available over cn104, but I don't know if kumo exposes it.
The text was updated successfully, but these errors were encountered: