Introduce Entity.async_write_ha_state() to not miss state transition (#21590)
* Copy state in schedule_update_ha_state * Lint * Fix broken test * Review comment, improve docstring * Preserve order of state updates * Rewrite * Break up async_update_ha_state * Update binary_sensor.py * Review comments * Update docstring * hass -> ha * Update entity.py * Update entity.py
This commit is contained in:
parent
458548daec
commit
fc81826763
3 changed files with 38 additions and 7 deletions
|
@ -275,16 +275,16 @@ async def test_entity_media_states(hass: HomeAssistantType):
|
|||
state = hass.states.get('media_player.speaker')
|
||||
assert state.state == 'playing'
|
||||
|
||||
entity.new_media_status(media_status)
|
||||
media_status.player_is_playing = False
|
||||
media_status.player_is_paused = True
|
||||
entity.new_media_status(media_status)
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get('media_player.speaker')
|
||||
assert state.state == 'paused'
|
||||
|
||||
entity.new_media_status(media_status)
|
||||
media_status.player_is_paused = False
|
||||
media_status.player_is_idle = True
|
||||
entity.new_media_status(media_status)
|
||||
await hass.async_block_till_done()
|
||||
state = hass.states.get('media_player.speaker')
|
||||
assert state.state == 'idle'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue