I’ve been attempting to connect to an iZone controller without much luck.
I can access the controller from the iZone app but I’m unable to connect it into Home Assist. I just get an error that no iZone devices can be found.
I can see in the logs that it finds the iZone controller, but then it fails.
An extract from the debug file is below. Any help would be appreciated.
[pizone.discovery] Datagram Recieved b'ASPort_12107,Mac_000005231,IP_192.168.1.6'
2020-07-03 11:20:20 ERROR (MainThread) [homeassistant.core] Error doing job: Exception in callback _SelectorDatagramTransport._read_ready()
Traceback (most recent call last):
File "/usr/local/lib/python3.7/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/local/lib/python3.7/asyncio/selector_events.py", line 975, in _read_ready
self._protocol.datagram_received(data, addr)
File "/usr/local/lib/python3.7/site-packages/pizone/discovery.py", line 355, in datagram_received
self._process_datagram(data, addr)
File "/usr/local/lib/python3.7/site-packages/pizone/discovery.py", line 372, in _process_datagram
self._discovery_recieved(data)
File "/usr/local/lib/python3.7/site-packages/pizone/discovery.py", line 377, in _discovery_recieved
or not message[3] in ('iZone', 'iZoneV2')):
IndexError: list index out of range
Details below of the Home Assist Setup
System Health
I’m getting the same results. Wondered if anyone had any further suggestions on how to troubleshoot?
2020-10-05 07:23:17 INFO (MainThread) [pizone.discovery] Starting discovery protocol
2020-10-05 07:23:17 DEBUG (MainThread) [pizone.discovery] Sending discovery message to addr 192.168.201.255
2020-10-05 07:23:17 DEBUG (MainThread) [pizone.discovery] Sending discovery message to addr 172.30.33.255
2020-10-05 07:23:17 DEBUG (MainThread) [pizone.discovery] Sending discovery message to addr 172.17.255.255
2020-10-05 07:23:17 DEBUG (MainThread) [pizone.discovery] Datagram Recieved b'ASPort_12107,Mac_000014489,IP_192.168.201.72'
2020-10-05 07:23:17 ERROR (MainThread) [homeassistant] Error doing job: Exception in callback _SelectorDatagramTransport._read_ready()
Traceback (most recent call last):
File "/usr/local/lib/python3.8/asyncio/events.py", line 81, in _run
self._context.run(self._callback, *self._args)
File "/usr/local/lib/python3.8/asyncio/selector_events.py", line 1019, in _read_ready
self._protocol.datagram_received(data, addr)
File "/usr/local/lib/python3.8/site-packages/pizone/discovery.py", line 355, in datagram_received
self._process_datagram(data, addr)
File "/usr/local/lib/python3.8/site-packages/pizone/discovery.py", line 372, in _process_datagram
self._discovery_recieved(data)
File "/usr/local/lib/python3.8/site-packages/pizone/discovery.py", line 377, in _discovery_recieved
or not message[3] in ('iZone', 'iZoneV2')):
IndexError: list index out of range
2020-10-05 07:23:37 INFO (MainThread) [pizone.discovery] Close called on discovery service.
2020-10-05 07:23:37 DEBUG (MainThread) [pizone.discovery] Connection Lost
2020-10-05 07:23:37 DEBUG (MainThread) [homeassistant.components.izone.config_flow] No controllers found
so line 377 where it checks if message[3] exists in (‘iZone’, ‘iZoneV2’) would seem to logically fail. However I added immediately prior to the check:
if len(message) < 3: message.append("iZone")
which I understand should add an additional list item
message[3] = iZone
however it still didn’t work - I suspect my changes were not applying correctly within the HassIO docker containers. Is there anyone that can advise how this could be tested without too much difficulty?