mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Fix Panasonic Viera config flow and state update (#39303)
This commit is contained in:
parent
b0a2c8d430
commit
0d7eec710c
@ -178,9 +178,6 @@ class Remote:
|
|||||||
self.muted = self._control.get_mute()
|
self.muted = self._control.get_mute()
|
||||||
self.volume = self._control.get_volume() / 100
|
self.volume = self._control.get_volume() / 100
|
||||||
|
|
||||||
self.state = STATE_ON
|
|
||||||
self.available = True
|
|
||||||
|
|
||||||
async def async_send_key(self, key):
|
async def async_send_key(self, key):
|
||||||
"""Send a key to the TV and handle exceptions."""
|
"""Send a key to the TV and handle exceptions."""
|
||||||
try:
|
try:
|
||||||
@ -231,7 +228,6 @@ class Remote:
|
|||||||
except (TimeoutError, URLError, SOAPError, OSError):
|
except (TimeoutError, URLError, SOAPError, OSError):
|
||||||
self.state = STATE_OFF
|
self.state = STATE_OFF
|
||||||
self.available = self._on_action is not None
|
self.available = self._on_action is not None
|
||||||
await self.async_create_remote_control()
|
|
||||||
except Exception as err: # pylint: disable=broad-except
|
except Exception as err: # pylint: disable=broad-except
|
||||||
_LOGGER.exception("An unknown error occurred: %s", err)
|
_LOGGER.exception("An unknown error occurred: %s", err)
|
||||||
self.state = STATE_OFF
|
self.state = STATE_OFF
|
||||||
|
@ -95,7 +95,9 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
if user_input is not None:
|
if user_input is not None:
|
||||||
pin = user_input[CONF_PIN]
|
pin = user_input[CONF_PIN]
|
||||||
try:
|
try:
|
||||||
self._remote.authorize_pin_code(pincode=pin)
|
await self.hass.async_add_executor_job(
|
||||||
|
partial(self._remote.authorize_pin_code, pincode=pin)
|
||||||
|
)
|
||||||
except SOAPError as err:
|
except SOAPError as err:
|
||||||
_LOGGER.error("Invalid PIN code: %s", err)
|
_LOGGER.error("Invalid PIN code: %s", err)
|
||||||
errors["base"] = ERROR_INVALID_PIN_CODE
|
errors["base"] = ERROR_INVALID_PIN_CODE
|
||||||
@ -119,7 +121,9 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self._remote.request_pin_code(name="Home Assistant")
|
await self.hass.async_add_executor_job(
|
||||||
|
partial(self._remote.request_pin_code, name="Home Assistant")
|
||||||
|
)
|
||||||
except (TimeoutError, URLError, SOAPError, OSError) as err:
|
except (TimeoutError, URLError, SOAPError, OSError) as err:
|
||||||
_LOGGER.error("The remote connection was lost: %s", err)
|
_LOGGER.error("The remote connection was lost: %s", err)
|
||||||
return self.async_abort(reason=REASON_NOT_CONNECTED)
|
return self.async_abort(reason=REASON_NOT_CONNECTED)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user