mirror of
https://github.com/home-assistant/core.git
synced 2025-07-14 00:37:13 +00:00
Improve ifttt typing (#108308)
This commit is contained in:
parent
8c71abe421
commit
42154bd684
@ -1,8 +1,11 @@
|
|||||||
"""Support to trigger Maker IFTTT recipes."""
|
"""Support to trigger Maker IFTTT recipes."""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from http import HTTPStatus
|
from http import HTTPStatus
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
from aiohttp import web
|
||||||
import pyfttt
|
import pyfttt
|
||||||
import requests
|
import requests
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
@ -91,7 +94,9 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
async def handle_webhook(hass, webhook_id, request):
|
async def handle_webhook(
|
||||||
|
hass: HomeAssistant, webhook_id: str, request: web.Request
|
||||||
|
) -> None:
|
||||||
"""Handle webhook callback."""
|
"""Handle webhook callback."""
|
||||||
body = await request.text()
|
body = await request.text()
|
||||||
try:
|
try:
|
||||||
|
@ -81,14 +81,14 @@ def setup_platform(
|
|||||||
if DATA_IFTTT_ALARM not in hass.data:
|
if DATA_IFTTT_ALARM not in hass.data:
|
||||||
hass.data[DATA_IFTTT_ALARM] = []
|
hass.data[DATA_IFTTT_ALARM] = []
|
||||||
|
|
||||||
name = config.get(CONF_NAME)
|
name: str = config[CONF_NAME]
|
||||||
code = config.get(CONF_CODE)
|
code: str | None = config.get(CONF_CODE)
|
||||||
code_arm_required = config.get(CONF_CODE_ARM_REQUIRED)
|
code_arm_required: bool = config[CONF_CODE_ARM_REQUIRED]
|
||||||
event_away = config.get(CONF_EVENT_AWAY)
|
event_away: str = config[CONF_EVENT_AWAY]
|
||||||
event_home = config.get(CONF_EVENT_HOME)
|
event_home: str = config[CONF_EVENT_HOME]
|
||||||
event_night = config.get(CONF_EVENT_NIGHT)
|
event_night: str = config[CONF_EVENT_NIGHT]
|
||||||
event_disarm = config.get(CONF_EVENT_DISARM)
|
event_disarm: str = config[CONF_EVENT_DISARM]
|
||||||
optimistic = config.get(CONF_OPTIMISTIC)
|
optimistic: bool = config[CONF_OPTIMISTIC]
|
||||||
|
|
||||||
alarmpanel = IFTTTAlarmPanel(
|
alarmpanel = IFTTTAlarmPanel(
|
||||||
name,
|
name,
|
||||||
@ -135,15 +135,15 @@ class IFTTTAlarmPanel(AlarmControlPanelEntity):
|
|||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
name,
|
name: str,
|
||||||
code,
|
code: str | None,
|
||||||
code_arm_required,
|
code_arm_required: bool,
|
||||||
event_away,
|
event_away: str,
|
||||||
event_home,
|
event_home: str,
|
||||||
event_night,
|
event_night: str,
|
||||||
event_disarm,
|
event_disarm: str,
|
||||||
optimistic,
|
optimistic: bool,
|
||||||
):
|
) -> None:
|
||||||
"""Initialize the alarm control panel."""
|
"""Initialize the alarm control panel."""
|
||||||
self._attr_name = name
|
self._attr_name = name
|
||||||
self._code = code
|
self._code = code
|
||||||
@ -187,7 +187,7 @@ class IFTTTAlarmPanel(AlarmControlPanelEntity):
|
|||||||
return
|
return
|
||||||
self.set_alarm_state(self._event_night, STATE_ALARM_ARMED_NIGHT)
|
self.set_alarm_state(self._event_night, STATE_ALARM_ARMED_NIGHT)
|
||||||
|
|
||||||
def set_alarm_state(self, event, state):
|
def set_alarm_state(self, event: str, state: str) -> None:
|
||||||
"""Call the IFTTT trigger service to change the alarm state."""
|
"""Call the IFTTT trigger service to change the alarm state."""
|
||||||
data = {ATTR_EVENT: event}
|
data = {ATTR_EVENT: event}
|
||||||
|
|
||||||
@ -196,7 +196,7 @@ class IFTTTAlarmPanel(AlarmControlPanelEntity):
|
|||||||
if self._optimistic:
|
if self._optimistic:
|
||||||
self._attr_state = state
|
self._attr_state = state
|
||||||
|
|
||||||
def push_alarm_state(self, value):
|
def push_alarm_state(self, value: str) -> None:
|
||||||
"""Push the alarm state to the given value."""
|
"""Push the alarm state to the given value."""
|
||||||
if value in ALLOWED_STATES:
|
if value in ALLOWED_STATES:
|
||||||
_LOGGER.debug("Pushed the alarm state to %s", value)
|
_LOGGER.debug("Pushed the alarm state to %s", value)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user