homeassistant-stubs 2024.8.2__py3-none-any.whl → 2024.9.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant-stubs/components/acer_projector/switch.pyi +1 -1
- homeassistant-stubs/components/airgradient/update.pyi +23 -0
- homeassistant-stubs/components/airvisual/__init__.pyi +0 -1
- homeassistant-stubs/components/airvisual_pro/config_flow.pyi +1 -1
- homeassistant-stubs/components/airzone/select.pyi +9 -1
- homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +2 -0
- homeassistant-stubs/components/airzone_cloud/sensor.pyi +2 -0
- homeassistant-stubs/components/amazon_polly/const.pyi +5 -8
- homeassistant-stubs/components/amazon_polly/tts.pyi +2 -1
- homeassistant-stubs/components/ambient_station/__init__.pyi +1 -2
- homeassistant-stubs/components/ambient_station/config_flow.pyi +2 -1
- homeassistant-stubs/components/android_ip_webcam/__init__.pyi +0 -2
- homeassistant-stubs/components/apcupsd/__init__.pyi +0 -1
- homeassistant-stubs/components/apcupsd/const.pyi +1 -1
- homeassistant-stubs/components/apcupsd/sensor.pyi +2 -2
- homeassistant-stubs/components/apsystems/binary_sensor.pyi +28 -0
- homeassistant-stubs/components/apsystems/coordinator.pyi +12 -4
- homeassistant-stubs/components/apsystems/number.pyi +1 -1
- homeassistant-stubs/components/arcam_fmj/__init__.pyi +1 -2
- homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +2 -2
- homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +4 -1
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
- homeassistant-stubs/components/assist_pipeline/vad.pyi +5 -4
- homeassistant-stubs/components/bang_olufsen/const.pyi +11 -11
- homeassistant-stubs/components/bang_olufsen/media_player.pyi +1 -0
- homeassistant-stubs/components/bang_olufsen/util.pyi +1 -1
- homeassistant-stubs/components/bang_olufsen/websocket.pyi +1 -0
- homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +0 -1
- homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -0
- homeassistant-stubs/components/bthome/sensor.pyi +1 -1
- homeassistant-stubs/components/canary/config_flow.pyi +1 -1
- homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
- homeassistant-stubs/components/command_line/notify.pyi +1 -1
- homeassistant-stubs/components/deconz/select.pyi +12 -0
- homeassistant-stubs/components/demo/alarm_control_panel.pyi +0 -3
- homeassistant-stubs/components/demo/config_flow.pyi +1 -1
- homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
- homeassistant-stubs/components/dhcp/__init__.pyi +0 -1
- homeassistant-stubs/components/downloader/config_flow.pyi +1 -1
- homeassistant-stubs/components/ecovacs/__init__.pyi +2 -6
- homeassistant-stubs/components/ecovacs/config_flow.pyi +1 -5
- homeassistant-stubs/components/elkm1/config_flow.pyi +1 -1
- homeassistant-stubs/components/enigma2/config_flow.pyi +1 -1
- homeassistant-stubs/components/esphome/climate.pyi +1 -1
- homeassistant-stubs/components/esphome/entity.pyi +4 -4
- homeassistant-stubs/components/esphome/entry_data.pyi +2 -1
- homeassistant-stubs/components/esphome/manager.pyi +1 -0
- homeassistant-stubs/components/esphome/media_player.pyi +1 -1
- homeassistant-stubs/components/esphome/number.pyi +1 -1
- homeassistant-stubs/components/esphome/sensor.pyi +1 -1
- homeassistant-stubs/components/feedreader/config_flow.pyi +1 -1
- homeassistant-stubs/components/filesize/coordinator.pyi +1 -0
- homeassistant-stubs/components/fitbit/config_flow.pyi +1 -1
- homeassistant-stubs/components/fritzbox/light.pyi +4 -7
- homeassistant-stubs/components/fronius/sensor.pyi +1 -1
- homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +12 -0
- homeassistant-stubs/components/fujitsu_fglair/climate.pyi +53 -0
- homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +18 -0
- homeassistant-stubs/components/fujitsu_fglair/const.pyi +7 -0
- homeassistant-stubs/components/fujitsu_fglair/coordinator.pyi +15 -0
- homeassistant-stubs/components/fyta/__init__.pyi +15 -0
- homeassistant-stubs/components/fyta/config_flow.pyi +22 -0
- homeassistant-stubs/components/fyta/const.pyi +2 -0
- homeassistant-stubs/components/fyta/coordinator.pyi +18 -0
- homeassistant-stubs/components/fyta/diagnostics.pyi +10 -0
- homeassistant-stubs/components/fyta/entity.pyi +20 -0
- homeassistant-stubs/components/fyta/sensor.pyi +29 -0
- homeassistant-stubs/components/glances/__init__.pyi +0 -1
- homeassistant-stubs/components/google/config_flow.pyi +0 -2
- homeassistant-stubs/components/gpsd/config_flow.pyi +0 -1
- homeassistant-stubs/components/gpsd/sensor.pyi +6 -9
- homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +7 -2
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +31 -9
- homeassistant-stubs/components/homeassistant_yellow/const.pyi +2 -0
- homeassistant-stubs/components/homekit/config_flow.pyi +1 -1
- homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
- homeassistant-stubs/components/husqvarna_automower/button.pyi +0 -1
- homeassistant-stubs/components/hydrawise/config_flow.pyi +1 -1
- homeassistant-stubs/components/intent_script/__init__.pyi +1 -0
- homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +0 -2
- homeassistant-stubs/components/isy994/const.pyi +1 -1
- homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -2
- homeassistant-stubs/components/jvc_projector/__init__.pyi +3 -3
- homeassistant-stubs/components/jvc_projector/binary_sensor.pyi +2 -4
- homeassistant-stubs/components/jvc_projector/config_flow.pyi +1 -1
- homeassistant-stubs/components/jvc_projector/remote.pyi +2 -3
- homeassistant-stubs/components/jvc_projector/select.pyi +2 -4
- homeassistant-stubs/components/jvc_projector/sensor.pyi +2 -4
- homeassistant-stubs/components/knx/climate.pyi +4 -5
- homeassistant-stubs/components/knx/const.pyi +1 -2
- homeassistant-stubs/components/knx/project.pyi +2 -1
- homeassistant-stubs/components/knx/websocket.pyi +20 -12
- homeassistant-stubs/components/lawn_mower/const.pyi +1 -0
- homeassistant-stubs/components/lcn/__init__.pyi +2 -1
- homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -2
- homeassistant-stubs/components/lcn/climate.pyi +3 -2
- homeassistant-stubs/components/lcn/config_flow.pyi +16 -7
- homeassistant-stubs/components/lcn/const.pyi +1 -0
- homeassistant-stubs/components/lcn/cover.pyi +3 -2
- homeassistant-stubs/components/lcn/helpers.pyi +1 -0
- homeassistant-stubs/components/lcn/light.pyi +3 -2
- homeassistant-stubs/components/lcn/scene.pyi +3 -2
- homeassistant-stubs/components/lcn/schemas.pyi +1 -0
- homeassistant-stubs/components/lcn/sensor.pyi +3 -2
- homeassistant-stubs/components/lcn/switch.pyi +3 -2
- homeassistant-stubs/components/lcn/websocket.pyi +25 -0
- homeassistant-stubs/components/lidarr/config_flow.pyi +1 -1
- homeassistant-stubs/components/linkplay/__init__.pyi +5 -1
- homeassistant-stubs/components/linkplay/config_flow.pyi +5 -1
- homeassistant-stubs/components/linkplay/const.pyi +1 -0
- homeassistant-stubs/components/linkplay/utils.pyi +5 -0
- homeassistant-stubs/components/local_ip/__init__.pyi +1 -4
- homeassistant-stubs/components/logbook/models.pyi +27 -17
- homeassistant-stubs/components/logbook/processor.pyi +7 -9
- homeassistant-stubs/components/logbook/rest_api.pyi +1 -1
- homeassistant-stubs/components/logbook/websocket_api.pyi +3 -3
- homeassistant-stubs/components/luftdaten/__init__.pyi +0 -1
- homeassistant-stubs/components/madvr/config_flow.pyi +9 -3
- homeassistant-stubs/components/manual/alarm_control_panel.pyi +77 -0
- homeassistant-stubs/components/mastodon/__init__.pyi +19 -3
- homeassistant-stubs/components/mastodon/config_flow.pyi +3 -2
- homeassistant-stubs/components/mastodon/const.pyi +3 -0
- homeassistant-stubs/components/mastodon/coordinator.pyi +11 -0
- homeassistant-stubs/components/mastodon/diagnostics.pyi +6 -0
- homeassistant-stubs/components/mastodon/entity.pyi +15 -0
- homeassistant-stubs/components/mastodon/sensor.pyi +25 -0
- homeassistant-stubs/components/media_extractor/config_flow.pyi +1 -1
- homeassistant-stubs/components/mikrotik/__init__.pyi +0 -1
- homeassistant-stubs/components/mikrotik/config_flow.pyi +1 -1
- homeassistant-stubs/components/mqtt/__init__.pyi +2 -1
- homeassistant-stubs/components/mqtt/addon.pyi +10 -0
- homeassistant-stubs/components/mqtt/client.pyi +1 -0
- homeassistant-stubs/components/mqtt/climate.pyi +2 -1
- homeassistant-stubs/components/mqtt/config_flow.pyi +20 -1
- homeassistant-stubs/components/mqtt/const.pyi +2 -0
- homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -1
- homeassistant-stubs/components/mqtt/event.pyi +2 -1
- homeassistant-stubs/components/mqtt/fan.pyi +2 -1
- homeassistant-stubs/components/mqtt/humidifier.pyi +2 -1
- homeassistant-stubs/components/mqtt/lawn_mower.pyi +2 -1
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -1
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -1
- homeassistant-stubs/components/mqtt/lock.pyi +2 -1
- homeassistant-stubs/components/mqtt/mixins.pyi +1 -1
- homeassistant-stubs/components/mqtt/models.pyi +5 -3
- homeassistant-stubs/components/mqtt/number.pyi +2 -1
- homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
- homeassistant-stubs/components/mqtt/select.pyi +3 -3
- homeassistant-stubs/components/mqtt/sensor.pyi +5 -3
- homeassistant-stubs/components/mqtt/siren.pyi +2 -1
- homeassistant-stubs/components/mqtt/tag.pyi +2 -1
- homeassistant-stubs/components/mqtt/text.pyi +2 -1
- homeassistant-stubs/components/mqtt/trigger.pyi +2 -1
- homeassistant-stubs/components/mqtt/vacuum.pyi +3 -5
- homeassistant-stubs/components/mysensors/__init__.pyi +0 -1
- homeassistant-stubs/components/mysensors/gateway.pyi +2 -1
- homeassistant-stubs/components/mysensors/sensor.pyi +1 -1
- homeassistant-stubs/components/nest/__init__.pyi +5 -2
- homeassistant-stubs/components/nest/event.pyi +36 -0
- homeassistant-stubs/components/notion/__init__.pyi +0 -1
- homeassistant-stubs/components/number/const.pyi +1 -1
- homeassistant-stubs/components/otbr/__init__.pyi +6 -5
- homeassistant-stubs/components/otbr/config_flow.pyi +7 -1
- homeassistant-stubs/components/otbr/silabs_multiprotocol.pyi +8 -4
- homeassistant-stubs/components/otbr/util.pyi +7 -2
- homeassistant-stubs/components/otbr/websocket_api.pyi +1 -0
- homeassistant-stubs/components/overkiz/water_heater_entities/atlantic_domestic_hot_water_production_mlb_component.pyi +1 -1
- homeassistant-stubs/components/pi_hole/__init__.pyi +0 -1
- homeassistant-stubs/components/powerwall/__init__.pyi +0 -1
- homeassistant-stubs/components/prometheus/__init__.pyi +2 -1
- homeassistant-stubs/components/proximity/__init__.pyi +3 -25
- homeassistant-stubs/components/proximity/config_flow.pyi +0 -1
- homeassistant-stubs/components/proximity/coordinator.pyi +1 -3
- homeassistant-stubs/components/radarr/config_flow.pyi +1 -1
- homeassistant-stubs/components/rainmachine/__init__.pyi +0 -1
- homeassistant-stubs/components/recorder/core.pyi +0 -1
- homeassistant-stubs/components/recorder/migration.pyi +9 -4
- homeassistant-stubs/components/recorder/statistics.pyi +3 -3
- homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +8 -2
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/ring/__init__.pyi +1 -0
- homeassistant-stubs/components/ring/button.pyi +1 -1
- homeassistant-stubs/components/ring/camera.pyi +4 -4
- homeassistant-stubs/components/ring/config_flow.pyi +1 -0
- homeassistant-stubs/components/ring/coordinator.pyi +3 -2
- homeassistant-stubs/components/ring/entity.pyi +3 -3
- homeassistant-stubs/components/ring/light.pyi +3 -3
- homeassistant-stubs/components/ring/siren.pyi +1 -1
- homeassistant-stubs/components/ring/switch.pyi +3 -3
- homeassistant-stubs/components/roku/__init__.pyi +0 -1
- homeassistant-stubs/components/samsungtv/__init__.pyi +0 -1
- homeassistant-stubs/components/sensor/const.pyi +1 -1
- homeassistant-stubs/components/sensor/recorder.pyi +1 -0
- homeassistant-stubs/components/shelly/const.pyi +1 -0
- homeassistant-stubs/components/shelly/coordinator.pyi +11 -3
- homeassistant-stubs/components/shelly/diagnostics.pyi +1 -0
- homeassistant-stubs/components/shelly/entity.pyi +2 -0
- homeassistant-stubs/components/shelly/utils.pyi +4 -2
- homeassistant-stubs/components/simplisafe/__init__.pyi +0 -1
- homeassistant-stubs/components/simplisafe/config_flow.pyi +1 -1
- homeassistant-stubs/components/sleepiq/config_flow.pyi +1 -1
- homeassistant-stubs/components/sun/config_flow.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
- homeassistant-stubs/components/synology_dsm/media_source.pyi +1 -0
- homeassistant-stubs/components/systemmonitor/sensor.pyi +2 -4
- homeassistant-stubs/components/tailwind/config_flow.pyi +1 -1
- homeassistant-stubs/components/tcp/common.pyi +0 -1
- homeassistant-stubs/components/technove/binary_sensor.pyi +5 -1
- homeassistant-stubs/components/technove/switch.pyi +11 -4
- homeassistant-stubs/components/thethingsnetwork/config_flow.pyi +1 -1
- homeassistant-stubs/components/tile/config_flow.pyi +1 -1
- homeassistant-stubs/components/tradfri/__init__.pyi +0 -1
- homeassistant-stubs/components/trafikverket_train/__init__.pyi +1 -4
- homeassistant-stubs/components/trafikverket_train/coordinator.pyi +5 -4
- homeassistant-stubs/components/unifi/sensor.pyi +6 -1
- homeassistant-stubs/components/unifiprotect/migrate.pyi +1 -1
- homeassistant-stubs/components/water_heater/__init__.pyi +5 -6
- homeassistant-stubs/components/websocket_api/commands.pyi +3 -2
- homeassistant-stubs/components/websocket_api/http.pyi +6 -1
- homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
- homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +3 -1
- homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
- homeassistant-stubs/components/zwave_js/config_flow.pyi +2 -3
- homeassistant-stubs/components/zwave_js/services.pyi +1 -0
- homeassistant-stubs/config_entries.pyi +2 -0
- homeassistant-stubs/const.pyi +7 -2
- homeassistant-stubs/core.pyi +1 -1
- homeassistant-stubs/generated/amazon_polly.pyi +5 -0
- homeassistant-stubs/helpers/aiohttp_client.pyi +4 -0
- homeassistant-stubs/helpers/collection.pyi +4 -1
- homeassistant-stubs/helpers/config_validation.pyi +23 -3
- homeassistant-stubs/helpers/entity_component.pyi +1 -1
- homeassistant-stubs/helpers/entity_platform.pyi +2 -2
- homeassistant-stubs/helpers/icon.pyi +2 -0
- homeassistant-stubs/helpers/service.pyi +4 -2
- homeassistant-stubs/helpers/trigger_template_entity.pyi +0 -1
- homeassistant-stubs/scripts/auth.pyi +9 -6
- homeassistant-stubs/scripts/benchmark/__init__.pyi +1 -2
- homeassistant-stubs/scripts/macos/__init__.pyi +1 -1
- homeassistant-stubs/util/async_.pyi +2 -1
- homeassistant-stubs/util/executor.pyi +1 -1
- homeassistant-stubs/util/unit_conversion.pyi +0 -17
- homeassistant-stubs/util/yaml/loader.pyi +1 -0
- {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/RECORD +248 -232
- homeassistant-stubs/components/asterisk_cdr/mailbox.pyi +0 -18
- homeassistant-stubs/components/asterisk_mbox/__init__.pyi +0 -31
- homeassistant-stubs/components/asterisk_mbox/mailbox.pyi +0 -26
- homeassistant-stubs/components/demo/mailbox.pyi +0 -24
- homeassistant-stubs/components/mailbox/__init__.pyi +0 -77
- homeassistant-stubs/components/proximity/helpers.pyi +0 -5
- homeassistant-stubs/components/systemmonitor/repairs.pyi +0 -15
- /homeassistant-stubs/components/{asterisk_cdr → manual}/__init__.pyi +0 -0
- {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/LICENSE +0 -0
- {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/WHEEL +0 -0
@@ -1,3 +1,7 @@
|
|
1
|
+
from .const import CONF_SESSION as CONF_SESSION, DOMAIN as DOMAIN
|
2
|
+
from aiohttp import ClientSession as ClientSession
|
3
|
+
from homeassistant.const import EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE
|
4
|
+
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
1
5
|
from typing import Final
|
2
6
|
|
3
7
|
MANUFACTURER_ARTSOUND: Final[str]
|
@@ -17,3 +21,4 @@ MODELS_IEAST_AUDIOCAST_M5: Final[str]
|
|
17
21
|
MODELS_GENERIC: Final[str]
|
18
22
|
|
19
23
|
def get_info_from_project(project: str) -> tuple[str, str]: ...
|
24
|
+
async def async_get_client_session(hass: HomeAssistant) -> ClientSession: ...
|
@@ -1,9 +1,6 @@
|
|
1
|
-
from .const import
|
2
|
-
from _typeshed import Incomplete
|
1
|
+
from .const import PLATFORMS as PLATFORMS
|
3
2
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
3
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
5
4
|
|
6
|
-
CONFIG_SCHEMA: Incomplete
|
7
|
-
|
8
5
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
9
6
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
@@ -10,7 +10,7 @@ from homeassistant.util.event_type import EventType as EventType
|
|
10
10
|
from homeassistant.util.json import json_loads as json_loads
|
11
11
|
from homeassistant.util.ulid import ulid_to_bytes as ulid_to_bytes
|
12
12
|
from sqlalchemy.engine.row import Row as Row
|
13
|
-
from typing import Any
|
13
|
+
from typing import Any, Final, NamedTuple
|
14
14
|
|
15
15
|
@dataclass(slots=True)
|
16
16
|
class LogbookConfig:
|
@@ -21,8 +21,6 @@ class LogbookConfig:
|
|
21
21
|
|
22
22
|
class LazyEventPartialState:
|
23
23
|
row: Incomplete
|
24
|
-
_event_data: Incomplete
|
25
|
-
_event_data_cache: Incomplete
|
26
24
|
data: Incomplete
|
27
25
|
def __init__(self, row: Row | EventAsRow, event_data_cache: dict[str, dict[str, Any]]) -> None: ...
|
28
26
|
@cached_property
|
@@ -38,21 +36,33 @@ class LazyEventPartialState:
|
|
38
36
|
@cached_property
|
39
37
|
def context_parent_id(self) -> str | None: ...
|
40
38
|
|
41
|
-
|
42
|
-
|
39
|
+
ROW_ID_POS: Final[int]
|
40
|
+
EVENT_TYPE_POS: Final[int]
|
41
|
+
EVENT_DATA_POS: Final[int]
|
42
|
+
TIME_FIRED_TS_POS: Final[int]
|
43
|
+
CONTEXT_ID_BIN_POS: Final[int]
|
44
|
+
CONTEXT_USER_ID_BIN_POS: Final[int]
|
45
|
+
CONTEXT_PARENT_ID_BIN_POS: Final[int]
|
46
|
+
STATE_POS: Final[int]
|
47
|
+
ENTITY_ID_POS: Final[int]
|
48
|
+
ICON_POS: Final[int]
|
49
|
+
CONTEXT_ONLY_POS: Final[int]
|
50
|
+
DATA_POS: Final[int]
|
51
|
+
CONTEXT_POS: Final[int]
|
52
|
+
|
53
|
+
class EventAsRow(NamedTuple):
|
54
|
+
row_id: int
|
55
|
+
event_type: EventType[Any] | str | None
|
56
|
+
event_data: str | None
|
57
|
+
time_fired_ts: float
|
58
|
+
context_id_bin: bytes
|
59
|
+
context_user_id_bin: bytes | None
|
60
|
+
context_parent_id_bin: bytes | None
|
61
|
+
state: str | None
|
62
|
+
entity_id: str | None
|
63
|
+
icon: str | None
|
64
|
+
context_only: bool | None
|
43
65
|
data: Mapping[str, Any]
|
44
66
|
context: Context
|
45
|
-
context_id_bin: bytes
|
46
|
-
time_fired_ts: float
|
47
|
-
row_id: int
|
48
|
-
event_data: str | None = ...
|
49
|
-
entity_id: str | None = ...
|
50
|
-
icon: str | None = ...
|
51
|
-
context_user_id_bin: bytes | None = ...
|
52
|
-
context_parent_id_bin: bytes | None = ...
|
53
|
-
event_type: EventType[Any] | str | None = ...
|
54
|
-
state: str | None = ...
|
55
|
-
context_only: None = ...
|
56
|
-
def __init__(self, data, context, context_id_bin, time_fired_ts, row_id, event_data=..., entity_id=..., icon=..., context_user_id_bin=..., context_parent_id_bin=..., event_type=..., state=..., context_only=...) -> None: ...
|
57
67
|
|
58
68
|
def async_event_to_row(event: Event) -> EventAsRow: ...
|
@@ -1,6 +1,6 @@
|
|
1
1
|
from .const import ATTR_MESSAGE as ATTR_MESSAGE, CONTEXT_DOMAIN as CONTEXT_DOMAIN, CONTEXT_ENTITY_ID as CONTEXT_ENTITY_ID, CONTEXT_ENTITY_ID_NAME as CONTEXT_ENTITY_ID_NAME, CONTEXT_EVENT_TYPE as CONTEXT_EVENT_TYPE, CONTEXT_MESSAGE as CONTEXT_MESSAGE, CONTEXT_NAME as CONTEXT_NAME, CONTEXT_SERVICE as CONTEXT_SERVICE, CONTEXT_SOURCE as CONTEXT_SOURCE, CONTEXT_STATE as CONTEXT_STATE, CONTEXT_USER_ID as CONTEXT_USER_ID, DOMAIN as DOMAIN, LOGBOOK_ENTRY_DOMAIN as LOGBOOK_ENTRY_DOMAIN, LOGBOOK_ENTRY_ENTITY_ID as LOGBOOK_ENTRY_ENTITY_ID, LOGBOOK_ENTRY_ICON as LOGBOOK_ENTRY_ICON, LOGBOOK_ENTRY_MESSAGE as LOGBOOK_ENTRY_MESSAGE, LOGBOOK_ENTRY_NAME as LOGBOOK_ENTRY_NAME, LOGBOOK_ENTRY_SOURCE as LOGBOOK_ENTRY_SOURCE, LOGBOOK_ENTRY_STATE as LOGBOOK_ENTRY_STATE, LOGBOOK_ENTRY_WHEN as LOGBOOK_ENTRY_WHEN
|
2
2
|
from .helpers import is_sensor_continuous as is_sensor_continuous
|
3
|
-
from .models import EventAsRow as EventAsRow, LazyEventPartialState as LazyEventPartialState, LogbookConfig as LogbookConfig, async_event_to_row as async_event_to_row
|
3
|
+
from .models import CONTEXT_ID_BIN_POS as CONTEXT_ID_BIN_POS, CONTEXT_ONLY_POS as CONTEXT_ONLY_POS, CONTEXT_PARENT_ID_BIN_POS as CONTEXT_PARENT_ID_BIN_POS, CONTEXT_POS as CONTEXT_POS, CONTEXT_USER_ID_BIN_POS as CONTEXT_USER_ID_BIN_POS, ENTITY_ID_POS as ENTITY_ID_POS, EVENT_TYPE_POS as EVENT_TYPE_POS, EventAsRow as EventAsRow, ICON_POS as ICON_POS, LazyEventPartialState as LazyEventPartialState, LogbookConfig as LogbookConfig, ROW_ID_POS as ROW_ID_POS, STATE_POS as STATE_POS, TIME_FIRED_TS_POS as TIME_FIRED_TS_POS, async_event_to_row as async_event_to_row
|
4
4
|
from .queries import statement_for_request as statement_for_request
|
5
5
|
from .queries.common import PSEUDO_EVENT_STATE_CHANGED as PSEUDO_EVENT_STATE_CHANGED
|
6
6
|
from _typeshed import Incomplete
|
@@ -9,7 +9,7 @@ from dataclasses import dataclass
|
|
9
9
|
from datetime import datetime as dt
|
10
10
|
from homeassistant.components.recorder import get_instance as get_instance
|
11
11
|
from homeassistant.components.recorder.filters import Filters as Filters
|
12
|
-
from homeassistant.components.recorder.models import bytes_to_uuid_hex_or_none as bytes_to_uuid_hex_or_none, extract_event_type_ids as extract_event_type_ids, extract_metadata_ids as extract_metadata_ids,
|
12
|
+
from homeassistant.components.recorder.models import bytes_to_uuid_hex_or_none as bytes_to_uuid_hex_or_none, extract_event_type_ids as extract_event_type_ids, extract_metadata_ids as extract_metadata_ids, process_timestamp_to_utc_isoformat as process_timestamp_to_utc_isoformat
|
13
13
|
from homeassistant.components.recorder.util import execute_stmt_lambda_element as execute_stmt_lambda_element, session_scope as session_scope
|
14
14
|
from homeassistant.const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_NAME as ATTR_NAME, ATTR_SERVICE as ATTR_SERVICE, EVENT_CALL_SERVICE as EVENT_CALL_SERVICE, EVENT_LOGBOOK_ENTRY as EVENT_LOGBOOK_ENTRY
|
15
15
|
from homeassistant.core import HomeAssistant as HomeAssistant, split_entity_id as split_entity_id
|
@@ -28,9 +28,9 @@ class LogbookRun:
|
|
28
28
|
event_cache: EventCache
|
29
29
|
entity_name_cache: EntityNameCache
|
30
30
|
include_entity_name: bool
|
31
|
-
|
31
|
+
timestamp: bool
|
32
32
|
memoize_new_contexts: bool = ...
|
33
|
-
def __init__(self, context_lookup, external_events, event_cache, entity_name_cache, include_entity_name,
|
33
|
+
def __init__(self, context_lookup, external_events, event_cache, entity_name_cache, include_entity_name, timestamp, memoize_new_contexts=...) -> None: ...
|
34
34
|
|
35
35
|
class EventProcessor:
|
36
36
|
hass: Incomplete
|
@@ -58,12 +58,10 @@ class ContextAugmenter:
|
|
58
58
|
event_cache: Incomplete
|
59
59
|
include_entity_name: Incomplete
|
60
60
|
def __init__(self, logbook_run: LogbookRun) -> None: ...
|
61
|
-
def
|
62
|
-
def augment(self, data: dict[str, Any],
|
61
|
+
def get_context(self, context_id_bin: bytes | None, row: Row | EventAsRow | None) -> Row | EventAsRow | None: ...
|
62
|
+
def augment(self, data: dict[str, Any], context_row: Row | EventAsRow) -> None: ...
|
63
63
|
|
64
|
-
def
|
65
|
-
def _row_time_fired_isoformat(row: Row | EventAsRow) -> str: ...
|
66
|
-
def _row_time_fired_timestamp(row: Row | EventAsRow) -> float: ...
|
64
|
+
def _rows_ids_match(row: Row | EventAsRow, other_row: Row | EventAsRow) -> bool: ...
|
67
65
|
|
68
66
|
class EntityNameCache:
|
69
67
|
_hass: Incomplete
|
@@ -1,7 +1,7 @@
|
|
1
1
|
from .helpers import async_determine_event_types as async_determine_event_types
|
2
2
|
from .processor import EventProcessor as EventProcessor
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from aiohttp import web
|
4
|
+
from aiohttp import web as web
|
5
5
|
from collections.abc import Callable as Callable
|
6
6
|
from homeassistant.components.http import HomeAssistantView as HomeAssistantView, KEY_HASS as KEY_HASS
|
7
7
|
from homeassistant.components.recorder import get_instance as get_instance
|
@@ -34,10 +34,10 @@ class LogbookLiveStream:
|
|
34
34
|
|
35
35
|
def async_setup(hass: HomeAssistant) -> None: ...
|
36
36
|
def _async_send_empty_response(connection: ActiveConnection, msg_id: int, start_time: dt, end_time: dt | None) -> None: ...
|
37
|
-
async def _async_send_historical_events(hass: HomeAssistant, connection: ActiveConnection, msg_id: int, start_time: dt, end_time: dt,
|
38
|
-
async def _async_get_ws_stream_events(hass: HomeAssistant, msg_id: int, start_time: dt, end_time: dt,
|
37
|
+
async def _async_send_historical_events(hass: HomeAssistant, connection: ActiveConnection, msg_id: int, start_time: dt, end_time: dt, event_processor: EventProcessor, partial: bool, force_send: bool = False) -> dt | None: ...
|
38
|
+
async def _async_get_ws_stream_events(hass: HomeAssistant, msg_id: int, start_time: dt, end_time: dt, event_processor: EventProcessor, partial: bool) -> tuple[bytes, dt | None]: ...
|
39
39
|
def _generate_stream_message(events: list[dict[str, Any]], start_day: dt, end_day: dt) -> dict[str, Any]: ...
|
40
|
-
def _ws_stream_get_events(msg_id: int, start_day: dt, end_day: dt,
|
40
|
+
def _ws_stream_get_events(msg_id: int, start_day: dt, end_day: dt, event_processor: EventProcessor, partial: bool) -> tuple[bytes, dt | None]: ...
|
41
41
|
async def _async_events_consumer(subscriptions_setup_complete_time: dt, connection: ActiveConnection, msg_id: int, stream_queue: asyncio.Queue[Event], event_processor: EventProcessor) -> None: ...
|
42
42
|
async def ws_event_stream(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
|
43
43
|
def _ws_formatted_get_events(msg_id: int, start_time: dt, end_time: dt, event_processor: EventProcessor) -> bytes: ...
|
@@ -7,7 +7,6 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
|
|
7
7
|
|
8
8
|
_LOGGER: Incomplete
|
9
9
|
PLATFORMS: Incomplete
|
10
|
-
CONFIG_SCHEMA: Incomplete
|
11
10
|
|
12
11
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
13
12
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
@@ -1,8 +1,9 @@
|
|
1
1
|
from .const import DEFAULT_NAME as DEFAULT_NAME, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN
|
2
2
|
from .errors import CannotConnect as CannotConnect
|
3
3
|
from _typeshed import Incomplete
|
4
|
-
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
4
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
5
|
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
7
|
from madvr.madvr import Madvr
|
7
8
|
from typing import Any
|
8
9
|
|
@@ -12,6 +13,11 @@ RETRY_INTERVAL: int
|
|
12
13
|
|
13
14
|
class MadVRConfigFlow(ConfigFlow, domain=DOMAIN):
|
14
15
|
VERSION: int
|
16
|
+
entry: ConfigEntry | None
|
15
17
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
16
|
-
async def
|
17
|
-
async def
|
18
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
19
|
+
async def async_step_reconfigure_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
20
|
+
async def _handle_config_step(self, user_input: dict[str, Any] | None = None, step_id: str = 'user') -> ConfigFlowResult: ...
|
21
|
+
|
22
|
+
async def test_connection(hass: HomeAssistant, host: str, port: int) -> str: ...
|
23
|
+
async def close_test_connection(madvr_client: Madvr) -> None: ...
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import datetime
|
2
|
+
import voluptuous as vol
|
3
|
+
from _typeshed import Incomplete
|
4
|
+
from homeassistant.components.alarm_control_panel import AlarmControlPanelEntity as AlarmControlPanelEntity, AlarmControlPanelEntityFeature as AlarmControlPanelEntityFeature, CodeFormat as CodeFormat
|
5
|
+
from homeassistant.const import CONF_ARMING_TIME as CONF_ARMING_TIME, CONF_CODE as CONF_CODE, CONF_DELAY_TIME as CONF_DELAY_TIME, CONF_DISARM_AFTER_TRIGGER as CONF_DISARM_AFTER_TRIGGER, CONF_NAME as CONF_NAME, CONF_TRIGGER_TIME as CONF_TRIGGER_TIME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, STATE_ALARM_ARMED_AWAY as STATE_ALARM_ARMED_AWAY, STATE_ALARM_ARMED_CUSTOM_BYPASS as STATE_ALARM_ARMED_CUSTOM_BYPASS, STATE_ALARM_ARMED_HOME as STATE_ALARM_ARMED_HOME, STATE_ALARM_ARMED_NIGHT as STATE_ALARM_ARMED_NIGHT, STATE_ALARM_ARMED_VACATION as STATE_ALARM_ARMED_VACATION, STATE_ALARM_ARMING as STATE_ALARM_ARMING, STATE_ALARM_DISARMED as STATE_ALARM_DISARMED, STATE_ALARM_PENDING as STATE_ALARM_PENDING, STATE_ALARM_TRIGGERED as STATE_ALARM_TRIGGERED
|
6
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
7
|
+
from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
|
8
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
9
|
+
from homeassistant.helpers.event import async_track_point_in_time as async_track_point_in_time
|
10
|
+
from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
|
11
|
+
from homeassistant.helpers.template import Template as Template
|
12
|
+
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
13
|
+
from typing import Any
|
14
|
+
|
15
|
+
DOMAIN: str
|
16
|
+
CONF_ARMING_STATES: str
|
17
|
+
CONF_CODE_TEMPLATE: str
|
18
|
+
CONF_CODE_ARM_REQUIRED: str
|
19
|
+
DEFAULT_ALARM_NAME: str
|
20
|
+
DEFAULT_DELAY_TIME: Incomplete
|
21
|
+
DEFAULT_ARMING_TIME: Incomplete
|
22
|
+
DEFAULT_TRIGGER_TIME: Incomplete
|
23
|
+
DEFAULT_DISARM_AFTER_TRIGGER: bool
|
24
|
+
SUPPORTED_STATES: Incomplete
|
25
|
+
SUPPORTED_PRETRIGGER_STATES: Incomplete
|
26
|
+
SUPPORTED_ARMING_STATES: Incomplete
|
27
|
+
SUPPORTED_ARMING_STATE_TO_FEATURE: Incomplete
|
28
|
+
ATTR_PREVIOUS_STATE: str
|
29
|
+
ATTR_NEXT_STATE: str
|
30
|
+
|
31
|
+
def _state_validator(config: dict[str, Any]) -> dict[str, Any]: ...
|
32
|
+
def _state_schema(state: str) -> vol.Schema: ...
|
33
|
+
|
34
|
+
PLATFORM_SCHEMA: Incomplete
|
35
|
+
|
36
|
+
async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
|
37
|
+
|
38
|
+
class ManualAlarm(AlarmControlPanelEntity, RestoreEntity):
|
39
|
+
_attr_should_poll: bool
|
40
|
+
_state: Incomplete
|
41
|
+
_hass: Incomplete
|
42
|
+
_attr_name: Incomplete
|
43
|
+
_attr_unique_id: Incomplete
|
44
|
+
_code: Incomplete
|
45
|
+
_attr_code_arm_required: Incomplete
|
46
|
+
_disarm_after_trigger: Incomplete
|
47
|
+
_previous_state: Incomplete
|
48
|
+
_state_ts: Incomplete
|
49
|
+
_delay_time_by_state: Incomplete
|
50
|
+
_trigger_time_by_state: Incomplete
|
51
|
+
_arming_time_by_state: Incomplete
|
52
|
+
_attr_supported_features: Incomplete
|
53
|
+
def __init__(self, hass: HomeAssistant, name: str, unique_id: str | None, code: str | None, code_template: Template | None, code_arm_required: bool, disarm_after_trigger: bool, config: dict[str, Any]) -> None: ...
|
54
|
+
@property
|
55
|
+
def state(self) -> str: ...
|
56
|
+
@property
|
57
|
+
def _active_state(self) -> str: ...
|
58
|
+
def _arming_time(self, state: str) -> datetime.timedelta: ...
|
59
|
+
def _pending_time(self, state: str) -> datetime.timedelta: ...
|
60
|
+
def _within_arming_time(self, state: str) -> bool: ...
|
61
|
+
def _within_pending_time(self, state: str) -> bool: ...
|
62
|
+
@property
|
63
|
+
def code_format(self) -> CodeFormat | None: ...
|
64
|
+
async def async_alarm_disarm(self, code: str | None = None) -> None: ...
|
65
|
+
async def async_alarm_arm_home(self, code: str | None = None) -> None: ...
|
66
|
+
async def async_alarm_arm_away(self, code: str | None = None) -> None: ...
|
67
|
+
async def async_alarm_arm_night(self, code: str | None = None) -> None: ...
|
68
|
+
async def async_alarm_arm_vacation(self, code: str | None = None) -> None: ...
|
69
|
+
async def async_alarm_arm_custom_bypass(self, code: str | None = None) -> None: ...
|
70
|
+
async def async_alarm_trigger(self, code: str | None = None) -> None: ...
|
71
|
+
def _async_update_state(self, state: str) -> None: ...
|
72
|
+
def _async_set_state_update_events(self) -> None: ...
|
73
|
+
def _async_validate_code(self, code: str | None, state: str) -> None: ...
|
74
|
+
@property
|
75
|
+
def extra_state_attributes(self) -> dict[str, Any]: ...
|
76
|
+
def async_scheduled_update(self, now: datetime.datetime) -> None: ...
|
77
|
+
async def async_added_to_hass(self) -> None: ...
|
@@ -1,11 +1,27 @@
|
|
1
|
-
from .const import CONF_BASE_URL as CONF_BASE_URL, DOMAIN as DOMAIN
|
2
|
-
from .
|
1
|
+
from .const import CONF_BASE_URL as CONF_BASE_URL, DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
|
+
from .coordinator import MastodonCoordinator as MastodonCoordinator
|
3
|
+
from .utils import construct_mastodon_username as construct_mastodon_username, create_mastodon_client as create_mastodon_client
|
4
|
+
from dataclasses import dataclass
|
3
5
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
4
6
|
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET, CONF_NAME as CONF_NAME, Platform as Platform
|
5
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
8
|
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
7
9
|
from homeassistant.helpers import discovery as discovery
|
10
|
+
from homeassistant.util import slugify as slugify
|
8
11
|
from mastodon.Mastodon import Mastodon as Mastodon
|
9
12
|
|
10
|
-
|
13
|
+
PLATFORMS: list[Platform]
|
14
|
+
|
15
|
+
@dataclass
|
16
|
+
class MastodonData:
|
17
|
+
client: Mastodon
|
18
|
+
instance: dict
|
19
|
+
account: dict
|
20
|
+
coordinator: MastodonCoordinator
|
21
|
+
def __init__(self, client, instance, account, coordinator) -> None: ...
|
22
|
+
MastodonConfigEntry = ConfigEntry[MastodonData]
|
23
|
+
|
24
|
+
async def async_setup_entry(hass: HomeAssistant, entry: MastodonConfigEntry) -> bool: ...
|
25
|
+
async def async_unload_entry(hass: HomeAssistant, entry: MastodonConfigEntry) -> bool: ...
|
26
|
+
async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
|
11
27
|
def setup_mastodon(entry: ConfigEntry) -> tuple[Mastodon, dict, dict]: ...
|
@@ -4,15 +4,16 @@ from _typeshed import Incomplete
|
|
4
4
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
5
5
|
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET, CONF_NAME as CONF_NAME
|
6
6
|
from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
7
|
-
from homeassistant.
|
7
|
+
from homeassistant.util import slugify as slugify
|
8
8
|
from typing import Any
|
9
9
|
|
10
10
|
STEP_USER_DATA_SCHEMA: Incomplete
|
11
11
|
|
12
12
|
class MastodonConfigFlow(ConfigFlow, domain=DOMAIN):
|
13
13
|
VERSION: int
|
14
|
+
MINOR_VERSION: int
|
14
15
|
config_entry: ConfigEntry
|
15
16
|
def check_connection(self, base_url: str, client_id: str, client_secret: str, access_token: str) -> tuple[dict[str, str] | None, dict[str, str] | None, dict[str, str]]: ...
|
16
17
|
def show_user_form(self, user_input: dict[str, Any] | None = None, errors: dict[str, str] | None = None, description_placeholders: dict[str, str] | None = None, step_id: str = 'user') -> ConfigFlowResult: ...
|
17
18
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
18
|
-
async def async_step_import(self,
|
19
|
+
async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
|
@@ -0,0 +1,11 @@
|
|
1
|
+
from .const import LOGGER as LOGGER
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
4
|
+
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
5
|
+
from mastodon import Mastodon as Mastodon
|
6
|
+
from typing import Any
|
7
|
+
|
8
|
+
class MastodonCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
9
|
+
client: Incomplete
|
10
|
+
def __init__(self, hass: HomeAssistant, client: Mastodon) -> None: ...
|
11
|
+
async def _async_update_data(self) -> dict[str, Any]: ...
|
@@ -0,0 +1,6 @@
|
|
1
|
+
from . import MastodonConfigEntry as MastodonConfigEntry
|
2
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
3
|
+
from typing import Any
|
4
|
+
|
5
|
+
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: MastodonConfigEntry) -> dict[str, Any]: ...
|
6
|
+
def get_diagnostics(config_entry: MastodonConfigEntry) -> tuple[dict, dict]: ...
|
@@ -0,0 +1,15 @@
|
|
1
|
+
from . import MastodonConfigEntry as MastodonConfigEntry
|
2
|
+
from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, INSTANCE_VERSION as INSTANCE_VERSION
|
3
|
+
from .coordinator import MastodonCoordinator as MastodonCoordinator
|
4
|
+
from .utils import construct_mastodon_username as construct_mastodon_username
|
5
|
+
from _typeshed import Incomplete
|
6
|
+
from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
|
7
|
+
from homeassistant.helpers.entity import EntityDescription as EntityDescription
|
8
|
+
from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
|
9
|
+
|
10
|
+
class MastodonEntity(CoordinatorEntity[MastodonCoordinator]):
|
11
|
+
_attr_has_entity_name: bool
|
12
|
+
_attr_unique_id: Incomplete
|
13
|
+
_attr_device_info: Incomplete
|
14
|
+
entity_description: Incomplete
|
15
|
+
def __init__(self, coordinator: MastodonCoordinator, entity_description: EntityDescription, data: MastodonConfigEntry) -> None: ...
|
@@ -0,0 +1,25 @@
|
|
1
|
+
from . import MastodonConfigEntry as MastodonConfigEntry
|
2
|
+
from .const import ACCOUNT_FOLLOWERS_COUNT as ACCOUNT_FOLLOWERS_COUNT, ACCOUNT_FOLLOWING_COUNT as ACCOUNT_FOLLOWING_COUNT, ACCOUNT_STATUSES_COUNT as ACCOUNT_STATUSES_COUNT
|
3
|
+
from .entity import MastodonEntity as MastodonEntity
|
4
|
+
from _typeshed import Incomplete
|
5
|
+
from collections.abc import Callable as Callable
|
6
|
+
from dataclasses import dataclass
|
7
|
+
from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
|
8
|
+
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
|
+
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
10
|
+
from homeassistant.helpers.typing import StateType as StateType
|
11
|
+
from typing import Any
|
12
|
+
|
13
|
+
@dataclass(frozen=True, kw_only=True)
|
14
|
+
class MastodonSensorEntityDescription(SensorEntityDescription):
|
15
|
+
value_fn: Callable[[dict[str, Any]], StateType]
|
16
|
+
def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
|
17
|
+
|
18
|
+
ENTITY_DESCRIPTIONS: Incomplete
|
19
|
+
|
20
|
+
async def async_setup_entry(hass: HomeAssistant, entry: MastodonConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
|
21
|
+
|
22
|
+
class MastodonSensorEntity(MastodonEntity, SensorEntity):
|
23
|
+
entity_description: MastodonSensorEntityDescription
|
24
|
+
@property
|
25
|
+
def native_value(self) -> StateType: ...
|
@@ -5,4 +5,4 @@ from typing import Any
|
|
5
5
|
class MediaExtractorConfigFlow(ConfigFlow, domain=DOMAIN):
|
6
6
|
VERSION: int
|
7
7
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
8
|
-
async def async_step_import(self,
|
8
|
+
async def async_step_import(self, import_data: None) -> ConfigFlowResult: ...
|
@@ -7,7 +7,6 @@ from homeassistant.const import Platform as Platform
|
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
8
8
|
from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
|
9
9
|
|
10
|
-
CONFIG_SCHEMA: Incomplete
|
11
10
|
PLATFORMS: Incomplete
|
12
11
|
MikrotikConfigEntry = ConfigEntry[MikrotikDataUpdateCoordinator]
|
13
12
|
|
@@ -14,7 +14,7 @@ class MikrotikFlowHandler(ConfigFlow, domain=DOMAIN):
|
|
14
14
|
@staticmethod
|
15
15
|
def async_get_options_flow(config_entry: ConfigEntry) -> MikrotikOptionsFlowHandler: ...
|
16
16
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
17
|
-
async def async_step_reauth(self,
|
17
|
+
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
18
18
|
async def async_step_reauth_confirm(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
|
19
19
|
|
20
20
|
class MikrotikOptionsFlowHandler(OptionsFlow):
|
@@ -3,7 +3,7 @@ from .client import MQTT as MQTT, async_publish as async_publish, async_subscrib
|
|
3
3
|
from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA, MQTT_RO_SCHEMA as MQTT_RO_SCHEMA, MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
|
4
4
|
from .config_integration import CONFIG_SCHEMA_BASE as CONFIG_SCHEMA_BASE
|
5
5
|
from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_QOS as CONF_QOS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TOPIC as CONF_TOPIC, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_QOS as DEFAULT_QOS, DEFAULT_RETAIN as DEFAULT_RETAIN, DOMAIN as DOMAIN, MQTT_CONNECTION_STATE as MQTT_CONNECTION_STATE, RELOADABLE_PLATFORMS as RELOADABLE_PLATFORMS, TEMPLATE_ERRORS as TEMPLATE_ERRORS
|
6
|
-
from .models import DATA_MQTT as DATA_MQTT, DATA_MQTT_AVAILABLE as DATA_MQTT_AVAILABLE, MqttCommandTemplate as MqttCommandTemplate, MqttData as MqttData, MqttValueTemplate as MqttValueTemplate, PayloadSentinel as PayloadSentinel, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage,
|
6
|
+
from .models import DATA_MQTT as DATA_MQTT, DATA_MQTT_AVAILABLE as DATA_MQTT_AVAILABLE, MqttCommandTemplate as MqttCommandTemplate, MqttData as MqttData, MqttValueTemplate as MqttValueTemplate, PayloadSentinel as PayloadSentinel, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, convert_outgoing_mqtt_payload as convert_outgoing_mqtt_payload
|
7
7
|
from .subscription import EntitySubscription as EntitySubscription, async_prepare_subscribe_topics as async_prepare_subscribe_topics, async_subscribe_topics as async_subscribe_topics, async_unsubscribe_topics as async_unsubscribe_topics
|
8
8
|
from .util import async_create_certificate_temp_files as async_create_certificate_temp_files, async_forward_entry_setup_and_setup_discovery as async_forward_entry_setup_and_setup_discovery, async_wait_for_mqtt_client as async_wait_for_mqtt_client, mqtt_config_entry_enabled as mqtt_config_entry_enabled, platforms_from_config as platforms_from_config, valid_publish_topic as valid_publish_topic, valid_qos_schema as valid_qos_schema, valid_subscribe_topic as valid_subscribe_topic
|
9
9
|
from _typeshed import Incomplete
|
@@ -30,6 +30,7 @@ SERVICE_PUBLISH: str
|
|
30
30
|
SERVICE_DUMP: str
|
31
31
|
ATTR_TOPIC_TEMPLATE: str
|
32
32
|
ATTR_PAYLOAD_TEMPLATE: str
|
33
|
+
ATTR_EVALUATE_PAYLOAD: str
|
33
34
|
MAX_RECONNECT_WAIT: int
|
34
35
|
CONNECTION_SUCCESS: str
|
35
36
|
CONNECTION_FAILED: str
|
@@ -0,0 +1,10 @@
|
|
1
|
+
from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
|
2
|
+
from _typeshed import Incomplete
|
3
|
+
from homeassistant.components.hassio import AddonManager as AddonManager
|
4
|
+
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
5
|
+
from homeassistant.helpers.singleton import singleton as singleton
|
6
|
+
|
7
|
+
ADDON_SLUG: str
|
8
|
+
DATA_ADDON_MANAGER: Incomplete
|
9
|
+
|
10
|
+
def get_addon_manager(hass: HomeAssistant) -> AddonManager: ...
|
@@ -3,7 +3,7 @@ from . import subscription as subscription
|
|
3
3
|
from .config import DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
|
4
4
|
from .const import CONF_ACTION_TEMPLATE as CONF_ACTION_TEMPLATE, CONF_ACTION_TOPIC as CONF_ACTION_TOPIC, CONF_CURRENT_HUMIDITY_TEMPLATE as CONF_CURRENT_HUMIDITY_TEMPLATE, CONF_CURRENT_HUMIDITY_TOPIC as CONF_CURRENT_HUMIDITY_TOPIC, CONF_CURRENT_TEMP_TEMPLATE as CONF_CURRENT_TEMP_TEMPLATE, CONF_CURRENT_TEMP_TOPIC as CONF_CURRENT_TEMP_TOPIC, CONF_MODE_COMMAND_TEMPLATE as CONF_MODE_COMMAND_TEMPLATE, CONF_MODE_COMMAND_TOPIC as CONF_MODE_COMMAND_TOPIC, CONF_MODE_LIST as CONF_MODE_LIST, CONF_MODE_STATE_TEMPLATE as CONF_MODE_STATE_TEMPLATE, CONF_MODE_STATE_TOPIC as CONF_MODE_STATE_TOPIC, CONF_POWER_COMMAND_TEMPLATE as CONF_POWER_COMMAND_TEMPLATE, CONF_POWER_COMMAND_TOPIC as CONF_POWER_COMMAND_TOPIC, CONF_PRECISION as CONF_PRECISION, CONF_RETAIN as CONF_RETAIN, CONF_TEMP_COMMAND_TEMPLATE as CONF_TEMP_COMMAND_TEMPLATE, CONF_TEMP_COMMAND_TOPIC as CONF_TEMP_COMMAND_TOPIC, CONF_TEMP_INITIAL as CONF_TEMP_INITIAL, CONF_TEMP_MAX as CONF_TEMP_MAX, CONF_TEMP_MIN as CONF_TEMP_MIN, CONF_TEMP_STATE_TEMPLATE as CONF_TEMP_STATE_TEMPLATE, CONF_TEMP_STATE_TOPIC as CONF_TEMP_STATE_TOPIC, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC, PAYLOAD_NONE as PAYLOAD_NONE
|
5
5
|
from .mixins import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
|
6
|
-
from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
|
6
|
+
from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
|
7
7
|
from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
|
8
8
|
from .util import valid_publish_topic as valid_publish_topic, valid_subscribe_topic as valid_subscribe_topic
|
9
9
|
from _typeshed import Incomplete
|
@@ -15,6 +15,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
15
15
|
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC, CONF_PAYLOAD_OFF as CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_TEMPERATURE_UNIT as CONF_TEMPERATURE_UNIT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, PRECISION_HALVES as PRECISION_HALVES, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfTemperature as UnitOfTemperature
|
16
16
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
17
17
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
18
|
+
from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as ReceivePayloadType
|
18
19
|
from homeassistant.helpers.template import Template as Template
|
19
20
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
20
21
|
from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
|
@@ -1,3 +1,4 @@
|
|
1
|
+
from .addon import get_addon_manager as get_addon_manager
|
1
2
|
from .client import MqttClientSetup as MqttClientSetup
|
2
3
|
from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, DEFAULT_BIRTH as DEFAULT_BIRTH, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_KEEPALIVE as DEFAULT_KEEPALIVE, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_PROTOCOL as DEFAULT_PROTOCOL, DEFAULT_TRANSPORT as DEFAULT_TRANSPORT, DEFAULT_WILL as DEFAULT_WILL, DEFAULT_WS_PATH as DEFAULT_WS_PATH, DOMAIN as DOMAIN, SUPPORTED_PROTOCOLS as SUPPORTED_PROTOCOLS, TRANSPORT_TCP as TRANSPORT_TCP, TRANSPORT_WEBSOCKETS as TRANSPORT_WEBSOCKETS
|
3
4
|
from .util import async_create_certificate_temp_files as async_create_certificate_temp_files, get_file_path as get_file_path, valid_birth_will as valid_birth_will, valid_publish_topic as valid_publish_topic
|
@@ -5,16 +6,21 @@ from _typeshed import Incomplete
|
|
5
6
|
from collections import OrderedDict
|
6
7
|
from collections.abc import Callable as Callable, Mapping
|
7
8
|
from homeassistant.components.file_upload import process_uploaded_file as process_uploaded_file
|
8
|
-
from homeassistant.components.hassio import HassioServiceInfo as HassioServiceInfo
|
9
|
+
from homeassistant.components.hassio import HassioServiceInfo as HassioServiceInfo, is_hassio as is_hassio
|
10
|
+
from homeassistant.components.hassio.addon_manager import AddonError as AddonError, AddonManager as AddonManager, AddonState as AddonState
|
9
11
|
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
|
10
12
|
from homeassistant.const import CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_DISCOVERY as CONF_DISCOVERY, CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PAYLOAD as CONF_PAYLOAD, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_USERNAME as CONF_USERNAME
|
11
13
|
from homeassistant.core import callback as callback
|
14
|
+
from homeassistant.data_entry_flow import AbortFlow as AbortFlow
|
12
15
|
from homeassistant.helpers.json import json_dumps as json_dumps
|
13
16
|
from homeassistant.helpers.selector import BooleanSelector as BooleanSelector, FileSelector as FileSelector, FileSelectorConfig as FileSelectorConfig, NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig, NumberSelectorMode as NumberSelectorMode, SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
14
17
|
from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads as json_loads
|
15
18
|
from types import MappingProxyType
|
16
19
|
from typing import Any
|
17
20
|
|
21
|
+
_LOGGER: Incomplete
|
22
|
+
ADDON_SETUP_TIMEOUT: int
|
23
|
+
ADDON_SETUP_TIMEOUT_ROUNDS: int
|
18
24
|
MQTT_TIMEOUT: int
|
19
25
|
ADVANCED_OPTIONS: str
|
20
26
|
SET_CA_CERT: str
|
@@ -44,9 +50,22 @@ class FlowHandler(ConfigFlow, domain=DOMAIN):
|
|
44
50
|
VERSION: int
|
45
51
|
entry: ConfigEntry | None
|
46
52
|
_hassio_discovery: dict[str, Any] | None
|
53
|
+
_addon_manager: AddonManager
|
54
|
+
install_task: Incomplete
|
55
|
+
start_task: Incomplete
|
56
|
+
def __init__(self) -> None: ...
|
47
57
|
@staticmethod
|
48
58
|
def async_get_options_flow(config_entry: ConfigEntry) -> MQTTOptionsFlowHandler: ...
|
59
|
+
async def _async_install_addon(self) -> None: ...
|
60
|
+
async def async_step_install_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
61
|
+
async def async_step_install_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
62
|
+
async def async_step_start_failed(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
63
|
+
async def async_step_start_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
64
|
+
async def _async_get_config_and_try(self) -> dict[str, Any] | None: ...
|
65
|
+
async def _async_start_addon(self) -> None: ...
|
49
66
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
67
|
+
async def async_step_setup_entry_from_discovery(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
68
|
+
async def async_step_addon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
50
69
|
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
|
51
70
|
async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
52
71
|
async def async_step_broker(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -29,6 +29,7 @@ CONF_ENCODING: str
|
|
29
29
|
CONF_JSON_ATTRS_TOPIC: str
|
30
30
|
CONF_JSON_ATTRS_TEMPLATE: str
|
31
31
|
CONF_KEEPALIVE: str
|
32
|
+
CONF_OPTIONS: str
|
32
33
|
CONF_ORIGIN: str
|
33
34
|
CONF_QOS = ATTR_QOS
|
34
35
|
CONF_RETAIN = ATTR_RETAIN
|
@@ -117,6 +118,7 @@ DEFAULT_TRANSPORT = TRANSPORT_TCP
|
|
117
118
|
DEFAULT_BIRTH: Incomplete
|
118
119
|
DEFAULT_WILL: Incomplete
|
119
120
|
DOMAIN: str
|
121
|
+
LOGGER: Incomplete
|
120
122
|
MQTT_CONNECTION_STATE: str
|
121
123
|
PAYLOAD_EMPTY_JSON: str
|
122
124
|
PAYLOAD_NONE: str
|
@@ -2,7 +2,7 @@ from . import subscription as subscription
|
|
2
2
|
from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
|
3
3
|
from .const import CONF_PAYLOAD_RESET as CONF_PAYLOAD_RESET, CONF_STATE_TOPIC as CONF_STATE_TOPIC
|
4
4
|
from .mixins import CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
|
5
|
-
from .models import MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage
|
5
|
+
from .models import MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage
|
6
6
|
from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
|
7
7
|
from .util import valid_subscribe_topic as valid_subscribe_topic
|
8
8
|
from _typeshed import Incomplete
|
@@ -13,6 +13,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
13
13
|
from homeassistant.const import ATTR_GPS_ACCURACY as ATTR_GPS_ACCURACY, ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONF_NAME as CONF_NAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, STATE_HOME as STATE_HOME, STATE_NOT_HOME as STATE_NOT_HOME
|
14
14
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
15
15
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
16
|
+
from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as ReceivePayloadType
|
16
17
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
17
18
|
|
18
19
|
_LOGGER: Incomplete
|
@@ -2,7 +2,7 @@ from . import subscription as subscription
|
|
2
2
|
from .config import MQTT_RO_SCHEMA as MQTT_RO_SCHEMA
|
3
3
|
from .const import CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_EMPTY_JSON as PAYLOAD_EMPTY_JSON, PAYLOAD_NONE as PAYLOAD_NONE
|
4
4
|
from .mixins import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
|
5
|
-
from .models import DATA_MQTT as DATA_MQTT, MqttValueTemplate as MqttValueTemplate, MqttValueTemplateException as MqttValueTemplateException, PayloadSentinel as PayloadSentinel, ReceiveMessage as ReceiveMessage
|
5
|
+
from .models import DATA_MQTT as DATA_MQTT, MqttValueTemplate as MqttValueTemplate, MqttValueTemplateException as MqttValueTemplateException, PayloadSentinel as PayloadSentinel, ReceiveMessage as ReceiveMessage
|
6
6
|
from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
|
7
7
|
from _typeshed import Incomplete
|
8
8
|
from collections.abc import Callable as Callable
|
@@ -12,6 +12,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
12
12
|
from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_NAME as CONF_NAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
|
13
13
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
14
14
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
15
|
+
from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as ReceivePayloadType
|
15
16
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
16
17
|
from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads_object as json_loads_object
|
17
18
|
|
@@ -2,7 +2,7 @@ from . import subscription as subscription
|
|
2
2
|
from .config import MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
|
3
3
|
from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_STATE_VALUE_TEMPLATE as CONF_STATE_VALUE_TEMPLATE, PAYLOAD_NONE as PAYLOAD_NONE
|
4
4
|
from .mixins import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
|
5
|
-
from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
|
5
|
+
from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
|
6
6
|
from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
|
7
7
|
from .util import valid_publish_topic as valid_publish_topic, valid_subscribe_topic as valid_subscribe_topic
|
8
8
|
from _typeshed import Incomplete
|
@@ -13,6 +13,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
13
13
|
from homeassistant.const import CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC, CONF_PAYLOAD_OFF as CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_STATE as CONF_STATE
|
14
14
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
15
15
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
16
|
+
from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as ReceivePayloadType
|
16
17
|
from homeassistant.helpers.template import Template as Template
|
17
18
|
from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
|
18
19
|
from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
|