krahabb / meross_lan

Home Assistant integration for Meross devices
MIT License
444 stars 47 forks source link

Add "cool" hvac_mode for MTS200 thermostat #323

Closed paulius2k closed 10 months ago

paulius2k commented 1 year ago

Is your feature request related to a problem? Please describe.

It's not possible to use the Meross MTS200 thermostat for cooling in HA. It only has off, heat and auto modes - no cool mode

Describe the solution you'd like

I would like to use the MTS200 to control both heating and cooling functions of my heat pump.

Additional context

Not that long ago Meross has introduced "Summer mode" to their MTS200 thermostat. This can be turned on in Device settings in the Meross App. https://www.amazon.co.uk/Thermostat-Underfloor-Multi-room-Compatible-Assistant/dp/B0B96YGWTZ?th=1 "❄️Add Summer Mode - The summer mode function, which can be used for summer cooling, needs to be used with a system that could be cooling (e.g. air to air heat pump system)."

krahabb commented 1 year ago

Hello @paulius2k, It really looks like Meross added support for real cooling for the device (previously there was a preset called 'cool' which really didn't invert the external circuit logic so it was just a preset temperature for heating mode)

Now I'd need more info in order to figure out this new feature and how to expose it to HA. A diagnostic trace could be a starting point. In order to see the different settings it would be nice to have a trace started when the device is in 'Winter (legacy)' mode and another started when the device is in 'Summer' mode. I hope this could be enough in order to understand the new feature but if you (or someone else) is up for testing and info sharing this would be really welcomed. Some time ago @ikoz in #242 did a great job investigating and sharing some of the MTS200 features

paulius2k commented 1 year ago

Hi, thanks for responding.

I am happy to test, here is my try to capture some events on my device.

Let me know what else is needed.

A. Summer mode - OFF

  1. Change target temp to 23.5: image
2023/10/11 - 11:28:38   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"currentTemp": 228, "state": 0, "mode": 4, "lmTime": 1697012917, "coolTemp": 180, "channel": 0, "onoff": 1, "min": 50, "manualTemp": 235, "heatTemp": 225, "ecoTemp": 120, "warning": 0, "targetTemp": 235, "max": 350}]}
2023/10/11 - 11:28:45   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"min": 50, "targetTemp": 235, "onoff": 1, "mode": 4, "lmTime": 1697012925, "heatTemp": 225, "warning": 0, "manualTemp": 235, "currentTemp": 228, "channel": 0, "state": 1, "ecoTemp": 120, "coolTemp": 180, "max": 350}]}
2023/10/11 - 11:28:46   RX      mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened       {"windowOpened": [{"status": 0, "lmTime": 1697012925, "detect": 0, "channel": 0}]}
2023/10/11 - 11:28:46           auto    LOG     DEBUG   handler undefined for method:(PUSH) namespace:(Appliance.Control.Thermostat.WindowOpened) payload:({'windowOpened': [{'status': 0, 'lmTime': 1697012925, 'detect': 0, 'channel': 0}]})
  1. Press “Cool” button: image

    2023/10/11 - 11:31:58   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"manualTemp": 235, "lmTime": 1697013117, "channel": 0, "warning": 0, "min": 50, "max": 350, "targetTemp": 180, "mode": 1, "currentTemp": 227, "coolTemp": 180, "onoff": 1, "heatTemp": 225, "ecoTemp": 120, "state": 1}]}
    2023/10/11 - 11:32:06           auto    LOG     DEBUG   polling start
    2023/10/11 - 11:32:06           auto    LOG     DEBUG   polling end
    2023/10/11 - 11:32:11   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"warning": 0, "onoff": 1, "manualTemp": 235, "heatTemp": 225, "ecoTemp": 120, "currentTemp": 227, "channel": 0, "targetTemp": 180, "state": 0, "mode": 1, "min": 50, "max": 350, "lmTime": 1697013130, "coolTemp": 180}]}
    2023/10/11 - 11:32:12   RX      mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened       {"windowOpened": [{"lmTime": 1697013130, "detect": 0, "channel": 0, "status": 0}]}
    2023/10/11 - 11:32:12           auto    LOG     DEBUG   handler undefined for method:(PUSH) namespace:(Appliance.Control.Thermostat.WindowOpened) payload:({'windowOpened': [{'lmTime': 1697013130, 'detect': 0, 'channel': 0, 'status': 0}]})
  2. Press turn OFF: image

2023/10/11 - 11:34:51   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"warning": 0, "targetTemp": 180, "onoff": 0, "min": 50, "state": 0, "max": 350, "ecoTemp": 120, "currentTemp": 227, "channel": 0, "mode": 1, "manualTemp": 235, "lmTime": 1697013290, "heatTemp": 225, "coolTemp": 180}]}

B. Summer mode – ON

  1. Turn ON device: image
2023/10/11 - 11:37:50   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"targetTemp": 175, "onoff": 0, "mode": 1, "max": 350, "state": 0, "min": 50, "heatTemp": 245, "currentTemp": 227, "coolTemp": 175, "warning": 0, "manualTemp": 235, "lmTime": 1697013469, "ecoTemp": 225, "channel": 0}]}
2023/10/11 - 11:38:04   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"mode": 1, "currentTemp": 227, "warning": 0, "lmTime": 1697013483, "channel": 0, "onoff": 1, "state": 0, "targetTemp": 175, "max": 350, "manualTemp": 235, "heatTemp": 245, "ecoTemp": 225, "coolTemp": 175, "min": 50}]}
2023/10/11 - 11:38:06           auto    LOG     DEBUG   polling start
2023/10/11 - 11:38:06           auto    LOG     DEBUG   polling end
2023/10/11 - 11:38:18   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"manualTemp": 235, "heatTemp": 245, "targetTemp": 175, "state": 1, "currentTemp": 227, "channel": 0, "warning": 0, "onoff": 1, "mode": 1, "min": 50, "coolTemp": 175, "max": 350, "lmTime": 1697013497, "ecoTemp": 225}]}
2023/10/11 - 11:38:19   RX      mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened       {"windowOpened": [{"detect": 0, "channel": 0, "status": 0, "lmTime": 1697013497}]}
  1. Change to HEATING mode: image
2023/10/11 - 11:40:06   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"targetTemp": 245, "currentTemp": 227, "coolTemp": 175, "channel": 0, "state": 1, "mode": 0, "heatTemp": 245, "min": 50, "max": 350, "ecoTemp": 225, "warning": 0, "onoff": 1, "manualTemp": 235, "lmTime": 1697013606}]}
2023/10/11 - 11:40:06           auto    LOG     DEBUG   polling start
2023/10/11 - 11:40:06           auto    LOG     DEBUG   polling end
2023/10/11 - 11:40:19   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"onoff": 1, "mode": 0, "manualTemp": 235, "currentTemp": 227, "channel": 0, "max": 350, "coolTemp": 175, "warning": 0, "targetTemp": 245, "lmTime": 1697013619, "heatTemp": 245, "state": 0, "min": 50, "ecoTemp": 225}]}
2023/10/11 - 11:40:20   RX      mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened       {"windowOpened": [{"status": 0, "lmTime": 1697013619, "detect": 0, "channel": 0}]}
2023/10/11 - 11:40:20           auto    LOG     DEBUG   handler undefined for method:(PUSH) namespace:(Appliance.Control.Thermostat.WindowOpened) payload:({'windowOpened': [{'status': 0, 'lmTime': 1697013619, 'detect': 0, 'channel': 0}]})
  1. Increase target heat temp to 25.0: image

    2023/10/11 - 11:42:15   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"state": 0, "onoff": 1, "currentTemp": 227, "targetTemp": 250, "min": 50, "ecoTemp": 225, "warning": 0, "mode": 4, "heatTemp": 245, "max": 350, "manualTemp": 250, "lmTime": 1697013735, "coolTemp": 175, "channel": 0}]}
  2. Decrease cooling target temp to 16.0: image

2023/10/11 - 11:52:48   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"currentTemp": 227, "lmTime": 1697014367, "heatTemp": 245, "mode": 4, "min": 50, "max": 350, "targetTemp": 160, "state": 1, "manualTemp": 160, "ecoTemp": 225, "coolTemp": 175, "channel": 0, "warning": 0, "onoff": 1}]}
2023/10/11 - 11:52:50   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"max": 350, "manualTemp": 160, "currentTemp": 227, "targetTemp": 160, "onoff": 1, "channel": 0, "warning": 0, "state": 1, "lmTime": 1697014370, "ecoTemp": 225, "coolTemp": 175, "mode": 4, "min": 50, "heatTemp": 245}]}
krahabb commented 1 year ago

Hello @paulius2k , Thank you for the quick response but I can't spot any difference in these logs between the two summer modes. There should be another message reporting the current 'Summer Mode' state for the device.

The full diagnostic trace would be needed since it also carries (at the start of the trace) all of the messages supported by the device (there should be a new message namespace in there, carrying these info since the 'Appliance.Control.Thermostat.Mode' actually doesn't say anything about it: the only apparently useful field is the 'mode' parameter which actually carries the preset (i.e. '4' for 'Cool' mode or '1' for 'Manual' mode and these are already correctly mapped in HA/meross_lan to corresponding presets.

If you already have the traces, you could probably 'spot' these new messages (I really hope they are PUSHed by the device itself ...) by the corresponding debug logs stating 'handler undefined...'

Nevertheless, the first few rows of the trace usually report the 'Appliance.System.Ability' payload which contains the full dictionary of supported commands/namespaces.

paulius2k commented 1 year ago

Oh, ok, here are all of the unique message types I could spot:

2023/10/11 - 10:51:22       auto    GETACK  Appliance.System.All    {"system": {"hardware": {"type": "mts200", "subType": "eu", "version": "7.0.0", "chipType": "rtl8710cm", "uuid": "###############################0", "macAddress": "################0"}, "firmware": {"version": "7.6.9", "homekitVersion": "6.3", "compileTime": "2023/08/23-16:59:32", "encrypt": 1, "wifiMac": "################0", "innerIp": "############0", "server": "###################0", "port": "@0", "userId": "@0"}, "time": {"timestamp": 1696193779, "timezone": "###", "timeRule": [[1679792400, 10800, 1], [1698541200, 7200, 0], [1711846800, 10800, 1], [1729990800, 7200, 0], [1743296400, 10800, 1], [1761440400, 7200, 0], [1774746000, 10800, 1], [1792890000, 7200, 0], [1806195600, 10800, 1], [1824944400, 7200, 0], [1837645200, 10800, 1], [1856394000, 7200, 0], [1869094800, 10800, 1], [1887843600, 7200, 0], [1901149200, 10800, 1], [1919293200, 7200, 0], [1932598800, 10800, 1], [1950742800, 7200, 0], [1964048400, 10800, 1], [1982797200, 7200, 0]]}, "online": {"status": 1, "bindId": "###", "who": 1}}, "digest": {"thermostat": {"mode": [{"channel": 0, "onoff": 1, "mode": 4, "state": 0, "currentTemp": 241, "heatTemp": 225, "coolTemp": 180, "ecoTemp": 120, "manualTemp": 140, "warning": 0, "targetTemp": 140, "min": 50, "max": 350, "lmTime": 1696193779}], "summerMode": [{"channel": 0, "mode": 1}], "windowOpened": [{"channel": 0, "status": 0, "detect": 0, "lmTime": 1696193779}]}}}
2023/10/11 - 10:51:22       auto    GETACK  Appliance.System.Ability    {"Appliance.Config.Key": {}, "Appliance.Config.WifiList": {}, "Appliance.Config.Wifi": {}, "Appliance.Config.WifiX": {}, "Appliance.Config.Trace": {}, "Appliance.Config.Info": {}, "Appliance.Config.OverTemp": {}, "Appliance.System.All": {}, "Appliance.System.Hardware": {}, "Appliance.System.Firmware": {}, "Appliance.System.Debug": {}, "Appliance.System.Online": {}, "Appliance.System.Time": {}, "Appliance.System.Clock": {}, "Appliance.System.Ability": {}, "Appliance.System.Runtime": {}, "Appliance.System.Report": {}, "Appliance.System.Position": {}, "Appliance.Mcu.Firmware": {}, "Appliance.Control.Multiple": {"maxCmdNum": 3}, "Appliance.Control.Bind": {}, "Appliance.Control.Unbind": {}, "Appliance.Control.Upgrade": {}, "Appliance.Control.OverTemp": {}, "Appliance.Control.PhysicalLock": {}, "Appliance.Control.Thermostat.HoldAction": {}, "Appliance.Control.Thermostat.Mode": {}, "Appliance.Control.Thermostat.Calibration": {}, "Appliance.Control.Thermostat.DeadZone": {}, "Appliance.Control.Thermostat.Frost": {}, "Appliance.Control.Thermostat.Overheat": {}, "Appliance.Control.Thermostat.WindowOpened": {}, "Appliance.Control.Thermostat.Schedule": {}, "Appliance.Control.Screen.Brightness": {}, "Appliance.Control.Thermostat.Sensor": {}, "Appliance.Control.Thermostat.SummerMode": {}, "Appliance.Control.Sensor.History": {}, "Appliance.Digest.TriggerX": {}, "Appliance.Digest.TimerX": {}}
2023/10/11 - 10:51:22   TX  mqtt    GET Appliance.Config.Info   {"info": {}}
2023/10/11 - 10:51:22   RX  mqtt    GETACK  Appliance.Config.Info   {"info": {"homekit": {"model": "MTS200", "sn": "###############", "category": 9, "setupId": "OLEB", "setupCode": "###-##-###", "uuid": "###################################1", "token": "###########################################################################################################################################################################################################################################0"}}}
2023/10/11 - 10:51:22       auto    LOG DEBUG   handler undefined for method:(GETACK) namespace:(Appliance.Config.Info) payload:(#######################################)
2023/10/11 - 10:51:24   TX  mqtt    GET Appliance.Config.OverTemp   {"overTemp": {}}
2023/10/11 - 10:51:26   TX  mqtt    GET Appliance.System.Runtime    {"runtime": {}}
2023/10/11 - 10:51:28   TX  mqtt    GET Appliance.System.Position   {"position": {}}
2023/10/11 - 10:51:30   TX  mqtt    GET Appliance.Control.OverTemp  {"overTemp": {}}
2023/10/11 - 10:51:32   TX  mqtt    GET Appliance.Control.Thermostat.HoldAction {"holdAction": [{"channel": 0}]}
2023/10/11 - 10:51:34   RX  mqtt    GETACK  Appliance.Config.OverTemp   {"overTemp": {"enable": -1, "type": -1}}
2023/10/11 - 10:51:34       auto    LOG DEBUG   handler undefined for method:(GETACK) namespace:(Appliance.Config.OverTemp) payload:({'overTemp': {'enable': -1, 'type': -1}})
2023/10/11 - 10:51:36   TX  mqtt    GET Appliance.Control.Thermostat.Calibration    {"calibration": [{"channel": 0}]}
2023/10/11 - 10:51:38   TX  mqtt    GET Appliance.Control.Thermostat.DeadZone   {"deadZone": [{"channel": 0}]}
2023/10/11 - 10:51:40   TX  mqtt    GET Appliance.Control.Thermostat.Frost  {"frost": [{"channel": 0}]}
2023/10/11 - 10:51:42   TX  mqtt    GET Appliance.Control.Thermostat.Overheat   {"overheat": [{"channel": 0}]}
2023/10/11 - 10:51:44   TX  mqtt    GET Appliance.Control.Thermostat.WindowOpened   {"windowOpened": []}
2023/10/11 - 10:51:46   TX  mqtt    GET Appliance.Control.Thermostat.Schedule   {"schedule": [{"channel": 0}]}
2023/10/11 - 10:51:47   RX  mqtt    GETACK  Appliance.System.Runtime    {"runtime": {"signal": 86}}
2023/10/11 - 10:51:48   TX  mqtt    GET Appliance.Control.Screen.Brightness {"brightness": [{"channel": 0}]}
2023/10/11 - 10:51:50   TX  mqtt    GET Appliance.Control.Thermostat.Sensor {"sensor": [{"channel": 0}]}
2023/10/11 - 10:51:52   TX  mqtt    GET Appliance.Control.Thermostat.SummerMode {"summerMode": {}}
2023/10/11 - 10:51:54   TX  mqtt    GET Appliance.Control.Sensor.History    {"history": {}}
2023/10/11 - 10:51:59   RX  mqtt    GETACK  Appliance.System.Position   {"position": {"longitude": 0, "latitude": 0}}
2023/10/11 - 10:51:59       auto    LOG DEBUG   handler undefined for method:(GETACK) namespace:(Appliance.System.Position) payload:({'position': {'longitude': 0, 'latitude': 0}})
2023/10/11 - 10:52:35   RX  mqtt    GETACK  Appliance.Control.Thermostat.HoldAction {"holdAction": [{"channel": 0, "mode": 0}]}
2023/10/11 - 10:52:35       auto    LOG WARNING Mts200Climate(climate.test_meross_mts200_thermostat) handler undefined for payload:({'channel': 0, 'mode': 0})
2023/10/11 - 10:52:48   RX  mqtt    GETACK  Appliance.Control.Thermostat.Calibration    {"calibration": [{"channel": 0, "value": 0, "min": -80, "max": 80, "lmTime": 1697010767}]}
2023/10/11 - 10:52:48       auto    LOG WARNING Mts200Climate(climate.test_meross_mts200_thermostat) handler undefined for payload:({'channel': 0, 'value': 0, 'min': -80, 'max': 80, 'lmTime': 1697010767})
2023/10/11 - 10:53:01   RX  mqtt    GETACK  Appliance.Control.Screen.Brightness {"brightness": [{"channel": 0, "operation": 100, "standby": 50}]}
2023/10/11 - 10:54:05   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"status": 0, "lmTime": 1697010843, "detect": 0, "channel": 0}]}
2023/10/11 - 10:54:05       auto    LOG DEBUG   handler undefined for method:(PUSH) namespace:(Appliance.Control.Thermostat.WindowOpened) payload:({'windowOpened': [{'status': 0, 'lmTime': 1697010843, 'detect': 0, 'channel': 0}]})
krahabb commented 1 year ago

Going on..:) do you have the 'Appliance.Control.Thermostat.SummerMode' reply (GETACK) later in the trace? Also, whenever you change the summer mode setting manually at the device, do you receive a corresponding PUSH - 'Appliance.Control.Thermostat.SummerMode' and if so, please attach them too (both for when you set summer mode on and when you set it off)

paulius2k commented 1 year ago

No, I don't have GETACK Appliance.Control.Thermostat.SummerMode, nor I get any PUSH messages when I change the Summer mode in the app (e.g. I do get PUSH message when I change Frost protection mode).

I am thinking now that it could be, that my particular device does not support summer mode - it is the MTS200HK model for "Electric underfloor heating" (https://www.meross.com/en-gc/smart-thermostat/smart-wi-fi-thermostat/116) and not the MTS200BHK for "Boiler/Water Underfloor Heating System". :/

krahabb commented 1 year ago

That's weird because the trace shows it supports the command...maybe the GET Appliance.Control.Thermostat.SummerMode {"summerMode": {}} is someway malformed and the device doesn't like it.

Beside that, the PUSHes for when you manually change the device setting should come up.

At any rate, I'm trying to provide at least a basic understanding/interaction of the command so we could better test it in the future (even if we're going into 'winter time' ;)

paulius2k commented 1 year ago

Pls let me know if there is any other way I could debug my device.

--

I get only these messages when I change the summer mode:

2023/10/13 - 19:34:38   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"manualTemp": 160, "ecoTemp": 120, "currentTemp": 230, "coolTemp": 175, "warning": 0, "onoff": 1, "channel": 0, "targetTemp": 160, "heatTemp": 245, "state": 0, "mode": 4, "min": 50, "max": 350, "lmTime": 1697214877}]}
2023/10/13 - 19:34:44   RX      mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened       {"windowOpened": [{"status": 0, "lmTime": 1697214883, "detect": 1, "channel": 0}]}
2023/10/13 - 19:34:44           auto    LOG     DEBUG   handler undefined for method:(PUSH) namespace:(Appliance.Control.Thermostat.WindowOpened) payload:({'windowOpened': [{'status': 0, 'lmTime': 1697214883, 'detect': 1, 'channel': 0}]})
2023/10/13 - 19:34:45   RX      mqtt    PUSH    Appliance.Control.Thermostat.Mode       {"mode": [{"onoff": 1, "currentTemp": 230, "targetTemp": 160, "manualTemp": 160, "min": 50, "lmTime": 1697214883, "coolTemp": 175, "channel": 0, "warning": 0, "state": 1, "mode": 4, "max": 350, "heatTemp": 245, "ecoTemp": 225}]}
franele commented 1 year ago

Hello, I have just installed the Meross MTS200 for boiler and water underfloor heating. I am at your disposal for the necessary tests, but I am a newbie in all this. Please guide me. All the best.

Maje2025 commented 11 months ago

Same here I´ve mts200b for boiler and water underfloor heating, I can help if you say me how, thanks for you effort

krahabb commented 11 months ago

Thank you all! If you're up for testing the summer mode you should first install the latest 'pre-release' (though HACS need to be configured to show pre-release versions since by default you'll only see the 'official' release) If it's too troublesome just wait a couple of days since I'm officially publishing the new release soon

Once the new version is installed you could gather a diagnostic trace and post it. If you have the summer mode feature in your thermostat try to operate it (with the app) while the trace is running

paulius2k commented 11 months ago

Hi I upgraded to v4.4.0-alpha.3.

I am changing "summer" options, heat/cool/auto options in the app, here is my trace:

2023/11/19 - 13:23:11       auto    GETACK  Appliance.System.All    {"system": {"hardware": {"type": "mts200", "subType": "eu", "version": "7.0.0", "chipType": "rtl8710cm", "uuid": "#0", "macAddress": "#0"}, "firmware": {"version": "7.6.9", "homekitVersion": "6.3", "compileTime": "2023/08/23-16:59:32", "encrypt": 1, "wifiMac": "################0", "innerIp": "############0", "server": "###################0", "port": "@0", "userId": "@0"}, "time": {"timestamp": 1700392833, "timezone": "xx", "timeRule": [[1679792400, 10800, 1], [1698541200, 7200, 0], [1711846800, 10800, 1], [1729990800, 7200, 0], [1743296400, 10800, 1], [1761440400, 7200, 0], [1774746000, 10800, 1], [1792890000, 7200, 0], [1806195600, 10800, 1], [1824944400, 7200, 0], [1837645200, 10800, 1], [1856394000, 7200, 0], [1869094800, 10800, 1], [1887843600, 7200, 0], [1901149200, 10800, 1], [1919293200, 7200, 0], [1932598800, 10800, 1], [1950742800, 7200, 0], [1964048400, 10800, 1], [1982797200, 7200, 0]]}, "online": {"status": 1, "bindId": "xx", "who": 1}}, "digest": {"thermostat": {"mode": [{"channel": 0, "onoff": 1, "mode": 3, "state": 1, "currentTemp": 251, "heatTemp": 245, "coolTemp": 175, "ecoTemp": 225, "manualTemp": 160, "warning": 0, "targetTemp": 100, "min": 50, "max": 350, "lmTime": 1700392833}], "summerMode": [{"channel": 0, "mode": 2}], "windowOpened": [{"channel": 0, "status": 0, "detect": 1, "lmTime": 1700392833}]}}}
2023/11/19 - 13:23:11       auto    GETACK  Appliance.System.Ability    {"Appliance.Config.Key": {}, "Appliance.Config.WifiList": {}, "Appliance.Config.Wifi": {}, "Appliance.Config.WifiX": {}, "Appliance.Config.Trace": {}, "Appliance.Config.Info": {}, "Appliance.Config.OverTemp": {}, "Appliance.System.All": {}, "Appliance.System.Hardware": {}, "Appliance.System.Firmware": {}, "Appliance.System.Debug": {}, "Appliance.System.Online": {}, "Appliance.System.Time": {}, "Appliance.System.Clock": {}, "Appliance.System.Ability": {}, "Appliance.System.Runtime": {}, "Appliance.System.Report": {}, "Appliance.System.Position": {}, "Appliance.Mcu.Firmware": {}, "Appliance.Control.Multiple": {"maxCmdNum": 3}, "Appliance.Control.Bind": {}, "Appliance.Control.Unbind": {}, "Appliance.Control.Upgrade": {}, "Appliance.Control.OverTemp": {}, "Appliance.Control.PhysicalLock": {}, "Appliance.Control.Thermostat.HoldAction": {}, "Appliance.Control.Thermostat.Mode": {}, "Appliance.Control.Thermostat.Calibration": {}, "Appliance.Control.Thermostat.DeadZone": {}, "Appliance.Control.Thermostat.Frost": {}, "Appliance.Control.Thermostat.Overheat": {}, "Appliance.Control.Thermostat.WindowOpened": {}, "Appliance.Control.Thermostat.Schedule": {}, "Appliance.Control.Screen.Brightness": {}, "Appliance.Control.Thermostat.Sensor": {}, "Appliance.Control.Thermostat.SummerMode": {}, "Appliance.Control.Sensor.History": {}, "Appliance.Digest.TriggerX": {}, "Appliance.Digest.TimerX": {}}
2023/11/19 - 13:23:12   TX  mqtt    GET Appliance.Config.Info   {"info": {}}
2023/11/19 - 13:23:14   TX  mqtt    GET Appliance.Config.OverTemp   {"overTemp": {}}
2023/11/19 - 13:23:16   TX  mqtt    GET Appliance.System.Runtime    {"runtime": {}}
2023/11/19 - 13:23:17   RX  mqtt    GETACK  Appliance.Config.Info   {"info": {"homekit": {"model": "MTS200", "sn": "xx", "category": 9, "setupId": "OLEB", "setupCode": "961-48-899", "uuid": "#1", "token": "#0"}}}
2023/11/19 - 13:23:17       auto    LOG DEBUG   handler undefined for method:(GETACK) namespace:(Appliance.Config.Info) payload:({'info': {'homekit': {'model': 'MTS200', 'sn': 'xx', 'category': 9, 'setupId': 'OLEB', 'setupCode': 'xx', 'uuid': '#1', 'token': '#0'}}})
2023/11/19 - 13:23:18   TX  mqtt    GET Appliance.Control.OverTemp  {"overTemp": [{"channel": 0}]}
2023/11/19 - 13:23:20   TX  mqtt    GET Appliance.Control.Thermostat.HoldAction {"holdAction": [{"channel": 0}]}
2023/11/19 - 13:23:22   TX  mqtt    GET Appliance.Control.Thermostat.Mode   {"mode": []}
2023/11/19 - 13:23:24   TX  mqtt    GET Appliance.Control.Thermostat.Calibration    {"calibration": [{"channel": 0}]}
2023/11/19 - 13:23:26   TX  mqtt    GET Appliance.Control.Thermostat.DeadZone   {"deadZone": [{"channel": 0}]}
2023/11/19 - 13:23:28   TX  mqtt    GET Appliance.Control.Thermostat.Frost  {"frost": [{"channel": 0}]}
2023/11/19 - 13:23:29   RX  mqtt    GETACK  Appliance.Config.OverTemp   {"overTemp": {"enable": -1, "type": -1}}
2023/11/19 - 13:23:30   TX  mqtt    GET Appliance.Control.Thermostat.Overheat   {"overheat": [{"channel": 0}]}
2023/11/19 - 13:23:32   TX  mqtt    GET Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"channel": 0}]}
2023/11/19 - 13:23:34   TX  mqtt    GET Appliance.Control.Thermostat.Schedule   {"schedule": [{"channel": 0}]}
2023/11/19 - 13:23:34       auto    LOG DEBUG   polling start
2023/11/19 - 13:23:34       auto    LOG DEBUG   polling end
2023/11/19 - 13:23:36   TX  mqtt    GET Appliance.Control.Screen.Brightness {"brightness": [{"channel": 0}]}
2023/11/19 - 13:23:38   TX  mqtt    GET Appliance.Control.Thermostat.Sensor {"sensor": [{"channel": 0}]}
2023/11/19 - 13:23:39   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"currentTemp": 250, "targetTemp": 100, "state": 1, "max": 350, "lmTime": 1700393018, "coolTemp": 175, "channel": 0, "min": 50, "manualTemp": 220, "heatTemp": 245, "ecoTemp": 225, "warning": 0, "onoff": 1, "mode": 3}]}
2023/11/19 - 13:23:40   TX  mqtt    GET Appliance.Control.Thermostat.SummerMode {"summerMode": [{"channel": 0}]}
2023/11/19 - 13:23:41   RX  mqtt    GETACK  Appliance.System.Runtime    {"runtime": {"signal": 78}}
2023/11/19 - 13:23:42   TX  mqtt    GET Appliance.Control.Sensor.History    {"history": {}}
2023/11/19 - 13:24:04       auto    LOG DEBUG   polling start
2023/11/19 - 13:24:04       auto    LOG DEBUG   polling end
2023/11/19 - 13:24:06   RX  mqtt    GETACK  Appliance.Control.Thermostat.HoldAction {"holdAction": [{"channel": 0, "mode": 0}]}
2023/11/19 - 13:24:06       auto    LOG WARNING Mts200Climate(climate.test_meross_mts200_thermostat) handler undefined for payload:({'channel': 0, 'mode': 0})
2023/11/19 - 13:24:18   RX  mqtt    GETACK  Appliance.Control.Thermostat.Mode   {"mode": []}
2023/11/19 - 13:24:30   RX  mqtt    GETACK  Appliance.Control.Thermostat.Overheat   {"overheat": [{"channel": 0, "currentTemp": 0, "onoff": 1, "value": 320, "min": 200, "max": 700, "warning": 2, "lmTime": 1700393069}]}
2023/11/19 - 13:24:34       auto    LOG DEBUG   polling start
2023/11/19 - 13:24:34       auto    LOG DEBUG   polling end
2023/11/19 - 13:24:42   RX  mqtt    GETACK  Appliance.Control.Sensor.History    {"history": []}
2023/11/19 - 13:24:42       auto    LOG DEBUG   handler undefined for method:(GETACK) namespace:(Appliance.Control.Sensor.History) payload:({'history': []})
2023/11/19 - 13:25:04       auto    LOG DEBUG   polling start
2023/11/19 - 13:25:04       auto    LOG DEBUG   polling end
2023/11/19 - 13:25:34       auto    LOG DEBUG   polling start
2023/11/19 - 13:25:34       auto    LOG DEBUG   polling end
2023/11/19 - 13:26:01   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"channel": 0, "ecoTemp": 225, "coolTemp": 175, "mode": 3, "max": 350, "manualTemp": 220, "heatTemp": 225, "currentTemp": 250, "targetTemp": 100, "state": 1, "warning": 0, "min": 50, "onoff": 1, "lmTime": 1700393160}]}
2023/11/19 - 13:26:04       auto    LOG DEBUG   polling start
2023/11/19 - 13:26:04       auto    LOG DEBUG   polling end
2023/11/19 - 13:26:08   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"detect": 1, "channel": 0, "status": 0, "lmTime": 1700393166}]}
2023/11/19 - 13:26:09   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"manualTemp": 220, "lmTime": 1700393166, "state": 0, "max": 350, "ecoTemp": 120, "targetTemp": 100, "mode": 3, "min": 50, "heatTemp": 225, "currentTemp": 250, "coolTemp": 180, "channel": 0, "warning": 0, "onoff": 1}]}
2023/11/19 - 13:26:31   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"onoff": 1, "max": 350, "ecoTemp": 120, "currentTemp": 249, "state": 0, "manualTemp": 220, "coolTemp": 180, "channel": 0, "min": 50, "lmTime": 1700393189, "warning": 0, "targetTemp": 100, "mode": 3, "heatTemp": 225}]}
2023/11/19 - 13:26:34       auto    LOG DEBUG   polling start
2023/11/19 - 13:26:34       auto    LOG DEBUG   polling end
2023/11/19 - 13:27:04       auto    LOG DEBUG   polling start
2023/11/19 - 13:27:04       auto    LOG DEBUG   polling end
2023/11/19 - 13:27:34       auto    LOG DEBUG   polling start
2023/11/19 - 13:27:34       auto    LOG DEBUG   polling end
2023/11/19 - 13:28:04       auto    LOG DEBUG   polling start
2023/11/19 - 13:28:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:28:13   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"max": 350, "heatTemp": 245, "warning": 0, "mode": 3, "min": 50, "currentTemp": 249, "coolTemp": 180, "targetTemp": 100, "manualTemp": 220, "ecoTemp": 120, "channel": 0, "state": 0, "onoff": 1, "lmTime": 1700393292}]}
2023/11/19 - 13:28:18   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"lmTime": 1700393297, "detect": 1, "channel": 0, "status": 0}]}
2023/11/19 - 13:28:19   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"warning": 0, "heatTemp": 245, "ecoTemp": 225, "coolTemp": 175, "state": 1, "min": 50, "lmTime": 1700393297, "currentTemp": 249, "targetTemp": 100, "onoff": 1, "mode": 3, "max": 350, "manualTemp": 220, "channel": 0}]}
2023/11/19 - 13:28:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:28:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:28:54   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"status": 0, "lmTime": 1700393334, "detect": 0, "channel": 0}]}
2023/11/19 - 13:29:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:29:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:29:29   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"status": 0, "lmTime": 1700393369, "detect": 1, "channel": 0}]}
2023/11/19 - 13:29:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:29:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:29:59   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"targetTemp": 100, "min": 50, "max": 350, "heatTemp": 245, "coolTemp": 175, "channel": 0, "warning": 0, "state": 1, "currentTemp": 247, "manualTemp": 220, "mode": 3, "lmTime": 1700393398, "ecoTemp": 225, "onoff": 1}]}
2023/11/19 - 13:30:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:30:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:30:17   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"detect": 1, "channel": 0, "status": 0, "lmTime": 1700393416}]}
2023/11/19 - 13:30:18   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"onoff": 1, "min": 50, "manualTemp": 220, "currentTemp": 247, "channel": 0, "warning": 0, "targetTemp": 100, "lmTime": 1700393416, "mode": 3, "heatTemp": 225, "coolTemp": 180, "state": 0, "max": 350, "ecoTemp": 120}]}
2023/11/19 - 13:30:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:30:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:30:38   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"lmTime": 1700393437, "detect": 1, "channel": 0, "status": 0}]}
2023/11/19 - 13:30:39   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"currentTemp": 247, "targetTemp": 100, "onoff": 1, "manualTemp": 220, "lmTime": 1700393437, "mode": 3, "heatTemp": 245, "ecoTemp": 225, "coolTemp": 175, "state": 1, "min": 50, "max": 350, "channel": 0, "warning": 0}]}
2023/11/19 - 13:31:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:31:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:31:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:31:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:32:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:32:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:35:40   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"onoff": 1, "manualTemp": 220, "currentTemp": 245, "warning": 0, "channel": 0, "targetTemp": 100, "max": 350, "heatTemp": 245, "state": 1, "mode": 3, "min": 50, "lmTime": 1700393740, "ecoTemp": 225, "coolTemp": 175}]}
2023/11/19 - 13:36:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:36:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:36:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:36:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:36:49   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"warning": 0, "targetTemp": 220, "heatTemp": 245, "channel": 0, "onoff": 1, "max": 350, "lmTime": 1700393808, "state": 1, "mode": 4, "currentTemp": 245, "min": 50, "manualTemp": 220, "ecoTemp": 225, "coolTemp": 175}]}
2023/11/19 - 13:36:54   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"state": 1, "currentTemp": 245, "lmTime": 1700393813, "heatTemp": 245, "channel": 0, "targetTemp": 100, "onoff": 1, "min": 50, "ecoTemp": 225, "mode": 3, "max": 350, "manualTemp": 220, "warning": 0, "coolTemp": 175}]}
2023/11/19 - 13:36:59   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"state": 1, "heatTemp": 245, "max": 350, "channel": 0, "warning": 0, "mode": 4, "min": 50, "lmTime": 1700393818, "ecoTemp": 225, "currentTemp": 245, "coolTemp": 175, "targetTemp": 85, "onoff": 1, "manualTemp": 85}]}
2023/11/19 - 13:37:01   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"targetTemp": 200, "ecoTemp": 225, "currentTemp": 245, "channel": 0, "min": 50, "coolTemp": 175, "warning": 0, "onoff": 1, "mode": 4, "max": 350, "manualTemp": 200, "lmTime": 1700393821, "heatTemp": 245, "state": 1}]}
2023/11/19 - 13:37:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:37:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:37:17   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"onoff": 1, "warning": 0, "targetTemp": 175, "state": 1, "mode": 1, "lmTime": 1700393837, "ecoTemp": 225, "coolTemp": 175, "min": 50, "manualTemp": 200, "heatTemp": 245, "channel": 0, "max": 350, "currentTemp": 245}]}
2023/11/19 - 13:37:21   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"max": 350, "min": 50, "lmTime": 1700393841, "heatTemp": 245, "mode": 4, "state": 1, "onoff": 1, "manualTemp": 190, "ecoTemp": 225, "coolTemp": 175, "targetTemp": 190, "currentTemp": 245, "channel": 0, "warning": 0}]}
2023/11/19 - 13:37:35   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"mode": 0, "max": 350, "targetTemp": 245, "state": 1, "ecoTemp": 225, "coolTemp": 175, "warning": 0, "onoff": 1, "min": 50, "manualTemp": 190, "lmTime": 1700393854, "heatTemp": 245, "currentTemp": 245, "channel": 0}]}
2023/11/19 - 13:37:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:37:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:37:41   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"currentTemp": 245, "coolTemp": 175, "warning": 0, "targetTemp": 225, "onoff": 1, "max": 350, "state": 1, "mode": 4, "min": 50, "lmTime": 1700393860, "manualTemp": 225, "heatTemp": 245, "channel": 0, "ecoTemp": 225}]}
2023/11/19 - 13:38:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:38:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:38:19   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"lmTime": 1700393897, "heatTemp": 245, "channel": 0, "targetTemp": 225, "currentTemp": 245, "mode": 2, "state": 1, "coolTemp": 175, "warning": 0, "min": 50, "max": 350, "manualTemp": 225, "ecoTemp": 225, "onoff": 1}]}
2023/11/19 - 13:38:21   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"heatTemp": 245, "targetTemp": 175, "onoff": 1, "max": 350, "manualTemp": 225, "coolTemp": 175, "state": 1, "mode": 1, "min": 50, "ecoTemp": 225, "currentTemp": 245, "warning": 0, "lmTime": 1700393900, "channel": 0}]}
2023/11/19 - 13:38:23   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"targetTemp": 245, "lmTime": 1700393902, "channel": 0, "state": 1, "mode": 0, "min": 50, "max": 350, "ecoTemp": 225, "coolTemp": 175, "warning": 0, "onoff": 1, "manualTemp": 225, "heatTemp": 245, "currentTemp": 245}]}
2023/11/19 - 13:38:26   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"min": 50, "heatTemp": 245, "warning": 0, "onoff": 0, "coolTemp": 175, "state": 1, "lmTime": 1700393905, "max": 350, "ecoTemp": 225, "channel": 0, "targetTemp": 245, "mode": 0, "manualTemp": 225, "currentTemp": 245}]}
2023/11/19 - 13:38:30   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"manualTemp": 225, "coolTemp": 175, "onoff": 0, "mode": 0, "max": 350, "heatTemp": 245, "warning": 0, "targetTemp": 245, "lmTime": 1700393909, "ecoTemp": 225, "currentTemp": 244, "channel": 0, "state": 1, "min": 50}]}
2023/11/19 - 13:38:33   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"targetTemp": 245, "onoff": 1, "heatTemp": 245, "ecoTemp": 225, "channel": 0, "state": 1, "mode": 0, "min": 50, "manualTemp": 225, "currentTemp": 244, "warning": 0, "max": 350, "lmTime": 1700393912, "coolTemp": 175}]}
2023/11/19 - 13:38:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:38:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:38:35   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"state": 0, "mode": 0, "max": 350, "currentTemp": 244, "coolTemp": 175, "channel": 0, "targetTemp": 245, "ecoTemp": 225, "min": 50, "manualTemp": 225, "lmTime": 1700393914, "heatTemp": 245, "warning": 0, "onoff": 1}]}
2023/11/19 - 13:38:36   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"status": 0, "lmTime": 1700393914, "detect": 1, "channel": 0}]}
2023/11/19 - 13:39:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:39:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:39:27   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"targetTemp": 100, "onoff": 1, "mode": 3, "coolTemp": 175, "warning": 0, "min": 50, "manualTemp": 225, "lmTime": 1700393966, "ecoTemp": 225, "channel": 0, "currentTemp": 244, "state": 0, "max": 350, "heatTemp": 245}]}
2023/11/19 - 13:39:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:39:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:39:40   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"min": 50, "ecoTemp": 225, "currentTemp": 244, "coolTemp": 175, "warning": 0, "onoff": 1, "lmTime": 1700393979, "mode": 3, "manualTemp": 225, "heatTemp": 245, "targetTemp": 100, "state": 1, "max": 350, "channel": 0}]}
2023/11/19 - 13:39:41   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"lmTime": 1700393979, "detect": 1, "channel": 0, "status": 0}]}
2023/11/19 - 13:40:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:40:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:40:08   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"warning": 0, "mode": 4, "manualTemp": 260, "state": 1, "heatTemp": 245, "coolTemp": 175, "channel": 0, "targetTemp": 260, "onoff": 1, "min": 50, "max": 350, "currentTemp": 244, "lmTime": 1700394006, "ecoTemp": 225}]}
2023/11/19 - 13:40:21   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"min": 50, "max": 350, "manualTemp": 260, "warning": 0, "targetTemp": 260, "mode": 4, "lmTime": 1700394020, "state": 0, "heatTemp": 245, "onoff": 1, "ecoTemp": 225, "currentTemp": 244, "coolTemp": 175, "channel": 0}]}
2023/11/19 - 13:40:22   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"status": 0, "lmTime": 1700394020, "detect": 1, "channel": 0}]}
2023/11/19 - 13:40:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:40:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:40:39   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"warning": 0, "heatTemp": 245, "mode": 4, "max": 350, "manualTemp": 350, "lmTime": 1700394038, "currentTemp": 244, "onoff": 1, "min": 50, "ecoTemp": 225, "targetTemp": 350, "state": 0, "coolTemp": 175, "channel": 0}]}
2023/11/19 - 13:41:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:41:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:41:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:41:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:41:49   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"max": 350, "min": 50, "onoff": 1, "lmTime": 1700394108, "currentTemp": 244, "coolTemp": 175, "channel": 0, "warning": 0, "state": 0, "manualTemp": 350, "ecoTemp": 225, "targetTemp": 100, "heatTemp": 245, "mode": 3}]}
2023/11/19 - 13:42:02   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"ecoTemp": 225, "currentTemp": 244, "state": 1, "min": 50, "max": 350, "heatTemp": 245, "onoff": 1, "manualTemp": 350, "warning": 0, "targetTemp": 100, "lmTime": 1700394120, "coolTemp": 175, "mode": 3, "channel": 0}]}
2023/11/19 - 13:42:03   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"lmTime": 1700394120, "detect": 1, "channel": 0, "status": 0}]}
2023/11/19 - 13:42:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:42:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:42:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:42:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:42:58   RX  mqtt    PUSH    Appliance.Control.Thermostat.Schedule   {"schedule": [{"fri": [[390, 200], [90, 250], [300, 100], [300, 100], [240, 250], [120, 200]], "wed": [[390, 200], [90, 250], [300, 100], [300, 100], [240, 250], [120, 200]], "tue": [[390, 200], [90, 250], [300, 100], [300, 100], [240, 250], [120, 200]], "mon": [[390, 200], [90, 250], [300, 100], [300, 100], [240, 250], [120, 200]], "sat": [[390, 200], [90, 250], [300, 250], [300, 100], [240, 250], [120, 200]], "channel": 0, "thu": [[390, 200], [90, 250], [300, 100], [300, 100], [240, 250], [120, 200]], "sun": [[390, 200], [90, 250], [300, 250], [300, 200], [240, 250], [120, 200]], "section": 8}]}
2023/11/19 - 13:42:58       auto    LOG WARNING Mts200Climate(climate.test_meross_mts200_thermostat) handler undefined for payload:({'fri': [[390, 200], [90, 250], [300, 100], [300, 100], [240, 250], [120, 200]], 'wed': [[390, 200], [90, 250], [300, 100], [300, 100], [240, 250], [120, 200]], 'tue': [[390, 200], [90, 250], [300, 100], [300, 100], [240, 250], [120, 200]], 'mon': [[390, 200], [90, 250], [300, 100], [300, 100], [240, 250], [120, 200]], 'sat': [[390, 200], [90, 250], [300, 250], [300, 100], [240, 250], [120, 200]], 'channel': 0, 'thu': [[390, 200], [90, 250], [300, 100], [300, 100], [240, 250], [120, 200]], 'sun': [[390, 200], [90, 250], [300, 250], [300, 200], [240, 250], [120, 200]], 'section': 8})
2023/11/19 - 13:42:59   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"state": 1, "mode": 3, "min": 50, "manualTemp": 350, "ecoTemp": 225, "currentTemp": 244, "max": 350, "lmTime": 1700394178, "channel": 0, "onoff": 1, "warning": 0, "targetTemp": 200, "heatTemp": 245, "coolTemp": 175}]}
2023/11/19 - 13:43:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:43:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:43:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:43:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:44:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:44:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:44:14   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"targetTemp": 350, "mode": 4, "manualTemp": 350, "channel": 0, "min": 50, "heatTemp": 245, "onoff": 1, "lmTime": 1700394253, "warning": 0, "state": 1, "max": 350, "ecoTemp": 225, "currentTemp": 244, "coolTemp": 175}]}
2023/11/19 - 13:44:27   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"status": 0, "lmTime": 1700394266, "detect": 1, "channel": 0}]}
2023/11/19 - 13:44:28   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"state": 0, "lmTime": 1700394266, "coolTemp": 175, "currentTemp": 243, "channel": 0, "targetTemp": 350, "min": 50, "manualTemp": 350, "ecoTemp": 225, "warning": 0, "onoff": 1, "mode": 4, "max": 350, "heatTemp": 245}]}
2023/11/19 - 13:44:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:44:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:45:00   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"targetTemp": 350, "mode": 4, "min": 50, "coolTemp": 180, "channel": 0, "max": 350, "lmTime": 1700394299, "currentTemp": 243, "ecoTemp": 225, "warning": 0, "state": 0, "onoff": 1, "manualTemp": 350, "heatTemp": 225}]}
2023/11/19 - 13:45:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:45:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:45:06   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"status": 0, "lmTime": 1700394306, "detect": 1, "channel": 0}]}
2023/11/19 - 13:45:07   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"warning": 0, "onoff": 1, "min": 50, "max": 350, "lmTime": 1700394306, "manualTemp": 350, "heatTemp": 225, "ecoTemp": 120, "coolTemp": 180, "targetTemp": 350, "channel": 0, "state": 1, "mode": 4, "currentTemp": 243}]}
2023/11/19 - 13:45:23   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"manualTemp": 350, "currentTemp": 243, "mode": 4, "max": 350, "ecoTemp": 120, "channel": 0, "onoff": 1, "min": 50, "lmTime": 1700394322, "coolTemp": 175, "targetTemp": 350, "state": 1, "warning": 0, "heatTemp": 245}]}
2023/11/19 - 13:45:30   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"status": 0, "lmTime": 1700394329, "detect": 1, "channel": 0}]}
2023/11/19 - 13:45:31   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"manualTemp": 350, "lmTime": 1700394329, "max": 350, "ecoTemp": 225, "currentTemp": 243, "mode": 4, "min": 50, "heatTemp": 245, "channel": 0, "warning": 0, "targetTemp": 350, "state": 0, "onoff": 1, "coolTemp": 175}]}
2023/11/19 - 13:45:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:45:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:45:46   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"channel": 0, "manualTemp": 280, "lmTime": 1700394343, "heatTemp": 245, "ecoTemp": 225, "state": 0, "onoff": 1, "mode": 4, "min": 50, "currentTemp": 243, "coolTemp": 175, "warning": 0, "max": 350, "targetTemp": 280}]}
2023/11/19 - 13:46:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:46:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:46:09   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"targetTemp": 245, "currentTemp": 243, "channel": 0, "mode": 0, "min": 50, "coolTemp": 175, "manualTemp": 280, "ecoTemp": 225, "max": 350, "lmTime": 1700394368, "heatTemp": 245, "warning": 0, "state": 0, "onoff": 1}]}
2023/11/19 - 13:46:18   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"targetTemp": 250, "min": 50, "heatTemp": 245, "currentTemp": 243, "coolTemp": 175, "manualTemp": 250, "lmTime": 1700394377, "ecoTemp": 225, "warning": 0, "state": 0, "onoff": 1, "mode": 4, "max": 350, "channel": 0}]}
2023/11/19 - 13:46:20   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"min": 50, "max": 350, "lmTime": 1700394379, "state": 0, "mode": 4, "heatTemp": 245, "ecoTemp": 225, "channel": 0, "warning": 0, "targetTemp": 255, "manualTemp": 255, "onoff": 1, "currentTemp": 243, "coolTemp": 175}]}
2023/11/19 - 13:46:23   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"onoff": 1, "currentTemp": 243, "warning": 0, "targetTemp": 250, "lmTime": 1700394382, "coolTemp": 175, "mode": 4, "heatTemp": 245, "state": 0, "min": 50, "max": 350, "manualTemp": 250, "ecoTemp": 225, "channel": 0}]}
2023/11/19 - 13:46:27   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"state": 0, "onoff": 1, "lmTime": 1700394386, "channel": 0, "targetTemp": 270, "coolTemp": 175, "min": 50, "manualTemp": 270, "heatTemp": 245, "ecoTemp": 225, "warning": 0, "max": 350, "currentTemp": 243, "mode": 4}]}
2023/11/19 - 13:46:29   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"heatTemp": 245, "state": 0, "max": 350, "lmTime": 1700394388, "warning": 0, "min": 50, "manualTemp": 270, "ecoTemp": 225, "currentTemp": 243, "channel": 0, "targetTemp": 270, "onoff": 1, "mode": 4, "coolTemp": 175}]}
2023/11/19 - 13:46:35       auto    LOG DEBUG   polling start
2023/11/19 - 13:46:35       auto    LOG DEBUG   polling end
2023/11/19 - 13:47:05       auto    LOG DEBUG   polling start
2023/11/19 - 13:47:05       auto    LOG DEBUG   polling end
2023/11/19 - 13:47:06   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"heatTemp": 245, "coolTemp": 175, "min": 50, "manualTemp": 270, "warning": 0, "state": 0, "max": 350, "currentTemp": 243, "channel": 0, "targetTemp": 175, "onoff": 1, "mode": 1, "lmTime": 1700394426, "ecoTemp": 225}]}
2023/11/19 - 13:47:20   RX  mqtt    PUSH    Appliance.Control.Thermostat.Mode   {"mode": [{"manualTemp": 270, "coolTemp": 175, "warning": 0, "min": 50, "max": 350, "lmTime": 1700394439, "onoff": 1, "state": 1, "currentTemp": 243, "targetTemp": 175, "heatTemp": 245, "ecoTemp": 225, "channel": 0, "mode": 1}]}
2023/11/19 - 13:47:21   RX  mqtt    PUSH    Appliance.Control.Thermostat.WindowOpened   {"windowOpened": [{"channel": 0, "status": 0, "lmTime": 1700394439, "detect": 1}]}
2023/11/19 - 13:47:35       auto    LOG DEBUG   polling start
krahabb commented 10 months ago

Waiting for summer usage to see if the implementation works. Closing as fixed as of now

paulius2k commented 9 months ago

So has anyone managed to make the summer mode work on their MTS200? Please share, thanks.

franele commented 9 months ago

The implementation works perfectly, it is necessary to update HA to version 2023.12 to update the thermostat card image

image

paulius2k commented 9 months ago

@franele thank you. I see those options in the card as well. My problem is that if I set it to cooling mode, it does not turn on the relay, like in my example: setpoint is set to 19.5C, the room temperature is 23.5C - so it should turn on the relay to cool down the room, but it stays "idle". Does such scenario work in your case?

paulius2k commented 9 months ago

Hi @franele - could you advise how / if you are able to make my described scenario work? Thanks.