Closed levkanm closed 1 year ago
What version of integration are you currently using?
What version of integration are you currently using?
v3.0-alpha.1
Alpha has big changes on this point:
By default zigbee chip works with MiHome (on default zigbee firmware). When you connects to gw via ZHA or z2m - zigbee chip switchs from MiHome to TCP mode until next gateway reboot. ZHA and z2m both can work with default and with custom zigbee firmware. MiHome can work only with default zigbee firmware.
Alpha has big changes on this point:
- Checkbox in settings do nothing (will be deleted)
- Zigbee chip firmware flashes via Gateway dropdown entity
- ZHA/z2m mode ready to connect full time 24/7
By default zigbee chip works with MiHome (on default zigbee firmware). When you connects to gw via ZHA or z2m - zigbee chip switchs from MiHome to TCP mode until next gateway reboot. ZHA and z2m both can work with default and with custom zigbee firmware. MiHome can work only with default zigbee firmware.
How do I get the gateway back to the default zigbee firmware?My gateway has been going offline occasionally lately, and I think it has something to do with ZHA mode.
- Zigbee chip firmware flashes via Gateway dropdown entity
Updated from 3-alpha to 3.0 release. Wanted to change back to Xiaomi mode. Cannot flash original Zigbee firmware.
I choose "Zigbee flash EZSP", "Firmware" (does not matter which one), the result: ERROR
Tried with old firmware (was recommended), now on the latest 1.5.4 - no difference.
Try to reboot gateway and flash again. Try to flash Custom and later default fw. Check Hass logs for errors
Done, no change:
2023-01-23 14:21:52.558 WARNING (MainThread) [custom_components.xiaomi_gateway3.core.mini_miio] 10.1.0.11 | Device offline
2023-01-23 14:23:34.543 ERROR (MainThread) [custom_components.xiaomi_gateway3.core.ezsp] 10.1.0.11 [FWUP] Can't update firmware
Traceback (most recent call last):
File "/config/custom_components/xiaomi_gateway3/core/ezsp.py", line 52, in update_zigbee_firmware
cur_fw = await read_firmware(host)
File "/config/custom_components/xiaomi_gateway3/core/ezsp.py", line 104, in read_firmware
await asyncio.wait_for(ezsp._probe(), timeout=10)
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 445, in wait_for
return fut.result()
File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 74, in _probe
await self.connect(use_thread=False)
File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 118, in connect
self._gw = await bellows.uart.connect(self._config, self, use_thread=use_thread)
File "/usr/local/lib/python3.10/site-packages/bellows/uart.py", line 397, in connect
protocol, _ = await _connect(config, application)
File "/usr/local/lib/python3.10/site-packages/bellows/uart.py", line 372, in _connect
baudrate=config[CONF_DEVICE_BAUDRATE],
KeyError: 'baudrate'
2023-01-23 14:23:34.968 ERROR (MainThread) [frontend.js.latest.202301100] :0:0 Script error.
Thanks. I'll check. Maybe problem with latest Hass versions. This works near 2022.10 version
Any updates on this issue?
Currently I am stuck at z2m mode which I can't switch back. As a last resort, I installed HAOS 9.1, HACS, downloaded GW3 2.1.2. But can't install the integration: Не удалось загрузить мастер настройки: {"message":"Invalid handler specified"}.
Also I tried to reflash zigbee chip manually using sx tool, but also without success. Thanks, the GW still works in z2m mode, but any solution or at least a manual workaround would be greatly appreciated.
@osnwt fixed in latest master version. Will be in next release
Excellent, waiting for it...
Still no luck, but for other reason, see logs... What service should listen there?
10.1.0.11 [FWUP] Can't update firmware
Traceback (most recent call last):
File "/config/custom_components/xiaomi_gateway3/core/ezsp.py", line 52, in update_zigbee_firmware
cur_fw = await read_firmware(host)
File "/config/custom_components/xiaomi_gateway3/core/ezsp.py", line 104, in read_firmware
await asyncio.wait_for(ezsp._probe(), timeout=10)
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 445, in wait_for
return fut.result()
File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 74, in _probe
await self.connect(use_thread=False)
File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 118, in connect
self._gw = await bellows.uart.connect(self._config, self, use_thread=use_thread)
File "/usr/local/lib/python3.10/site-packages/bellows/uart.py", line 397, in connect
protocol, _ = await _connect(config, application)
File "/usr/local/lib/python3.10/site-packages/bellows/uart.py", line 368, in _connect
transport, protocol = await zigpy.serial.create_serial_connection(
File "/usr/local/lib/python3.10/site-packages/zigpy/serial.py", line 36, in create_serial_connection
transport, protocol = await loop.create_connection(
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1064, in create_connection
raise exceptions[0]
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1049, in create_connection
sock = await self._connect_sock(
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 960, in _connect_sock
await self.sock_connect(sock, address)
File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 500, in sock_connect
return await fut
File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 535, in _sock_connect_cb
raise OSError(err, f'Connect call failed {address}')
ConnectionRefusedError: [Errno 111] Connect call failed ('10.1.0.11', 8889)
@osnwt maybe you disable internet for the gateway?
Goto gateway telnet and run ps
Tried to ping external servers. It gets IPv6 address instead of IPv4 and fails to reach it. On IPv4 the same server is reachable. So I'll try to disable IPv6 somewhere and retry.
Seems something is wrong with the hub system.
I have no IPv6 in my LAN. Router uses few DNS servers, each of them returns both A and AAAA addresses:
# cat /etc/resolv.conf
nameserver 10.1.0.1
nameserver 93.100.1.2
nameserver 94.19.255.3
This obviously fails:
# ping google.com
PING google.com (2a00:1450:4010:c08::66): 56 data bytes
ping: sendto: Network is unreachable
But hub doesn't have any IPv6 addresses configured except link local which should not be used outside of LAN:
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
link/ether 54:ef:44:3d:12:fd brd ff:ff:ff:ff:ff:ff
inet 10.1.0.11/24 brd 10.1.0.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::56ef:44ff:fe3d:12fd/64 scope link
valid_lft forever preferred_lft forever
3: wlan0-9: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 54:ef:44:3d:12:fd brd ff:ff:ff:ff:ff:ff
4: tmp.wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 00:e0:4c:81:86:86 brd ff:ff:ff:ff:ff:ff
5: wlan0-1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 00:e0:4c:81:86:86 brd ff:ff:ff:ff:ff:ff
6: wlan0-2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 00:e0:4c:81:86:86 brd ff:ff:ff:ff:ff:ff
7: wlan0-3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 00:e0:4c:81:86:86 brd ff:ff:ff:ff:ff:ff
8: wlan0-4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 00:e0:4c:81:86:86 brd ff:ff:ff:ff:ff:ff
9: wlan0-5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 00:e0:4c:81:86:86 brd ff:ff:ff:ff:ff:ff
10: wlan0-6: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 00:e0:4c:81:86:86 brd ff:ff:ff:ff:ff:ff
11: wlan0-7: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 00:e0:4c:81:86:86 brd ff:ff:ff:ff:ff:ff
12: wlan0-8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 00:e0:4c:81:86:86 brd ff:ff:ff:ff:ff:ff
13: pwlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 00:e0:4c:81:96:96 brd ff:ff:ff:ff:ff:ff
14: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
15: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 00:12:34:56:78:90 brd ff:ff:ff:ff:ff:ff
16: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop
link/ether 00:12:34:56:78:91 brd ff:ff:ff:ff:ff:ff
So it's an issue with the hub, why it uses IPv6 instead of IPv4... Have no idea yet how to fix it.
I have some busybox binary in /data (perhaps, left from manual firmware updates). So tried it as well as original one from /bin. Here are results:
# /bin/busybox ping google.com
PING google.com (2a00:1450:4010:c08::8a): 56 data bytes
ping: sendto: Network is unreachable
# /data/busybox ping google.com
PING google.com (64.233.165.100): 56 data bytes
64 bytes from 64.233.165.100: seq=0 ttl=108 time=5.287 ms
64 bytes from 64.233.165.100: seq=1 ttl=108 time=5.323 ms
64 bytes from 64.233.165.100: seq=2 ttl=108 time=5.129 ms
^C
So internal busybox wants IPv6 and fails. But alternative busybox works. I tried to reflash another firmware (was on mgl03_1.5.4_0090_stock, now mgl03_1.5.0_0102_stock) - same issues.
Definitely it is not for this thread anymore, but I have no idea what to do. May try to factory reset...
You can download openmiio manually to gateway. But you will need to update it to latest version every time
Still no luck, but for other reason, see logs... What service should listen there?
10.1.0.11 [FWUP] Can't update firmware Traceback (most recent call last): File "/config/custom_components/xiaomi_gateway3/core/ezsp.py", line 52, in update_zigbee_firmware cur_fw = await read_firmware(host) File "/config/custom_components/xiaomi_gateway3/core/ezsp.py", line 104, in read_firmware ....... File "/usr/local/lib/python3.10/asyncio/base_events.py", line 960, in _connect_sock await self.sock_connect(sock, address) File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 500, in sock_connect return await fut File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 535, in _sock_connect_cb raise OSError(err, f'Connect call failed {address}') ConnectionRefusedError: [Errno 111] Connect call failed ('10.1.0.11', 8889)
I have same error:
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 960, in _connect_sock await self.sock_connect(sock, address) File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 500, in sock_connect return await fut File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 535, in _sock_connect_cb raise OSError(err, f'Connect call failed {address}') ConnectionRefusedError: [Errno 111] Connect call failed ('192.168.212.213', 8889)
You can download openmiio manually to gateway. But you will need to update it to latest version every time
What and where to get and where to put?
Also, if you download it from an external server, maybe you can either somehow embed it into the integration, or let it download it to Home Assistant, then send to the hub, or as a last chance put a copy of firmware to an external server which does not have any IPv6 addresses. Say, ya.ru or google.com both have AAAA records and can't be pinged. github.com for me gives just A record and can be pinged via IPv4.
There is no suitable protocol for send files from integration to gateway. You can find links in integration sources. Shell folder
It seems the issue is not resolved despite closed. So let me give more info.
First, I blocked AAAA responses from local DNS and edited resolve.conf to be able to download anything needed. So far I have openmiio_agent in the /data folder:
drwxrwxrwx 2 app 0 160 Jan 23 13:41 basic_app
drwxr-xr-x 2 admin 0 240 Jan 23 13:41 basic_gw
-rwxr-xr-x 1 admin 0 73 Jan 1 1970 ble_info
-rwxr-xr-x 1 admin 0 1576152 Oct 3 01:15 busybox
drwxr-xr-x 2 admin 0 520 Jan 1 1970 conf
drwxr-xr-x 2 admin 0 320 Jan 1 1970 factory
drwxr-xr-x 2 admin 0 240 Feb 2 09:31 firmware
-rw-r--r-- 1 admin 0 0 Feb 2 09:31 firmware.bin
drwxr-xr-x 2 admin 0 224 Jan 1 1970 hw_setting
-rw-r--r-- 1 admin 0 1724 Jan 30 22:31 libnsl.so.0
drwxr-xr-x 3 admin 0 224 Jan 23 13:41 local
drwxr-xr-x 2 admin 0 1936 Feb 8 16:15 miio
-rw-r--r-- 1 admin 0 12288 Feb 2 09:28 miioconfig.db
drwx------ 2 admin 0 232 Oct 6 02:16 mijia_automation
-rw-r--r-- 1 admin 0 0 Jan 1 1970 mount_ok
-rwxr-xr-x 1 admin 0 939384 Feb 1 22:59 openmiio_agent
-rw-r--r-- 1 admin 0 1597 Feb 2 10:05 openmiio_agent.json
-rw-r--r-- 1 admin 0 90 Feb 8 16:11 passwd
-rw-r--r-- 1 admin 0 90 Feb 8 15:47 passwd-
-rwxr-xr-x 1 admin 0 74188 Oct 5 01:35 ser2net
-rw-r--r-- 1 admin 0 85 Feb 8 16:11 shadow
-rw-r--r-- 1 admin 0 85 Feb 8 15:47 shadow-
-rwxr-xr-x 1 admin 0 1091339 Sep 25 14:01 silabs_ncp_bt
drwxr-xr-x 3 admin 0 448 Sep 27 22:25 silicon_zigbee_host
-rwxr-xr-x 1 admin 0 72632 Jan 30 22:31 sx
drwxr-xr-x 2 admin 0 864 Nov 2 03:14 zigbee
drwxr-xr-x 2 admin 0 504 Jan 23 12:30 zigbee_gw
drwxr-xr-x 2 admin 0 232 Jan 23 13:41 zoneinfo
Attempt to update firmware still gave me:
ConnectionRefusedError: [Errno 111] Connect call failed ('10.1.0.11', 8889)
Here is the process list (some system processes skipped):
893 admin 1584 S {kick_wdog_timer} /bin/sh /bin/kick_wdog_timer
895 admin 1584 S syslogd
929 admin 0 SW [ubi_bgt0d]
935 admin 0 SW [ubifs_bgt0_0]
1061 admin 1424 S mdnsd
1079 admin 0 SW< [kworker/0:1H]
1082 admin 1632 S {miio_client_hel} /bin/sh /bin/miio_client_helper_nomqtt.sh
1086 admin 5952 S basic_gw
1088 admin 2816 S zigbee_agent -f /etc/zigbee_agent.conf
1132 admin 6416 S mijia_automation -d /data/mijia_automation/
1140 admin 4832 S basic_app 464064582
1145 admin 1632 S {app_monitor.sh} /bin/sh /bin/app_monitor.sh
1440 admin 6496 S wpa_supplicant -Dnl80211 -iwlan0 -c /tmp/wpa_supplicant.conf -B
1478 admin 1584 S udhcpc -i wlan0 -t 20 -T 2 -n -S -x hostname lumi_gateway_mgl03 -s /etc/udhcp/simple.script
1489 admin 0 SW [kworker/u2:2]
1491 admin 8224 S homekitserver
1513 admin 21216 S silabs_ncp_bt -p /dev/ttyS1 -n
1724 admin 35360 S idmruntime
1726 admin 9440 S central_service_lite
1741 admin 1584 S {idmipd.sh} /bin/sh /bin/idmipd.sh
1915 admin 1584 S telnetd
1929 admin 1584 S ntpd -l
1953 admin 1600 S -sh
1979 admin 1696 S mosquitto -d
1995 admin 11376 S zigbee_gw
2752 admin 12608 S miio_client -l 4 -d /data/miio/ -L /var/log/miio_client.log -D
2912 admin 848 S /bin/miio_recv_line
3065 admin 649m S /data/openmiio_agent miio mqtt cache z3 --zigbee.tcp=8888
3079 admin 1584 S tail Lumi_Z3GatewayHost_MQTT -f /dev/null
3086 admin 0 Z [Lumi_Z3GatewayH]
6463 admin 1584 S -/bin/login
6530 admin 1568 S sleep 5
6537 admin 1568 S sleep 10
6547 admin 1584 R ps
So miio_agent is listening on port 8888, and isn't on 8889.
From the integration code I found the command line to start it on port 8889:
/data/openmiio_agent --zigbee.tcp=8889 &
Being started, it listened on port 8889. But on another attempt to flash firmware I've got the same error.
Anything else I could try to help resolving the issue? Would be happy to help.
You can enable integration debug logs and check if this msg
exist there. And later check if any error exist in logs.
I had the same issue, lucky for me I have a DEV envrionment (raspberry pi running with HA pre-2022.10 version), I manually intalled v2.1.2, then in the integration config turned on and turn off "mode ZHA or z2m", then in my Prod envrionment, the gateway can stay in "mihome" mode no problem
I have the same error on 3.1.0 and gw firmware 1.5.0_0102:
2023-03-01 20:52:18.292 ERROR (bellows.thread_0) [bellows.uart] Lost serial connection: OSError('Server closed connection')
2023-03-01 20:52:18.295 ERROR (MainThread) [bellows.ezsp] NCP entered failed state. Requesting APP controller restart
2023-03-01 20:52:18.298 WARNING (MainThread) [bellows.thread] Attempted to use a closed event loop
2023-03-01 20:52:18.815 WARNING (MainThread) [bellows.zigbee.application] ControllerApplication reset unsuccessful: ConnectionRefusedError(111, "Connect call failed ('192.168.10.119', 8888)")
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/bellows/zigbee/application.py", line 637, in _reset_controller_loop
await self._reset_controller()
File "/usr/local/lib/python3.10/site-packages/bellows/zigbee/application.py", line 658, in _reset_controller
await self.connect()
File "/usr/local/lib/python3.10/site-packages/bellows/zigbee/application.py", line 124, in connect
self._ezsp = await bellows.ezsp.EZSP.initialize(self.config)
File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 101, in initialize
await ezsp.connect(use_thread=zigpy_config[conf.CONF_USE_THREAD])
File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 118, in connect
self._gw = await bellows.uart.connect(self._config, self, use_thread=use_thread)
File "/usr/local/lib/python3.10/site-packages/bellows/uart.py", line 389, in connect
protocol, connection_done = await thread.run_coroutine_threadsafe(
File "/usr/local/lib/python3.10/site-packages/bellows/uart.py", line 368, in _connect
transport, protocol = await zigpy.serial.create_serial_connection(
File "/usr/local/lib/python3.10/site-packages/zigpy/serial.py", line 36, in create_serial_connection
transport, protocol = await loop.create_connection(
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1064, in create_connection
raise exceptions[0]
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1049, in create_connection
sock = await self._connect_sock(
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 960, in _connect_sock
await self.sock_connect(sock, address)
File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 500, in sock_connect
return await fut
File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 535, in _sock_connect_cb
raise OSError(err, f'Connect call failed {address}')
ConnectionRefusedError: [Errno 111] Connect call failed ('192.168.10.119', 8888)
2023-03-01 20:52:19.312 ERROR (MainThread) [custom_components.xiaomi_gateway3.core.ezsp] 192.168.10.119 [FWUP] Can't update firmware
Traceback (most recent call last):
File "/config/custom_components/xiaomi_gateway3/core/ezsp.py", line 52, in update_zigbee_firmware
cur_fw = await read_firmware(host)
File "/config/custom_components/xiaomi_gateway3/core/ezsp.py", line 104, in read_firmware
await asyncio.wait_for(ezsp._probe(), timeout=10)
File "/usr/local/lib/python3.10/asyncio/tasks.py", line 445, in wait_for
return fut.result()
File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 74, in _probe
await self.connect(use_thread=False)
File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/__init__.py", line 118, in connect
self._gw = await bellows.uart.connect(self._config, self, use_thread=use_thread)
File "/usr/local/lib/python3.10/site-packages/bellows/uart.py", line 397, in connect
protocol, _ = await _connect(config, application)
File "/usr/local/lib/python3.10/site-packages/bellows/uart.py", line 368, in _connect
transport, protocol = await zigpy.serial.create_serial_connection(
File "/usr/local/lib/python3.10/site-packages/zigpy/serial.py", line 36, in create_serial_connection
transport, protocol = await loop.create_connection(
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1064, in create_connection
raise exceptions[0]
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1049, in create_connection
sock = await self._connect_sock(
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 960, in _connect_sock
await self.sock_connect(sock, address)
File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 500, in sock_connect
return await fut
File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 535, in _sock_connect_cb
raise OSError(err, f'Connect call failed {address}')
ConnectionRefusedError: [Errno 111] Connect call failed ('192.168.10.119', 8889)
2023-03-01 20:52:32.754 WARNING (SyncWorker_8) [custom_components.solarman.solarman] Querying inverter 1709992578 at 192.168.10.106:8899 failed on connection start with exception [OSError]
Same issue. Flash from integration:
File "/config/custom_components/xiaomi_gateway3/core/ezsp.py", line 52, in update_zigbee_firmware cur_fw = await read_firmware(host) File "/config/custom_components/xiaomi_gateway3/core/ezsp.py", line 104, in read_firmware await asyncio.wait_for(ezsp._probe(), timeout=10) File "/usr/local/lib/python3.10/asyncio/tasks.py", line 445, in wait_for return fut.result() File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/init.py", line 75, in _probe await self.connect(use_thread=False) File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/init.py", line 119, in connect self._gw = await bellows.uart.connect(self._config, self, use_thread=usethread) File "/usr/local/lib/python3.10/site-packages/bellows/uart.py", line 406, in connect protocol, = await _connect(config, application) File "/usr/local/lib/python3.10/site-packages/bellows/uart.py", line 377, in _connect transport, protocol = await zigpy.serial.create_serial_connection( File "/usr/local/lib/python3.10/site-packages/zigpy/serial.py", line 32, in create_serial_connection transport, protocol = await loop.create_connection( File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1076, in create_connection raise exceptions[0] File "/usr/local/lib/python3.10/asyncio/base_events.py", line 1060, in create_connection sock = await self._connect_sock( File "/usr/local/lib/python3.10/asyncio/base_events.py", line 969, in _connect_sock await self.sock_connect(sock, address) File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 501, in sock_connect return await fut File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 541, in _sock_connect_cb raise OSError(err, f'Connect call failed {address}') ConnectionRefusedError: [Errno 111] Connect call failed ('192.168.1.4', 8889)
Flash from console:
Preparing Killing default zigbee software killall: socat: no process killed killall: daemon_app.sh: no process killed Done
Press Ctrl+C to cancel in 5 seconds!
Detected EZSP v7 Rebooting to bootloader Sending upload command Sending ncp-uart-sw_mgl03_6_7_10_z2m.gbl, 1548 blocks: Give your local XMODEM receive command now.
I was facing a similar issue, and found out a few things:
Lumi_Z3GatewayHost_MQTT
will interfere with the flash process so it will never finish. (It keep restarting and resetting zigbee)@igelbro how to flash it manually from console? Do you see that gateway works more stable on custom EZSP FW?
@kkmaslowski https://github.com/zvldz/mgl03_fw/tree/main/zigbee
@Xmister
If you set up Zigbee2Mqtt in HA (and keep the XiaomiGateway3 addon running), it will be in the right state for the console flash to finish.
Not for me :(
@kkmaslowski https://github.com/zvldz/mgl03_fw/tree/main/zigbee
Can I flash it if I use ZHA mode? I see that ncp-uart-sw_mgl03_6_7_8_z2m.gbl is for Zigbee2MQTT.
@kkmaslowski Don`t know. ncp-uart-sw_mgl03_6_6_2_stock.gbl for return to stock firmware
@Xmister
If you set up Zigbee2Mqtt in HA (and keep the XiaomiGateway3 addon running), it will be in the right state for the console flash to finish.
Not for me :(
I'm sorry to hear that. It took about 5 minutes for the flash to complete for me. You can telnet to the device and see if Lumi_Z3GatewayHost_MQTT
keeps restarting. In that case try to restart zigbee2mqtt.
Can I flash it if I use ZHA mode? I see that ncp-uart-sw_mgl03_6_7_8_z2m.gbl is for Zigbee2MQTT.
I think it should work with ZHA as well. I used 6.7.10 though.
Do you see that gateway works more stable on custom EZSP FW?
For me it got rid of the Zigbee timeouts in Z2M.
@Xmister i tried to flash ncp-uart-sw_mgl03_6_7_10_z2m.gbl without success, it stuck after 'Sending ncp-uart-sw_mgl03_6_7_10_z2m.gbl, 1548 blocks: Give your local XMODEM receive command now'
Maybe the device firmware also matters. I'm using 1.5.4.
How long did you wait for the flash to finish? Have you been checking top
in another terminal to see what processes are running?
I can confirm that flashing from Hass GUI works fine for:
If something doesn't work for you - maybe you have blocked internet for gateway or have problems with IPv6
@Xmister i tried to flash ncp-uart-sw_mgl03_6_7_10_z2m.gbl without success, it stuck after 'Sending ncp-uart-sw_mgl03_6_7_10_z2m.gbl, 1548 blocks: Give your local XMODEM receive command now'
Try this:
1.- Disable ZHA or stop Z2M. 2.- Reboot hub. 3.- Reload Gateway3 integration in HA. (Make sure "Xiaomi Multimode Gateway" entity is available) 4.- Enable ZHA or start Z2M. Make sure it is working. It will ensure HUB is in Z2M/ZHA mode.
I successfully flashed mine on fifth try.
@Xmister i tried to flash ncp-uart-sw_mgl03_6_7_10_z2m.gbl without success, it stuck after 'Sending ncp-uart-sw_mgl03_6_7_10_z2m.gbl, 1548 blocks: Give your local XMODEM receive command now'
Try this:
1.- Disable ZHA or stop Z2M. 2.- Reboot hub. 3.- Reload Gateway3 integration in HA. (Make sure "Xiaomi Multimode Gateway" entity is available) 4.- Enable ZHA or start Z2M. Make sure it is working. It will ensure HUB is in Z2M/ZHA mode. 5. Telnet your HUB. 6. Run flash script 7.- Repeat 1 to 5 until succeed
I successfully flashed mine on fifth try.
I gave up after 10 attempts. I also have the same problem.
Try to flash from integration v3.2.1 GUI
Try to flash from integration v3.2.1 GUI
already did yesterday multiple times. Always r esults in error: restarting before another attempt, killing xiaomi processes, replacing send_v7() with send_v8() and to_btl_7() with to_btl_8() - nothing changes the outcome, it always fails. And yet zigbee works normally in z2m mode. I'm not sure what kind of black magic you were doing in 2.x version of your integration (as I flashed it via old GUI - where z2m mode had to be ticked in integration settings) but this is definitely broken now.
Check integration debug logs. I think it just can't download openmiio app from GitHub. Maybe your Hass server has problem with internet
Check integration debug logs. I think it just can't download openmiio app from GitHub. Maybe your Hass server has problem with internet
no, it doesn't. openmiio is running and listening on port 8888 so naturally it was downloaded.
@AlexxIT what do you mean "check integration debug logs"? Output that I've sent is all that I see in HA logs.
why does it attempt to reach port 8889 when openmiio is listening on 8888?
Whole update process in one function: https://github.com/AlexxIT/XiaomiGateway3/blob/6c1499a0b49edbf723cf8bf7e3ec406d01ffe57a/custom_components/xiaomi_gateway3/core/ezsp.py#L45-L48
Are you sure you using latest integration version?
You can run /data/openmiio_agent --log.level=info
and check app version
I turned on the ZHA mode before, and later wanted to turn it off,but after turning off the switch and waiting for a while, the ZHA integration still shows that it is working.
After that, I tried to re-flash the gateway firmware and reinstall the integration, and the ZHA integration finally showed that it could not connect.
But after some time, the ZHA integration shows working again, but I did not turn on the ZHA mode of the gateway.