nbogojevic / homeassistant-midea-air-appliances-lan

This Home Assistant custom component adding support for controlling Midea air conditioners and dehumidifiers on local network.
MIT License
292 stars 31 forks source link

Protocol v2 support - (Inventor EVA II PRO EP3-WiFi20L supported?) #10

Closed PskNorz closed 2 years ago

PskNorz commented 2 years ago

Hello

Does Inventor EVA II PRO EP3-WiFi20L supported?

nbogojevic commented 2 years ago

Hi @PskNorz, if it is running firmware v3 or later it should work (e.g. v3.0.8). For previous versions, not at the moment. I'm working on adding v2 support, but I can't test it as all my devices are v3.

kskarlatos commented 2 years ago

Hi there, i seem to have a dehumidifier with a version 2 firmware, so i can help with testing. I also commented here https://github.com/nbogojevic/midea-beautiful-dehumidifier/issues/1#issuecomment-1001249715

nbogojevic commented 2 years ago

@kskarlatos version 0.4.1 should have initial support for v2. As I can't test it, I'd appreciate any feedback.

kskarlatos commented 2 years ago

Hi @nbogojevic , thanks for the update. it Failed to set up. here are some logs:

`This error originated from a custom integration.

Logger: custom_components.midea_dehumidifier_lan Source: custom_components/midea_dehumidifier_lan/init.py:99 Integration: Midea Dehumidifier (LAN) (documentation, issues) First occurred: 18:07:00 (1 occurrences) Last logged: 18:07:00

Appliance Dehumidifier15AF has no token, trying to get it from Midea cloud API `

`This error originated from a custom integration.

Logger: homeassistant.config_entries Source: custom_components/midea_dehumidifier_lan/init.py:118 Integration: Midea Dehumidifier (LAN) (documentation, issues) First occurred: 18:07:01 (1 occurrences) Last logged: 18:07:01

Error setting up entry Midea Dehumidifiers for midea_dehumidifier_lan Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 313, in async_setup result = await component.async_setup_entry(hass, self) # type: ignore File "/config/custom_components/midea_dehumidifier_lan/init.py", line 56, in async_setup_entry await hub.start(hass, entry) File "/config/custom_components/midea_dehumidifier_lan/init.py", line 118, in start appliance = await hass.async_add_executor_job( File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.9/site-packages/midea_beautiful_dehumidifier/init.py", line 79, in appliance_state return get_appliance_state( File "/usr/local/lib/python3.9/site-packages/midea_beautiful_dehumidifier/lan.py", line 784, in get_appliance_state raise MideaError("Missing cloud credentials") midea_beautiful_dehumidifier.exceptions.MideaError: Missing cloud credentials `

nbogojevic commented 2 years ago

thanks @kskarlatos

could you get debug logs for the library via configuration.yaml, and then set-up integration again it may help diagnose the problem

# ...
logger:
  # ... your regular logger conf
  logs:
    custom_components.midea_dehumidifier_lan: debug
    midea_beautiful_dehumidifier: debug
# ...
kskarlatos commented 2 years ago

Here are some logs:

2021-12-28 19:25:43 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [139803220902912] Received {'type': 'frontend/get_translations', 'language': 'en', 'category': 'config', 'integration': 'midea_dehumidifier_lan', 'id': 54}
2021-12-28 19:25:43 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [139803220902912] Received {'type': 'frontend/get_translations', 'language': 'en', 'category': 'title', 'integration': 'midea_dehumidifier_lan', 'id': 55}
2021-12-28 19:25:43 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [139803220902912] Sending {"id": 54, "type": "result", "success": true, "result": {"resources": {"component.midea_dehumidifier_lan.config.step.user.data.username": "Account", "component.midea_dehumidifier_lan.config.step.user.data.password": "Password", "component.midea_dehumidifier_lan.config.step.user.data.mobile_app": "Mobile app", "component.midea_dehumidifier_lan.config.step.user.data.advanced_options": "Advanced options", "component.midea_dehumidifier_lan.config.step.user.description": "Please enter username and password that you use to connect with the selected Midea mobile application.", "component.midea_dehumidifier_lan.config.step.user.title": "Sign-in with Midea app account", "component.midea_dehumidifier_lan.config.step.advanced_options.data.username": "Account", "component.midea_dehumidifier_lan.config.step.advanced_options.data.password": "Password", "component.midea_dehumidifier_lan.config.step.advanced_options.data.appkey": "Mobile app key", "component.midea_dehumidifier_lan.config.step.advanced_options.data.appid": "Mobile app id", "component.midea_dehumidifier_lan.config.step.advanced_options.data.network_range": "Appliance address or network range", "component.midea_dehumidifier_lan.config.step.advanced_options.data.use_cloud": "Use cloud API to poll devices", "component.midea_dehumidifier_lan.config.step.advanced_options.description": "You can provide specific Midea mobile app key and app id if the default ones don't work.\n\nYou can also specify network address (e.g. 192.0.1.2) or range (e.g. 192.0.3.4/24) to search for specific appliance(s) if regular discovery doesn't work.", "component.midea_dehumidifier_lan.config.step.advanced_options.title": "Advanced options", "component.midea_dehumidifier_lan.config.step.unreachable_appliance.data.ip_address": "IPv4 address", "component.midea_dehumidifier_lan.config.step.unreachable_appliance.data.name": "Device name", "component.midea_dehumidifier_lan.config.step.unreachable_appliance.data.token": "Token", "component.midea_dehumidifier_lan.config.step.unreachable_appliance.data.token_key": "Token key", "component.midea_dehumidifier_lan.config.step.unreachable_appliance.data.ignore_appliance": "Ignore this appliance", "component.midea_dehumidifier_lan.config.step.unreachable_appliance.data.use_cloud": "Use cloud API to poll this device", "component.midea_dehumidifier_lan.config.step.unreachable_appliance.description": "We were unable to discover an appliance called {name} with the id {id} on the local network.\n\nIf you know appliance's IPv4 address, please enter it below to add it to Home Assistant.\n\nYou can also provide token and key if you have them. If not, we will obtain them from Midea cloud.", "component.midea_dehumidifier_lan.config.step.unreachable_appliance.title": "Appliance IPv4 address is missing", "component.midea_dehumidifier_lan.config.step.reauth_confirm.data.username": "Account", "component.midea_dehumidifier_lan.config.step.reauth_confirm.data.password": "Password", "component.midea_dehumidifier_lan.config.step.reauth_confirm.data.appkey": "Mobile app key", "component.midea_dehumidifier_lan.config.step.reauth_confirm.data.appid": "Mobile app id", "component.midea_dehumidifier_lan.config.step.reauth_confirm.data.network_range": "Appliance address or network range", "component.midea_dehumidifier_lan.config.step.reauth_confirm.title": "[%key:common::config_flow::title::reauth%]", "component.midea_dehumidifier_lan.config.step.reauth_confirm.description": "The Midea dehumidifier (LAN) integration needs to re-authenticate your account", "component.midea_dehumidifier_lan.config.error.cannot_connect": "Unnable to connect to appliance ({cause}).", "component.midea_dehumidifier_lan.config.error.connection_error": "Connection error ({cause}).", "component.midea_dehumidifier_lan.config.error.invalid_app_name": "Unsupported application name ({cause}). See log for more information.", "component.midea_dehumidifier_lan.config.error.invalid_appkey": "Please provide Midea mobile app key and app id", "component.midea_dehumidifier_lan.config.error.invalid_auth": "Invalid username or password ({cause})", "component.midea_dehumidifier_lan.config.error.invalid_ip_address": "Invalid IPv4 address ({cause}), please enter a valid IPv4 address (e.g. 192.0.1.2)", "component.midea_dehumidifier_lan.config.error.invalid_ip_range": "Invalid IPv4 network address or network range ({cause}). Expected formats are 192.0.1.2 or 192.0.3.4/24", "component.midea_dehumidifier_lan.config.error.invalid_state": "Unexpected state of configuration flow. See log for more information.", "component.midea_dehumidifier_lan.config.error.no_cloud": "Unable to connect to Midea cloud API", "component.midea_dehumidifier_lan.config.error.not_discovered": "Unable to find appliance at specified IPv4 address.", "component.midea_dehumidifier_lan.config.error.unknown": "An unknown error has occurred. See log for more information.", "component.midea_dehumidifier_lan.config.abort.single_instance_allowed": "Already defined a Midea app account. Only a single account is supported for Midea dehumidifier (LAN).", "component.midea_dehumidifier_lan.config.abort.reauth_successful": "Re-authentication was successful"}}}
2021-12-28 19:25:43 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [139803220902912] Sending {"id": 55, "type": "result", "success": true, "result": {"resources": {"component.midea_dehumidifier_lan.title": "Midea Dehumidifier (LAN)"}}}
2021-12-28 19:25:59 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.scanner] Library version=0.5.1
2021-12-28 19:25:59 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.scanner] Network 192.168.101.13, broadcast address 192.168.101.13
2021-12-28 19:25:59 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.scanner] Scanning for midea dehumidifier appliances via ['192.168.101.13']
2021-12-28 19:25:59 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.scanner] Starting LAN discovery
2021-12-28 19:26:00 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.cloud] Midea home group query result={'list': [{'number': '205890', 'isDefault': '1', 'createUserId': '205890', 'des': '', 'address': '', 'coordinate': '', 'createTime': '2017-01-31 10:07:59', 'roleId': '1001', 'name': '', 'nickname': '', 'id': '205890'}]}
2021-12-28 19:26:00 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.cloud] Midea appliance list results=[{'masterId': '', 'des': '', 'activeStatus': '1', 'onlineStatus': '1', 'name': 'Dehumidifier15AF', 'modelNumber': '0', 'id': '18691697700532', 'sn': '55b2b0c189476448390441f9ddefc35f737ade2c80a90e3ee2e6d18ad2cf9761ee50ea1376d1e12e962aa03c94e5a1ac', 'type': '0xA1', 'tsn': '', 'mac': ''}, {'masterId': '', 'des': '', 'activeStatus': '1', 'onlineStatus': '1', 'name': 'Ν. υπνοδωμάτιο', 'modelNumber': '0', 'id': '16492674462341', 'sn': '55b2b0c189476448390441f9ddefc35fcc29908394cbf2a7bffd0063c9043665ee50ea1376d1e12e962aa03c94e5a1ac', 'type': '0xAC', 'tsn': '', 'mac': ''}]
2021-12-28 19:26:00 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.scanner] Broadcast attempt 1 of max 2
2021-12-28 19:26:00 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.scanner] Broadcasting to 192.168.101.13
2021-12-28 19:26:00 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.lan] Descriptor data from id=18691697700532 ip=192.168.101.13:6444 version=2: {id=18691697700532, ip=192.168.101.13, port=6444, version=2, name=18691697700532, online=True, type=a1, subtype=0, flags=0, extra=0, reserved=0, mac=F0C9D14315AF0000, ssid=net_a1_15AF, udp_version=0, protocol=None, version=None, sn=000000P0000000Q1F0C9D14315AF0000, state=[Dehumidifier]{id=18691697700532, type=a1, mode=0, running=False, target_humidity=50, fan_speed=40, tank_full=False current_humidity=45, current_temperature=0 error_code=0}}
2021-12-28 19:26:03 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.scanner] Finished broadcast collection
2021-12-28 19:26:03 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.lan] Attempting new connection to id=18691697700532 ip=192.168.101.13:6444 version=2
2021-12-28 19:26:05 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.appliance] Decoded response {'is_on': False, 'fault': 0, 'run_status': 0, 'i_mode': 0, 'timing_mode': 0, 'quick_check': 0, 'mode': 1, 'mode_fc': 160, 'fan_speed': 0, '_on_timer_value': 0, '_on_timer_minutes': 0, '_off_timer_value': 0, '_off_timer_minutes': 0, 'target_humidity': 0.1875, 'filter_indicator': False, 'ion_mode': False, 'sleep_switch': False, 'pump_switch': False, 'defrosting': False, 'tank_full': False, 'current_humidity': 0.0, 'indoor_temperature': -7.0, 'err_code': 0}
2021-12-28 19:26:05 DEBUG (SyncWorker_3) [midea_beautiful_dehumidifier.lan] Appliance data: {id=18691697700532, ip=192.168.101.13, port=6444, version=2, name=18691697700532, online=True, type=a1, subtype=0, flags=0, extra=0, reserved=0, mac=F0C9D14315AF0000, ssid=net_a1_15AF, udp_version=0, protocol=None, version=None, sn=000000P0000000Q1F0C9D14315AF0000, state=[Dehumidifier]{id=18691697700532, type=a1, mode=1, running=False, target_humidity=0, fan_speed=0, tank_full=False current_humidity=0, current_temperature=-7.0 error_code=0}}
2021-12-28 19:26:05 INFO (SyncWorker_3) [midea_beautiful_dehumidifier.scanner] Found appliance id=18691697700532 ip=192.168.101.13:6444 version=2
2021-12-28 19:26:05 INFO (SyncWorker_3) [midea_beautiful_dehumidifier.scanner] Found 1 of 1 appliance(s)
2021-12-28 19:26:05 DEBUG (MainThread) [custom_components.midea_dehumidifier_lan] devconf: {'username': '<redacted>', 'password': '<redacted>', 'mobile_app': 'NetHome Plus', 'advanced_options': True, 'use_cloud': False, 'appkey': '3742e9e5842d4ad59c2db887e12449f9', 'appid': 1017, 'network_range': '192.168.101.13', 'devices': [{'ip_address': '192.168.101.13', 'id': '18691697700532', 'name': 'Dehumidifier15AF', 'type': 'a1', 'token': '', 'token_key': '', 'use_cloud': False}]}
2021-12-28 19:26:05 DEBUG (MainThread) [custom_components.midea_dehumidifier_lan] devconf: {'ip_address': '192.168.101.13', 'id': '18691697700532', 'name': 'Dehumidifier15AF', 'type': 'a1', 'token': '', 'token_key': '', 'use_cloud': False}
2021-12-28 19:26:05 WARNING (MainThread) [custom_components.midea_dehumidifier_lan] Appliance Dehumidifier15AF has no token, trying to get it from Midea cloud API
2021-12-28 19:26:06 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Midea Dehumidifiers for midea_dehumidifier_lan
  File "/config/custom_components/midea_dehumidifier_lan/__init__.py", line 56, in async_setup_entry
  File "/config/custom_components/midea_dehumidifier_lan/__init__.py", line 118, in start
  File "/usr/local/lib/python3.9/site-packages/midea_beautiful_dehumidifier/__init__.py", line 79, in appliance_state
  File "/usr/local/lib/python3.9/site-packages/midea_beautiful_dehumidifier/lan.py", line 784, in get_appliance_state
midea_beautiful_dehumidifier.exceptions.MideaError: Missing cloud credentials
2021-12-28 19:26:08 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [139803220902912] Sending {"id": 59, "type": "result", "success": true, "result": [{"domain": "webhook", "name": "Webhook", "documentation": "https://www.home-assistant.io/integrations/webhook", "dependencies": ["http"], "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "trace", "name": "Trace", "documentation": "https://www.home-assistant.io/integrations/automation", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "binary_sensor", "name": "Binary Sensor", "documentation": "https://www.home-assistant.io/integrations/binary_sensor", "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "onboarding", "name": "Home Assistant Onboarding", "documentation": "https://www.home-assistant.io/integrations/onboarding", "after_dependencies": ["hassio"], "dependencies": ["analytics", "auth", "http", "person"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "scene", "name": "Scenes", "documentation": "https://www.home-assistant.io/integrations/scene", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "http", "name": "HTTP", "documentation": "https://www.home-assistant.io/integrations/http", "requirements": ["aiohttp_cors==0.7.0"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "iot_class": "local_push", "is_built_in": true}, {"domain": "gree", "name": "Gree Climate", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/gree", "requirements": ["greeclimate==0.12.5"], "codeowners": ["@cmroche"], "iot_class": "local_polling", "is_built_in": true}, {"domain": "config", "name": "Configuration", "documentation": "https://www.home-assistant.io/integrations/config", "dependencies": ["http"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "device_automation", "name": "Device Automation", "documentation": "https://www.home-assistant.io/integrations/device_automation", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "analytics", "name": "Analytics", "documentation": "https://www.home-assistant.io/integrations/analytics", "codeowners": ["@home-assistant/core", "@ludeeus"], "dependencies": ["api", "websocket_api"], "after_dependencies": ["energy"], "quality_scale": "internal", "iot_class": "cloud_push", "is_built_in": true}, {"domain": "wake_on_lan", "name": "Wake on LAN", "documentation": "https://www.home-assistant.io/integrations/wake_on_lan", "requirements": ["wakeonlan==2.0.1"], "codeowners": ["@ntilley905"], "iot_class": "local_push", "is_built_in": true}, {"domain": "zeroconf", "name": "Zero-configuration networking (zeroconf)", "documentation": "https://www.home-assistant.io/integrations/zeroconf", "requirements": ["zeroconf==0.38.1"], "dependencies": ["network", "api"], "codeowners": ["@bdraco"], "quality_scale": "internal", "iot_class": "local_push", "is_built_in": true}, {"domain": "cloud", "name": "Home Assistant Cloud", "documentation": "https://www.home-assistant.io/integrations/cloud", "requirements": ["hass-nabucasa==0.50.0"], "dependencies": ["http", "webhook"], "after_dependencies": ["google_assistant", "alexa"], "codeowners": ["@home-assistant/cloud"], "iot_class": "cloud_push", "is_built_in": true}, {"domain": "input_select", "name": "Input Select", "documentation": "https://www.home-assistant.io/integrations/input_select", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "home_connect", "name": "Home Connect", "documentation": "https://www.home-assistant.io/integrations/home_connect", "dependencies": ["http"], "codeowners": ["@DavidMStraub"], "requirements": ["homeconnect==0.6.3"], "config_flow": true, "iot_class": "cloud_push", "is_built_in": true}, {"domain": "light", "name": "Light", "documentation": "https://www.home-assistant.io/integrations/light", "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "stream", "name": "Stream", "documentation": "https://www.home-assistant.io/integrations/stream", "requirements": ["ha-av==8.0.4-rc.1"], "dependencies": ["http"], "codeowners": ["@hunterjm", "@uvjustin", "@allenporter"], "quality_scale": "internal", "iot_class": "local_push", "is_built_in": true}, {"domain": "person", "name": "Person", "documentation": "https://www.home-assistant.io/integrations/person", "dependencies": ["image"], "after_dependencies": ["device_tracker"], "codeowners": [], "quality_scale": "internal", "iot_class": "calculated", "is_built_in": true}, {"domain": "filter", "name": "Filter", "documentation": "https://www.home-assistant.io/integrations/filter", "dependencies": ["recorder"], "codeowners": ["@dgomes"], "quality_scale": "internal", "iot_class": "local_push", "is_built_in": true}, {"domain": "water_heater", "name": "Water Heater", "documentation": "https://www.home-assistant.io/integrations/water_heater", "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "climate", "name": "Climate", "documentation": "https://www.home-assistant.io/integrations/climate", "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "notify", "name": "Notifications", "documentation": "https://www.home-assistant.io/integrations/notify", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "history", "name": "History", "documentation": "https://www.home-assistant.io/integrations/history", "dependencies": ["http", "recorder"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "dhcp", "name": "DHCP Discovery", "documentation": "https://www.home-assistant.io/integrations/dhcp", "requirements": ["scapy==2.4.5", "aiodiscover==1.4.5"], "codeowners": ["@bdraco"], "quality_scale": "internal", "iot_class": "local_push", "is_built_in": true}, {"domain": "workday", "name": "Workday", "documentation": "https://www.home-assistant.io/integrations/workday", "requirements": ["holidays==0.11.3.1"], "codeowners": ["@fabaff"], "quality_scale": "internal", "iot_class": "local_polling", "is_built_in": true}, {"domain": "command_line", "name": "Command Line", "documentation": "https://www.home-assistant.io/integrations/command_line", "codeowners": [], "iot_class": "local_polling", "is_built_in": true}, {"domain": "logger", "name": "Logger", "documentation": "https://www.home-assistant.io/integrations/logger", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "sensor", "name": "Sensor", "documentation": "https://www.home-assistant.io/integrations/sensor", "codeowners": [], "quality_scale": "internal", "after_dependencies": ["recorder"], "is_built_in": true}, {"domain": "frontend", "name": "Home Assistant Frontend", "documentation": "https://www.home-assistant.io/integrations/frontend", "requirements": ["home-assistant-frontend==20211227.0"], "dependencies": ["api", "auth", "config", "device_automation", "http", "lovelace", "onboarding", "search", "system_log", "websocket_api"], "codeowners": ["@home-assistant/frontend"], "quality_scale": "internal", "is_built_in": true}, {"domain": "api", "name": "Home Assistant API", "documentation": "https://www.home-assistant.io/integrations/api", "dependencies": ["http"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "usb", "name": "USB Discovery", "documentation": "https://www.home-assistant.io/integrations/usb", "requirements": ["pyudev==0.22.0", "pyserial==3.5"], "codeowners": ["@bdraco"], "dependencies": ["websocket_api"], "quality_scale": "internal", "iot_class": "local_push", "is_built_in": true}, {"domain": "energy", "name": "Energy", "documentation": "https://www.home-assistant.io/integrations/energy", "codeowners": ["@home-assistant/core"], "iot_class": "calculated", "dependencies": ["websocket_api", "history", "recorder"], "quality_scale": "internal", "is_built_in": true}, {"domain": "template", "name": "Template", "documentation": "https://www.home-assistant.io/integrations/template", "codeowners": ["@PhracturedBlue", "@tetienne", "@home-assistant/core"], "quality_scale": "internal", "after_dependencies": ["group"], "iot_class": "local_push", "is_built_in": true}, {"domain": "homeassistant", "name": "Home Assistant Core Integration", "documentation": "https://www.home-assistant.io/integrations/homeassistant", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "mqtt", "name": "MQTT", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/mqtt", "requirements": ["paho-mqtt==1.6.1"], "dependencies": ["http"], "codeowners": ["@emontnemery"], "iot_class": "local_push", "is_built_in": true}, {"domain": "media_source", "name": "Media Source", "documentation": "https://www.home-assistant.io/integrations/media_source", "dependencies": ["http"], "codeowners": ["@hunterjm"], "quality_scale": "internal", "is_built_in": true}, {"domain": "met", "name": "Meteorologisk institutt (Met.no)", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/met", "requirements": ["pyMetno==0.9.0"], "codeowners": ["@danielhiversen", "@thimic"], "iot_class": "cloud_polling", "is_built_in": true}, {"domain": "mobile_app", "name": "Mobile App", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/mobile_app", "requirements": ["PyNaCl==1.4.0", "emoji==1.5.0"], "dependencies": ["http", "webhook", "person", "tag", "websocket_api"], "after_dependencies": ["cloud", "camera", "notify"], "codeowners": ["@robbiet480"], "quality_scale": "internal", "iot_class": "local_push", "is_built_in": true}, {"domain": "recorder", "name": "Recorder", "documentation": "https://www.home-assistant.io/integrations/recorder", "requirements": ["sqlalchemy==1.4.27"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "iot_class": "local_push", "is_built_in": true}, {"domain": "lovelace", "name": "Lovelace", "documentation": "https://www.home-assistant.io/integrations/lovelace", "codeowners": ["@home-assistant/frontend"], "is_built_in": true}, {"domain": "device_tracker", "name": "Device Tracker", "documentation": "https://www.home-assistant.io/integrations/device_tracker", "dependencies": ["zone"], "after_dependencies": [], "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "blueprint", "name": "Blueprint", "documentation": "https://www.home-assistant.io/integrations/blueprint", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "epson", "name": "Epson", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/epson", "requirements": ["epson-projector==0.4.2"], "codeowners": ["@pszafer"], "iot_class": "local_polling", "is_built_in": true}, {"domain": "search", "name": "Search", "documentation": "https://www.home-assistant.io/integrations/search", "dependencies": ["websocket_api"], "after_dependencies": ["scene", "group", "automation", "script"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "default_config", "name": "Default Config", "documentation": "https://www.home-assistant.io/integrations/default_config", "dependencies": ["automation", "cloud", "counter", "dhcp", "energy", "frontend", "history", "input_boolean", "input_datetime", "input_number", "input_select", "input_text", "logbook", "map", "media_source", "mobile_app", "my", "network", "person", "scene", "script", "ssdp", "sun", "system_health", "tag", "timer", "usb", "updater", "webhook", "zeroconf", "zone"], "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "midea_dehumidifier_lan", "name": "Midea Dehumidifier (LAN)", "version": "0.4.1", "config_flow": true, "documentation": "https://github.com/nbogojevic/homeassistant-midea-dehumidifier-lan/blob/main/README.md", "issue_tracker": "https://github.com/nbogojevic/homeassistant-midea-dehumidifier-lan/issues", "codeowners": ["@nbogojevic"], "requirements": ["midea-beautiful-dehumidifier==0.5.1"], "iot_class": "local_polling", "is_built_in": false}, {"domain": "scheduler", "name": "Scheduler integration", "documentation": "https://github.com/nielsfaber/scheduler-component", "issue_tracker": "https://github.com/nielsfaber/scheduler-component/issues", "version": "v0.0.0", "dependencies": ["http"], "codeowners": ["@nielsfaber"], "requirements": [], "config_flow": true, "iot_class": "local_push", "is_built_in": false}, {"domain": "persistent_notification", "name": "Persistent Notification", "documentation": "https://www.home-assistant.io/integrations/persistent_notification", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "iot_class": "local_push", "is_built_in": true}, {"domain": "melcloud", "name": "MELCloud", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/melcloud", "requirements": ["pymelcloud==2.5.6"], "codeowners": ["@vilppuvuorinen"], "iot_class": "cloud_polling", "is_built_in": true}, {"domain": "fan", "name": "Fan", "documentation": "https://www.home-assistant.io/integrations/fan", "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "input_text", "name": "Input Text", "documentation": "https://www.home-assistant.io/integrations/input_text", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "script", "name": "Scripts", "documentation": "https://www.home-assistant.io/integrations/script", "dependencies": ["blueprint", "trace"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "hassio", "name": "Home Assistant Supervisor", "documentation": "https://www.home-assistant.io/integrations/hassio", "dependencies": ["http"], "after_dependencies": ["panel_custom"], "codeowners": ["@home-assistant/supervisor"], "iot_class": "local_polling", "quality_scale": "internal", "is_built_in": true}, {"domain": "input_datetime", "name": "Input Datetime", "documentation": "https://www.home-assistant.io/integrations/input_datetime", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "sun", "name": "Sun", "documentation": "https://www.home-assistant.io/integrations/sun", "codeowners": ["@Swamp-Ig"], "quality_scale": "internal", "iot_class": "calculated", "is_built_in": true}, {"domain": "image", "name": "Image", "config_flow": false, "documentation": "https://www.home-assistant.io/integrations/image", "requirements": ["pillow==8.2.0"], "dependencies": ["http"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "input_boolean", "name": "Input Boolean", "documentation": "https://www.home-assistant.io/integrations/input_boolean", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "midea_ac", "name": "Midea Smart Aircon", "version": "0.1.35", "documentation": "", "requirements": ["msmart==0.1.35", "pycryptodome", "pycryptodomex", "click"], "dependencies": [], "codeowners": ["@mac-zhou"], "is_built_in": false}, {"domain": "websocket_api", "name": "Home Assistant WebSocket API", "documentation": "https://www.home-assistant.io/integrations/websocket_api", "dependencies": ["http"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "withings", "name": "Withings", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/withings", "requirements": ["withings-api==2.3.2"], "dependencies": ["http", "webhook"], "codeowners": ["@vangorra"], "iot_class": "cloud_polling", "is_built_in": true}, {"domain": "group", "name": "Group", "documentation": "https://www.home-assistant.io/integrations/group", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "iot_class": "calculated", "is_built_in": true}, {"domain": "camera", "name": "Camera", "documentation": "https://www.home-assistant.io/integrations/camera", "dependencies": ["http"], "requirements": ["PyTurboJPEG==1.6.3"], "after_dependencies": ["media_player"], "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "denonavr", "name": "Denon AVR Network Receivers", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/denonavr", "requirements": ["denonavr==0.10.9"], "codeowners": ["@ol-iver", "@starkillerOG"], "ssdp": [{"manufacturer": "Denon", "deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1"}, {"manufacturer": "DENON", "deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1"}, {"manufacturer": "DENON PROFESSIONAL", "deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1"}, {"manufacturer": "Marantz", "deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1"}, {"manufacturer": "Denon", "deviceType": "urn:schemas-upnp-org:device:MediaServer:1"}, {"manufacturer": "DENON", "deviceType": "urn:schemas-upnp-org:device:MediaServer:1"}, {"manufacturer": "DENON PROFESSIONAL", "deviceType": "urn:schemas-upnp-org:device:MediaServer:1"}, {"manufacturer": "Marantz", "deviceType": "urn:schemas-upnp-org:device:MediaServer:1"}, {"manufacturer": "Denon", "deviceType": "urn:schemas-denon-com:device:AiosDevice:1"}, {"manufacturer": "DENON", "deviceType": "urn:schemas-denon-com:device:AiosDevice:1"}, {"manufacturer": "DENON PROFESSIONAL", "deviceType": "urn:schemas-denon-com:device:AiosDevice:1"}, {"manufacturer": "Marantz", "deviceType": "urn:schemas-denon-com:device:AiosDevice:1"}], "iot_class": "local_polling", "is_built_in": true}, {"domain": "logbook", "name": "Logbook", "documentation": "https://www.home-assistant.io/integrations/logbook", "dependencies": ["frontend", "http", "recorder"], "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "ssdp", "name": "Simple Service Discovery Protocol (SSDP)", "documentation": "https://www.home-assistant.io/integrations/ssdp", "requirements": ["async-upnp-client==0.23.1"], "dependencies": ["network"], "after_dependencies": ["zeroconf"], "codeowners": [], "quality_scale": "internal", "iot_class": "local_push", "is_built_in": true}, {"after_dependencies": ["integration", "utility_meter"], "codeowners": ["@bramstroker"], "dependencies": ["device_tracker", "hue", "fan", "switch", "binary_sensor", "light", "group", "template"], "documentation": "https://github.com/bramstroker/homeassistant-powercalc", "domain": "powercalc", "iot_class": "local_polling", "issue_tracker": "https://github.com/bramstroker/homeassistant-powercalc/issues", "name": "Power consumption", "requirements": ["numpy>=1.21.1"], "version": "v0.14.0-beta.1", "is_built_in": false}, {"domain": "zone", "name": "Zone", "config_flow": false, "documentation": "https://www.home-assistant.io/integrations/zone", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "tag", "name": "Tags", "documentation": "https://www.home-assistant.io/integrations/tag", "codeowners": ["@balloob", "@dmulcahey"], "quality_scale": "internal", "is_built_in": true}, {"domain": "weather", "name": "Weather", "documentation": "https://www.home-assistant.io/integrations/weather", "codeowners": ["@fabaff"], "quality_scale": "internal", "is_built_in": true}, {"domain": "my", "name": "My Home Assistant", "documentation": "https://www.home-assistant.io/integrations/my", "dependencies": ["frontend"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "hue", "name": "Philips Hue", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/hue", "requirements": ["aiohue==3.0.10"], "ssdp": [{"manufacturer": "Royal Philips Electronics", "modelName": "Philips hue bridge 2012"}, {"manufacturer": "Royal Philips Electronics", "modelName": "Philips hue bridge 2015"}, {"manufacturer": "Signify", "modelName": "Philips hue bridge 2015"}], "homekit": {"models": ["BSB002"]}, "zeroconf": ["_hue._tcp.local."], "codeowners": ["@balloob", "@marcelveldt"], "quality_scale": "platinum", "iot_class": "local_push", "is_built_in": true}, {"domain": "auth", "name": "Auth", "documentation": "https://www.home-assistant.io/integrations/auth", "dependencies": ["http"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "media_player", "name": "Media Player", "documentation": "https://www.home-assistant.io/integrations/media_player", "dependencies": ["http"], "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "google_translate", "name": "Google Translate Text-to-Speech", "documentation": "https://www.home-assistant.io/integrations/google_translate", "requirements": ["gTTS==2.2.3"], "codeowners": [], "iot_class": "cloud_push", "is_built_in": true}, {"domain": "tts", "name": "Text-to-Speech (TTS)", "documentation": "https://www.home-assistant.io/integrations/tts", "requirements": ["mutagen==1.45.1"], "dependencies": ["http"], "after_dependencies": ["media_player"], "codeowners": ["@pvizeli"], "quality_scale": "internal", "is_built_in": true}, {"domain": "network", "name": "Network Configuration", "documentation": "https://www.home-assistant.io/integrations/network", "requirements": ["ifaddr==0.1.7"], "codeowners": [], "dependencies": ["websocket_api"], "quality_scale": "internal", "iot_class": "local_push", "is_built_in": true}, {"codeowners": ["@ludeeus"], "config_flow": true, "dependencies": ["http", "websocket_api", "frontend", "persistent_notification", "lovelace"], "documentation": "https://hacs.xyz/docs/configuration/start", "domain": "hacs", "iot_class": "cloud_polling", "issue_tracker": "https://github.com/hacs/integration/issues", "name": "HACS", "requirements": ["aiogithubapi>=21.11.0"], "version": "1.18.0", "is_built_in": false}, {"domain": "switch", "name": "Switch", "documentation": "https://www.home-assistant.io/integrations/switch", "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "map", "name": "Map", "documentation": "https://www.home-assistant.io/integrations/map", "dependencies": ["frontend"], "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "input_number", "name": "Input Number", "documentation": "https://www.home-assistant.io/integrations/input_number", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "system_health", "name": "System Health", "documentation": "https://www.home-assistant.io/integrations/system_health", "dependencies": ["http"], "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "timer", "name": "Timer", "documentation": "https://www.home-assistant.io/integrations/timer", "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "counter", "name": "Counter", "documentation": "https://www.home-assistant.io/integrations/counter", "codeowners": ["@fabaff"], "quality_scale": "internal", "is_built_in": true}, {"domain": "heos", "name": "Denon HEOS", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/heos", "requirements": ["pyheos==0.7.2"], "ssdp": [{"st": "urn:schemas-denon-com:device:ACT-Denon:1"}], "codeowners": ["@andrewsayre"], "iot_class": "local_push", "is_built_in": true}, {"domain": "vacuum", "name": "Vacuum", "documentation": "https://www.home-assistant.io/integrations/vacuum", "codeowners": [], "quality_scale": "internal", "is_built_in": true}, {"domain": "updater", "name": "Updater", "documentation": "https://www.home-assistant.io/integrations/updater", "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "iot_class": "cloud_polling", "is_built_in": true}, {"domain": "automation", "name": "Automation", "documentation": "https://www.home-assistant.io/integrations/automation", "dependencies": ["blueprint", "trace"], "after_dependencies": ["device_automation", "webhook"], "codeowners": ["@home-assistant/core"], "quality_scale": "internal", "is_built_in": true}, {"domain": "system_log", "name": "System Log", "documentation": "https://www.home-assistant.io/integrations/system_log", "dependencies": ["http"], "codeowners": [], "quality_scale": "internal", "is_built_in": true}]}
nbogojevic commented 2 years ago

Thanks for the logs @kskarlatos . The good news is that library detected the device and got the status, the problem is in integration code.

nbogojevic commented 2 years ago

@kskarlatos : I've just pushed new version v0.4.2. Could you check it?

kskarlatos commented 2 years ago

Hi @nbogojevic , thanks for the quick update! it worked, and it found the dehumidifier. image some sensors are not working at this time, but it is a good start!

PskNorz commented 2 years ago

same thing

image

nbogojevic commented 2 years ago

Could you run again with notset logging enabled and attach the logs?

nbogojevic commented 2 years ago

For this one, I'd need more detailed log (debug):

# ...
logger:
  # ... your regular logger conf
  logs:
    custom_components.midea_dehumidifier_lan: debug
    midea_beautiful_dehumidifier: debug
# ...
kskarlatos commented 2 years ago

Hello, attached are the logs with the settings you specified logs.txt

nbogojevic commented 2 years ago

Ok I think I know where the problem is - it is in https://github.com/nbogojevic/midea-beautiful-dehumidifier/blob/main/midea_beautiful_dehumidifier/lan.py#L564 as the header of the response is not stripped.

I've published new version of that library and new version of this integration (v0.4.3). Give it a try. If it doesn't work, try to get again notset level of logs.

kskarlatos commented 2 years ago

thanks for the fix, i think its working now image image

PskNorz commented 2 years ago

its working thanks, but it seems when you make changes for example humidity, fan speed, mode etc, the humidifier doesnt make the "beep" noise.

nbogojevic commented 2 years ago

@PskNorz it may be possible to add beep, but can you open a feature request describing how would you see that functionality - e.g. only for some entities, per device, per some actions...

We can keep this issue for protocol v2 validation.

user45876 commented 2 years ago

No luck so far here: Logger: midea_beautiful_dehumidifier.scanner Source: /usr/local/lib/python3.9/site-packages/midea_beautiful_dehumidifier/scanner.py:136 First occurred: 00:03:36 (2 occurrences) Last logged: 00:15:56

Unable to discover registered appliance name=Entfeuchter oben, id=1759218611xxxx, type=0xA1

nbogojevic commented 2 years ago

@user45876 can you attach your debug logs?

user45876 commented 2 years ago

Will do, but it is offline in the app as well - so I need to check. Can do that on the 5th of january, not at home until then. Thanks for your work!!!

kskarlatos commented 2 years ago

There are a few things that are not working in home assistant but can be used from midea-beautiful-dehumidifier-cli 1) continuous mode (mode 2) 2) medium fan (it only goes from silent to turbo) 3) ion not available

PskNorz commented 2 years ago

Ion for me is working, the other two having problem also

kskarlatos commented 2 years ago

ok I enabled ion and it worked for me. Maybe it should be enabled by default?

PskNorz commented 2 years ago

No its the normal behaviour, if you turn on Humi manually it is not on, you must turn it on

nbogojevic commented 2 years ago

Hi @kskarlatos can you double check the mode settings:

On my side I see different behavior on my development and real-world platforms. On development one it always worked. On the production one, the update is done in entity and on device, but not visible in humidifier UI: image

image

Then after fully reloading UI on production side it started working: image

Medium fan I couldn't reproduce on my v3 devices - well I could, but I don't think it is same - when I have two platforms running, the mode switching doesn't always work - there is race condition. If it persists, could you

For ION mode, by default the switch is disabled as some (many) dehumidifiers don't have it, you need to enable it manually. I have one that has it (Inventor) and one that doesn't have it (Comfee').

image

image

PskNorz commented 2 years ago

@nbogojevic when i turn on the fan its going back to off state

nbogojevic commented 2 years ago

@PskNorz could you try to run command line from https://github.com/nbogojevic/midea-beautiful-dehumidifier

midea_beautiful_dehumidifier-cli --log 5 set --ip APPLIANCE_IP_ADDRESS --account EMAIL --password PASSWORD --fan 40

You can test with different values for --fan argument between 0 and 100

kskarlatos commented 2 years ago

I think something weird is happening, sometimes when i set ion to on it gets turned on but in the interface the switch goes back to off. i also can now set it to medium, when previously i couldnt.

Bimboboy007 commented 2 years ago

Hello, everything worked, deleted and reinstalled, including the integration.

nbogojevic commented 2 years ago

@kskarlatos that looks exactly like the problem I had with two running installations in parallel when they try to access same device, but for me, stopping one of the home assistance instances solves the issue. Can you check if you have some settings in your mobile app that can interact?

kskarlatos commented 2 years ago

@nbogojevic I did the same as @Bimboboy007, deleted and reinstalled and now everything works perfectly. So something in the update messed things up (maybe this should be added to the readme). So, thank you again @nbogojevic for your outstanding plugin!

PskNorz commented 2 years ago

@nbogojevic you are right i was using parallel two integrations, yours and https://github.com/barban-dev/homeassistant-midea-dehumidifier.

Now seems to working, but on fan mode "Silent" the fan entity goes off

nbogojevic commented 2 years ago

It is by design - as there are only 3 settings I assume that Silent is off (even if it is not) and all the others are on. Otherwise switch would have no effect at all.

Bimboboy007 commented 2 years ago

I also have questions about how many devices can be integrated at the same time and how does it work with the EVA II and can I remove the devices from the cloud now?

nbogojevic commented 2 years ago

There is no limit in the integration but there may be a limit on Midea/msmart cloud, but I don't think so. I have EVA ION PRO, EVA II PRO is the same thing without Ion mode. It may however have v2 protocol firmware, but that is supported now in v0.5.0.

Bimboboy007 commented 2 years ago

So the following problem now occurs in the logs. Logger: midea_beautiful_dehumidifier.lan Source: /usr/local/lib/python3.9/site-packages/midea_beautiful_dehumidifier/lan.py:545 First occurred: 20:11:51 (18 occurrences) Last logged: 22:08:26

Unable to send data after 3 retries, last error [Errno 32] Broken pipe for id=17592186114862 ip=192.168.178.37:6444 version=2 Unable to send data after 3 retries, last error for id=17592186114862 ip=192.168.178.37:6444 version=2

Logger: midea_beautiful_dehumidifier.lan Source: /usr/local/lib/python3.9/site-packages/midea_beautiful_dehumidifier/lan.py:361 First occurred: 20:11:47 (36 occurrences) Last logged: 22:08:26

Connection error: id=17592186114862 ip=192.168.178.37:6444 version=2 for timed out Connection error: id=17592186114862 ip=192.168.178.37:6444 version=2 for [Errno 113] Host is unreachable Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/midea_beautiful_dehumidifier/lan.py", line 358, in _connect self._socket.connect((self.ip, self.port)) socket.timeout: timed out Logger: midea_beautiful_dehumidifier.lan Source: /usr/local/lib/python3.9/site-packages/midea_beautiful_dehumidifier/lan.py:515 First occurred: 20:56:18 (1 occurrences) Last logged: 20:56:18

Unable to send data after 3 retries, last error for id=18691697852469 ip=192.168.178.52:6444 version=3

nbogojevic commented 2 years ago

That is due to something on the network. Both errors are system errors, coming from Linux and not from integration itself.

First error means that socket connection was probably closed or cut on the other side (dehumidifier), second one would mean that actually dehumidifier is no longer reachable over network - which probably means it is down or that network connection between it and router was cut.

Bimboboy007 commented 2 years ago

Hello, a short report. Today I updated again to the latest version and the same problem as last time, update does not work. It is best to delete everything and reinstall and restart after uninstalling and reinstalling. In addition to the logs, the devices are not in direct contact with the Rooter, I also have 2 networks with Powerlan in operation that explains the logs. The devices are likely to connect to the Devolo WiFi adapters. Everything is a network but therefore the errors.

Bimboboy007 commented 2 years ago

Hello, somehow there are still problems, because today I entered something in the file editor so that I had to restart the server, the integration was not loaded and the devices were gone only after deactivating and reactivating with a subsequent server restart helped.

nbogojevic commented 2 years ago

Hi @Bimboboy007 , it is difficult have any idea without logs. Can you get logs as described above?

Bimboboy007 commented 2 years ago

Hello, I'll get in touch and pass the log on if the error occurs again.

Bimboboy007 commented 2 years ago

Hello, do you know someone who has already dealt with wechat mini-programs integration in HA.

fotis3d commented 2 years ago

Hello I have the same Dehumidifier but my firmware in the app INVMATE II shows 056004051538. What kind of version is this ? Could I try this specific integration in HA or not ? Thanks

Bimboboy007 commented 2 years ago

Doesn't matter best the latest should work. The integration has a bit of a peculiarity, however, no matter which version, whenever I change something in HA and have to restart, I usually have to delete this integration and then reinstall it so that my devices are available again. Sometimes even several times because it doesn't work the first time.

fotis3d commented 2 years ago

Ok. I will try it just for the feedback to the creator then.