scottyphillips/echonetlite_homeassistant

Support MBZ-3617AS-IN

Closed this issue · 8 comments

Hello,

I have two of these ceiling mounted systems in my house in Japan. They heat, cool and dehumidify, with a range of fan speeds. Both connect via a HM-W002-ACB WiFi unit and are controlled by a HM-GW03 collector unit. I'm able to control the units using the HM-ST03 app on my iPhone, however I expect support for this app to end eventually and would like to control them via Home Assistant instead.

I'm running HA in Docker on a Synology NAS. My 3 Daikin aircon units were discovered and work perfectly using the Echonet lite plugin. These 2 units however were not auto-discovered, and when I attempt to add them via IP address I get an "unknown error occurred." I'm a complete novice at this and any help would be greatly appreciated. Thanks so much!

Run the following service, set the log level to Debug, and let us know the log when you specify the IP address and add it.

service: logger.set_level
data:
  custom_components.echonetlite: debug

Also, you probably don't need the HM-GW03, so try disconnecting link to HM-GW03 and turning off the power to the HM-GW03.

Thanks for your help nao-pon!

Here's the error log generated:

This error originated from a custom integration.

Logger: aiohttp.server
Source: custom_components/echonetlite/config_flow.py:59
Integration: ECHONETLite (documentation, issues)
First occurred: 4:57:07 PM (7 occurrences)
Last logged: 4:57:40 PM

Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 81, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 136, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 180, in post
return await super().post(request, flow_id)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 73, in wrapper
result = await method(view, request, data, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 286, in async_configure
result = await self._async_handle_step(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 374, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/echonetlite/config_flow.py", line 196, in async_step_user
self.instance_list = await validate_input(self.hass, user_input)
File "/config/custom_components/echonetlite/config_flow.py", line 59, in validate_input
udp = UDPServer()
File "/usr/local/lib/python3.10/site-packages/pychonet/lib/udpserver.py", line 12, in init
self._ip = socket.gethostbyname(socket.gethostname())
socket.gaierror: [Errno -2] Name does not resolve

I entered the IP address of the unit 192.168.50.126 in the IP address field. As suggested, I disconnected the HM-GW03 to ensure the units were directly connected to my primary (Asus) router.

If I'm missing something very basic I apologize, I'm brand new to this. Thanks again!

It seems that getting the HA's Local IP address has failed.
Could you try executing the following command on the web screen of the HA SSH & Web Terminal add-on (add it if it is not installed) and see what is displayed?

python3

and

import socket
print ( [(s.connect(('224.0.23.0', 1)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1] )

If all goes well, you should see the HA's local IP address.

Note: Shift + Insert is convenient for pasting in Web Terminal.

@MrFusion4 After re-reading this first post, it says the Daikin equipment is working fine, but I'm confused as to how they are able to support the Daikin equipment in this error state.
Do you have any additional information?

I ran your code and the output was the IP address of my Synology NAS that HA is running on. (192.168.50.86)

As for the Daikin units, I noticed that when I had to delete and re-installed HA recently from scratch, the Daikin units were already supported in HA's default setup (they appeared before installing HACS and Echonet.) They don't appear to be using the Echonet add-on, which would explain why they functioned while the 2 Mitsubishi units haven't.

Yes I see. I modified pychonet this way to use the latest pychonet on the master branch.

You can download the master version by opening HACS's ECHONET Lite Platform and selecting Redownload from the three dots on the upper right. After selecting master, click the download button after the display becomes thicker. Then restart HA and try adding it with the target IP address.

Wow… MAGIC! Whatever you did, it instantly made the integration work correctly. From there I was able to add all 5 of my Aircon units and they appear to all be functioning perfectly! Thank you SO MUCH for your help!!!

When I used Mitsubishi’s app to control the units, a distinctive 4 beeps were heard from the HM-W002 adapter. With this integration, signals are silent. So I used the Mitsubishi app to confirm it was working properly.

I’ll now work on setting up the Route B dongle (
HM-DG01-S.) If I can attach it to my router (Asus RT-AX88U) I’ll be able to remove the HM-GW03 router permanently.

One last question… These Mitsubishi units support half-degree increments. Does this integration support this? The default setup appears to be in 1° increments only.

Thanks again for all your help, this has really put my mind at ease knowing I’ll be able to control these units regardless of future manufacturer support!

@MrFusion4 congratulation! I'm glad it worked fine. Regarding the temperature setting in 0.5 degree increments, the Echonet lite specification seems to be in 1 degree increments, so I don't think it can handle 0.5 degree increments.

If you find any problems with the B root dongle, please create another issue.

For the time being, this issue will be closed as completed.