Rainbird only sees first 8 zones

Zones 1-8 are working fine but all the zones over number 8 are not being found. I have 15 zones. I changed the name of zone 8 to “Zone Eight” to try and fix if there was something being thrown off by a number in the friendly name field. Not sure what else could be happening where the first 8 are good to go but last 7 aren’t.

Error in logs:

rainbird: Error on device update!
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 292, in _async_add_entity
await entity.async_device_update(warning=False)
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 448, in async_device_update
await self.hass.async_add_executor_job(self.update)
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/src/homeassistant/homeassistant/components/rainbird/switch.py”, line 110, in update
self._state = self._rainbird.get_zone_state(self._zone)
File “/usr/local/lib/python3.7/site-packages/pyrainbird/init.py”, line 125, in get_zone_state
return self.zones.active(zone)
File “/usr/local/lib/python3.7/site-packages/pyrainbird/data.py”, line 104, in active
return self.states[number - 1]
IndexError: tuple index out of range

Same problem here on hass.io 0.100.2

persistant in 103

Any ideas? Been broke for half dozen iterations.

here is the problem.

I lack the technical ability to fix.

Looks like we got a fix incoming when it’s merged!!!

Any idea when this will be merged?

…or is there any way to implement the fix manually?

Give the current beta (0.114) a try and see if it fixed there. The earlier mentioned change is now available.

Thanks @ptnijssen. With 0.114 I can now see all the zones, but now there is a new problem:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 125, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1308, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1343, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 208, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 454, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 583, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 485, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 609, in async_turn_on
    await self.hass.async_add_executor_job(ft.partial(self.turn_on, **kwargs))
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/rainbird/switch.py", line 94, in turn_on
    if self._rainbird.irrigate_zone(
  File "/usr/local/lib/python3.8/site-packages/pyrainbird/__init__.py", line 136, in irrigate_zone
    response = self._process_command(
  File "/usr/local/lib/python3.8/site-packages/pyrainbird/__init__.py", line 202, in _process_command
    response = self.command(cmd, *args)
  File "/usr/local/lib/python3.8/site-packages/pyrainbird/__init__.py", line 188, in command
    raise Exception(
Exception: Status request failed with wrong response! Requested 01 but got 00:
{'type': 'NotAcknowledgeResponse', 'commandEcho': 57, 'NAKCode': 4}

Any idea what I could be doing wrong?