From 266419e3a9a0a16148669150b2f926d55ac562d2 Mon Sep 17 00:00:00 2001 From: sususweet Date: Thu, 27 Nov 2025 21:39:07 +0800 Subject: [PATCH] refactor: remove inner number type conversion in attr `calculate`. --- custom_components/midea_auto_cloud/core/device.py | 4 ++-- custom_components/midea_auto_cloud/data_coordinator.py | 2 +- custom_components/midea_auto_cloud/device_mapping/T0xB6.py | 2 +- custom_components/midea_auto_cloud/device_mapping/T0xCD.py | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/custom_components/midea_auto_cloud/core/device.py b/custom_components/midea_auto_cloud/core/device.py index 5f24cd8..46ed74d 100644 --- a/custom_components/midea_auto_cloud/core/device.py +++ b/custom_components/midea_auto_cloud/core/device.py @@ -341,11 +341,11 @@ class MiedaDevice(threading.Thread): if calculate: calculate_str1 = \ (f"{lvalue.replace('[', 'self._attributes[').replace("]", "\"]")} = " - f"{rvalue.replace('[', 'float(self._attributes[').replace(']', "\"])")}") \ + f"{rvalue.replace('[', 'self._attributes[').replace(']', "\"]")}") \ .replace("[", "[\"") calculate_str2 = \ (f"{lvalue.replace('[', 'new_status[').replace("]", "\"]")} = " - f"{rvalue.replace('[', 'float(self._attributes[').replace(']', "\"])")}") \ + f"{rvalue.replace('[', 'self._attributes[').replace(']', "\"]")}") \ .replace("[", "[\"") try: exec(calculate_str1) diff --git a/custom_components/midea_auto_cloud/data_coordinator.py b/custom_components/midea_auto_cloud/data_coordinator.py index e317573..90ef2de 100644 --- a/custom_components/midea_auto_cloud/data_coordinator.py +++ b/custom_components/midea_auto_cloud/data_coordinator.py @@ -205,7 +205,7 @@ class MideaDataUpdateCoordinator(DataUpdateCoordinator[MideaDeviceData]): if calculate: calculate_str1 = \ (f"{lvalue.replace('[', 'attributes[').replace("]", "\"]")} = " - f"{rvalue.replace('[', 'float(attributes[').replace(']', "\"])")}") \ + f"{rvalue.replace('[', 'attributes[').replace(']', "\"]")}") \ .replace("[", "[\"") try: exec(calculate_str1) diff --git a/custom_components/midea_auto_cloud/device_mapping/T0xB6.py b/custom_components/midea_auto_cloud/device_mapping/T0xB6.py index cafc49d..a23c872 100644 --- a/custom_components/midea_auto_cloud/device_mapping/T0xB6.py +++ b/custom_components/midea_auto_cloud/device_mapping/T0xB6.py @@ -11,7 +11,7 @@ DEVICE_MAPPING = { "get": [ { "lvalue": "[b7_vbattery]", - "rvalue": "[b7_vbatt] / 1000.0" + "rvalue": "float([b7_vbatt] / 1000.0)" }, ], }, diff --git a/custom_components/midea_auto_cloud/device_mapping/T0xCD.py b/custom_components/midea_auto_cloud/device_mapping/T0xCD.py index e483c9c..11ef931 100644 --- a/custom_components/midea_auto_cloud/device_mapping/T0xCD.py +++ b/custom_components/midea_auto_cloud/device_mapping/T0xCD.py @@ -12,17 +12,17 @@ DEVICE_MAPPING = { "get": [ { "lvalue": "[temperature]", - "rvalue": "([set_temperature] - 106) / 74 * 37 + 38" + "rvalue": "float(([set_temperature] - 106) / 74 * 37 + 38)" }, { "lvalue": "[cur_temperature]", - "rvalue": "([water_box_temperature] - 106) / 74 * 37 + 38" + "rvalue": "float(([water_box_temperature] - 106) / 74 * 37 + 38)" } ], "set": [ { "lvalue": "[set_temperature]", - "rvalue": "([temperature] - 38) / 37 * 74 + 106" + "rvalue": "float(([temperature] - 38) / 37 * 74 + 106)" }, ] },