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.
Files changed (255) hide show
  1. homeassistant-stubs/components/acer_projector/switch.pyi +1 -1
  2. homeassistant-stubs/components/airgradient/update.pyi +23 -0
  3. homeassistant-stubs/components/airvisual/__init__.pyi +0 -1
  4. homeassistant-stubs/components/airvisual_pro/config_flow.pyi +1 -1
  5. homeassistant-stubs/components/airzone/select.pyi +9 -1
  6. homeassistant-stubs/components/airzone_cloud/binary_sensor.pyi +2 -0
  7. homeassistant-stubs/components/airzone_cloud/sensor.pyi +2 -0
  8. homeassistant-stubs/components/amazon_polly/const.pyi +5 -8
  9. homeassistant-stubs/components/amazon_polly/tts.pyi +2 -1
  10. homeassistant-stubs/components/ambient_station/__init__.pyi +1 -2
  11. homeassistant-stubs/components/ambient_station/config_flow.pyi +2 -1
  12. homeassistant-stubs/components/android_ip_webcam/__init__.pyi +0 -2
  13. homeassistant-stubs/components/apcupsd/__init__.pyi +0 -1
  14. homeassistant-stubs/components/apcupsd/const.pyi +1 -1
  15. homeassistant-stubs/components/apcupsd/sensor.pyi +2 -2
  16. homeassistant-stubs/components/apsystems/binary_sensor.pyi +28 -0
  17. homeassistant-stubs/components/apsystems/coordinator.pyi +12 -4
  18. homeassistant-stubs/components/apsystems/number.pyi +1 -1
  19. homeassistant-stubs/components/arcam_fmj/__init__.pyi +1 -2
  20. homeassistant-stubs/components/aseko_pool_live/config_flow.pyi +2 -2
  21. homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +4 -1
  22. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  23. homeassistant-stubs/components/assist_pipeline/vad.pyi +5 -4
  24. homeassistant-stubs/components/bang_olufsen/const.pyi +11 -11
  25. homeassistant-stubs/components/bang_olufsen/media_player.pyi +1 -0
  26. homeassistant-stubs/components/bang_olufsen/util.pyi +1 -1
  27. homeassistant-stubs/components/bang_olufsen/websocket.pyi +1 -0
  28. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +0 -1
  29. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -0
  30. homeassistant-stubs/components/bthome/sensor.pyi +1 -1
  31. homeassistant-stubs/components/canary/config_flow.pyi +1 -1
  32. homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
  33. homeassistant-stubs/components/command_line/notify.pyi +1 -1
  34. homeassistant-stubs/components/deconz/select.pyi +12 -0
  35. homeassistant-stubs/components/demo/alarm_control_panel.pyi +0 -3
  36. homeassistant-stubs/components/demo/config_flow.pyi +1 -1
  37. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
  38. homeassistant-stubs/components/dhcp/__init__.pyi +0 -1
  39. homeassistant-stubs/components/downloader/config_flow.pyi +1 -1
  40. homeassistant-stubs/components/ecovacs/__init__.pyi +2 -6
  41. homeassistant-stubs/components/ecovacs/config_flow.pyi +1 -5
  42. homeassistant-stubs/components/elkm1/config_flow.pyi +1 -1
  43. homeassistant-stubs/components/enigma2/config_flow.pyi +1 -1
  44. homeassistant-stubs/components/esphome/climate.pyi +1 -1
  45. homeassistant-stubs/components/esphome/entity.pyi +4 -4
  46. homeassistant-stubs/components/esphome/entry_data.pyi +2 -1
  47. homeassistant-stubs/components/esphome/manager.pyi +1 -0
  48. homeassistant-stubs/components/esphome/media_player.pyi +1 -1
  49. homeassistant-stubs/components/esphome/number.pyi +1 -1
  50. homeassistant-stubs/components/esphome/sensor.pyi +1 -1
  51. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -1
  52. homeassistant-stubs/components/filesize/coordinator.pyi +1 -0
  53. homeassistant-stubs/components/fitbit/config_flow.pyi +1 -1
  54. homeassistant-stubs/components/fritzbox/light.pyi +4 -7
  55. homeassistant-stubs/components/fronius/sensor.pyi +1 -1
  56. homeassistant-stubs/components/fujitsu_fglair/__init__.pyi +12 -0
  57. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +53 -0
  58. homeassistant-stubs/components/fujitsu_fglair/config_flow.pyi +18 -0
  59. homeassistant-stubs/components/fujitsu_fglair/const.pyi +7 -0
  60. homeassistant-stubs/components/fujitsu_fglair/coordinator.pyi +15 -0
  61. homeassistant-stubs/components/fyta/__init__.pyi +15 -0
  62. homeassistant-stubs/components/fyta/config_flow.pyi +22 -0
  63. homeassistant-stubs/components/fyta/const.pyi +2 -0
  64. homeassistant-stubs/components/fyta/coordinator.pyi +18 -0
  65. homeassistant-stubs/components/fyta/diagnostics.pyi +10 -0
  66. homeassistant-stubs/components/fyta/entity.pyi +20 -0
  67. homeassistant-stubs/components/fyta/sensor.pyi +29 -0
  68. homeassistant-stubs/components/glances/__init__.pyi +0 -1
  69. homeassistant-stubs/components/google/config_flow.pyi +0 -2
  70. homeassistant-stubs/components/gpsd/config_flow.pyi +0 -1
  71. homeassistant-stubs/components/gpsd/sensor.pyi +6 -9
  72. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +7 -2
  73. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +31 -9
  74. homeassistant-stubs/components/homeassistant_yellow/const.pyi +2 -0
  75. homeassistant-stubs/components/homekit/config_flow.pyi +1 -1
  76. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  77. homeassistant-stubs/components/husqvarna_automower/button.pyi +0 -1
  78. homeassistant-stubs/components/hydrawise/config_flow.pyi +1 -1
  79. homeassistant-stubs/components/intent_script/__init__.pyi +1 -0
  80. homeassistant-stubs/components/islamic_prayer_times/__init__.pyi +0 -2
  81. homeassistant-stubs/components/isy994/const.pyi +1 -1
  82. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -2
  83. homeassistant-stubs/components/jvc_projector/__init__.pyi +3 -3
  84. homeassistant-stubs/components/jvc_projector/binary_sensor.pyi +2 -4
  85. homeassistant-stubs/components/jvc_projector/config_flow.pyi +1 -1
  86. homeassistant-stubs/components/jvc_projector/remote.pyi +2 -3
  87. homeassistant-stubs/components/jvc_projector/select.pyi +2 -4
  88. homeassistant-stubs/components/jvc_projector/sensor.pyi +2 -4
  89. homeassistant-stubs/components/knx/climate.pyi +4 -5
  90. homeassistant-stubs/components/knx/const.pyi +1 -2
  91. homeassistant-stubs/components/knx/project.pyi +2 -1
  92. homeassistant-stubs/components/knx/websocket.pyi +20 -12
  93. homeassistant-stubs/components/lawn_mower/const.pyi +1 -0
  94. homeassistant-stubs/components/lcn/__init__.pyi +2 -1
  95. homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -2
  96. homeassistant-stubs/components/lcn/climate.pyi +3 -2
  97. homeassistant-stubs/components/lcn/config_flow.pyi +16 -7
  98. homeassistant-stubs/components/lcn/const.pyi +1 -0
  99. homeassistant-stubs/components/lcn/cover.pyi +3 -2
  100. homeassistant-stubs/components/lcn/helpers.pyi +1 -0
  101. homeassistant-stubs/components/lcn/light.pyi +3 -2
  102. homeassistant-stubs/components/lcn/scene.pyi +3 -2
  103. homeassistant-stubs/components/lcn/schemas.pyi +1 -0
  104. homeassistant-stubs/components/lcn/sensor.pyi +3 -2
  105. homeassistant-stubs/components/lcn/switch.pyi +3 -2
  106. homeassistant-stubs/components/lcn/websocket.pyi +25 -0
  107. homeassistant-stubs/components/lidarr/config_flow.pyi +1 -1
  108. homeassistant-stubs/components/linkplay/__init__.pyi +5 -1
  109. homeassistant-stubs/components/linkplay/config_flow.pyi +5 -1
  110. homeassistant-stubs/components/linkplay/const.pyi +1 -0
  111. homeassistant-stubs/components/linkplay/utils.pyi +5 -0
  112. homeassistant-stubs/components/local_ip/__init__.pyi +1 -4
  113. homeassistant-stubs/components/logbook/models.pyi +27 -17
  114. homeassistant-stubs/components/logbook/processor.pyi +7 -9
  115. homeassistant-stubs/components/logbook/rest_api.pyi +1 -1
  116. homeassistant-stubs/components/logbook/websocket_api.pyi +3 -3
  117. homeassistant-stubs/components/luftdaten/__init__.pyi +0 -1
  118. homeassistant-stubs/components/madvr/config_flow.pyi +9 -3
  119. homeassistant-stubs/components/manual/alarm_control_panel.pyi +77 -0
  120. homeassistant-stubs/components/mastodon/__init__.pyi +19 -3
  121. homeassistant-stubs/components/mastodon/config_flow.pyi +3 -2
  122. homeassistant-stubs/components/mastodon/const.pyi +3 -0
  123. homeassistant-stubs/components/mastodon/coordinator.pyi +11 -0
  124. homeassistant-stubs/components/mastodon/diagnostics.pyi +6 -0
  125. homeassistant-stubs/components/mastodon/entity.pyi +15 -0
  126. homeassistant-stubs/components/mastodon/sensor.pyi +25 -0
  127. homeassistant-stubs/components/media_extractor/config_flow.pyi +1 -1
  128. homeassistant-stubs/components/mikrotik/__init__.pyi +0 -1
  129. homeassistant-stubs/components/mikrotik/config_flow.pyi +1 -1
  130. homeassistant-stubs/components/mqtt/__init__.pyi +2 -1
  131. homeassistant-stubs/components/mqtt/addon.pyi +10 -0
  132. homeassistant-stubs/components/mqtt/client.pyi +1 -0
  133. homeassistant-stubs/components/mqtt/climate.pyi +2 -1
  134. homeassistant-stubs/components/mqtt/config_flow.pyi +20 -1
  135. homeassistant-stubs/components/mqtt/const.pyi +2 -0
  136. homeassistant-stubs/components/mqtt/device_tracker.pyi +2 -1
  137. homeassistant-stubs/components/mqtt/event.pyi +2 -1
  138. homeassistant-stubs/components/mqtt/fan.pyi +2 -1
  139. homeassistant-stubs/components/mqtt/humidifier.pyi +2 -1
  140. homeassistant-stubs/components/mqtt/lawn_mower.pyi +2 -1
  141. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -1
  142. homeassistant-stubs/components/mqtt/light/schema_template.pyi +2 -1
  143. homeassistant-stubs/components/mqtt/lock.pyi +2 -1
  144. homeassistant-stubs/components/mqtt/mixins.pyi +1 -1
  145. homeassistant-stubs/components/mqtt/models.pyi +5 -3
  146. homeassistant-stubs/components/mqtt/number.pyi +2 -1
  147. homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
  148. homeassistant-stubs/components/mqtt/select.pyi +3 -3
  149. homeassistant-stubs/components/mqtt/sensor.pyi +5 -3
  150. homeassistant-stubs/components/mqtt/siren.pyi +2 -1
  151. homeassistant-stubs/components/mqtt/tag.pyi +2 -1
  152. homeassistant-stubs/components/mqtt/text.pyi +2 -1
  153. homeassistant-stubs/components/mqtt/trigger.pyi +2 -1
  154. homeassistant-stubs/components/mqtt/vacuum.pyi +3 -5
  155. homeassistant-stubs/components/mysensors/__init__.pyi +0 -1
  156. homeassistant-stubs/components/mysensors/gateway.pyi +2 -1
  157. homeassistant-stubs/components/mysensors/sensor.pyi +1 -1
  158. homeassistant-stubs/components/nest/__init__.pyi +5 -2
  159. homeassistant-stubs/components/nest/event.pyi +36 -0
  160. homeassistant-stubs/components/notion/__init__.pyi +0 -1
  161. homeassistant-stubs/components/number/const.pyi +1 -1
  162. homeassistant-stubs/components/otbr/__init__.pyi +6 -5
  163. homeassistant-stubs/components/otbr/config_flow.pyi +7 -1
  164. homeassistant-stubs/components/otbr/silabs_multiprotocol.pyi +8 -4
  165. homeassistant-stubs/components/otbr/util.pyi +7 -2
  166. homeassistant-stubs/components/otbr/websocket_api.pyi +1 -0
  167. homeassistant-stubs/components/overkiz/water_heater_entities/atlantic_domestic_hot_water_production_mlb_component.pyi +1 -1
  168. homeassistant-stubs/components/pi_hole/__init__.pyi +0 -1
  169. homeassistant-stubs/components/powerwall/__init__.pyi +0 -1
  170. homeassistant-stubs/components/prometheus/__init__.pyi +2 -1
  171. homeassistant-stubs/components/proximity/__init__.pyi +3 -25
  172. homeassistant-stubs/components/proximity/config_flow.pyi +0 -1
  173. homeassistant-stubs/components/proximity/coordinator.pyi +1 -3
  174. homeassistant-stubs/components/radarr/config_flow.pyi +1 -1
  175. homeassistant-stubs/components/rainmachine/__init__.pyi +0 -1
  176. homeassistant-stubs/components/recorder/core.pyi +0 -1
  177. homeassistant-stubs/components/recorder/migration.pyi +9 -4
  178. homeassistant-stubs/components/recorder/statistics.pyi +3 -3
  179. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +8 -2
  180. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  181. homeassistant-stubs/components/ring/__init__.pyi +1 -0
  182. homeassistant-stubs/components/ring/button.pyi +1 -1
  183. homeassistant-stubs/components/ring/camera.pyi +4 -4
  184. homeassistant-stubs/components/ring/config_flow.pyi +1 -0
  185. homeassistant-stubs/components/ring/coordinator.pyi +3 -2
  186. homeassistant-stubs/components/ring/entity.pyi +3 -3
  187. homeassistant-stubs/components/ring/light.pyi +3 -3
  188. homeassistant-stubs/components/ring/siren.pyi +1 -1
  189. homeassistant-stubs/components/ring/switch.pyi +3 -3
  190. homeassistant-stubs/components/roku/__init__.pyi +0 -1
  191. homeassistant-stubs/components/samsungtv/__init__.pyi +0 -1
  192. homeassistant-stubs/components/sensor/const.pyi +1 -1
  193. homeassistant-stubs/components/sensor/recorder.pyi +1 -0
  194. homeassistant-stubs/components/shelly/const.pyi +1 -0
  195. homeassistant-stubs/components/shelly/coordinator.pyi +11 -3
  196. homeassistant-stubs/components/shelly/diagnostics.pyi +1 -0
  197. homeassistant-stubs/components/shelly/entity.pyi +2 -0
  198. homeassistant-stubs/components/shelly/utils.pyi +4 -2
  199. homeassistant-stubs/components/simplisafe/__init__.pyi +0 -1
  200. homeassistant-stubs/components/simplisafe/config_flow.pyi +1 -1
  201. homeassistant-stubs/components/sleepiq/config_flow.pyi +1 -1
  202. homeassistant-stubs/components/sun/config_flow.pyi +1 -1
  203. homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
  204. homeassistant-stubs/components/synology_dsm/media_source.pyi +1 -0
  205. homeassistant-stubs/components/systemmonitor/sensor.pyi +2 -4
  206. homeassistant-stubs/components/tailwind/config_flow.pyi +1 -1
  207. homeassistant-stubs/components/tcp/common.pyi +0 -1
  208. homeassistant-stubs/components/technove/binary_sensor.pyi +5 -1
  209. homeassistant-stubs/components/technove/switch.pyi +11 -4
  210. homeassistant-stubs/components/thethingsnetwork/config_flow.pyi +1 -1
  211. homeassistant-stubs/components/tile/config_flow.pyi +1 -1
  212. homeassistant-stubs/components/tradfri/__init__.pyi +0 -1
  213. homeassistant-stubs/components/trafikverket_train/__init__.pyi +1 -4
  214. homeassistant-stubs/components/trafikverket_train/coordinator.pyi +5 -4
  215. homeassistant-stubs/components/unifi/sensor.pyi +6 -1
  216. homeassistant-stubs/components/unifiprotect/migrate.pyi +1 -1
  217. homeassistant-stubs/components/water_heater/__init__.pyi +5 -6
  218. homeassistant-stubs/components/websocket_api/commands.pyi +3 -2
  219. homeassistant-stubs/components/websocket_api/http.pyi +6 -1
  220. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
  221. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +3 -1
  222. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
  223. homeassistant-stubs/components/zwave_js/config_flow.pyi +2 -3
  224. homeassistant-stubs/components/zwave_js/services.pyi +1 -0
  225. homeassistant-stubs/config_entries.pyi +2 -0
  226. homeassistant-stubs/const.pyi +7 -2
  227. homeassistant-stubs/core.pyi +1 -1
  228. homeassistant-stubs/generated/amazon_polly.pyi +5 -0
  229. homeassistant-stubs/helpers/aiohttp_client.pyi +4 -0
  230. homeassistant-stubs/helpers/collection.pyi +4 -1
  231. homeassistant-stubs/helpers/config_validation.pyi +23 -3
  232. homeassistant-stubs/helpers/entity_component.pyi +1 -1
  233. homeassistant-stubs/helpers/entity_platform.pyi +2 -2
  234. homeassistant-stubs/helpers/icon.pyi +2 -0
  235. homeassistant-stubs/helpers/service.pyi +4 -2
  236. homeassistant-stubs/helpers/trigger_template_entity.pyi +0 -1
  237. homeassistant-stubs/scripts/auth.pyi +9 -6
  238. homeassistant-stubs/scripts/benchmark/__init__.pyi +1 -2
  239. homeassistant-stubs/scripts/macos/__init__.pyi +1 -1
  240. homeassistant-stubs/util/async_.pyi +2 -1
  241. homeassistant-stubs/util/executor.pyi +1 -1
  242. homeassistant-stubs/util/unit_conversion.pyi +0 -17
  243. homeassistant-stubs/util/yaml/loader.pyi +1 -0
  244. {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/METADATA +2 -2
  245. {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/RECORD +248 -232
  246. homeassistant-stubs/components/asterisk_cdr/mailbox.pyi +0 -18
  247. homeassistant-stubs/components/asterisk_mbox/__init__.pyi +0 -31
  248. homeassistant-stubs/components/asterisk_mbox/mailbox.pyi +0 -26
  249. homeassistant-stubs/components/demo/mailbox.pyi +0 -24
  250. homeassistant-stubs/components/mailbox/__init__.pyi +0 -77
  251. homeassistant-stubs/components/proximity/helpers.pyi +0 -5
  252. homeassistant-stubs/components/systemmonitor/repairs.pyi +0 -15
  253. /homeassistant-stubs/components/{asterisk_cdr → manual}/__init__.pyi +0 -0
  254. {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/LICENSE +0 -0
  255. {homeassistant_stubs-2024.8.2.dist-info → homeassistant_stubs-2024.9.0.dist-info}/WHEEL +0 -0
@@ -3,3 +3,4 @@ from homeassistant.const import Platform as Platform
3
3
 
4
4
  DOMAIN: str
5
5
  PLATFORMS: Incomplete
6
+ CONF_SESSION: str
@@ -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 DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
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
- @dataclass(slots=True, frozen=True)
42
- class EventAsRow:
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, process_datetime_to_timestamp as process_datetime_to_timestamp, process_timestamp_to_utc_isoformat as process_timestamp_to_utc_isoformat
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
- format_time: Callable[[Row | EventAsRow], Any]
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, format_time, memoize_new_contexts=...) -> None: ...
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 _get_context_row(self, context_id_bin: bytes | None, row: Row | EventAsRow) -> Row | EventAsRow | None: ...
62
- def augment(self, data: dict[str, Any], row: Row | EventAsRow, context_id_bin: bytes | None) -> None: ...
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 _rows_match(row: Row | EventAsRow, other_row: Row | EventAsRow) -> bool: ...
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, formatter: Callable[[int, Any], dict[str, Any]], 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, formatter: Callable[[int, Any], dict[str, Any]], event_processor: EventProcessor, partial: bool) -> tuple[bytes, dt | None]: ...
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, formatter: Callable[[int, Any], dict[str, Any]], event_processor: EventProcessor, partial: bool) -> tuple[bytes, dt | None]: ...
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 _test_connection(self, host: str, port: int) -> str: ...
17
- async def _close_test_connection(self, madvr_client: Madvr) -> None: ...
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 .utils import create_mastodon_client as create_mastodon_client
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
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
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.helpers.typing import ConfigType as ConfigType
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, import_config: ConfigType) -> ConfigFlowResult: ...
19
+ async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
@@ -11,3 +11,6 @@ INSTANCE_VERSION: Final[str]
11
11
  INSTANCE_URI: Final[str]
12
12
  INSTANCE_DOMAIN: Final[str]
13
13
  ACCOUNT_USERNAME: Final[str]
14
+ ACCOUNT_FOLLOWERS_COUNT: Final[str]
15
+ ACCOUNT_FOLLOWING_COUNT: Final[str]
16
+ ACCOUNT_STATUSES_COUNT: Final[str]
@@ -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, import_config: dict[str, Any]) -> ConfigFlowResult: ...
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, data: Mapping[str, Any]) -> ConfigFlowResult: ...
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, ReceivePayloadType as ReceivePayloadType
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: ...
@@ -30,6 +30,7 @@ SUBSCRIBE_COOLDOWN: float
30
30
  UNSUBSCRIBE_COOLDOWN: float
31
31
  TIMEOUT_ACK: int
32
32
  RECONNECT_INTERVAL_SECONDS: int
33
+ MAX_WILDCARD_SUBSCRIBES_PER_CALL: int
33
34
  MAX_SUBSCRIBES_PER_CALL: int
34
35
  MAX_UNSUBSCRIBES_PER_CALL: int
35
36
  MAX_PACKETS_TO_READ: int
@@ -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, ReceivePayloadType as ReceivePayloadType
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, ReceivePayloadType as ReceivePayloadType
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, ReceivePayloadType as ReceivePayloadType
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, ReceivePayloadType as ReceivePayloadType
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