mirror of
https://github.com/home-assistant/core.git
synced 2025-07-24 21:57:51 +00:00
Fix HassIO timeout bug (#7155)
* Fix HassIO timeout bug * fix lint * Add long polling timeout to stop event
This commit is contained in:
parent
9ed4ed2e47
commit
cec39077ba
@ -131,7 +131,8 @@ def async_setup(hass, config):
|
|||||||
elif service.service == SERVICE_ADDON_START:
|
elif service.service == SERVICE_ADDON_START:
|
||||||
yield from hassio.send_command("/addons/{}/start".format(addon))
|
yield from hassio.send_command("/addons/{}/start".format(addon))
|
||||||
elif service.service == SERVICE_ADDON_STOP:
|
elif service.service == SERVICE_ADDON_STOP:
|
||||||
yield from hassio.send_command("/addons/{}/stop".format(addon))
|
yield from hassio.send_command(
|
||||||
|
"/addons/{}/stop".format(addon), timeout=LONG_TASK_TIMEOUT)
|
||||||
elif service.service == SERVICE_ADDON_UPDATE:
|
elif service.service == SERVICE_ADDON_UPDATE:
|
||||||
yield from hassio.send_command(
|
yield from hassio.send_command(
|
||||||
"/addons/{}/update".format(addon), payload=version,
|
"/addons/{}/update".format(addon), payload=version,
|
||||||
@ -168,8 +169,10 @@ class HassIO(object):
|
|||||||
@asyncio.coroutine
|
@asyncio.coroutine
|
||||||
def send_command(self, cmd, payload=None, timeout=DEFAULT_TIMEOUT):
|
def send_command(self, cmd, payload=None, timeout=DEFAULT_TIMEOUT):
|
||||||
"""Send request to API."""
|
"""Send request to API."""
|
||||||
answer = yield from self.send_raw(cmd, payload=payload)
|
answer = yield from self.send_raw(
|
||||||
if answer['result'] == 'ok':
|
cmd, payload=payload, timeout=timeout
|
||||||
|
)
|
||||||
|
if answer and answer['result'] == 'ok':
|
||||||
return answer['data'] if answer['data'] else True
|
return answer['data'] if answer['data'] else True
|
||||||
|
|
||||||
_LOGGER.error("%s return error %s.", cmd, answer['message'])
|
_LOGGER.error("%s return error %s.", cmd, answer['message'])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user