homeassistant-stubs 2025.10.4__py3-none-any.whl → 2025.11.0b0__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.

Potentially problematic release.


This version of homeassistant-stubs might be problematic. Click here for more details.

Files changed (453) hide show
  1. homeassistant-stubs/components/acaia/coordinator.pyi +2 -0
  2. homeassistant-stubs/components/airly/config_flow.pyi +3 -0
  3. homeassistant-stubs/components/airos/__init__.pyi +4 -2
  4. homeassistant-stubs/components/airos/config_flow.pyi +10 -1
  5. homeassistant-stubs/components/airos/coordinator.pyi +1 -1
  6. homeassistant-stubs/components/airthings/config_flow.pyi +1 -0
  7. homeassistant-stubs/components/airthings_ble/config_flow.pyi +4 -2
  8. homeassistant-stubs/components/airthings_ble/sensor.pyi +2 -1
  9. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -10
  10. homeassistant-stubs/components/alexa_devices/const.pyi +2 -0
  11. homeassistant-stubs/components/alexa_devices/sensor.pyi +12 -2
  12. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -0
  13. homeassistant-stubs/components/apple_tv/__init__.pyi +3 -3
  14. homeassistant-stubs/components/assist_pipeline/__init__.pyi +3 -3
  15. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +1 -1
  16. homeassistant-stubs/components/asuswrt/bridge.pyi +9 -9
  17. homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -1
  18. homeassistant-stubs/components/asuswrt/device_tracker.pyi +0 -3
  19. homeassistant-stubs/components/asuswrt/helpers.pyi +2 -3
  20. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  21. homeassistant-stubs/components/backup/http.pyi +1 -0
  22. homeassistant-stubs/components/backup/manager.pyi +2 -1
  23. homeassistant-stubs/components/backup/util.pyi +2 -32
  24. homeassistant-stubs/components/bang_olufsen/media_player.pyi +5 -5
  25. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -5
  26. homeassistant-stubs/components/bluetooth/api.pyi +2 -0
  27. homeassistant-stubs/components/bluetooth/manager.pyi +2 -0
  28. homeassistant-stubs/components/bryant_evolution/climate.pyi +2 -2
  29. homeassistant-stubs/components/calendar/trigger.pyi +1 -1
  30. homeassistant-stubs/components/camera/__init__.pyi +1 -9
  31. homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
  32. homeassistant-stubs/components/cert_expiry/errors.pyi +1 -0
  33. homeassistant-stubs/components/cert_expiry/helper.pyi +1 -1
  34. homeassistant-stubs/components/cloud/__init__.pyi +2 -1
  35. homeassistant-stubs/components/cloud/client.pyi +1 -1
  36. homeassistant-stubs/components/cloud/const.pyi +1 -1
  37. homeassistant-stubs/components/comelit/binary_sensor.pyi +1 -0
  38. homeassistant-stubs/components/comelit/cover.pyi +2 -2
  39. homeassistant-stubs/components/comelit/light.pyi +1 -1
  40. homeassistant-stubs/components/comelit/sensor.pyi +1 -0
  41. homeassistant-stubs/components/comelit/switch.pyi +1 -1
  42. homeassistant-stubs/components/comelit/utils.pyi +5 -1
  43. homeassistant-stubs/components/config/config_entries.pyi +5 -1
  44. homeassistant-stubs/components/cover/__init__.pyi +1 -11
  45. homeassistant-stubs/components/demo/valve.pyi +14 -5
  46. homeassistant-stubs/components/derivative/__init__.pyi +0 -1
  47. homeassistant-stubs/components/derivative/config_flow.pyi +1 -0
  48. homeassistant-stubs/components/derivative/sensor.pyi +2 -1
  49. homeassistant-stubs/components/device_automation/condition.pyi +7 -6
  50. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  51. homeassistant-stubs/components/devolo_home_control/entity.pyi +1 -2
  52. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  53. homeassistant-stubs/components/devolo_home_control/subscriber.pyi +0 -1
  54. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  55. homeassistant-stubs/components/dnsip/sensor.pyi +3 -3
  56. homeassistant-stubs/components/ecovacs/button.pyi +1 -1
  57. homeassistant-stubs/components/ecovacs/select.pyi +14 -2
  58. homeassistant-stubs/components/eheimdigital/sensor.pyi +1 -2
  59. homeassistant-stubs/components/enphase_envoy/sensor.pyi +4 -22
  60. homeassistant-stubs/components/eq3btsmart/sensor.pyi +1 -2
  61. homeassistant-stubs/components/esphome/__init__.pyi +1 -1
  62. homeassistant-stubs/components/esphome/assist_satellite.pyi +12 -2
  63. homeassistant-stubs/components/esphome/climate.pyi +1 -0
  64. homeassistant-stubs/components/esphome/config_flow.pyi +7 -4
  65. homeassistant-stubs/components/esphome/const.pyi +2 -0
  66. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  67. homeassistant-stubs/components/esphome/manager.pyi +8 -3
  68. homeassistant-stubs/components/esphome/select.pyi +1 -1
  69. homeassistant-stubs/components/evohome/climate.pyi +1 -1
  70. homeassistant-stubs/components/fastdotcom/coordinator.pyi +2 -2
  71. homeassistant-stubs/components/fastdotcom/sensor.pyi +1 -1
  72. homeassistant-stubs/components/filter/__init__.pyi +0 -1
  73. homeassistant-stubs/components/filter/config_flow.pyi +1 -0
  74. homeassistant-stubs/components/firefly_iii/__init__.pyi +8 -0
  75. homeassistant-stubs/components/firefly_iii/config_flow.pyi +24 -0
  76. homeassistant-stubs/components/firefly_iii/const.pyi +3 -0
  77. homeassistant-stubs/components/firefly_iii/coordinator.pyi +30 -0
  78. homeassistant-stubs/components/firefly_iii/diagnostics.pyi +11 -0
  79. homeassistant-stubs/components/firefly_iii/entity.pyi +30 -0
  80. homeassistant-stubs/components/firefly_iii/sensor.pyi +66 -0
  81. homeassistant-stubs/components/fritz/coordinator.pyi +3 -0
  82. homeassistant-stubs/components/fritz/models.pyi +2 -2
  83. homeassistant-stubs/components/fritz/services.pyi +3 -0
  84. homeassistant-stubs/components/fritzbox/climate.pyi +2 -5
  85. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +0 -1
  86. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  87. homeassistant-stubs/components/generic_thermostat/__init__.pyi +0 -1
  88. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  89. homeassistant-stubs/components/github/__init__.pyi +12 -0
  90. homeassistant-stubs/components/github/config_flow.pyi +28 -0
  91. homeassistant-stubs/components/github/const.pyi +10 -0
  92. homeassistant-stubs/components/github/coordinator.pyi +26 -0
  93. homeassistant-stubs/components/github/diagnostics.pyi +7 -0
  94. homeassistant-stubs/components/github/sensor.pyi +37 -0
  95. homeassistant-stubs/components/go2rtc/__init__.pyi +1 -2
  96. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +2 -1
  97. homeassistant-stubs/components/google_drive/api.pyi +1 -0
  98. homeassistant-stubs/components/google_sheets/services.pyi +9 -2
  99. homeassistant-stubs/components/group/__init__.pyi +0 -1
  100. homeassistant-stubs/components/group/config_flow.pyi +2 -0
  101. homeassistant-stubs/components/group/entity.pyi +3 -0
  102. homeassistant-stubs/components/group/light.pyi +1 -1
  103. homeassistant-stubs/components/group/util.pyi +1 -0
  104. homeassistant-stubs/components/group/valve.pyi +47 -0
  105. homeassistant-stubs/components/habitica/__init__.pyi +1 -0
  106. homeassistant-stubs/components/habitica/config_flow.pyi +11 -3
  107. homeassistant-stubs/components/habitica/const.pyi +1 -0
  108. homeassistant-stubs/components/habitica/coordinator.pyi +9 -3
  109. homeassistant-stubs/components/habitica/entity.pyi +15 -2
  110. homeassistant-stubs/components/habitica/image.pyi +6 -2
  111. homeassistant-stubs/components/habitica/notify.pyi +42 -0
  112. homeassistant-stubs/components/habitica/sensor.pyi +9 -4
  113. homeassistant-stubs/components/hardkernel/hardware.pyi +1 -1
  114. homeassistant-stubs/components/hardware/__init__.pyi +2 -10
  115. homeassistant-stubs/components/history_stats/__init__.pyi +0 -1
  116. homeassistant-stubs/components/history_stats/config_flow.pyi +1 -0
  117. homeassistant-stubs/components/home_connect/application_credentials.pyi +1 -0
  118. homeassistant-stubs/components/home_connect/const.pyi +1 -0
  119. homeassistant-stubs/components/home_connect/select.pyi +1 -1
  120. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -2
  121. homeassistant-stubs/components/homeassistant_green/hardware.pyi +1 -1
  122. homeassistant-stubs/components/homeassistant_hardware/const.pyi +1 -0
  123. homeassistant-stubs/components/homeassistant_hardware/helpers.pyi +12 -2
  124. homeassistant-stubs/components/homeassistant_hardware/switch.pyi +23 -0
  125. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +13 -4
  126. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +4 -0
  127. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
  128. homeassistant-stubs/components/homeassistant_sky_connect/switch.pyi +17 -0
  129. homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +5 -7
  130. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +12 -4
  131. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
  132. homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -1
  133. homeassistant-stubs/components/homeassistant_yellow/switch.pyi +17 -0
  134. homeassistant-stubs/components/homeassistant_yellow/update.pyi +5 -7
  135. homeassistant-stubs/components/homee/__init__.pyi +1 -0
  136. homeassistant-stubs/components/homewizard/__init__.pyi +2 -0
  137. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  138. homeassistant-stubs/components/husqvarna_automower/entity.pyi +8 -4
  139. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +5 -0
  140. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  141. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -0
  142. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -0
  143. homeassistant-stubs/components/imap/__init__.pyi +3 -1
  144. homeassistant-stubs/components/imap/coordinator.pyi +4 -1
  145. homeassistant-stubs/components/inels/__init__.pyi +18 -0
  146. homeassistant-stubs/components/inels/config_flow.pyi +13 -0
  147. homeassistant-stubs/components/inels/const.pyi +7 -0
  148. homeassistant-stubs/components/inels/entity.pyi +20 -0
  149. homeassistant-stubs/components/inels/switch.pyi +34 -0
  150. homeassistant-stubs/components/knx/climate.pyi +23 -11
  151. homeassistant-stubs/components/knx/const.pyi +14 -0
  152. homeassistant-stubs/components/knx/schema.pyi +1 -13
  153. homeassistant-stubs/components/knx/sensor.pyi +8 -9
  154. homeassistant-stubs/components/knx/storage/const.pyi +20 -0
  155. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +13 -2
  156. homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +3 -0
  157. homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +2 -3
  158. homeassistant-stubs/components/litterrobot/update.pyi +2 -0
  159. homeassistant-stubs/components/lock/__init__.pyi +1 -6
  160. homeassistant-stubs/components/london_underground/__init__.pyi +9 -0
  161. homeassistant-stubs/components/london_underground/config_flow.pyi +22 -0
  162. homeassistant-stubs/components/london_underground/const.pyi +1 -0
  163. homeassistant-stubs/components/london_underground/coordinator.pyi +3 -1
  164. homeassistant-stubs/components/london_underground/sensor.pyi +10 -5
  165. homeassistant-stubs/components/lunatone/__init__.pyi +12 -0
  166. homeassistant-stubs/components/lunatone/config_flow.pyi +16 -0
  167. homeassistant-stubs/components/lunatone/const.pyi +3 -0
  168. homeassistant-stubs/components/lunatone/coordinator.pyi +29 -0
  169. homeassistant-stubs/components/lunatone/light.pyi +43 -0
  170. homeassistant-stubs/components/matrix/__init__.pyi +10 -2
  171. homeassistant-stubs/components/matrix/const.pyi +5 -0
  172. homeassistant-stubs/components/matrix/services.pyi +3 -1
  173. homeassistant-stubs/components/matter/__init__.pyi +5 -0
  174. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  175. homeassistant-stubs/components/matter/button.pyi +1 -1
  176. homeassistant-stubs/components/matter/climate.pyi +7 -1
  177. homeassistant-stubs/components/matter/cover.pyi +6 -2
  178. homeassistant-stubs/components/matter/entity.pyi +4 -2
  179. homeassistant-stubs/components/matter/event.pyi +5 -1
  180. homeassistant-stubs/components/matter/fan.pyi +5 -1
  181. homeassistant-stubs/components/matter/light.pyi +6 -2
  182. homeassistant-stubs/components/matter/lock.pyi +5 -1
  183. homeassistant-stubs/components/matter/models.pyi +3 -3
  184. homeassistant-stubs/components/matter/number.pyi +1 -1
  185. homeassistant-stubs/components/matter/select.pyi +1 -1
  186. homeassistant-stubs/components/matter/sensor.pyi +4 -1
  187. homeassistant-stubs/components/matter/services.pyi +11 -0
  188. homeassistant-stubs/components/matter/switch.pyi +5 -2
  189. homeassistant-stubs/components/matter/update.pyi +4 -1
  190. homeassistant-stubs/components/matter/vacuum.pyi +6 -2
  191. homeassistant-stubs/components/matter/valve.pyi +6 -2
  192. homeassistant-stubs/components/matter/water_heater.pyi +8 -1
  193. homeassistant-stubs/components/mcp/__init__.pyi +1 -6
  194. homeassistant-stubs/components/mcp/config_flow.pyi +12 -2
  195. homeassistant-stubs/components/mcp/const.pyi +1 -0
  196. homeassistant-stubs/components/mcp/coordinator.pyi +1 -1
  197. homeassistant-stubs/components/mcp_server/__init__.pyi +1 -8
  198. homeassistant-stubs/components/mcp_server/http.pyi +23 -1
  199. homeassistant-stubs/components/mealie/config_flow.pyi +8 -1
  200. homeassistant-stubs/components/media_player/__init__.pyi +1 -9
  201. homeassistant-stubs/components/media_player/const.pyi +10 -69
  202. homeassistant-stubs/components/media_player/intent.pyi +7 -9
  203. homeassistant-stubs/components/metoffice/__init__.pyi +1 -0
  204. homeassistant-stubs/components/metoffice/helpers.pyi +2 -2
  205. homeassistant-stubs/components/metoffice/weather.pyi +11 -11
  206. homeassistant-stubs/components/min_max/__init__.pyi +0 -1
  207. homeassistant-stubs/components/min_max/config_flow.pyi +1 -0
  208. homeassistant-stubs/components/mold_indicator/__init__.pyi +0 -1
  209. homeassistant-stubs/components/mold_indicator/config_flow.pyi +1 -0
  210. homeassistant-stubs/components/mqtt/__init__.pyi +1 -4
  211. homeassistant-stubs/components/mqtt/config_flow.pyi +23 -4
  212. homeassistant-stubs/components/mqtt/const.pyi +7 -1
  213. homeassistant-stubs/components/mqtt/number.pyi +1 -5
  214. homeassistant-stubs/components/mqtt/siren.pyi +1 -9
  215. homeassistant-stubs/components/music_assistant/const.pyi +4 -0
  216. homeassistant-stubs/components/music_assistant/media_player.pyi +1 -1
  217. homeassistant-stubs/components/music_assistant/schemas.pyi +2 -2
  218. homeassistant-stubs/components/nasweb/sensor.pyi +0 -5
  219. homeassistant-stubs/components/nasweb/switch.pyi +1 -0
  220. homeassistant-stubs/components/nextdns/config_flow.pyi +6 -1
  221. homeassistant-stubs/components/number/const.pyi +2 -1
  222. homeassistant-stubs/components/onedrive/backup.pyi +2 -1
  223. homeassistant-stubs/components/onewire/binary_sensor.pyi +5 -12
  224. homeassistant-stubs/components/onewire/const.pyi +0 -2
  225. homeassistant-stubs/components/onewire/diagnostics.pyi +2 -0
  226. homeassistant-stubs/components/onewire/entity.pyi +6 -14
  227. homeassistant-stubs/components/onewire/onewirehub.pyi +5 -5
  228. homeassistant-stubs/components/onewire/select.pyi +3 -10
  229. homeassistant-stubs/components/onewire/sensor.pyi +5 -7
  230. homeassistant-stubs/components/onewire/switch.pyi +7 -14
  231. homeassistant-stubs/components/onkyo/receiver.pyi +1 -1
  232. homeassistant-stubs/components/open_router/entity.pyi +4 -1
  233. homeassistant-stubs/components/openai_conversation/ai_task.pyi +1 -1
  234. homeassistant-stubs/components/openai_conversation/config_flow.pyi +1 -1
  235. homeassistant-stubs/components/openai_conversation/const.pyi +2 -0
  236. homeassistant-stubs/components/openai_conversation/entity.pyi +1 -1
  237. homeassistant-stubs/components/opower/coordinator.pyi +1 -0
  238. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  239. homeassistant-stubs/components/ping/config_flow.pyi +1 -0
  240. homeassistant-stubs/components/ping/device_tracker.pyi +3 -2
  241. homeassistant-stubs/components/ping/entity.pyi +1 -0
  242. homeassistant-stubs/components/portainer/button.pyi +29 -0
  243. homeassistant-stubs/components/portainer/config_flow.pyi +4 -0
  244. homeassistant-stubs/components/portainer/const.pyi +1 -0
  245. homeassistant-stubs/components/portainer/coordinator.pyi +11 -2
  246. homeassistant-stubs/components/portainer/diagnostics.pyi +12 -0
  247. homeassistant-stubs/components/portainer/entity.pyi +2 -0
  248. homeassistant-stubs/components/portainer/sensor.pyi +41 -0
  249. homeassistant-stubs/components/portainer/switch.pyi +35 -0
  250. homeassistant-stubs/components/qbus/entity.pyi +1 -3
  251. homeassistant-stubs/components/raspberry_pi/hardware.pyi +1 -1
  252. homeassistant-stubs/components/recorder/const.pyi +1 -1
  253. homeassistant-stubs/components/recorder/core.pyi +3 -3
  254. homeassistant-stubs/components/recorder/db_schema.pyi +3 -10
  255. homeassistant-stubs/components/recorder/entity_registry.pyi +1 -0
  256. homeassistant-stubs/components/recorder/history/__init__.pyi +2 -2
  257. homeassistant-stubs/components/recorder/migration.pyi +4 -1
  258. homeassistant-stubs/components/recorder/models/statistics.pyi +1 -0
  259. homeassistant-stubs/components/recorder/statistics.pyi +17 -12
  260. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +0 -1
  261. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +4 -2
  262. homeassistant-stubs/components/recorder/tasks.pyi +1 -0
  263. homeassistant-stubs/components/recorder/util.pyi +1 -1
  264. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -4
  265. homeassistant-stubs/components/renault/sensor.pyi +1 -1
  266. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  267. homeassistant-stubs/components/reolink/binary_sensor.pyi +15 -0
  268. homeassistant-stubs/components/reolink/siren.pyi +2 -0
  269. homeassistant-stubs/components/reolink/switch.pyi +25 -7
  270. homeassistant-stubs/components/roborock/__init__.pyi +1 -1
  271. homeassistant-stubs/components/roborock/config_flow.pyi +1 -1
  272. homeassistant-stubs/components/roborock/coordinator.pyi +2 -1
  273. homeassistant-stubs/components/roborock/entity.pyi +1 -1
  274. homeassistant-stubs/components/roborock/models.pyi +1 -1
  275. homeassistant-stubs/components/scrape/coordinator.pyi +1 -2
  276. homeassistant-stubs/components/sensibo/__init__.pyi +6 -0
  277. homeassistant-stubs/components/sensibo/climate.pyi +3 -26
  278. homeassistant-stubs/components/sensibo/services.pyi +31 -0
  279. homeassistant-stubs/components/sensor/const.pyi +2 -1
  280. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  281. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  282. homeassistant-stubs/components/sensor/recorder.pyi +6 -3
  283. homeassistant-stubs/components/sfr_box/__init__.pyi +4 -6
  284. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +5 -14
  285. homeassistant-stubs/components/sfr_box/button.pyi +4 -9
  286. homeassistant-stubs/components/sfr_box/config_flow.pyi +2 -1
  287. homeassistant-stubs/components/sfr_box/coordinator.pyi +13 -2
  288. homeassistant-stubs/components/sfr_box/diagnostics.pyi +2 -4
  289. homeassistant-stubs/components/sfr_box/entity.pyi +18 -0
  290. homeassistant-stubs/components/sfr_box/sensor.pyi +4 -13
  291. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  292. homeassistant-stubs/components/shelly/binary_sensor.pyi +6 -2
  293. homeassistant-stubs/components/shelly/button.pyi +26 -16
  294. homeassistant-stubs/components/shelly/climate.pyi +61 -7
  295. homeassistant-stubs/components/shelly/const.pyi +15 -3
  296. homeassistant-stubs/components/shelly/cover.pyi +31 -10
  297. homeassistant-stubs/components/shelly/entity.pyi +5 -4
  298. homeassistant-stubs/components/shelly/event.pyi +4 -0
  299. homeassistant-stubs/components/shelly/light.pyi +23 -7
  300. homeassistant-stubs/components/shelly/number.pyi +11 -2
  301. homeassistant-stubs/components/shelly/repairs.pyi +2 -2
  302. homeassistant-stubs/components/shelly/select.pyi +4 -1
  303. homeassistant-stubs/components/shelly/sensor.pyi +8 -7
  304. homeassistant-stubs/components/shelly/switch.pyi +7 -4
  305. homeassistant-stubs/components/shelly/text.pyi +4 -1
  306. homeassistant-stubs/components/shelly/update.pyi +4 -0
  307. homeassistant-stubs/components/shelly/utils.pyi +10 -5
  308. homeassistant-stubs/components/shelly/valve.pyi +34 -5
  309. homeassistant-stubs/components/sleep_as_android/event.pyi +1 -0
  310. homeassistant-stubs/components/sma/__init__.pyi +15 -0
  311. homeassistant-stubs/components/sma/config_flow.pyi +27 -0
  312. homeassistant-stubs/components/sma/const.pyi +11 -0
  313. homeassistant-stubs/components/sma/coordinator.pyi +28 -0
  314. homeassistant-stubs/components/sma/diagnostics.pyi +10 -0
  315. homeassistant-stubs/components/sma/sensor.pyi +33 -0
  316. homeassistant-stubs/components/sql/__init__.pyi +2 -4
  317. homeassistant-stubs/components/sql/sensor.pyi +6 -13
  318. homeassistant-stubs/components/sql/services.pyi +17 -0
  319. homeassistant-stubs/components/sql/util.pyi +16 -3
  320. homeassistant-stubs/components/squeezebox/__init__.pyi +4 -1
  321. homeassistant-stubs/components/squeezebox/browse_media.pyi +4 -3
  322. homeassistant-stubs/components/squeezebox/button.pyi +1 -0
  323. homeassistant-stubs/components/squeezebox/const.pyi +0 -1
  324. homeassistant-stubs/components/squeezebox/media_player.pyi +7 -2
  325. homeassistant-stubs/components/squeezebox/switch.pyi +1 -0
  326. homeassistant-stubs/components/squeezebox/util.pyi +6 -0
  327. homeassistant-stubs/components/suez_water/coordinator.pyi +2 -1
  328. homeassistant-stubs/components/sun/condition.pyi +10 -5
  329. homeassistant-stubs/components/switch_as_x/__init__.pyi +0 -1
  330. homeassistant-stubs/components/switch_as_x/config_flow.pyi +1 -0
  331. homeassistant-stubs/components/switchbot_cloud/climate.pyi +2 -0
  332. homeassistant-stubs/components/switchbot_cloud/lock.pyi +7 -2
  333. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +25 -2
  334. homeassistant-stubs/components/switchbot_cloud/switch.pyi +13 -1
  335. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +4 -4
  336. homeassistant-stubs/components/switcher_kis/button.pyi +5 -6
  337. homeassistant-stubs/components/switcher_kis/climate.pyi +3 -3
  338. homeassistant-stubs/components/switcher_kis/const.pyi +1 -0
  339. homeassistant-stubs/components/switcher_kis/cover.pyi +4 -3
  340. homeassistant-stubs/components/switcher_kis/light.pyi +3 -2
  341. homeassistant-stubs/components/switcher_kis/sensor.pyi +4 -2
  342. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -5
  343. homeassistant-stubs/components/systemmonitor/__init__.pyi +0 -1
  344. homeassistant-stubs/components/systemmonitor/config_flow.pyi +1 -0
  345. homeassistant-stubs/components/systemmonitor/coordinator.pyi +1 -0
  346. homeassistant-stubs/components/systemmonitor/sensor.pyi +3 -1
  347. homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
  348. homeassistant-stubs/components/telegram_bot/bot.pyi +10 -5
  349. homeassistant-stubs/components/telegram_bot/const.pyi +9 -0
  350. homeassistant-stubs/components/telegram_bot/diagnostics.pyi +11 -0
  351. homeassistant-stubs/components/telegram_bot/entity.pyi +16 -0
  352. homeassistant-stubs/components/telegram_bot/event.pyi +18 -0
  353. homeassistant-stubs/components/telegram_bot/notify.pyi +6 -10
  354. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  355. homeassistant-stubs/components/tod/__init__.pyi +0 -1
  356. homeassistant-stubs/components/tod/config_flow.pyi +1 -0
  357. homeassistant-stubs/components/tolo/__init__.pyi +3 -5
  358. homeassistant-stubs/components/tolo/binary_sensor.pyi +4 -6
  359. homeassistant-stubs/components/tolo/button.pyi +3 -5
  360. homeassistant-stubs/components/tolo/climate.pyi +3 -5
  361. homeassistant-stubs/components/tolo/coordinator.pyi +3 -2
  362. homeassistant-stubs/components/tolo/entity.pyi +2 -3
  363. homeassistant-stubs/components/tolo/fan.pyi +3 -5
  364. homeassistant-stubs/components/tolo/light.pyi +3 -5
  365. homeassistant-stubs/components/tolo/number.pyi +3 -5
  366. homeassistant-stubs/components/tolo/select.pyi +4 -5
  367. homeassistant-stubs/components/tolo/sensor.pyi +3 -5
  368. homeassistant-stubs/components/tolo/switch.pyi +3 -5
  369. homeassistant-stubs/components/trend/__init__.pyi +0 -1
  370. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  371. homeassistant-stubs/components/tts/__init__.pyi +2 -3
  372. homeassistant-stubs/components/unifi/light.pyi +44 -0
  373. homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +2 -0
  374. homeassistant-stubs/components/uptimerobot/sensor.pyi +2 -0
  375. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -0
  376. homeassistant-stubs/components/uptimerobot/utils.pyi +5 -0
  377. homeassistant-stubs/components/usb/__init__.pyi +2 -0
  378. homeassistant-stubs/components/usb/utils.pyi +7 -0
  379. homeassistant-stubs/components/vacuum/__init__.pyi +0 -15
  380. homeassistant-stubs/components/vivotek/__init__.pyi +0 -0
  381. homeassistant-stubs/components/vivotek/camera.pyi +35 -0
  382. homeassistant-stubs/components/vodafone_station/__init__.pyi +3 -1
  383. homeassistant-stubs/components/vodafone_station/config_flow.pyi +3 -2
  384. homeassistant-stubs/components/vodafone_station/const.pyi +3 -0
  385. homeassistant-stubs/components/vodafone_station/coordinator.pyi +4 -4
  386. homeassistant-stubs/components/volvo/__init__.pyi +2 -0
  387. homeassistant-stubs/components/volvo/binary_sensor.pyi +1 -3
  388. homeassistant-stubs/components/volvo/button.pyi +27 -0
  389. homeassistant-stubs/components/volvo/coordinator.pyi +12 -14
  390. homeassistant-stubs/components/volvo/device_tracker.pyi +23 -0
  391. homeassistant-stubs/components/volvo/diagnostics.pyi +12 -0
  392. homeassistant-stubs/components/volvo/entity.pyi +9 -5
  393. homeassistant-stubs/components/volvo/sensor.pyi +9 -8
  394. homeassistant-stubs/components/waqi/__init__.pyi +8 -0
  395. homeassistant-stubs/components/waqi/config_flow.pyi +14 -9
  396. homeassistant-stubs/components/waqi/const.pyi +1 -1
  397. homeassistant-stubs/components/waqi/coordinator.pyi +5 -4
  398. homeassistant-stubs/components/webostv/media_player.pyi +3 -0
  399. homeassistant-stubs/components/websocket_api/commands.pyi +2 -0
  400. homeassistant-stubs/components/wled/select.pyi +6 -3
  401. homeassistant-stubs/components/worldclock/__init__.pyi +0 -1
  402. homeassistant-stubs/components/worldclock/config_flow.pyi +1 -0
  403. homeassistant-stubs/components/zeroconf/__init__.pyi +3 -1
  404. homeassistant-stubs/components/zeroconf/discovery.pyi +8 -1
  405. homeassistant-stubs/components/zeroconf/repairs.pyi +13 -0
  406. homeassistant-stubs/components/zone/condition.pyi +10 -4
  407. homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -0
  408. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -1
  409. homeassistant-stubs/components/zwave_js/triggers/event.pyi +6 -8
  410. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +6 -6
  411. homeassistant-stubs/config_entries.pyi +9 -0
  412. homeassistant-stubs/const.pyi +4 -21
  413. homeassistant-stubs/core.pyi +1 -7
  414. homeassistant-stubs/data_entry_flow.pyi +2 -0
  415. homeassistant-stubs/helpers/automation.pyi +6 -0
  416. homeassistant-stubs/helpers/condition.pyi +15 -5
  417. homeassistant-stubs/helpers/debounce.pyi +6 -1
  418. homeassistant-stubs/helpers/entity_platform.pyi +1 -1
  419. homeassistant-stubs/helpers/event.pyi +1 -1
  420. homeassistant-stubs/helpers/instance_id.pyi +1 -0
  421. homeassistant-stubs/helpers/llm.pyi +6 -1
  422. homeassistant-stubs/helpers/selector.pyi +5 -4
  423. homeassistant-stubs/helpers/service.pyi +4 -4
  424. homeassistant-stubs/helpers/template/__init__.pyi +0 -5
  425. homeassistant-stubs/helpers/trigger.pyi +18 -5
  426. homeassistant-stubs/helpers/update_coordinator.pyi +1 -0
  427. homeassistant-stubs/runner.pyi +1 -1
  428. homeassistant-stubs/util/async_iterator.pyi +33 -0
  429. homeassistant-stubs/util/unit_conversion.pyi +15 -0
  430. {homeassistant_stubs-2025.10.4.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/METADATA +2 -2
  431. {homeassistant_stubs-2025.10.4.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/RECORD +433 -397
  432. homeassistant-stubs/components/elevenlabs/__init__.pyi +0 -22
  433. homeassistant-stubs/components/elevenlabs/config_flow.pyi +0 -33
  434. homeassistant-stubs/components/elevenlabs/const.pyi +0 -14
  435. homeassistant-stubs/components/elevenlabs/tts.pyi +0 -36
  436. homeassistant-stubs/components/neato/__init__.pyi +0 -15
  437. homeassistant-stubs/components/neato/api.pyi +0 -17
  438. homeassistant-stubs/components/neato/application_credentials.pyi +0 -6
  439. homeassistant-stubs/components/neato/button.pyi +0 -18
  440. homeassistant-stubs/components/neato/camera.pyi +0 -34
  441. homeassistant-stubs/components/neato/config_flow.pyi +0 -15
  442. homeassistant-stubs/components/neato/const.pyi +0 -13
  443. homeassistant-stubs/components/neato/entity.pyi +0 -11
  444. homeassistant-stubs/components/neato/hub.pyi +0 -17
  445. homeassistant-stubs/components/neato/sensor.pyi +0 -30
  446. homeassistant-stubs/components/neato/switch.pyi +0 -34
  447. homeassistant-stubs/components/neato/vacuum.pyi +0 -70
  448. homeassistant-stubs/components/recorder/history/legacy.pyi +0 -48
  449. homeassistant-stubs/components/recorder/history/modern.pyi +0 -39
  450. homeassistant-stubs/components/recorder/models/legacy.pyi +0 -45
  451. homeassistant-stubs/components/sfr_box/models.pyi +0 -12
  452. {homeassistant_stubs-2025.10.4.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/WHEEL +0 -0
  453. {homeassistant_stubs-2025.10.4.dist-info → homeassistant_stubs-2025.11.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -13,6 +13,7 @@ OPTIONS_FLOW: Incomplete
13
13
  class SwitchAsXConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
14
14
  config_flow = CONFIG_FLOW
15
15
  options_flow = OPTIONS_FLOW
16
+ options_flow_reloads: bool
16
17
  VERSION: int
17
18
  MINOR_VERSION: int
18
19
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
@@ -36,3 +36,5 @@ class SwitchBotCloudAirConditioner(SwitchBotCloudEntity, ClimateEntity, RestoreE
36
36
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
37
37
  async def async_set_fan_mode(self, fan_mode: str) -> None: ...
38
38
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
39
+ async def async_turn_off(self) -> None: ...
40
+ async def async_turn_on(self) -> None: ...
@@ -1,18 +1,23 @@
1
- from . import SwitchbotCloudData as SwitchbotCloudData
1
+ from . import SwitchBotCoordinator as SwitchBotCoordinator, SwitchbotCloudData as SwitchbotCloudData
2
2
  from .const import DOMAIN as DOMAIN
3
3
  from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
4
4
  from _typeshed import Incomplete
5
- from homeassistant.components.lock import LockEntity as LockEntity
5
+ from homeassistant.components.lock import LockEntity as LockEntity, LockEntityFeature as LockEntityFeature
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
+ from switchbot_api import Device as Device, Remote as Remote, SwitchBotAPI as SwitchBotAPI
9
10
  from typing import Any
10
11
 
11
12
  async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
13
 
13
14
  class SwitchBotCloudLock(SwitchBotCloudEntity, LockEntity):
14
15
  _attr_name: Incomplete
16
+ __model: Incomplete
17
+ def __init__(self, api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> None: ...
15
18
  _attr_is_locked: Incomplete
19
+ _attr_supported_features: Incomplete
16
20
  def _set_attributes(self) -> None: ...
17
21
  async def async_lock(self, **kwargs: Any) -> None: ...
18
22
  async def async_unlock(self, **kwargs: Any) -> None: ...
23
+ async def async_open(self, **kwargs: Any) -> None: ...
@@ -8,9 +8,10 @@ from dataclasses import dataclass
8
8
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
10
  from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
11
- from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
12
13
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
- from switchbot_api import Device as Device, SwitchBotAPI as SwitchBotAPI
14
+ from switchbot_api import Device as Device, Remote as Remote, SwitchBotAPI as SwitchBotAPI
14
15
  from typing import Any
15
16
 
16
17
  SENSOR_TYPE_TEMPERATURE: str
@@ -20,8 +21,13 @@ SENSOR_TYPE_CO2: str
20
21
  SENSOR_TYPE_POWER: str
21
22
  SENSOR_TYPE_VOLTAGE: str
22
23
  SENSOR_TYPE_CURRENT: str
24
+ SENSOR_TYPE_POWER_CONSUMPTION: str
23
25
  SENSOR_TYPE_USED_ELECTRICITY: str
24
26
  SENSOR_TYPE_LIGHTLEVEL: str
27
+ RELAY_SWITCH_2PM_SENSOR_TYPE_POWER: str
28
+ RELAY_SWITCH_2PM_SENSOR_TYPE_VOLTAGE: str
29
+ RELAY_SWITCH_2PM_SENSOR_TYPE_CURRENT: str
30
+ RELAY_SWITCH_2PM_SENSOR_TYPE_ELECTRICITY: str
25
31
 
26
32
  @dataclass(frozen=True, kw_only=True)
27
33
  class SwitchbotCloudSensorEntityDescription(SensorEntityDescription):
@@ -36,6 +42,11 @@ VOLTAGE_DESCRIPTION: Incomplete
36
42
  CURRENT_DESCRIPTION_IN_MA: Incomplete
37
43
  CURRENT_DESCRIPTION_IN_A: Incomplete
38
44
  CO2_DESCRIPTION: Incomplete
45
+ POWER_CONSUMPTION_DESCRIPTION: Incomplete
46
+ RELAY_SWITCH_2PM_POWER_DESCRIPTION: Incomplete
47
+ RELAY_SWITCH_2PM_VOLTAGE_DESCRIPTION: Incomplete
48
+ RELAY_SWITCH_2PM_CURRENT_DESCRIPTION: Incomplete
49
+ RELAY_SWITCH_2PM_ElECTRICITY_DESCRIPTION: Incomplete
39
50
  LIGHTLEVEL_DESCRIPTION: Incomplete
40
51
  SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES: Incomplete
41
52
 
@@ -47,3 +58,15 @@ class SwitchBotCloudSensor(SwitchBotCloudEntity, SensorEntity):
47
58
  def __init__(self, api: SwitchBotAPI, device: Device, coordinator: SwitchBotCoordinator, description: SensorEntityDescription) -> None: ...
48
59
  _attr_native_value: Incomplete
49
60
  def _set_attributes(self) -> None: ...
61
+
62
+ class SwitchBotCloudRelaySwitch2PMSensor(SwitchBotCloudSensor):
63
+ entity_description: Incomplete
64
+ _channel: Incomplete
65
+ _attr_unique_id: Incomplete
66
+ _attr_device_info: Incomplete
67
+ def __init__(self, api: SwitchBotAPI, device: Device, coordinator: SwitchBotCoordinator, description: SensorEntityDescription, channel: str) -> None: ...
68
+ _attr_native_value: Incomplete
69
+ def _set_attributes(self) -> None: ...
70
+
71
+ @callback
72
+ def _async_make_entity(api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator, description: SensorEntityDescription) -> SwitchBotCloudSensor: ...
@@ -1,11 +1,12 @@
1
1
  from . import SwitchbotCloudData as SwitchbotCloudData
2
- from .const import DOMAIN as DOMAIN
2
+ from .const import AFTER_COMMAND_REFRESH as AFTER_COMMAND_REFRESH, DOMAIN as DOMAIN
3
3
  from .coordinator import SwitchBotCoordinator as SwitchBotCoordinator
4
4
  from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
9
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
11
  from switchbot_api import Device as Device, Remote, SwitchBotAPI as SwitchBotAPI
11
12
  from typing import Any
@@ -30,5 +31,16 @@ class SwitchBotCloudRelaySwitchSwitch(SwitchBotCloudSwitch):
30
31
  _attr_is_on: Incomplete
31
32
  def _set_attributes(self) -> None: ...
32
33
 
34
+ class SwitchBotCloudRelaySwitch2PMSwitch(SwitchBotCloudSwitch):
35
+ _channel: Incomplete
36
+ _device_id: Incomplete
37
+ _attr_unique_id: Incomplete
38
+ _attr_device_info: Incomplete
39
+ def __init__(self, api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator, channel: str) -> None: ...
40
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
41
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
42
+ _attr_is_on: Incomplete
43
+ def _set_attributes(self) -> None: ...
44
+
33
45
  @callback
34
46
  def _async_make_entity(api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> SwitchBotCloudSwitch: ...
@@ -29,21 +29,21 @@ class SwitchBotCloudVacuum(SwitchBotCloudEntity, StateVacuumEntity):
29
29
  _attr_activity: Incomplete
30
30
  def _set_attributes(self) -> None: ...
31
31
 
32
- class SwitchBotCloudVacuumK20PlusPro(SwitchBotCloudVacuum):
32
+ class SwitchBotCloudVacuumV2(SwitchBotCloudVacuum):
33
33
  _attr_fan_speed: Incomplete
34
34
  async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
35
35
  async def async_pause(self) -> None: ...
36
36
  async def async_return_to_base(self, **kwargs: Any) -> None: ...
37
37
  async def async_start(self) -> None: ...
38
38
 
39
- class SwitchBotCloudVacuumK10PlusProCombo(SwitchBotCloudVacuumK20PlusPro):
39
+ class SwitchBotCloudVacuumK10PlusProCombo(SwitchBotCloudVacuumV2):
40
40
  _attr_fan_speed: Incomplete
41
41
  async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
42
42
 
43
- class SwitchBotCloudVacuumV3(SwitchBotCloudVacuumK20PlusPro):
43
+ class SwitchBotCloudVacuumV3(SwitchBotCloudVacuumV2):
44
44
  _attr_fan_speed: Incomplete
45
45
  async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
46
46
  async def async_start(self) -> None: ...
47
47
 
48
48
  @callback
49
- def _async_make_entity(api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> SwitchBotCloudVacuum | SwitchBotCloudVacuumK20PlusPro | SwitchBotCloudVacuumV3 | SwitchBotCloudVacuumK10PlusProCombo: ...
49
+ def _async_make_entity(api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> SwitchBotCloudVacuum | SwitchBotCloudVacuumV2 | SwitchBotCloudVacuumV3 | SwitchBotCloudVacuumK10PlusProCombo: ...
@@ -1,25 +1,24 @@
1
1
  from . import SwitcherConfigEntry as SwitcherConfigEntry
2
- from .const import SIGNAL_DEVICE_ADD as SIGNAL_DEVICE_ADD
2
+ from .const import API_CONTROL_BREEZE_DEVICE as API_CONTROL_BREEZE_DEVICE, SIGNAL_DEVICE_ADD as SIGNAL_DEVICE_ADD
3
3
  from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
4
4
  from .entity import SwitcherEntity as SwitcherEntity
5
5
  from .utils import get_breeze_remote_manager as get_breeze_remote_manager
6
6
  from _typeshed import Incomplete
7
- from aioswitcher.api import SwitcherApi
8
- from aioswitcher.api.messages import SwitcherBaseResponse as SwitcherBaseResponse
9
7
  from aioswitcher.api.remotes import SwitcherBreezeRemote
10
- from collections.abc import Callable as Callable, Coroutine
8
+ from collections.abc import Callable as Callable
11
9
  from dataclasses import dataclass
12
10
  from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
13
11
  from homeassistant.const import EntityCategory as EntityCategory
14
12
  from homeassistant.core import HomeAssistant as HomeAssistant
15
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
16
13
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
17
14
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
18
15
  from typing import Any
19
16
 
17
+ PARALLEL_UPDATES: int
18
+
20
19
  @dataclass(frozen=True, kw_only=True)
21
20
  class SwitcherThermostatButtonEntityDescription(ButtonEntityDescription):
22
- press_fn: Callable[[SwitcherApi, SwitcherBreezeRemote], Coroutine[Any, Any, SwitcherBaseResponse]]
21
+ press_args: dict[str, Any]
23
22
  supported: Callable[[SwitcherBreezeRemote], bool]
24
23
 
25
24
  THERMOSTAT_BUTTONS: Incomplete
@@ -1,5 +1,5 @@
1
1
  from . import SwitcherConfigEntry as SwitcherConfigEntry
2
- from .const import SIGNAL_DEVICE_ADD as SIGNAL_DEVICE_ADD
2
+ from .const import API_CONTROL_BREEZE_DEVICE as API_CONTROL_BREEZE_DEVICE, SIGNAL_DEVICE_ADD as SIGNAL_DEVICE_ADD
3
3
  from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
4
4
  from .entity import SwitcherEntity as SwitcherEntity
5
5
  from .utils import get_breeze_remote_manager as get_breeze_remote_manager
@@ -8,12 +8,12 @@ from aioswitcher.api.remotes import SwitcherBreezeRemote as SwitcherBreezeRemote
8
8
  from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, HVACMode as HVACMode, SWING_OFF as SWING_OFF, SWING_VERTICAL as SWING_VERTICAL
9
9
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
12
12
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
13
13
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
14
  from typing import Any
15
15
 
16
- API_CONTROL_BREEZE_DEVICE: str
16
+ PARALLEL_UPDATES: int
17
17
  DEVICE_MODE_TO_HA: Incomplete
18
18
  HA_TO_DEVICE_MODE: Incomplete
19
19
  DEVICE_FAN_TO_HA: Incomplete
@@ -1,4 +1,5 @@
1
1
  DOMAIN: str
2
+ API_CONTROL_BREEZE_DEVICE: str
2
3
  DISCOVERY_TIME_SEC: int
3
4
  SIGNAL_DEVICE_ADD: str
4
5
  CONF_AUTO_OFF: str
@@ -1,18 +1,19 @@
1
+ from . import SwitcherConfigEntry as SwitcherConfigEntry
1
2
  from .const import SIGNAL_DEVICE_ADD as SIGNAL_DEVICE_ADD
2
3
  from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
3
4
  from .entity import SwitcherEntity as SwitcherEntity
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
10
  from typing import Any
11
11
 
12
- API_SET_POSITON: str
12
+ PARALLEL_UPDATES: int
13
+ API_SET_POSITION: str
13
14
  API_STOP: str
14
15
 
15
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: SwitcherConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
17
 
17
18
  class SwitcherBaseCoverEntity(SwitcherEntity, CoverEntity):
18
19
  _attr_device_class: Incomplete
@@ -1,17 +1,18 @@
1
+ from . import SwitcherConfigEntry as SwitcherConfigEntry
1
2
  from .const import SIGNAL_DEVICE_ADD as SIGNAL_DEVICE_ADD
2
3
  from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
3
4
  from .entity import SwitcherEntity as SwitcherEntity
4
5
  from _typeshed import Incomplete
5
6
  from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
10
  from typing import Any
11
11
 
12
+ PARALLEL_UPDATES: int
12
13
  API_SET_LIGHT: str
13
14
 
14
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+ async def async_setup_entry(hass: HomeAssistant, config_entry: SwitcherConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
16
 
16
17
  class SwitcherBaseLightEntity(SwitcherEntity, LightEntity):
17
18
  _attr_color_mode: Incomplete
@@ -1,3 +1,4 @@
1
+ from . import SwitcherConfigEntry as SwitcherConfigEntry
1
2
  from .const import SIGNAL_DEVICE_ADD as SIGNAL_DEVICE_ADD
2
3
  from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
3
4
  from .entity import SwitcherEntity as SwitcherEntity
@@ -6,13 +7,14 @@ from aioswitcher.device import SwitcherBase as SwitcherBase
6
7
  from collections.abc import Callable as Callable
7
8
  from dataclasses import dataclass
8
9
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
10
  from homeassistant.const import UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
13
13
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
14
  from homeassistant.helpers.typing import StateType as StateType
15
15
 
16
+ PARALLEL_UPDATES: int
17
+
16
18
  @dataclass(frozen=True, kw_only=True)
17
19
  class SwitcherSensorEntityDescription(SensorEntityDescription):
18
20
  value_fn: Callable[[SwitcherBase], StateType]
@@ -24,7 +26,7 @@ POWER_PLUG_SENSORS = POWER_SENSORS
24
26
  WATER_HEATER_SENSORS: Incomplete
25
27
  THERMOSTAT_SENSORS = TEMPERATURE_SENSORS
26
28
 
27
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
29
+ async def async_setup_entry(hass: HomeAssistant, config_entry: SwitcherConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
28
30
 
29
31
  class SwitcherSensorEntity(SwitcherEntity, SensorEntity):
30
32
  entity_description: SwitcherSensorEntityDescription
@@ -1,10 +1,10 @@
1
+ from . import SwitcherConfigEntry as SwitcherConfigEntry
1
2
  from .const import CONF_AUTO_OFF as CONF_AUTO_OFF, CONF_TIMER_MINUTES as CONF_TIMER_MINUTES, SERVICE_SET_AUTO_OFF_NAME as SERVICE_SET_AUTO_OFF_NAME, SERVICE_TURN_ON_WITH_TIMER_NAME as SERVICE_TURN_ON_WITH_TIMER_NAME, SIGNAL_DEVICE_ADD as SIGNAL_DEVICE_ADD
2
3
  from .coordinator import SwitcherDataUpdateCoordinator as SwitcherDataUpdateCoordinator
3
4
  from .entity import SwitcherEntity as SwitcherEntity
4
5
  from _typeshed import Incomplete
5
6
  from datetime import timedelta
6
7
  from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.helpers import entity_platform as entity_platform
@@ -13,14 +13,14 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
13
13
  from homeassistant.helpers.typing import VolDictType as VolDictType
14
14
  from typing import Any
15
15
 
16
- _LOGGER: Incomplete
16
+ PARALLEL_UPDATES: int
17
17
  API_CONTROL_DEVICE: str
18
18
  API_SET_AUTO_SHUTDOWN: str
19
19
  API_SET_CHILD_LOCK: str
20
20
  SERVICE_SET_AUTO_OFF_SCHEMA: VolDictType
21
21
  SERVICE_TURN_ON_WITH_TIMER_SCHEMA: VolDictType
22
22
 
23
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
+ async def async_setup_entry(hass: HomeAssistant, config_entry: SwitcherConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
24
24
 
25
25
  class SwitcherBaseSwitchEntity(SwitcherEntity, SwitchEntity):
26
26
  _attr_name: Incomplete
@@ -31,8 +31,6 @@ class SwitcherBaseSwitchEntity(SwitcherEntity, SwitchEntity):
31
31
  def _update_data(self) -> None: ...
32
32
  async def async_turn_on(self, **kwargs: Any) -> None: ...
33
33
  async def async_turn_off(self, **kwargs: Any) -> None: ...
34
- async def async_set_auto_off_service(self, auto_off: timedelta) -> None: ...
35
- async def async_turn_on_with_timer_service(self, timer_minutes: int) -> None: ...
36
34
 
37
35
  class SwitcherPowerPlugSwitchEntity(SwitcherBaseSwitchEntity):
38
36
  _attr_device_class: Incomplete
@@ -18,5 +18,4 @@ class SystemMonitorData:
18
18
 
19
19
  async def async_setup_entry(hass: HomeAssistant, entry: SystemMonitorConfigEntry) -> bool: ...
20
20
  async def async_unload_entry(hass: HomeAssistant, entry: SystemMonitorConfigEntry) -> bool: ...
21
- async def update_listener(hass: HomeAssistant, entry: SystemMonitorConfigEntry) -> None: ...
22
21
  async def async_migrate_entry(hass: HomeAssistant, entry: SystemMonitorConfigEntry) -> bool: ...
@@ -18,6 +18,7 @@ OPTIONS_FLOW: Incomplete
18
18
  class SystemMonitorConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
19
19
  config_flow = CONFIG_FLOW
20
20
  options_flow = OPTIONS_FLOW
21
+ options_flow_reloads: bool
21
22
  VERSION: int
22
23
  MINOR_VERSION: int
23
24
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
@@ -25,6 +25,7 @@ class SensorData:
25
25
  boot_time: datetime
26
26
  processes: list[Process]
27
27
  temperatures: dict[str, list[shwtemp]]
28
+ process_fds: dict[str, int]
28
29
  def as_dict(self) -> dict[str, Any]: ...
29
30
 
30
31
  class VirtualMemory(NamedTuple):
@@ -1,5 +1,6 @@
1
1
  from . import SystemMonitorConfigEntry as SystemMonitorConfigEntry
2
- from .const import DOMAIN as DOMAIN, NET_IO_TYPES as NET_IO_TYPES
2
+ from .binary_sensor import BINARY_SENSOR_DOMAIN as BINARY_SENSOR_DOMAIN
3
+ from .const import CONF_PROCESS as CONF_PROCESS, DOMAIN as DOMAIN, NET_IO_TYPES as NET_IO_TYPES
3
4
  from .coordinator import SystemMonitorCoordinator as SystemMonitorCoordinator
4
5
  from .util import get_all_disk_mounts as get_all_disk_mounts, get_all_network_interfaces as get_all_network_interfaces, read_cpu_temperature as read_cpu_temperature
5
6
  from _typeshed import Incomplete
@@ -34,6 +35,7 @@ def get_network(entity: SystemMonitorSensor) -> float | None: ...
34
35
  def get_packets(entity: SystemMonitorSensor) -> float | None: ...
35
36
  def get_throughput(entity: SystemMonitorSensor) -> float | None: ...
36
37
  def get_ip_address(entity: SystemMonitorSensor) -> str | None: ...
38
+ def get_process_num_fds(entity: SystemMonitorSensor) -> int | None: ...
37
39
 
38
40
  @dataclass(frozen=True, kw_only=True)
39
41
  class SysMonitorSensorEntityDescription(SensorEntityDescription):
@@ -1,6 +1,6 @@
1
1
  from . import broadcast as broadcast, polling as polling, webhooks as webhooks
2
2
  from .bot import TelegramBotConfigEntry as TelegramBotConfigEntry, TelegramNotificationService as TelegramNotificationService, initialize_bot as initialize_bot
3
- from .const import ATTR_ALLOWS_MULTIPLE_ANSWERS as ATTR_ALLOWS_MULTIPLE_ANSWERS, ATTR_AUTHENTICATION as ATTR_AUTHENTICATION, ATTR_CALLBACK_QUERY_ID as ATTR_CALLBACK_QUERY_ID, ATTR_CAPTION as ATTR_CAPTION, ATTR_CHAT_ACTION as ATTR_CHAT_ACTION, ATTR_CHAT_ID as ATTR_CHAT_ID, ATTR_DISABLE_NOTIF as ATTR_DISABLE_NOTIF, ATTR_DISABLE_WEB_PREV as ATTR_DISABLE_WEB_PREV, ATTR_FILE as ATTR_FILE, ATTR_IS_ANONYMOUS as ATTR_IS_ANONYMOUS, ATTR_IS_BIG as ATTR_IS_BIG, ATTR_KEYBOARD as ATTR_KEYBOARD, ATTR_KEYBOARD_INLINE as ATTR_KEYBOARD_INLINE, ATTR_MESSAGE as ATTR_MESSAGE, ATTR_MESSAGEID as ATTR_MESSAGEID, ATTR_MESSAGE_TAG as ATTR_MESSAGE_TAG, ATTR_MESSAGE_THREAD_ID as ATTR_MESSAGE_THREAD_ID, ATTR_ONE_TIME_KEYBOARD as ATTR_ONE_TIME_KEYBOARD, ATTR_OPEN_PERIOD as ATTR_OPEN_PERIOD, ATTR_OPTIONS as ATTR_OPTIONS, ATTR_PARSER as ATTR_PARSER, ATTR_PASSWORD as ATTR_PASSWORD, ATTR_QUESTION as ATTR_QUESTION, ATTR_REACTION as ATTR_REACTION, ATTR_RESIZE_KEYBOARD as ATTR_RESIZE_KEYBOARD, ATTR_SHOW_ALERT as ATTR_SHOW_ALERT, ATTR_STICKER_ID as ATTR_STICKER_ID, ATTR_TARGET as ATTR_TARGET, ATTR_TIMEOUT as ATTR_TIMEOUT, ATTR_TITLE as ATTR_TITLE, ATTR_URL as ATTR_URL, ATTR_USERNAME as ATTR_USERNAME, ATTR_VERIFY_SSL as ATTR_VERIFY_SSL, CHAT_ACTION_CHOOSE_STICKER as CHAT_ACTION_CHOOSE_STICKER, CHAT_ACTION_FIND_LOCATION as CHAT_ACTION_FIND_LOCATION, CHAT_ACTION_RECORD_VIDEO as CHAT_ACTION_RECORD_VIDEO, CHAT_ACTION_RECORD_VIDEO_NOTE as CHAT_ACTION_RECORD_VIDEO_NOTE, CHAT_ACTION_RECORD_VOICE as CHAT_ACTION_RECORD_VOICE, CHAT_ACTION_TYPING as CHAT_ACTION_TYPING, CHAT_ACTION_UPLOAD_DOCUMENT as CHAT_ACTION_UPLOAD_DOCUMENT, CHAT_ACTION_UPLOAD_PHOTO as CHAT_ACTION_UPLOAD_PHOTO, CHAT_ACTION_UPLOAD_VIDEO as CHAT_ACTION_UPLOAD_VIDEO, CHAT_ACTION_UPLOAD_VIDEO_NOTE as CHAT_ACTION_UPLOAD_VIDEO_NOTE, CHAT_ACTION_UPLOAD_VOICE as CHAT_ACTION_UPLOAD_VOICE, CONF_ALLOWED_CHAT_IDS as CONF_ALLOWED_CHAT_IDS, CONF_BOT_COUNT as CONF_BOT_COUNT, CONF_CONFIG_ENTRY_ID as CONF_CONFIG_ENTRY_ID, CONF_PROXY_URL as CONF_PROXY_URL, CONF_TRUSTED_NETWORKS as CONF_TRUSTED_NETWORKS, DEFAULT_TRUSTED_NETWORKS as DEFAULT_TRUSTED_NETWORKS, DOMAIN as DOMAIN, PARSER_MD as PARSER_MD, PLATFORM_BROADCAST as PLATFORM_BROADCAST, PLATFORM_POLLING as PLATFORM_POLLING, PLATFORM_WEBHOOKS as PLATFORM_WEBHOOKS, SERVICE_ANSWER_CALLBACK_QUERY as SERVICE_ANSWER_CALLBACK_QUERY, SERVICE_DELETE_MESSAGE as SERVICE_DELETE_MESSAGE, SERVICE_EDIT_CAPTION as SERVICE_EDIT_CAPTION, SERVICE_EDIT_MESSAGE as SERVICE_EDIT_MESSAGE, SERVICE_EDIT_REPLYMARKUP as SERVICE_EDIT_REPLYMARKUP, SERVICE_LEAVE_CHAT as SERVICE_LEAVE_CHAT, SERVICE_SEND_ANIMATION as SERVICE_SEND_ANIMATION, SERVICE_SEND_CHAT_ACTION as SERVICE_SEND_CHAT_ACTION, SERVICE_SEND_DOCUMENT as SERVICE_SEND_DOCUMENT, SERVICE_SEND_LOCATION as SERVICE_SEND_LOCATION, SERVICE_SEND_MESSAGE as SERVICE_SEND_MESSAGE, SERVICE_SEND_PHOTO as SERVICE_SEND_PHOTO, SERVICE_SEND_POLL as SERVICE_SEND_POLL, SERVICE_SEND_STICKER as SERVICE_SEND_STICKER, SERVICE_SEND_VIDEO as SERVICE_SEND_VIDEO, SERVICE_SEND_VOICE as SERVICE_SEND_VOICE, SERVICE_SET_MESSAGE_REACTION as SERVICE_SET_MESSAGE_REACTION
3
+ from .const import ATTR_ALLOWS_MULTIPLE_ANSWERS as ATTR_ALLOWS_MULTIPLE_ANSWERS, ATTR_AUTHENTICATION as ATTR_AUTHENTICATION, ATTR_CALLBACK_QUERY_ID as ATTR_CALLBACK_QUERY_ID, ATTR_CAPTION as ATTR_CAPTION, ATTR_CHAT_ACTION as ATTR_CHAT_ACTION, ATTR_CHAT_ID as ATTR_CHAT_ID, ATTR_DISABLE_NOTIF as ATTR_DISABLE_NOTIF, ATTR_DISABLE_WEB_PREV as ATTR_DISABLE_WEB_PREV, ATTR_FILE as ATTR_FILE, ATTR_IS_ANONYMOUS as ATTR_IS_ANONYMOUS, ATTR_IS_BIG as ATTR_IS_BIG, ATTR_KEYBOARD as ATTR_KEYBOARD, ATTR_KEYBOARD_INLINE as ATTR_KEYBOARD_INLINE, ATTR_MEDIA_TYPE as ATTR_MEDIA_TYPE, ATTR_MESSAGE as ATTR_MESSAGE, ATTR_MESSAGEID as ATTR_MESSAGEID, ATTR_MESSAGE_TAG as ATTR_MESSAGE_TAG, ATTR_MESSAGE_THREAD_ID as ATTR_MESSAGE_THREAD_ID, ATTR_ONE_TIME_KEYBOARD as ATTR_ONE_TIME_KEYBOARD, ATTR_OPEN_PERIOD as ATTR_OPEN_PERIOD, ATTR_OPTIONS as ATTR_OPTIONS, ATTR_PARSER as ATTR_PARSER, ATTR_PASSWORD as ATTR_PASSWORD, ATTR_QUESTION as ATTR_QUESTION, ATTR_REACTION as ATTR_REACTION, ATTR_RESIZE_KEYBOARD as ATTR_RESIZE_KEYBOARD, ATTR_SHOW_ALERT as ATTR_SHOW_ALERT, ATTR_STICKER_ID as ATTR_STICKER_ID, ATTR_TARGET as ATTR_TARGET, ATTR_TIMEOUT as ATTR_TIMEOUT, ATTR_TITLE as ATTR_TITLE, ATTR_URL as ATTR_URL, ATTR_USERNAME as ATTR_USERNAME, ATTR_VERIFY_SSL as ATTR_VERIFY_SSL, CHAT_ACTION_CHOOSE_STICKER as CHAT_ACTION_CHOOSE_STICKER, CHAT_ACTION_FIND_LOCATION as CHAT_ACTION_FIND_LOCATION, CHAT_ACTION_RECORD_VIDEO as CHAT_ACTION_RECORD_VIDEO, CHAT_ACTION_RECORD_VIDEO_NOTE as CHAT_ACTION_RECORD_VIDEO_NOTE, CHAT_ACTION_RECORD_VOICE as CHAT_ACTION_RECORD_VOICE, CHAT_ACTION_TYPING as CHAT_ACTION_TYPING, CHAT_ACTION_UPLOAD_DOCUMENT as CHAT_ACTION_UPLOAD_DOCUMENT, CHAT_ACTION_UPLOAD_PHOTO as CHAT_ACTION_UPLOAD_PHOTO, CHAT_ACTION_UPLOAD_VIDEO as CHAT_ACTION_UPLOAD_VIDEO, CHAT_ACTION_UPLOAD_VIDEO_NOTE as CHAT_ACTION_UPLOAD_VIDEO_NOTE, CHAT_ACTION_UPLOAD_VOICE as CHAT_ACTION_UPLOAD_VOICE, CONF_ALLOWED_CHAT_IDS as CONF_ALLOWED_CHAT_IDS, CONF_BOT_COUNT as CONF_BOT_COUNT, CONF_CONFIG_ENTRY_ID as CONF_CONFIG_ENTRY_ID, CONF_PROXY_URL as CONF_PROXY_URL, CONF_TRUSTED_NETWORKS as CONF_TRUSTED_NETWORKS, DEFAULT_TRUSTED_NETWORKS as DEFAULT_TRUSTED_NETWORKS, DOMAIN as DOMAIN, PARSER_MD as PARSER_MD, PLATFORM_BROADCAST as PLATFORM_BROADCAST, PLATFORM_POLLING as PLATFORM_POLLING, PLATFORM_WEBHOOKS as PLATFORM_WEBHOOKS, SERVICE_ANSWER_CALLBACK_QUERY as SERVICE_ANSWER_CALLBACK_QUERY, SERVICE_DELETE_MESSAGE as SERVICE_DELETE_MESSAGE, SERVICE_EDIT_CAPTION as SERVICE_EDIT_CAPTION, SERVICE_EDIT_MESSAGE as SERVICE_EDIT_MESSAGE, SERVICE_EDIT_MESSAGE_MEDIA as SERVICE_EDIT_MESSAGE_MEDIA, SERVICE_EDIT_REPLYMARKUP as SERVICE_EDIT_REPLYMARKUP, SERVICE_LEAVE_CHAT as SERVICE_LEAVE_CHAT, SERVICE_SEND_ANIMATION as SERVICE_SEND_ANIMATION, SERVICE_SEND_CHAT_ACTION as SERVICE_SEND_CHAT_ACTION, SERVICE_SEND_DOCUMENT as SERVICE_SEND_DOCUMENT, SERVICE_SEND_LOCATION as SERVICE_SEND_LOCATION, SERVICE_SEND_MESSAGE as SERVICE_SEND_MESSAGE, SERVICE_SEND_PHOTO as SERVICE_SEND_PHOTO, SERVICE_SEND_POLL as SERVICE_SEND_POLL, SERVICE_SEND_STICKER as SERVICE_SEND_STICKER, SERVICE_SEND_VIDEO as SERVICE_SEND_VIDEO, SERVICE_SEND_VOICE as SERVICE_SEND_VOICE, SERVICE_SET_MESSAGE_REACTION as SERVICE_SET_MESSAGE_REACTION
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.config_entries import SOURCE_IMPORT as SOURCE_IMPORT
6
6
  from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONF_API_KEY as CONF_API_KEY, CONF_PLATFORM as CONF_PLATFORM, CONF_SOURCE as CONF_SOURCE, CONF_URL as CONF_URL, Platform as Platform
@@ -20,6 +20,7 @@ SERVICE_SCHEMA_SEND_STICKER: Incomplete
20
20
  SERVICE_SCHEMA_SEND_LOCATION: Incomplete
21
21
  SERVICE_SCHEMA_SEND_POLL: Incomplete
22
22
  SERVICE_SCHEMA_EDIT_MESSAGE: Incomplete
23
+ SERVICE_SCHEMA_EDIT_MESSAGE_MEDIA: Incomplete
23
24
  SERVICE_SCHEMA_EDIT_CAPTION: Incomplete
24
25
  SERVICE_SCHEMA_EDIT_REPLYMARKUP: Incomplete
25
26
  SERVICE_SCHEMA_ANSWER_CALLBACK_QUERY: Incomplete
@@ -1,6 +1,6 @@
1
1
  import abc
2
2
  import io
3
- from .const import ATTR_ARGS as ATTR_ARGS, ATTR_AUTHENTICATION as ATTR_AUTHENTICATION, ATTR_CAPTION as ATTR_CAPTION, ATTR_CHAT_ID as ATTR_CHAT_ID, ATTR_CHAT_INSTANCE as ATTR_CHAT_INSTANCE, ATTR_DATA as ATTR_DATA, ATTR_DATE as ATTR_DATE, ATTR_DISABLE_NOTIF as ATTR_DISABLE_NOTIF, ATTR_DISABLE_WEB_PREV as ATTR_DISABLE_WEB_PREV, ATTR_FILE as ATTR_FILE, ATTR_FROM_FIRST as ATTR_FROM_FIRST, ATTR_FROM_LAST as ATTR_FROM_LAST, ATTR_KEYBOARD as ATTR_KEYBOARD, ATTR_KEYBOARD_INLINE as ATTR_KEYBOARD_INLINE, ATTR_MESSAGE as ATTR_MESSAGE, ATTR_MESSAGEID as ATTR_MESSAGEID, ATTR_MESSAGE_TAG as ATTR_MESSAGE_TAG, ATTR_MESSAGE_THREAD_ID as ATTR_MESSAGE_THREAD_ID, ATTR_MSG as ATTR_MSG, ATTR_MSGID as ATTR_MSGID, ATTR_ONE_TIME_KEYBOARD as ATTR_ONE_TIME_KEYBOARD, ATTR_OPEN_PERIOD as ATTR_OPEN_PERIOD, ATTR_PARSER as ATTR_PARSER, ATTR_PASSWORD as ATTR_PASSWORD, ATTR_REPLYMARKUP as ATTR_REPLYMARKUP, ATTR_REPLY_TO_MSGID as ATTR_REPLY_TO_MSGID, ATTR_RESIZE_KEYBOARD as ATTR_RESIZE_KEYBOARD, ATTR_STICKER_ID as ATTR_STICKER_ID, ATTR_TEXT as ATTR_TEXT, ATTR_TIMEOUT as ATTR_TIMEOUT, ATTR_TITLE as ATTR_TITLE, ATTR_URL as ATTR_URL, ATTR_USERNAME as ATTR_USERNAME, ATTR_USER_ID as ATTR_USER_ID, ATTR_VERIFY_SSL as ATTR_VERIFY_SSL, CONF_CHAT_ID as CONF_CHAT_ID, CONF_PROXY_URL as CONF_PROXY_URL, DOMAIN as DOMAIN, EVENT_TELEGRAM_CALLBACK as EVENT_TELEGRAM_CALLBACK, EVENT_TELEGRAM_COMMAND as EVENT_TELEGRAM_COMMAND, EVENT_TELEGRAM_SENT as EVENT_TELEGRAM_SENT, EVENT_TELEGRAM_TEXT as EVENT_TELEGRAM_TEXT, PARSER_HTML as PARSER_HTML, PARSER_MD as PARSER_MD, PARSER_MD2 as PARSER_MD2, PARSER_PLAIN_TEXT as PARSER_PLAIN_TEXT, SERVICE_EDIT_CAPTION as SERVICE_EDIT_CAPTION, SERVICE_EDIT_MESSAGE as SERVICE_EDIT_MESSAGE, SERVICE_SEND_ANIMATION as SERVICE_SEND_ANIMATION, SERVICE_SEND_DOCUMENT as SERVICE_SEND_DOCUMENT, SERVICE_SEND_PHOTO as SERVICE_SEND_PHOTO, SERVICE_SEND_STICKER as SERVICE_SEND_STICKER, SERVICE_SEND_VIDEO as SERVICE_SEND_VIDEO, SERVICE_SEND_VOICE as SERVICE_SEND_VOICE
3
+ from .const import ATTR_ARGS as ATTR_ARGS, ATTR_AUTHENTICATION as ATTR_AUTHENTICATION, ATTR_CAPTION as ATTR_CAPTION, ATTR_CHAT_ID as ATTR_CHAT_ID, ATTR_CHAT_INSTANCE as ATTR_CHAT_INSTANCE, ATTR_DATA as ATTR_DATA, ATTR_DATE as ATTR_DATE, ATTR_DISABLE_NOTIF as ATTR_DISABLE_NOTIF, ATTR_DISABLE_WEB_PREV as ATTR_DISABLE_WEB_PREV, ATTR_FILE as ATTR_FILE, ATTR_FILE_ID as ATTR_FILE_ID, ATTR_FILE_MIME_TYPE as ATTR_FILE_MIME_TYPE, ATTR_FILE_NAME as ATTR_FILE_NAME, ATTR_FILE_SIZE as ATTR_FILE_SIZE, ATTR_FROM_FIRST as ATTR_FROM_FIRST, ATTR_FROM_LAST as ATTR_FROM_LAST, ATTR_INLINE_MESSAGE_ID as ATTR_INLINE_MESSAGE_ID, ATTR_KEYBOARD as ATTR_KEYBOARD, ATTR_KEYBOARD_INLINE as ATTR_KEYBOARD_INLINE, ATTR_MESSAGE as ATTR_MESSAGE, ATTR_MESSAGEID as ATTR_MESSAGEID, ATTR_MESSAGE_TAG as ATTR_MESSAGE_TAG, ATTR_MESSAGE_THREAD_ID as ATTR_MESSAGE_THREAD_ID, ATTR_MSG as ATTR_MSG, ATTR_MSGID as ATTR_MSGID, ATTR_ONE_TIME_KEYBOARD as ATTR_ONE_TIME_KEYBOARD, ATTR_OPEN_PERIOD as ATTR_OPEN_PERIOD, ATTR_PARSER as ATTR_PARSER, ATTR_PASSWORD as ATTR_PASSWORD, ATTR_REPLYMARKUP as ATTR_REPLYMARKUP, ATTR_REPLY_TO_MSGID as ATTR_REPLY_TO_MSGID, ATTR_RESIZE_KEYBOARD as ATTR_RESIZE_KEYBOARD, ATTR_STICKER_ID as ATTR_STICKER_ID, ATTR_TARGET as ATTR_TARGET, ATTR_TEXT as ATTR_TEXT, ATTR_TIMEOUT as ATTR_TIMEOUT, ATTR_TITLE as ATTR_TITLE, ATTR_URL as ATTR_URL, ATTR_USERNAME as ATTR_USERNAME, ATTR_USER_ID as ATTR_USER_ID, ATTR_VERIFY_SSL as ATTR_VERIFY_SSL, CONF_CHAT_ID as CONF_CHAT_ID, CONF_PROXY_URL as CONF_PROXY_URL, DOMAIN as DOMAIN, EVENT_TELEGRAM_ATTACHMENT as EVENT_TELEGRAM_ATTACHMENT, EVENT_TELEGRAM_CALLBACK as EVENT_TELEGRAM_CALLBACK, EVENT_TELEGRAM_COMMAND as EVENT_TELEGRAM_COMMAND, EVENT_TELEGRAM_SENT as EVENT_TELEGRAM_SENT, EVENT_TELEGRAM_TEXT as EVENT_TELEGRAM_TEXT, PARSER_HTML as PARSER_HTML, PARSER_MD as PARSER_MD, PARSER_MD2 as PARSER_MD2, PARSER_PLAIN_TEXT as PARSER_PLAIN_TEXT, SERVICE_EDIT_CAPTION as SERVICE_EDIT_CAPTION, SERVICE_EDIT_MESSAGE as SERVICE_EDIT_MESSAGE, SERVICE_SEND_DOCUMENT as SERVICE_SEND_DOCUMENT, SERVICE_SEND_PHOTO as SERVICE_SEND_PHOTO, SERVICE_SEND_STICKER as SERVICE_SEND_STICKER, SERVICE_SEND_VIDEO as SERVICE_SEND_VIDEO, SERVICE_SEND_VOICE as SERVICE_SEND_VOICE, SIGNAL_UPDATE_EVENT as SIGNAL_UPDATE_EVENT
4
4
  from _typeshed import Incomplete
5
5
  from abc import abstractmethod
6
6
  from collections.abc import Callable as Callable, Sequence
@@ -8,13 +8,15 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.const import ATTR_COMMAND as ATTR_COMMAND, CONF_API_KEY as CONF_API_KEY, HTTP_BASIC_AUTHENTICATION as HTTP_BASIC_AUTHENTICATION, HTTP_BEARER_AUTHENTICATION as HTTP_BEARER_AUTHENTICATION, HTTP_DIGEST_AUTHENTICATION as HTTP_DIGEST_AUTHENTICATION
9
9
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant
10
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
11
+ from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
11
12
  from homeassistant.util.ssl import get_default_context as get_default_context, get_default_no_verify_context as get_default_no_verify_context
12
13
  from ssl import SSLContext
13
- from telegram import Bot, CallbackQuery as CallbackQuery, InputPollOption as InputPollOption, Message, Update as Update, User as User
14
+ from telegram import Bot, CallbackQuery as CallbackQuery, InputMedia as InputMedia, InputPollOption as InputPollOption, Message, Update as Update, User as User
14
15
  from telegram.ext import CallbackContext as CallbackContext
15
16
  from types import MappingProxyType
16
17
  from typing import Any
17
18
 
19
+ _FILE_TYPES: Incomplete
18
20
  _LOGGER: Incomplete
19
21
  type TelegramBotConfigEntry = ConfigEntry[TelegramNotificationService]
20
22
 
@@ -31,6 +33,7 @@ class BaseTelegramBot(metaclass=abc.ABCMeta):
31
33
  @staticmethod
32
34
  def _get_command_event_data(command_text: str | None) -> dict[str, str | list]: ...
33
35
  def _get_message_event_data(self, message: Message) -> tuple[str, dict[str, Any]]: ...
36
+ def _get_file_id_event_data(self, message: Message) -> dict[str, Any]: ...
34
37
  def _get_user_event_data(self, user: User) -> dict[str, Any]: ...
35
38
  def _get_callback_query_event_data(self, callback_query: CallbackQuery) -> tuple[str, dict[str, Any]]: ...
36
39
  def authorize_update(self, update: Update) -> bool: ...
@@ -48,14 +51,16 @@ class TelegramNotificationService:
48
51
  def _get_msg_ids(self, msg_data: dict[str, Any], chat_id: int) -> tuple[Any | None, int | None]: ...
49
52
  def get_target_chat_ids(self, target: int | list[int] | None) -> list[int]: ...
50
53
  def _get_msg_kwargs(self, data: dict[str, Any]) -> dict[str, Any]: ...
51
- async def _send_msg(self, func_send: Callable, msg_error: str, message_tag: str | None, *args_msg: Any, context: Context | None = None, **kwargs_msg: Any) -> Any: ...
54
+ async def _send_msgs(self, func_send: Callable, msg_error: str, message_tag: str | None, *args_msg: Any, context: Context | None = None, **kwargs_msg: Any) -> dict[int, int]: ...
55
+ async def _send_msg(self, func_send: Callable, msg_error: str, message_tag: str | None, *args_msg: Any, context: Context | None = None, suppress_error: bool = False, **kwargs_msg: Any) -> Any: ...
52
56
  async def send_message(self, message: str = '', target: Any = None, context: Context | None = None, **kwargs: dict[str, Any]) -> dict[int, int]: ...
53
57
  async def delete_message(self, chat_id: int | None = None, context: Context | None = None, **kwargs: dict[str, Any]) -> bool: ...
58
+ async def edit_message_media(self, media_type: str, chat_id: int | None = None, context: Context | None = None, **kwargs: Any) -> Any: ...
54
59
  async def edit_message(self, type_edit: str, chat_id: int | None = None, context: Context | None = None, **kwargs: dict[str, Any]) -> Any: ...
55
60
  async def answer_callback_query(self, message: str | None, callback_query_id: str, show_alert: bool = False, context: Context | None = None, **kwargs: dict[str, Any]) -> None: ...
56
61
  async def send_chat_action(self, chat_action: str = '', target: Any = None, context: Context | None = None, **kwargs: Any) -> dict[int, int]: ...
57
- async def send_file(self, file_type: str, target: Any = None, context: Context | None = None, **kwargs: Any) -> dict[int, int]: ...
58
- async def send_sticker(self, target: Any = None, context: Context | None = None, **kwargs: Any) -> dict[int, int]: ...
62
+ async def send_file(self, file_type: str, context: Context | None = None, **kwargs: Any) -> dict[int, int]: ...
63
+ async def send_sticker(self, context: Context | None = None, **kwargs: Any) -> dict[int, int]: ...
59
64
  async def send_location(self, latitude: Any, longitude: Any, target: Any = None, context: Context | None = None, **kwargs: dict[str, Any]) -> dict[int, int]: ...
60
65
  async def send_poll(self, question: str, options: Sequence[str | InputPollOption], is_anonymous: bool | None, allows_multiple_answers: bool | None, target: Any = None, context: Context | None = None, **kwargs: dict[str, Any]) -> dict[int, int]: ...
61
66
  async def leave_chat(self, chat_id: int | None = None, context: Context | None = None, **kwargs: dict[str, Any]) -> Any: ...
@@ -31,14 +31,17 @@ SERVICE_SEND_LOCATION: str
31
31
  SERVICE_SEND_POLL: str
32
32
  SERVICE_SET_MESSAGE_REACTION: str
33
33
  SERVICE_EDIT_MESSAGE: str
34
+ SERVICE_EDIT_MESSAGE_MEDIA: str
34
35
  SERVICE_EDIT_CAPTION: str
35
36
  SERVICE_EDIT_REPLYMARKUP: str
36
37
  SERVICE_ANSWER_CALLBACK_QUERY: str
37
38
  SERVICE_DELETE_MESSAGE: str
38
39
  SERVICE_LEAVE_CHAT: str
40
+ SIGNAL_UPDATE_EVENT: str
39
41
  EVENT_TELEGRAM_CALLBACK: str
40
42
  EVENT_TELEGRAM_COMMAND: str
41
43
  EVENT_TELEGRAM_TEXT: str
44
+ EVENT_TELEGRAM_ATTACHMENT: str
42
45
  EVENT_TELEGRAM_SENT: str
43
46
  PARSER_HTML: str
44
47
  PARSER_MD: str
@@ -71,6 +74,10 @@ ATTR_DISABLE_NOTIF: str
71
74
  ATTR_DISABLE_WEB_PREV: str
72
75
  ATTR_EDITED_MSG: str
73
76
  ATTR_FILE: str
77
+ ATTR_FILE_ID: str
78
+ ATTR_FILE_MIME_TYPE: str
79
+ ATTR_FILE_NAME: str
80
+ ATTR_FILE_SIZE: str
74
81
  ATTR_FROM_FIRST: str
75
82
  ATTR_FROM_LAST: str
76
83
  ATTR_KEYBOARD: str
@@ -78,6 +85,8 @@ ATTR_RESIZE_KEYBOARD: str
78
85
  ATTR_ONE_TIME_KEYBOARD: str
79
86
  ATTR_KEYBOARD_INLINE: str
80
87
  ATTR_MESSAGEID: str
88
+ ATTR_INLINE_MESSAGE_ID: str
89
+ ATTR_MEDIA_TYPE: str
81
90
  ATTR_MSG: str
82
91
  ATTR_MSGID: str
83
92
  ATTR_PARSER: str
@@ -0,0 +1,11 @@
1
+ from . import TelegramBotConfigEntry as TelegramBotConfigEntry
2
+ from .const import CONF_CHAT_ID as CONF_CHAT_ID
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.diagnostics import REDACTED as REDACTED, async_redact_data as async_redact_data
5
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_URL as CONF_URL
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from typing import Any
8
+
9
+ TO_REDACT: Incomplete
10
+
11
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: TelegramBotConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,16 @@
1
+ from . import TelegramBotConfigEntry as TelegramBotConfigEntry
2
+ from .const import DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from homeassistant.const import CONF_PLATFORM as CONF_PLATFORM
5
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
6
+ from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
7
+
8
+ class TelegramBotEntity(Entity):
9
+ _attr_has_entity_name: bool
10
+ bot_id: Incomplete
11
+ config_entry: Incomplete
12
+ entity_description: Incomplete
13
+ service: Incomplete
14
+ _attr_unique_id: Incomplete
15
+ _attr_device_info: Incomplete
16
+ def __init__(self, config_entry: TelegramBotConfigEntry, entity_description: EntityDescription) -> None: ...
@@ -0,0 +1,18 @@
1
+ from .bot import TelegramBotConfigEntry as TelegramBotConfigEntry
2
+ from .const import EVENT_TELEGRAM_ATTACHMENT as EVENT_TELEGRAM_ATTACHMENT, EVENT_TELEGRAM_CALLBACK as EVENT_TELEGRAM_CALLBACK, EVENT_TELEGRAM_COMMAND as EVENT_TELEGRAM_COMMAND, EVENT_TELEGRAM_SENT as EVENT_TELEGRAM_SENT, EVENT_TELEGRAM_TEXT as EVENT_TELEGRAM_TEXT, SIGNAL_UPDATE_EVENT as SIGNAL_UPDATE_EVENT
3
+ from .entity import TelegramBotEntity as TelegramBotEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.event import EventEntity as EventEntity, EventEntityDescription as EventEntityDescription
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
8
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
+ from typing import Any
10
+
11
+ async def async_setup_entry(hass: HomeAssistant, config_entry: TelegramBotConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
+
13
+ class TelegramBotEventEntity(TelegramBotEntity, EventEntity):
14
+ _attr_event_types: Incomplete
15
+ def __init__(self, config_entry: TelegramBotConfigEntry) -> None: ...
16
+ async def async_added_to_hass(self) -> None: ...
17
+ @callback
18
+ def _async_handle_event(self, event_type: str, event_data: dict[str, Any]) -> None: ...
@@ -1,21 +1,17 @@
1
1
  from . import TelegramBotConfigEntry as TelegramBotConfigEntry
2
- from .const import ATTR_TITLE as ATTR_TITLE, CONF_CHAT_ID as CONF_CHAT_ID, DOMAIN as DOMAIN
2
+ from .const import ATTR_TITLE as ATTR_TITLE, CONF_CHAT_ID as CONF_CHAT_ID
3
+ from .entity import TelegramBotEntity as TelegramBotEntity
3
4
  from _typeshed import Incomplete
4
- from homeassistant.components.notify import NotifyEntity as NotifyEntity, NotifyEntityFeature as NotifyEntityFeature
5
+ from homeassistant.components.notify import NotifyEntity as NotifyEntity, NotifyEntityDescription as NotifyEntityDescription, NotifyEntityFeature as NotifyEntityFeature
5
6
  from homeassistant.config_entries import ConfigSubentry as ConfigSubentry
6
- from homeassistant.const import CONF_PLATFORM as CONF_PLATFORM
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
- from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
9
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
9
 
11
10
  async def async_setup_entry(hass: HomeAssistant, config_entry: TelegramBotConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
11
 
13
- class TelegramBotNotifyEntity(NotifyEntity):
12
+ class TelegramBotNotifyEntity(TelegramBotEntity, NotifyEntity):
14
13
  _attr_supported_features: Incomplete
15
- _attr_unique_id: Incomplete
16
- name: Incomplete
17
- _attr_device_info: Incomplete
18
- _target: Incomplete
19
- _service: Incomplete
14
+ chat_id: Incomplete
15
+ _attr_name: Incomplete
20
16
  def __init__(self, config_entry: TelegramBotConfigEntry, subentry: ConfigSubentry) -> None: ...
21
17
  async def async_send_message(self, message: str, title: str | None = None) -> None: ...
@@ -8,6 +8,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.const import UnitOfEnergy as UnitOfEnergy
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
11
+ from homeassistant.util.unit_conversion import EnergyConverter as EnergyConverter
11
12
 
12
13
  FIVE_YEARS: Incomplete
13
14
  _LOGGER: Incomplete
@@ -3,5 +3,4 @@ from homeassistant.const import Platform as Platform
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant
4
4
 
5
5
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
6
- async def config_entry_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
7
6
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -14,4 +14,5 @@ OPTIONS_FLOW: Incomplete
14
14
  class ConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
15
15
  config_flow = CONFIG_FLOW
16
16
  options_flow = OPTIONS_FLOW
17
+ options_flow_reloads: bool
17
18
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
@@ -1,11 +1,9 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import ToloSaunaUpdateCoordinator as ToloSaunaUpdateCoordinator
1
+ from .coordinator import ToloConfigEntry as ToloConfigEntry, ToloSaunaUpdateCoordinator as ToloSaunaUpdateCoordinator
3
2
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
3
  from homeassistant.const import Platform as Platform
6
4
  from homeassistant.core import HomeAssistant as HomeAssistant
7
5
 
8
6
  PLATFORMS: Incomplete
9
7
 
10
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
11
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
8
+ async def async_setup_entry(hass: HomeAssistant, entry: ToloConfigEntry) -> bool: ...
9
+ async def async_unload_entry(hass: HomeAssistant, entry: ToloConfigEntry) -> bool: ...