Ensure template fan value_template always determines on state (#47598)
This commit is contained in:
parent
8fe51b8ea7
commit
53952b9662
2 changed files with 6 additions and 5 deletions
|
@ -523,7 +523,6 @@ class TemplateFan(TemplateEntity, FanEntity):
|
|||
speed = str(speed)
|
||||
|
||||
if speed in self._speed_list:
|
||||
self._state = STATE_OFF if speed == SPEED_OFF else STATE_ON
|
||||
self._speed = speed
|
||||
self._percentage = self.speed_to_percentage(speed)
|
||||
self._preset_mode = speed if speed in self.preset_modes else None
|
||||
|
@ -552,7 +551,6 @@ class TemplateFan(TemplateEntity, FanEntity):
|
|||
return
|
||||
|
||||
if 0 <= percentage <= 100:
|
||||
self._state = STATE_OFF if percentage == 0 else STATE_ON
|
||||
self._percentage = percentage
|
||||
if self._speed_list:
|
||||
self._speed = self.percentage_to_speed(percentage)
|
||||
|
@ -569,7 +567,6 @@ class TemplateFan(TemplateEntity, FanEntity):
|
|||
preset_mode = str(preset_mode)
|
||||
|
||||
if preset_mode in self.preset_modes:
|
||||
self._state = STATE_ON
|
||||
self._speed = preset_mode
|
||||
self._percentage = None
|
||||
self._preset_mode = preset_mode
|
||||
|
|
|
@ -246,6 +246,10 @@ async def test_templates_with_entities(hass, calls):
|
|||
await hass.async_block_till_done()
|
||||
_verify(hass, STATE_ON, None, 0, True, DIRECTION_FORWARD, None)
|
||||
|
||||
hass.states.async_set(_STATE_INPUT_BOOLEAN, False)
|
||||
await hass.async_block_till_done()
|
||||
_verify(hass, STATE_OFF, None, 0, True, DIRECTION_FORWARD, None)
|
||||
|
||||
|
||||
async def test_templates_with_entities_and_invalid_percentage(hass, calls):
|
||||
"""Test templates with values from other entities."""
|
||||
|
@ -274,7 +278,7 @@ async def test_templates_with_entities_and_invalid_percentage(hass, calls):
|
|||
await hass.async_start()
|
||||
await hass.async_block_till_done()
|
||||
|
||||
_verify(hass, STATE_OFF, SPEED_OFF, 0, None, None, None)
|
||||
_verify(hass, STATE_ON, SPEED_OFF, 0, None, None, None)
|
||||
|
||||
hass.states.async_set("sensor.percentage", "33")
|
||||
await hass.async_block_till_done()
|
||||
|
@ -299,7 +303,7 @@ async def test_templates_with_entities_and_invalid_percentage(hass, calls):
|
|||
hass.states.async_set("sensor.percentage", "0")
|
||||
await hass.async_block_till_done()
|
||||
|
||||
_verify(hass, STATE_OFF, SPEED_OFF, 0, None, None, None)
|
||||
_verify(hass, STATE_ON, SPEED_OFF, 0, None, None, None)
|
||||
|
||||
|
||||
async def test_templates_with_entities_and_preset_modes(hass, calls):
|
||||
|
|
Loading…
Add table
Reference in a new issue