This is like clockwork. If I restart Home Assistant, when it comes back I have three errors in my logs relating to OpenSprinkler and the opensprinkler devices are all unavailable and greyed out. I’ve rebooted probably 5-6 times over the last few days and every time the thing is unavailable when “Home Assistant has started” message appears.
This is what the errors look like:
Error while setting up opensprinkler platform for switch
4:04:29 PM – Switch (ERROR)
Error while setting up opensprinkler platform for binary_sensor
4:04:29 PM – Binary sensor (ERROR)
Timeout fetching OpenSprinkler resource status data
4:04:25 PM – OpenSprinkler (ERROR)
More detail:
Log Details (ERROR)
Logger: homeassistant.components.switch
Source: custom_components/opensprinkler/__init__.py:134
Integration: Switch (documentation, issues)
First occurred: 4:04:29 PM (1 occurrences)
Last logged: 4:04:29 PM
Error while setting up opensprinkler platform for switch
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 201, in _async_setup_platform
await asyncio.gather(*pending)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 310, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 371, in _async_add_entity
device_info = entity.device_info
File "/config/custom_components/opensprinkler/__init__.py", line 134, in device_info
model = controller.hardware_version_name or "Unknown"
File "/usr/local/lib/python3.8/site-packages/pyopensprinkler/__init__.py", line 471, in hardware_version_name
if self.hardware_version == HARDWARE_VERSION_OSPI:
File "/usr/local/lib/python3.8/site-packages/pyopensprinkler/__init__.py", line 466, in hardware_version
return self._get_option("hwv")
File "/usr/local/lib/python3.8/site-packages/pyopensprinkler/__init__.py", line 274, in _get_option
return self._get_options()[option]
File "/usr/local/lib/python3.8/site-packages/pyopensprinkler/__init__.py", line 280, in _get_options
return self._retrieve_state()["options"]
File "/usr/local/lib/python3.8/site-packages/pyopensprinkler/__init__.py", line 268, in _retrieve_state
raise OpenSprinklerNoStateError("No state. Please refresh")
pyopensprinkler.OpenSprinklerNoStateError: No state. Please refresh
and
Log Details (ERROR)
Logger: homeassistant.components.binary_sensor
Source: custom_components/opensprinkler/__init__.py:134
Integration: Binary sensor (documentation, issues)
First occurred: 4:04:29 PM (1 occurrences)
Last logged: 4:04:29 PM
Error while setting up opensprinkler platform for binary_sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 201, in _async_setup_platform
await asyncio.gather(*pending)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 310, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 371, in _async_add_entity
device_info = entity.device_info
File "/config/custom_components/opensprinkler/__init__.py", line 134, in device_info
model = controller.hardware_version_name or "Unknown"
File "/usr/local/lib/python3.8/site-packages/pyopensprinkler/__init__.py", line 471, in hardware_version_name
if self.hardware_version == HARDWARE_VERSION_OSPI:
File "/usr/local/lib/python3.8/site-packages/pyopensprinkler/__init__.py", line 466, in hardware_version
return self._get_option("hwv")
File "/usr/local/lib/python3.8/site-packages/pyopensprinkler/__init__.py", line 274, in _get_option
return self._get_options()[option]
File "/usr/local/lib/python3.8/site-packages/pyopensprinkler/__init__.py", line 280, in _get_options
return self._retrieve_state()["options"]
File "/usr/local/lib/python3.8/site-packages/pyopensprinkler/__init__.py", line 268, in _retrieve_state
raise OpenSprinklerNoStateError("No state. Please refresh")
pyopensprinkler.OpenSprinklerNoStateError: No state. Please refresh
and
Log Details (ERROR)
Logger: custom_components.opensprinkler
Source: helpers/update_coordinator.py:147
Integration: OpenSprinkler (documentation)
First occurred: 4:04:25 PM (1 occurrences)
Last logged: 4:04:25 PM
Timeout fetching OpenSprinkler resource status data
I have to go into the integrations menu and manually click the reload
on the opensprinkler integration for all the related entities to resume function (the reload
operation never fails). The devices never seem to come back automatically once these three messages are seen in the log files.