jeroenterheerdt / HAsmartirrigation

Smart Irrigation custom component for Home Assistant
MIT License
301 stars 47 forks source link

Sensor Group Max and Min Temperature Sensors do not allow to define the measurement #316

Closed auspokey closed 5 months ago

auspokey commented 5 months ago

What happened?

Using the Sensor Groups, when defining the Maximum Temperature and Minimum Temperature, when setting to a Sensor type, the "Inpute Provides Value in" drop down is completely blank. Because of this, I can not use a Sensor for these options or else I get an error in the Update All Zones Service

How to reproduce

If you navigate to the Smart Irrigation Module -> Sensor Groups Tab -> go to Maximum Temperature -> Click on Sensor radio button -> click on the drop down.

Follow same instructions for Minimum Temperature

Relevant log output

2023-12-05 20:50:27.887 WARNING (MainThread) [custom_components.smart_irrigation] Calculate for zone Front Yard failed: no data available.
2023-12-05 20:50:28.866 WARNING (MainThread) [custom_components.smart_irrigation] Calculate for zone Back Yard failed: no data available.
2023-12-05 20:50:49.488 ERROR (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Error executing script. Unexpected error for call_service at pos 1: 'Minimum Temperature'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 468, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 704, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 666, in _async_run_long_action
    return long_task.result()
           ^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/smart_irrigation/__init__.py", line 1079, in handle_update_all_zones
    await self._async_update_all()
  File "/config/custom_components/smart_irrigation/__init__.py", line 381, in _async_update_all
    weatherdata = await self.merge_weatherdata_and_sensor_values(weatherdata,sensor_values)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/smart_irrigation/__init__.py", line 413, in merge_weatherdata_and_sensor_values
    _LOGGER.debug("merge_weatherdata_and_sensor_values, overriding {} value {} from OWM with {} from sensors".format(key,retval[key],val))
                                                                                                                         ~~~~~~^^^^^
KeyError: 'Minimum Temperature'
2023-12-05 20:50:49.502 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [546414712384] Error handling message: Unknown error (unknown_error) Luke Pocock from 192.168.86.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 26, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 731, in handle_execute_script
    script_result = await script_obj.async_run(msg.get("variables"), context=context)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1578, in async_run
    return await asyncio.shield(run.async_run())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 420, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 470, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 493, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 468, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 704, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 666, in _async_run_long_action
    return long_task.result()
           ^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/smart_irrigation/__init__.py", line 1079, in handle_update_all_zones
    await self._async_update_all()
  File "/config/custom_components/smart_irrigation/__init__.py", line 381, in _async_update_all
    weatherdata = await self.merge_weatherdata_and_sensor_values(weatherdata,sensor_values)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/smart_irrigation/__init__.py", line 413, in merge_weatherdata_and_sensor_values
    _LOGGER.debug("merge_weatherdata_and_sensor_values, overriding {} value {} from OWM with {} from sensors".format(key,retval[key],val))
                                                                                                                         ~~~~~~^^^^^
KeyError: 'Minimum Temperature'

Which version are you running?

v2023.11.2

Diagnostics file

Additional information

No response

jeroenterheerdt commented 5 months ago

Please attach a diag file as instructed and reopen.