homeassistant-stubs 2025.9.3__py3-none-any.whl → 2025.10.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 (309) hide show
  1. homeassistant-stubs/components/acaia/coordinator.pyi +1 -0
  2. homeassistant-stubs/components/accuweather/__init__.pyi +3 -3
  3. homeassistant-stubs/components/accuweather/config_flow.pyi +5 -0
  4. homeassistant-stubs/components/accuweather/const.pyi +1 -0
  5. homeassistant-stubs/components/accuweather/coordinator.pyi +17 -4
  6. homeassistant-stubs/components/accuweather/weather.pyi +5 -2
  7. homeassistant-stubs/components/airos/binary_sensor.pyi +2 -2
  8. homeassistant-stubs/components/airos/config_flow.pyi +1 -1
  9. homeassistant-stubs/components/airos/coordinator.pyi +4 -4
  10. homeassistant-stubs/components/airos/sensor.pyi +2 -2
  11. homeassistant-stubs/components/airzone/select.pyi +1 -0
  12. homeassistant-stubs/components/alexa_devices/coordinator.pyi +2 -0
  13. homeassistant-stubs/components/analytics/__init__.pyi +4 -21
  14. homeassistant-stubs/components/analytics/analytics.pyi +42 -5
  15. homeassistant-stubs/components/androidtv/__init__.pyi +5 -1
  16. homeassistant-stubs/components/androidtv/media_player.pyi +1 -10
  17. homeassistant-stubs/components/androidtv/services.pyi +16 -0
  18. homeassistant-stubs/components/androidtv_remote/entity.pyi +1 -3
  19. homeassistant-stubs/components/assist_pipeline/__init__.pyi +1 -1
  20. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  21. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +7 -4
  22. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
  23. homeassistant-stubs/components/asuswrt/bridge.pyi +12 -0
  24. homeassistant-stubs/components/auth/login_flow.pyi +1 -1
  25. homeassistant-stubs/components/blue_current/__init__.pyi +11 -5
  26. homeassistant-stubs/components/blue_current/const.pyi +6 -0
  27. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
  28. homeassistant-stubs/components/bluetooth/api.pyi +5 -2
  29. homeassistant-stubs/components/bluetooth/manager.pyi +7 -1
  30. homeassistant-stubs/components/bluetooth/websocket_api.pyi +6 -1
  31. homeassistant-stubs/components/brother/__init__.pyi +4 -2
  32. homeassistant-stubs/components/brother/config_flow.pyi +5 -2
  33. homeassistant-stubs/components/brother/const.pyi +4 -0
  34. homeassistant-stubs/components/bthome/sensor.pyi +1 -1
  35. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  36. homeassistant-stubs/components/camera/prefs.pyi +3 -1
  37. homeassistant-stubs/components/cloud/http_api.pyi +2 -0
  38. homeassistant-stubs/components/comelit/coordinator.pyi +2 -1
  39. homeassistant-stubs/components/comelit/sensor.pyi +1 -1
  40. homeassistant-stubs/components/compit/__init__.pyi +11 -0
  41. homeassistant-stubs/components/compit/climate.pyi +63 -0
  42. homeassistant-stubs/components/compit/config_flow.pyi +17 -0
  43. homeassistant-stubs/components/compit/const.pyi +2 -0
  44. homeassistant-stubs/components/compit/coordinator.pyi +16 -0
  45. homeassistant-stubs/components/derivative/diagnostics.pyi +5 -0
  46. homeassistant-stubs/components/droplet/__init__.pyi +10 -0
  47. homeassistant-stubs/components/droplet/config_flow.pyi +13 -0
  48. homeassistant-stubs/components/droplet/const.pyi +7 -0
  49. homeassistant-stubs/components/droplet/coordinator.pyi +23 -0
  50. homeassistant-stubs/components/droplet/sensor.pyi +37 -0
  51. homeassistant-stubs/components/ecovacs/number.pyi +4 -1
  52. homeassistant-stubs/components/elkm1/config_flow.pyi +2 -0
  53. homeassistant-stubs/components/elkm1/sensor.pyi +8 -1
  54. homeassistant-stubs/components/energy/sensor.pyi +1 -1
  55. homeassistant-stubs/components/esphome/assist_satellite.pyi +5 -1
  56. homeassistant-stubs/components/esphome/climate.pyi +2 -0
  57. homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
  58. homeassistant-stubs/components/esphome/const.pyi +1 -0
  59. homeassistant-stubs/components/esphome/entry_data.pyi +8 -4
  60. homeassistant-stubs/components/esphome/lock.pyi +1 -1
  61. homeassistant-stubs/components/esphome/select.pyi +4 -3
  62. homeassistant-stubs/components/fritz/sensor.pyi +2 -1
  63. homeassistant-stubs/components/frontend/__init__.pyi +5 -2
  64. homeassistant-stubs/components/geocaching/entity.pyi +14 -0
  65. homeassistant-stubs/components/geocaching/sensor.pyi +25 -5
  66. homeassistant-stubs/components/go2rtc/__init__.pyi +3 -0
  67. homeassistant-stubs/components/google/__init__.pyi +0 -1
  68. homeassistant-stubs/components/google/config_flow.pyi +3 -3
  69. homeassistant-stubs/components/google_cloud/__init__.pyi +0 -1
  70. homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
  71. homeassistant-stubs/components/google_photos/media_source.pyi +2 -2
  72. homeassistant-stubs/components/habitica/binary_sensor.pyi +1 -1
  73. homeassistant-stubs/components/habitica/const.pyi +1 -0
  74. homeassistant-stubs/components/habitica/sensor.pyi +3 -1
  75. homeassistant-stubs/components/habitica/services.pyi +2 -1
  76. homeassistant-stubs/components/habitica/util.pyi +1 -0
  77. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  78. homeassistant-stubs/components/history_stats/config_flow.pyi +7 -2
  79. homeassistant-stubs/components/history_stats/diagnostics.pyi +5 -0
  80. homeassistant-stubs/components/home_connect/application_credentials.pyi +0 -1
  81. homeassistant-stubs/components/home_connect/coordinator.pyi +0 -1
  82. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +38 -11
  83. homeassistant-stubs/components/homee/alarm_control_panel.pyi +3 -2
  84. homeassistant-stubs/components/homee/binary_sensor.pyi +4 -2
  85. homeassistant-stubs/components/homee/button.pyi +3 -1
  86. homeassistant-stubs/components/homee/climate.pyi +3 -1
  87. homeassistant-stubs/components/homee/cover.pyi +3 -1
  88. homeassistant-stubs/components/homee/event.pyi +3 -1
  89. homeassistant-stubs/components/homee/fan.pyi +3 -1
  90. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  91. homeassistant-stubs/components/homee/light.pyi +2 -0
  92. homeassistant-stubs/components/homee/lock.pyi +4 -2
  93. homeassistant-stubs/components/homee/number.pyi +3 -1
  94. homeassistant-stubs/components/homee/select.pyi +3 -1
  95. homeassistant-stubs/components/homee/sensor.pyi +2 -2
  96. homeassistant-stubs/components/homee/siren.pyi +4 -1
  97. homeassistant-stubs/components/homee/switch.pyi +4 -2
  98. homeassistant-stubs/components/homee/valve.pyi +3 -1
  99. homeassistant-stubs/components/homekit/type_switches.pyi +7 -1
  100. homeassistant-stubs/components/homewizard/sensor.pyi +3 -1
  101. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -1
  102. homeassistant-stubs/components/image/__init__.pyi +1 -0
  103. homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
  104. homeassistant-stubs/components/image_upload/const.pyi +1 -0
  105. homeassistant-stubs/components/image_upload/media_source.pyi +5 -1
  106. homeassistant-stubs/components/immich/media_source.pyi +2 -2
  107. homeassistant-stubs/components/integration/__init__.pyi +0 -1
  108. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  109. homeassistant-stubs/components/lamarzocco/__init__.pyi +4 -2
  110. homeassistant-stubs/components/lamarzocco/config_flow.pyi +4 -2
  111. homeassistant-stubs/components/lamarzocco/const.pyi +1 -0
  112. homeassistant-stubs/components/lawn_mower/intent.pyi +8 -0
  113. homeassistant-stubs/components/letpot/number.pyi +34 -0
  114. homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +9 -0
  115. homeassistant-stubs/components/libre_hardware_monitor/config_flow.pyi +12 -0
  116. homeassistant-stubs/components/libre_hardware_monitor/const.pyi +4 -0
  117. homeassistant-stubs/components/libre_hardware_monitor/coordinator.pyi +21 -0
  118. homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +34 -0
  119. homeassistant-stubs/components/litterrobot/select.pyi +1 -1
  120. homeassistant-stubs/components/litterrobot/switch.pyi +5 -1
  121. homeassistant-stubs/components/logbook/helpers.pyi +4 -3
  122. homeassistant-stubs/components/mastodon/const.pyi +1 -0
  123. homeassistant-stubs/components/mastodon/services.pyi +1 -1
  124. homeassistant-stubs/components/matter/models.pyi +1 -0
  125. homeassistant-stubs/components/matter/sensor.pyi +1 -0
  126. homeassistant-stubs/components/mcp_server/session.pyi +2 -2
  127. homeassistant-stubs/components/media_source/__init__.pyi +2 -10
  128. homeassistant-stubs/components/media_source/helper.pyi +16 -0
  129. homeassistant-stubs/components/media_source/http.pyi +13 -0
  130. homeassistant-stubs/components/media_source/local_source.pyi +19 -11
  131. homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
  132. homeassistant-stubs/components/miele/const.pyi +193 -17
  133. homeassistant-stubs/components/miele/sensor.pyi +12 -3
  134. homeassistant-stubs/components/miele/vacuum.pyi +1 -2
  135. homeassistant-stubs/components/min_max/sensor.pyi +1 -1
  136. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  137. homeassistant-stubs/components/modbus/binary_sensor.pyi +2 -2
  138. homeassistant-stubs/components/modbus/climate.pyi +2 -2
  139. homeassistant-stubs/components/modbus/const.pyi +1 -0
  140. homeassistant-stubs/components/modbus/cover.pyi +2 -2
  141. homeassistant-stubs/components/modbus/entity.pyi +4 -4
  142. homeassistant-stubs/components/modbus/fan.pyi +2 -2
  143. homeassistant-stubs/components/modbus/light.pyi +2 -2
  144. homeassistant-stubs/components/modbus/modbus.pyi +1 -2
  145. homeassistant-stubs/components/modbus/sensor.pyi +2 -2
  146. homeassistant-stubs/components/modbus/switch.pyi +2 -2
  147. homeassistant-stubs/components/modbus/validators.pyi +1 -1
  148. homeassistant-stubs/components/motionmount/select.pyi +1 -0
  149. homeassistant-stubs/components/mqtt/config_flow.pyi +61 -60
  150. homeassistant-stubs/components/mqtt/const.pyi +6 -0
  151. homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
  152. homeassistant-stubs/components/mqtt/entity.pyi +2 -2
  153. homeassistant-stubs/components/mqtt/image.pyi +1 -5
  154. homeassistant-stubs/components/mqtt/light/schema_json.pyi +0 -1
  155. homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
  156. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  157. homeassistant-stubs/components/music_assistant/__init__.pyi +2 -1
  158. homeassistant-stubs/components/music_assistant/config_flow.pyi +1 -1
  159. homeassistant-stubs/components/music_assistant/const.pyi +1 -0
  160. homeassistant-stubs/components/nordpool/coordinator.pyi +4 -2
  161. homeassistant-stubs/components/ntfy/config_flow.pyi +4 -2
  162. homeassistant-stubs/components/ntfy/const.pyi +6 -0
  163. homeassistant-stubs/components/ntfy/entity.pyi +18 -0
  164. homeassistant-stubs/components/ntfy/event.pyi +29 -0
  165. homeassistant-stubs/components/ntfy/notify.pyi +19 -13
  166. homeassistant-stubs/components/{home_connect → ntfy}/repairs.pyi +7 -3
  167. homeassistant-stubs/components/number/const.pyi +1 -1
  168. homeassistant-stubs/components/openai_conversation/ai_task.pyi +5 -1
  169. homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
  170. homeassistant-stubs/components/openai_conversation/entity.pyi +2 -2
  171. homeassistant-stubs/components/openuv/__init__.pyi +1 -1
  172. homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -2
  173. homeassistant-stubs/components/openuv/coordinator.pyi +14 -1
  174. homeassistant-stubs/components/opnsense/__init__.pyi +11 -0
  175. homeassistant-stubs/components/opnsense/const.pyi +5 -0
  176. homeassistant-stubs/components/opnsense/device_tracker.pyi +23 -0
  177. homeassistant-stubs/components/portainer/__init__.pyi +11 -0
  178. homeassistant-stubs/components/portainer/binary_sensor.pyi +39 -0
  179. homeassistant-stubs/components/portainer/config_flow.pyi +20 -0
  180. homeassistant-stubs/components/portainer/const.pyi +2 -0
  181. homeassistant-stubs/components/portainer/coordinator.pyi +29 -0
  182. homeassistant-stubs/components/portainer/entity.pyi +22 -0
  183. homeassistant-stubs/components/prusalink/coordinator.pyi +2 -0
  184. homeassistant-stubs/components/radio_browser/media_source.pyi +3 -0
  185. homeassistant-stubs/components/recorder/models/statistics.pyi +1 -0
  186. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  187. homeassistant-stubs/components/recorder/util.pyi +1 -0
  188. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  189. homeassistant-stubs/components/reolink/entity.pyi +10 -0
  190. homeassistant-stubs/components/reolink/light.pyi +7 -1
  191. homeassistant-stubs/components/reolink/number.pyi +10 -1
  192. homeassistant-stubs/components/reolink/select.pyi +11 -3
  193. homeassistant-stubs/components/reolink/siren.pyi +11 -1
  194. homeassistant-stubs/components/reolink/switch.pyi +11 -1
  195. homeassistant-stubs/components/roborock/config_flow.pyi +1 -1
  196. homeassistant-stubs/components/roborock/const.pyi +1 -0
  197. homeassistant-stubs/components/roborock/coordinator.pyi +1 -1
  198. homeassistant-stubs/components/route_b_smart_meter/__init__.pyi +10 -0
  199. homeassistant-stubs/components/route_b_smart_meter/config_flow.pyi +22 -0
  200. homeassistant-stubs/components/route_b_smart_meter/const.pyi +9 -0
  201. homeassistant-stubs/components/route_b_smart_meter/coordinator.pyi +26 -0
  202. homeassistant-stubs/components/route_b_smart_meter/sensor.pyi +30 -0
  203. homeassistant-stubs/components/scrape/__init__.pyi +0 -1
  204. homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
  205. homeassistant-stubs/components/scrape/coordinator.pyi +5 -1
  206. homeassistant-stubs/components/sensor/const.pyi +2 -1
  207. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  208. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  209. homeassistant-stubs/components/sftp_storage/__init__.pyi +21 -0
  210. homeassistant-stubs/components/sftp_storage/backup.pyi +24 -0
  211. homeassistant-stubs/components/sftp_storage/client.pyi +48 -0
  212. homeassistant-stubs/components/sftp_storage/config_flow.pyi +25 -0
  213. homeassistant-stubs/components/sftp_storage/const.pyi +16 -0
  214. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  215. homeassistant-stubs/components/shelly/binary_sensor.pyi +5 -1
  216. homeassistant-stubs/components/shelly/button.pyi +10 -2
  217. homeassistant-stubs/components/shelly/const.pyi +5 -2
  218. homeassistant-stubs/components/shelly/cover.pyi +6 -0
  219. homeassistant-stubs/components/shelly/entity.pyi +1 -3
  220. homeassistant-stubs/components/shelly/light.pyi +18 -10
  221. homeassistant-stubs/components/shelly/number.pyi +1 -1
  222. homeassistant-stubs/components/shelly/repairs.pyi +4 -2
  223. homeassistant-stubs/components/shelly/select.pyi +1 -1
  224. homeassistant-stubs/components/shelly/sensor.pyi +12 -8
  225. homeassistant-stubs/components/shelly/switch.pyi +1 -1
  226. homeassistant-stubs/components/shelly/text.pyi +1 -1
  227. homeassistant-stubs/components/shelly/utils.pyi +7 -2
  228. homeassistant-stubs/components/sql/__init__.pyi +2 -2
  229. homeassistant-stubs/components/sql/config_flow.pyi +6 -2
  230. homeassistant-stubs/components/sql/const.pyi +1 -0
  231. homeassistant-stubs/components/sql/sensor.pyi +1 -1
  232. homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
  233. homeassistant-stubs/components/ssdp/server.pyi +2 -3
  234. homeassistant-stubs/components/starlink/sensor.pyi +8 -1
  235. homeassistant-stubs/components/statistics/__init__.pyi +0 -1
  236. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  237. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +1 -0
  238. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +7 -0
  239. homeassistant-stubs/components/switchbot_cloud/climate.pyi +7 -3
  240. homeassistant-stubs/components/switchbot_cloud/const.pyi +13 -0
  241. homeassistant-stubs/components/switchbot_cloud/humidifier.pyi +48 -0
  242. homeassistant-stubs/components/switchbot_cloud/light.pyi +1 -0
  243. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +13 -1
  244. homeassistant-stubs/components/synology_dsm/media_source.pyi +2 -2
  245. homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -0
  246. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +1 -1
  247. homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
  248. homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -0
  249. homeassistant-stubs/components/systemmonitor/sensor.pyi +2 -0
  250. homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
  251. homeassistant-stubs/components/telegram_bot/bot.pyi +1 -0
  252. homeassistant-stubs/components/telegram_bot/const.pyi +13 -0
  253. homeassistant-stubs/components/threshold/__init__.pyi +0 -1
  254. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  255. homeassistant-stubs/components/tolo/config_flow.pyi +5 -3
  256. homeassistant-stubs/components/tts/__init__.pyi +5 -0
  257. homeassistant-stubs/components/uptimerobot/config_flow.pyi +1 -0
  258. homeassistant-stubs/components/vacuum/intent.pyi +1 -1
  259. homeassistant-stubs/components/volvo/__init__.pyi +1 -1
  260. homeassistant-stubs/components/volvo/api.pyi +4 -0
  261. homeassistant-stubs/components/volvo/coordinator.pyi +28 -15
  262. homeassistant-stubs/components/wake_on_lan/__init__.pyi +0 -1
  263. homeassistant-stubs/components/wake_on_lan/config_flow.pyi +1 -0
  264. homeassistant-stubs/components/webhook/trigger.pyi +2 -1
  265. homeassistant-stubs/components/workday/calendar.pyi +25 -0
  266. homeassistant-stubs/components/yalexs_ble/__init__.pyi +0 -1
  267. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +2 -2
  268. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  269. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -3
  270. homeassistant-stubs/components/zwave_js/const.pyi +3 -0
  271. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -1
  272. homeassistant-stubs/components/zwave_js/triggers/event.pyi +24 -9
  273. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +11 -7
  274. homeassistant-stubs/config_entries.pyi +6 -1
  275. homeassistant-stubs/const.pyi +7 -46
  276. homeassistant-stubs/data_entry_flow.pyi +16 -3
  277. homeassistant-stubs/generated/entity_platforms.pyi +46 -0
  278. homeassistant-stubs/helpers/condition.pyi +3 -1
  279. homeassistant-stubs/helpers/config_validation.pyi +1 -1
  280. homeassistant-stubs/helpers/deprecation.pyi +1 -0
  281. homeassistant-stubs/helpers/device_registry.pyi +4 -3
  282. homeassistant-stubs/helpers/entity_component.pyi +1 -3
  283. homeassistant-stubs/helpers/event.pyi +2 -1
  284. homeassistant-stubs/helpers/intent.pyi +5 -8
  285. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -1
  286. homeassistant-stubs/helpers/selector.pyi +16 -16
  287. homeassistant-stubs/helpers/service.pyi +12 -14
  288. homeassistant-stubs/helpers/service_info/esphome.pyi +12 -0
  289. homeassistant-stubs/helpers/{template.pyi → template/__init__.pyi} +14 -97
  290. homeassistant-stubs/helpers/template/context.pyi +16 -0
  291. homeassistant-stubs/helpers/template/extensions/__init__.pyi +8 -0
  292. homeassistant-stubs/helpers/template/extensions/base.pyi +21 -0
  293. homeassistant-stubs/helpers/template/extensions/base64.pyi +9 -0
  294. homeassistant-stubs/helpers/template/extensions/collection.pyi +18 -0
  295. homeassistant-stubs/helpers/template/extensions/crypto.pyi +13 -0
  296. homeassistant-stubs/helpers/template/extensions/math.pyi +43 -0
  297. homeassistant-stubs/helpers/template/extensions/regex.pyi +14 -0
  298. homeassistant-stubs/helpers/template/extensions/string.pyi +9 -0
  299. homeassistant-stubs/helpers/template/helpers.pyi +4 -0
  300. homeassistant-stubs/helpers/template/render_info.pyi +39 -0
  301. homeassistant-stubs/helpers/trigger.pyi +16 -5
  302. homeassistant-stubs/helpers/trigger_template_entity.pyi +2 -1
  303. homeassistant-stubs/runner.pyi +16 -0
  304. homeassistant-stubs/util/unit_conversion.pyi +6 -0
  305. {homeassistant_stubs-2025.9.3.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/METADATA +2 -2
  306. {homeassistant_stubs-2025.9.3.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/RECORD +308 -250
  307. homeassistant-stubs/components/home_connect/time.pyi +0 -29
  308. {homeassistant_stubs-2025.9.3.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/WHEEL +0 -0
  309. {homeassistant_stubs-2025.9.3.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,4 +1,4 @@
1
- from .const import API_WS_URL as API_WS_URL, All_LIGHT_TYPES as All_LIGHT_TYPES, BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, COMPONENT_ID_PATTERN as COMPONENT_ID_PATTERN, CONF_COAP_PORT as CONF_COAP_PORT, CONF_GEN as CONF_GEN, DEVICES_WITHOUT_FIRMWARE_CHANGELOG as DEVICES_WITHOUT_FIRMWARE_CHANGELOG, DOMAIN as DOMAIN, FIRMWARE_UNSUPPORTED_ISSUE_ID as FIRMWARE_UNSUPPORTED_ISSUE_ID, GEN1_RELEASE_URL as GEN1_RELEASE_URL, GEN2_BETA_RELEASE_URL as GEN2_BETA_RELEASE_URL, GEN2_RELEASE_URL as GEN2_RELEASE_URL, LOGGER as LOGGER, MAX_SCRIPT_SIZE as MAX_SCRIPT_SIZE, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHAIR_MAX_WORK_HOURS as SHAIR_MAX_WORK_HOURS, SHBTN_INPUTS_EVENTS_TYPES as SHBTN_INPUTS_EVENTS_TYPES, SHBTN_MODELS as SHBTN_MODELS, SHELLY_EMIT_EVENT_PATTERN as SHELLY_EMIT_EVENT_PATTERN, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES, UPTIME_DEVIATION as UPTIME_DEVIATION, VIRTUAL_COMPONENTS as VIRTUAL_COMPONENTS, VIRTUAL_COMPONENTS_MAP as VIRTUAL_COMPONENTS_MAP
1
+ from .const import API_WS_URL as API_WS_URL, All_LIGHT_TYPES as All_LIGHT_TYPES, BASIC_INPUTS_EVENTS_TYPES as BASIC_INPUTS_EVENTS_TYPES, COMPONENT_ID_PATTERN as COMPONENT_ID_PATTERN, CONF_COAP_PORT as CONF_COAP_PORT, CONF_GEN as CONF_GEN, DEVICES_WITHOUT_FIRMWARE_CHANGELOG as DEVICES_WITHOUT_FIRMWARE_CHANGELOG, DEVICE_UNIT_MAP as DEVICE_UNIT_MAP, DOMAIN as DOMAIN, FIRMWARE_UNSUPPORTED_ISSUE_ID as FIRMWARE_UNSUPPORTED_ISSUE_ID, GEN1_RELEASE_URL as GEN1_RELEASE_URL, GEN2_BETA_RELEASE_URL as GEN2_BETA_RELEASE_URL, GEN2_RELEASE_URL as GEN2_RELEASE_URL, LOGGER as LOGGER, MAX_SCRIPT_SIZE as MAX_SCRIPT_SIZE, RPC_INPUTS_EVENTS_TYPES as RPC_INPUTS_EVENTS_TYPES, SHAIR_MAX_WORK_HOURS as SHAIR_MAX_WORK_HOURS, SHBTN_INPUTS_EVENTS_TYPES as SHBTN_INPUTS_EVENTS_TYPES, SHBTN_MODELS as SHBTN_MODELS, SHELLY_EMIT_EVENT_PATTERN as SHELLY_EMIT_EVENT_PATTERN, SHIX3_1_INPUTS_EVENTS_TYPES as SHIX3_1_INPUTS_EVENTS_TYPES, UPTIME_DEVIATION as UPTIME_DEVIATION, VIRTUAL_COMPONENTS as VIRTUAL_COMPONENTS, VIRTUAL_COMPONENTS_MAP as VIRTUAL_COMPONENTS_MAP
2
2
  from _typeshed import Incomplete
3
3
  from aiohttp.web import Request as Request, WebSocketResponse as WebSocketResponse
4
4
  from aioshelly.block_device import Block as Block, BlockDevice as BlockDevice, COAP
@@ -70,6 +70,8 @@ def get_host(host: str) -> str: ...
70
70
  def async_remove_shelly_rpc_entities(hass: HomeAssistant, domain: str, mac: str, keys: list[str]) -> None: ...
71
71
  def is_rpc_thermostat_mode(ident: int, status: dict[str, Any]) -> bool: ...
72
72
  def get_virtual_component_ids(config: dict[str, Any], platform: str) -> list[str]: ...
73
+ def is_view_for_platform(config: dict[str, Any], key: str, platform: str) -> bool: ...
74
+ def get_virtual_component_unit(config: dict[str, Any]) -> str | None: ...
73
75
  @callback
74
76
  def async_remove_orphaned_entities(hass: HomeAssistant, config_entry_id: str, mac: str, platform: str, keys: Iterable[str], key_suffix: str | None = None) -> None: ...
75
77
  def get_rpc_ws_url(hass: HomeAssistant) -> str | None: ...
@@ -78,7 +80,10 @@ def is_rpc_exclude_from_relay(settings: dict[str, Any], status: dict[str, Any],
78
80
  def get_shelly_air_lamp_life(lamp_seconds: int) -> float: ...
79
81
  async def get_rpc_scripts_event_types(device: RpcDevice, ignore_scripts: list[str]) -> dict[int, list[str]]: ...
80
82
  def get_rpc_device_info(device: RpcDevice, mac: str, configuration_url: str, model: str, model_name: str | None = None, key: str | None = None, emeter_phase: str | None = None, suggested_area: str | None = None) -> DeviceInfo: ...
81
- def get_blu_trv_device_info(config: dict[str, Any], ble_addr: str, parent_mac: str) -> DeviceInfo: ...
83
+ def get_blu_trv_device_info(config: dict[str, Any], ble_addr: str, parent_mac: str, fw_ver: str | None) -> DeviceInfo: ...
82
84
  def get_block_device_info(device: BlockDevice, mac: str, configuration_url: str, model: str, model_name: str | None = None, block: Block | None = None, suggested_area: str | None = None) -> DeviceInfo: ...
83
85
  @callback
84
86
  def remove_stale_blu_trv_devices(hass: HomeAssistant, rpc_device: RpcDevice, entry: ConfigEntry) -> None: ...
87
+ @callback
88
+ def remove_empty_sub_devices(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
89
+ def format_ble_addr(ble_addr: str) -> str: ...
@@ -1,4 +1,4 @@
1
- from .const import CONF_COLUMN_NAME as CONF_COLUMN_NAME, CONF_QUERY as CONF_QUERY, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
1
+ from .const import CONF_ADVANCED_OPTIONS as CONF_ADVANCED_OPTIONS, CONF_COLUMN_NAME as CONF_COLUMN_NAME, CONF_QUERY as CONF_QUERY, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
2
  from .util import redact_credentials as redact_credentials
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.recorder import CONF_DB_URL as CONF_DB_URL, get_instance as get_instance
@@ -17,7 +17,7 @@ def validate_sql_select(value: str) -> str: ...
17
17
  QUERY_SCHEMA: Incomplete
18
18
  CONFIG_SCHEMA: Incomplete
19
19
 
20
- def remove_configured_db_url_if_not_needed(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
21
20
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
22
21
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
23
22
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
23
+ async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -1,5 +1,5 @@
1
1
  import voluptuous as vol
2
- from .const import CONF_COLUMN_NAME as CONF_COLUMN_NAME, CONF_QUERY as CONF_QUERY, DOMAIN as DOMAIN
2
+ from .const import CONF_ADVANCED_OPTIONS as CONF_ADVANCED_OPTIONS, CONF_COLUMN_NAME as CONF_COLUMN_NAME, CONF_QUERY as CONF_QUERY, DOMAIN as DOMAIN
3
3
  from .util import resolve_db_url as resolve_db_url
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.recorder import CONF_DB_URL as CONF_DB_URL, get_instance as get_instance
@@ -7,8 +7,9 @@ from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
8
8
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_NAME as CONF_NAME, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
9
9
  from homeassistant.core import callback as callback
10
+ from homeassistant.data_entry_flow import section as section
10
11
  from homeassistant.helpers import selector as selector
11
- from sqlalchemy.engine import Result as Result
12
+ from sqlalchemy.engine import Engine as Engine, Result as Result
12
13
  from sqlalchemy.orm import Session as Session
13
14
  from typing import Any
14
15
 
@@ -17,14 +18,17 @@ OPTIONS_SCHEMA: vol.Schema
17
18
  CONFIG_SCHEMA: vol.Schema
18
19
 
19
20
  def validate_sql_select(value: str) -> str: ...
21
+ def validate_db_connection(db_url: str) -> bool: ...
20
22
  def validate_query(db_url: str, query: str, column: str) -> bool: ...
21
23
 
22
24
  class SQLConfigFlow(ConfigFlow, domain=DOMAIN):
23
25
  VERSION: int
26
+ data: dict[str, Any]
24
27
  @staticmethod
25
28
  @callback
26
29
  def async_get_options_flow(config_entry: ConfigEntry) -> SQLOptionsFlowHandler: ...
27
30
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
+ async def async_step_options(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
32
 
29
33
  class SQLOptionsFlowHandler(OptionsFlowWithReload):
30
34
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -5,4 +5,5 @@ DOMAIN: str
5
5
  PLATFORMS: Incomplete
6
6
  CONF_COLUMN_NAME: str
7
7
  CONF_QUERY: str
8
+ CONF_ADVANCED_OPTIONS: str
8
9
  DB_URL_RE: Incomplete
@@ -1,4 +1,4 @@
1
- from .const import CONF_COLUMN_NAME as CONF_COLUMN_NAME, CONF_QUERY as CONF_QUERY, DOMAIN as DOMAIN
1
+ from .const import CONF_ADVANCED_OPTIONS as CONF_ADVANCED_OPTIONS, CONF_COLUMN_NAME as CONF_COLUMN_NAME, CONF_QUERY as CONF_QUERY, DOMAIN as DOMAIN
2
2
  from .models import SQLData as SQLData
3
3
  from .util import redact_credentials as redact_credentials, resolve_db_url as resolve_db_url
4
4
  from _typeshed import Incomplete
@@ -29,7 +29,7 @@ class BrowseData:
29
29
  def _build_response_apps_radios_category(browse_data: BrowseData, cmd: str | MediaType, item: dict[str, Any]) -> BrowseMedia: ...
30
30
  def _build_response_known_app(browse_data: BrowseData, search_type: str, item: dict[str, Any]) -> BrowseMedia: ...
31
31
  def _build_response_favorites(item: dict[str, Any]) -> BrowseMedia: ...
32
- def _get_item_thumbnail(item: dict[str, Any], player: Player, entity: MediaPlayerEntity, item_type: str | MediaType | None, search_type: str, internal_request: bool) -> str | None: ...
32
+ def _get_item_thumbnail(item: dict[str, Any], player: Player, entity: MediaPlayerEntity, item_type: str | MediaType | None, search_type: str, internal_request: bool, known_apps_radios: set[str]) -> str | None: ...
33
33
  async def build_item_response(entity: MediaPlayerEntity, player: Player, payload: dict[str, str | None], browse_limit: int, browse_data: BrowseData) -> BrowseMedia: ...
34
34
  async def library_payload(hass: HomeAssistant, player: Player, browse_media: BrowseData) -> BrowseMedia: ...
35
35
  def media_source_content_filter(item: BrowseMedia) -> bool: ...
@@ -1,3 +1,4 @@
1
+ import socket
1
2
  from .common import async_build_source_set as async_build_source_set
2
3
  from _typeshed import Incomplete
3
4
  from async_upnp_client.const import AddressTupleVXType as AddressTupleVXType
@@ -8,8 +9,6 @@ from homeassistant.helpers.network import NoURLAvailableError as NoURLAvailableE
8
9
  from homeassistant.helpers.system_info import async_get_system_info as async_get_system_info
9
10
  from typing import Any
10
11
 
11
- UPNP_SERVER_MIN_PORT: int
12
- UPNP_SERVER_MAX_PORT: int
13
12
  _LOGGER: Incomplete
14
13
 
15
14
  class HassUpnpServiceDevice(UpnpServerDevice):
@@ -17,7 +16,7 @@ class HassUpnpServiceDevice(UpnpServerDevice):
17
16
  EMBEDDED_DEVICES: list[type[UpnpServerDevice]]
18
17
  SERVICES: list[type[UpnpServerService]]
19
18
 
20
- async def _async_find_next_available_port(source: AddressTupleVXType) -> int: ...
19
+ async def _async_find_next_available_port(source: AddressTupleVXType) -> tuple[int, socket.socket]: ...
21
20
 
22
21
  class Server:
23
22
  hass: Incomplete
@@ -3,7 +3,7 @@ from .entity import StarlinkEntity as StarlinkEntity
3
3
  from collections.abc import Callable as Callable
4
4
  from dataclasses import dataclass
5
5
  from datetime import datetime
6
- from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
6
+ from homeassistant.components.sensor import RestoreSensor as RestoreSensor, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
7
  from homeassistant.const import DEGREE as DEGREE, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfDataRate as UnitOfDataRate, UnitOfEnergy as UnitOfEnergy, UnitOfInformation as UnitOfInformation, UnitOfPower as UnitOfPower, UnitOfTime as UnitOfTime
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -21,4 +21,11 @@ class StarlinkSensorEntity(StarlinkEntity, SensorEntity):
21
21
  @property
22
22
  def native_value(self) -> StateType | datetime: ...
23
23
 
24
+ class StarlinkRestoreSensor(StarlinkSensorEntity, RestoreSensor):
25
+ _attr_native_value: int | float
26
+ @property
27
+ def native_value(self) -> int | float: ...
28
+ async def async_added_to_hass(self) -> None: ...
29
+
24
30
  SENSORS: tuple[StarlinkSensorEntityDescription, ...]
31
+ RESTORE_SENSORS: tuple[StarlinkSensorEntityDescription, ...]
@@ -12,4 +12,3 @@ _LOGGER: Incomplete
12
12
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
13
13
  async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
14
14
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
- async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -23,6 +23,7 @@ class StatisticsConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
23
23
  MINOR_VERSION: int
24
24
  config_flow = CONFIG_FLOW
25
25
  options_flow = OPTIONS_FLOW
26
+ options_flow_reloads: bool
26
27
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
27
28
  @staticmethod
28
29
  async def async_setup_preview(hass: HomeAssistant) -> None: ...
@@ -26,6 +26,7 @@ class SwitchbotDevices:
26
26
  locks: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
27
27
  fans: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
28
28
  lights: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
29
+ humidifiers: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
29
30
 
30
31
  @dataclass
31
32
  class SwitchbotCloudData:
@@ -3,6 +3,7 @@ from .const import 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
+ from collections.abc import Callable as Callable
6
7
  from dataclasses import dataclass
7
8
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
8
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -10,13 +11,19 @@ from homeassistant.const import EntityCategory as EntityCategory
10
11
  from homeassistant.core import HomeAssistant as HomeAssistant
11
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
13
  from switchbot_api import Device as Device, SwitchBotAPI as SwitchBotAPI
14
+ from typing import Any
13
15
 
14
16
  @dataclass(frozen=True)
15
17
  class SwitchBotCloudBinarySensorEntityDescription(BinarySensorEntityDescription):
16
18
  on_value: bool | str = ...
19
+ value_fn: Callable[[dict[str, Any]], bool | None] | None = ...
17
20
 
18
21
  CALIBRATION_DESCRIPTION: Incomplete
19
22
  DOOR_OPEN_DESCRIPTION: Incomplete
23
+ MOVE_DETECTED_DESCRIPTION: Incomplete
24
+ IS_LIGHT_DESCRIPTION: Incomplete
25
+ LEAK_DESCRIPTION: Incomplete
26
+ OPEN_DESCRIPTION: Incomplete
20
27
  BINARY_SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES: Incomplete
21
28
 
22
29
  async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
@@ -2,13 +2,15 @@ from . import 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.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
5
+ from homeassistant.components.climate import ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_TEMPERATURE as ATTR_TEMPERATURE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
- from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
7
+ from homeassistant.const import STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
10
11
  from typing import Any
11
12
 
13
+ _LOGGER: Incomplete
12
14
  _SWITCHBOT_HVAC_MODES: dict[HVACMode, int]
13
15
  _DEFAULT_SWITCHBOT_HVAC_MODE: Incomplete
14
16
  _SWITCHBOT_FAN_MODES: dict[str, int]
@@ -16,7 +18,7 @@ _DEFAULT_SWITCHBOT_FAN_MODE: Incomplete
16
18
 
17
19
  async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
20
 
19
- class SwitchBotCloudAirConditioner(SwitchBotCloudEntity, ClimateEntity):
21
+ class SwitchBotCloudAirConditioner(SwitchBotCloudEntity, ClimateEntity, RestoreEntity):
20
22
  _attr_assumed_state: bool
21
23
  _attr_supported_features: Incomplete
22
24
  _attr_fan_modes: Incomplete
@@ -28,6 +30,8 @@ class SwitchBotCloudAirConditioner(SwitchBotCloudEntity, ClimateEntity):
28
30
  _attr_target_temperature_step: int
29
31
  _attr_precision: int
30
32
  _attr_name: Incomplete
33
+ async def async_added_to_hass(self) -> None: ...
34
+ def _get_mode(self, hvac_mode: HVACMode | None) -> int: ...
31
35
  async def _do_send_command(self, hvac_mode: HVACMode | None = None, fan_mode: str | None = None, temperature: float | None = None) -> None: ...
32
36
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
33
37
  async def async_set_fan_mode(self, fan_mode: str) -> None: ...
@@ -14,6 +14,7 @@ VACUUM_FAN_SPEED_STRONG: str
14
14
  VACUUM_FAN_SPEED_MAX: str
15
15
  AFTER_COMMAND_REFRESH: int
16
16
  COVER_ENTITY_AFTER_COMMAND_REFRESH: int
17
+ HUMIDITY_LEVELS: Incomplete
17
18
 
18
19
  class AirPurifierMode(Enum):
19
20
  NORMAL = 1
@@ -22,3 +23,15 @@ class AirPurifierMode(Enum):
22
23
  PET = 4
23
24
  @classmethod
24
25
  def get_modes(cls) -> list[str]: ...
26
+
27
+ class Humidifier2Mode(Enum):
28
+ HIGH = 1
29
+ MEDIUM = 2
30
+ LOW = 3
31
+ QUIET = 4
32
+ TARGET_HUMIDITY = 5
33
+ SLEEP = 6
34
+ AUTO = 7
35
+ DRYING_FILTER = 8
36
+ @classmethod
37
+ def get_modes(cls) -> list[str]: ...
@@ -0,0 +1,48 @@
1
+ from . import SwitchbotCloudData as SwitchbotCloudData
2
+ from .const import AFTER_COMMAND_REFRESH as AFTER_COMMAND_REFRESH, DOMAIN as DOMAIN, HUMIDITY_LEVELS as HUMIDITY_LEVELS, Humidifier2Mode as Humidifier2Mode
3
+ from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.humidifier import HumidifierDeviceClass as HumidifierDeviceClass, HumidifierEntity as HumidifierEntity, HumidifierEntityFeature as HumidifierEntityFeature, MODE_AUTO as MODE_AUTO, MODE_NORMAL as MODE_NORMAL
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.const import STATE_ON as STATE_ON
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from typing import Any
11
+
12
+ PARALLEL_UPDATES: int
13
+
14
+ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+
16
+ class SwitchBotHumidifier(SwitchBotCloudEntity, HumidifierEntity):
17
+ _attr_supported_features: Incomplete
18
+ _attr_device_class: Incomplete
19
+ _attr_available_modes: Incomplete
20
+ _attr_min_humidity: int
21
+ _attr_translation_key: str
22
+ _attr_name: Incomplete
23
+ _attr_target_humidity: int
24
+ _attr_is_on: Incomplete
25
+ _attr_mode: Incomplete
26
+ _attr_current_humidity: Incomplete
27
+ def _set_attributes(self) -> None: ...
28
+ async def async_set_humidity(self, humidity: int) -> None: ...
29
+ async def async_set_mode(self, mode: str) -> None: ...
30
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
31
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
32
+ def _map_humidity_to_supported_level(self, humidity: int) -> tuple[int, int]: ...
33
+
34
+ class SwitchBotEvaporativeHumidifier(SwitchBotCloudEntity, HumidifierEntity):
35
+ _attr_supported_features: Incomplete
36
+ _attr_device_class: Incomplete
37
+ _attr_available_modes: Incomplete
38
+ _attr_translation_key: str
39
+ _attr_name: Incomplete
40
+ _attr_target_humidity: int
41
+ _attr_is_on: Incomplete
42
+ _attr_mode: Incomplete
43
+ _attr_current_humidity: Incomplete
44
+ def _set_attributes(self) -> None: ...
45
+ async def async_set_humidity(self, humidity: int) -> None: ...
46
+ async def async_set_mode(self, mode: str) -> None: ...
47
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
48
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -10,6 +10,7 @@ from switchbot_api import Device as Device, Remote as Remote, SwitchBotAPI as Sw
10
10
  from typing import Any
11
11
 
12
12
  def value_map_brightness(value: int) -> int: ...
13
+ def brightness_map_value(value: int) -> int: ...
13
14
  async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
15
 
15
16
  class SwitchBotCloudLight(SwitchBotCloudEntity, LightEntity):
@@ -3,12 +3,15 @@ from .const import 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
+ from collections.abc import Callable as Callable
7
+ from dataclasses import dataclass
6
8
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
- from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE as PERCENTAGE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature
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
9
11
  from homeassistant.core import HomeAssistant as HomeAssistant
10
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
13
  from switchbot_api import Device as Device, SwitchBotAPI as SwitchBotAPI
14
+ from typing import Any
12
15
 
13
16
  SENSOR_TYPE_TEMPERATURE: str
14
17
  SENSOR_TYPE_HUMIDITY: str
@@ -17,6 +20,14 @@ SENSOR_TYPE_CO2: str
17
20
  SENSOR_TYPE_POWER: str
18
21
  SENSOR_TYPE_VOLTAGE: str
19
22
  SENSOR_TYPE_CURRENT: str
23
+ SENSOR_TYPE_USED_ELECTRICITY: str
24
+ SENSOR_TYPE_LIGHTLEVEL: str
25
+
26
+ @dataclass(frozen=True, kw_only=True)
27
+ class SwitchbotCloudSensorEntityDescription(SensorEntityDescription):
28
+ value_fn: Callable[[Any], Any] = ...
29
+
30
+ USED_ELECTRICITY_DESCRIPTION: Incomplete
20
31
  TEMPERATURE_DESCRIPTION: Incomplete
21
32
  HUMIDITY_DESCRIPTION: Incomplete
22
33
  BATTERY_DESCRIPTION: Incomplete
@@ -25,6 +36,7 @@ VOLTAGE_DESCRIPTION: Incomplete
25
36
  CURRENT_DESCRIPTION_IN_MA: Incomplete
26
37
  CURRENT_DESCRIPTION_IN_A: Incomplete
27
38
  CO2_DESCRIPTION: Incomplete
39
+ LIGHTLEVEL_DESCRIPTION: Incomplete
28
40
  SENSOR_DESCRIPTIONS_BY_DEVICE_TYPES: Incomplete
29
41
 
30
42
  async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
@@ -3,8 +3,8 @@ from .coordinator import SynologyDSMConfigEntry as SynologyDSMConfigEntry, Synol
3
3
  from _typeshed import Incomplete
4
4
  from aiohttp import web
5
5
  from homeassistant.components import http as http
6
- from homeassistant.components.media_player import MediaClass as MediaClass
7
- from homeassistant.components.media_source import BrowseError as BrowseError, BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia, Unresolvable as Unresolvable
6
+ from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass
7
+ from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia, Unresolvable as Unresolvable
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from synology_dsm.api.photos import SynoPhotosItem
@@ -10,6 +10,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
11
  from homeassistant.helpers.typing import StateType as StateType
12
12
  from homeassistant.util.dt import utcnow as utcnow
13
+ from synology_dsm.api.core.external_usb import SynoCoreExternalUSBDevice as SynoCoreExternalUSBDevice
13
14
 
14
15
  @dataclass(frozen=True, kw_only=True)
15
16
  class SynologyDSMSensorEntityDescription(SensorEntityDescription, SynologyDSMEntityDescription): ...
@@ -44,6 +45,8 @@ class SynoDSMExternalUSBSensor(SynologyDSMDeviceEntity, SynoDSMSensor):
44
45
  def __init__(self, api: SynoApi, coordinator: SynologyDSMCentralUpdateCoordinator, description: SynologyDSMSensorEntityDescription, device_id: str | None = None) -> None: ...
45
46
  @property
46
47
  def native_value(self) -> StateType: ...
48
+ @property
49
+ def available(self) -> bool: ...
47
50
 
48
51
  class SynoDSMInfoSensor(SynoDSMSensor):
49
52
  _previous_uptime: str | None
@@ -1,5 +1,5 @@
1
1
  from . import SystemMonitorConfigEntry as SystemMonitorConfigEntry
2
- from .const import CONF_PROCESS as CONF_PROCESS, DOMAIN as DOMAIN
2
+ from .const import CONF_PROCESS as CONF_PROCESS, DOMAIN as DOMAIN, PROCESS_ERRORS as PROCESS_ERRORS
3
3
  from .coordinator import SystemMonitorCoordinator as SystemMonitorCoordinator
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
@@ -4,4 +4,5 @@ DOMAIN: str
4
4
  CONF_INDEX: str
5
5
  CONF_PROCESS: str
6
6
  NET_IO_TYPES: Incomplete
7
+ PROCESS_ERRORS: Incomplete
7
8
  CPU_SENSOR_PREFIXES: Incomplete
@@ -1,5 +1,6 @@
1
1
  import psutil_home_assistant as ha_psutil
2
2
  from . import SystemMonitorConfigEntry as SystemMonitorConfigEntry
3
+ from .const import CONF_PROCESS as CONF_PROCESS, PROCESS_ERRORS as PROCESS_ERRORS
3
4
  from _typeshed import Incomplete
4
5
  from dataclasses import dataclass
5
6
  from datetime import datetime
@@ -34,6 +35,7 @@ class VirtualMemory(NamedTuple):
34
35
  free: float
35
36
 
36
37
  class SystemMonitorCoordinator(TimestampDataUpdateCoordinator[SensorData]):
38
+ config_entry: SystemMonitorConfigEntry
37
39
  _psutil: Incomplete
38
40
  _arguments: Incomplete
39
41
  boot_time: datetime | None
@@ -25,6 +25,8 @@ SENSOR_TYPE_ICON: int
25
25
  SENSOR_TYPE_DEVICE_CLASS: int
26
26
  SENSOR_TYPE_MANDATORY_ARG: int
27
27
  SIGNAL_SYSTEMMONITOR_UPDATE: str
28
+ SENSORS_NO_ARG: Incomplete
29
+ SENSORS_WITH_ARG: Incomplete
28
30
 
29
31
  @lru_cache
30
32
  def get_cpu_icon() -> Literal['mdi:cpu-64-bit', 'mdi:cpu-32-bit']: ...
@@ -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_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, 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_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_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
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
@@ -14,6 +14,7 @@ _LOGGER: Incomplete
14
14
  CONFIG_SCHEMA: Incomplete
15
15
  BASE_SERVICE_SCHEMA: Incomplete
16
16
  SERVICE_SCHEMA_SEND_MESSAGE: Incomplete
17
+ SERVICE_SCHEMA_SEND_CHAT_ACTION: Incomplete
17
18
  SERVICE_SCHEMA_SEND_FILE: Incomplete
18
19
  SERVICE_SCHEMA_SEND_STICKER: Incomplete
19
20
  SERVICE_SCHEMA_SEND_LOCATION: Incomplete
@@ -53,6 +53,7 @@ class TelegramNotificationService:
53
53
  async def delete_message(self, chat_id: int | None = None, context: Context | None = None, **kwargs: dict[str, Any]) -> bool: ...
54
54
  async def edit_message(self, type_edit: str, chat_id: int | None = None, context: Context | None = None, **kwargs: dict[str, Any]) -> Any: ...
55
55
  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
+ async def send_chat_action(self, chat_action: str = '', target: Any = None, context: Context | None = None, **kwargs: Any) -> dict[int, int]: ...
56
57
  async def send_file(self, file_type: str, target: Any = None, context: Context | None = None, **kwargs: Any) -> dict[int, int]: ...
57
58
  async def send_sticker(self, target: Any = None, context: Context | None = None, **kwargs: Any) -> dict[int, int]: ...
58
59
  async def send_location(self, latitude: Any, longitude: Any, target: Any = None, context: Context | None = None, **kwargs: dict[str, Any]) -> dict[int, int]: ...
@@ -19,6 +19,7 @@ ISSUE_DEPRECATED_YAML: str
19
19
  ISSUE_DEPRECATED_YAML_HAS_MORE_PLATFORMS: str
20
20
  ISSUE_DEPRECATED_YAML_IMPORT_ISSUE_ERROR: str
21
21
  DEFAULT_TRUSTED_NETWORKS: Incomplete
22
+ SERVICE_SEND_CHAT_ACTION: str
22
23
  SERVICE_SEND_MESSAGE: str
23
24
  SERVICE_SEND_PHOTO: str
24
25
  SERVICE_SEND_STICKER: str
@@ -43,9 +44,21 @@ PARSER_HTML: str
43
44
  PARSER_MD: str
44
45
  PARSER_MD2: str
45
46
  PARSER_PLAIN_TEXT: str
47
+ ATTR_CHAT_ACTION: str
46
48
  ATTR_DATA: str
47
49
  ATTR_MESSAGE: str
48
50
  ATTR_TITLE: str
51
+ CHAT_ACTION_TYPING: str
52
+ CHAT_ACTION_UPLOAD_PHOTO: str
53
+ CHAT_ACTION_RECORD_VIDEO: str
54
+ CHAT_ACTION_UPLOAD_VIDEO: str
55
+ CHAT_ACTION_RECORD_VOICE: str
56
+ CHAT_ACTION_UPLOAD_VOICE: str
57
+ CHAT_ACTION_UPLOAD_DOCUMENT: str
58
+ CHAT_ACTION_CHOOSE_STICKER: str
59
+ CHAT_ACTION_FIND_LOCATION: str
60
+ CHAT_ACTION_RECORD_VIDEO_NOTE: str
61
+ CHAT_ACTION_UPLOAD_VIDEO_NOTE: str
49
62
  ATTR_ARGS: str
50
63
  ATTR_AUTHENTICATION: str
51
64
  ATTR_CALLBACK_QUERY: str
@@ -9,5 +9,4 @@ _LOGGER: Incomplete
9
9
 
10
10
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
11
11
  async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
12
- async def config_entry_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
13
12
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -21,6 +21,7 @@ class ConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
21
21
  MINOR_VERSION: int
22
22
  config_flow = CONFIG_FLOW
23
23
  options_flow = OPTIONS_FLOW
24
+ options_flow_reloads: bool
24
25
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
25
26
  @staticmethod
26
27
  async def async_setup_preview(hass: HomeAssistant) -> None: ...
@@ -1,18 +1,20 @@
1
1
  from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
3
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
4
4
  from homeassistant.const import CONF_HOST as CONF_HOST
5
5
  from homeassistant.helpers.device_registry import format_mac as format_mac
6
6
  from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
7
7
  from typing import Any
8
8
 
9
9
  _LOGGER: Incomplete
10
+ CONFIG_SCHEMA: Incomplete
10
11
 
11
- class ToloSaunaConfigFlow(ConfigFlow, domain=DOMAIN):
12
+ class ToloConfigFlow(ConfigFlow, domain=DOMAIN):
12
13
  VERSION: int
13
- _discovered_host: str
14
+ _dhcp_discovery_info: DhcpServiceInfo | None
14
15
  @staticmethod
15
16
  def _check_device_availability(host: str) -> bool: ...
16
17
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
17
19
  async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
18
20
  async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -12,6 +12,7 @@ from datetime import datetime
12
12
  from homeassistant.components.http import HomeAssistantView
13
13
  from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant, callback
14
14
  from homeassistant.helpers.typing import ConfigType
15
+ from pathlib import Path
15
16
  from propcache.api import cached_property
16
17
  from time import monotonic
17
18
  from typing import Any, Generic, Protocol, TypeVar
@@ -45,6 +46,7 @@ async def async_get_media_source_audio(hass: HomeAssistant, media_source_id: str
45
46
  @dataclass
46
47
  class ResultStream:
47
48
  last_used: float = field(default_factory=monotonic, init=False)
49
+ hass: HomeAssistant
48
50
  token: str
49
51
  extension: str
50
52
  content_type: str
@@ -54,6 +56,7 @@ class ResultStream:
54
56
  options: dict
55
57
  supports_streaming_input: bool
56
58
  _manager: SpeechManager
59
+ _override_media_path: Path | None = ...
57
60
  @cached_property
58
61
  def url(self) -> str: ...
59
62
  @cached_property
@@ -65,6 +68,8 @@ class ResultStream:
65
68
  @callback
66
69
  def async_set_message_stream(self, message_stream: AsyncGenerator[str]) -> None: ...
67
70
  async def async_stream_result(self) -> AsyncGenerator[bytes]: ...
71
+ def async_override_result(self, media_path: str | Path) -> None: ...
72
+ async def _async_stream_override_result(self) -> AsyncGenerator[bytes]: ...
68
73
 
69
74
  class HasLastUsed(Protocol):
70
75
  last_used: float
@@ -15,3 +15,4 @@ class UptimeRobotConfigFlow(ConfigFlow, domain=DOMAIN):
15
15
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
16
16
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
17
17
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
18
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,4 +1,4 @@
1
- from . import DOMAIN as DOMAIN, SERVICE_RETURN_TO_BASE as SERVICE_RETURN_TO_BASE, SERVICE_START as SERVICE_START
1
+ from . import DOMAIN as DOMAIN, SERVICE_RETURN_TO_BASE as SERVICE_RETURN_TO_BASE, SERVICE_START as SERVICE_START, VacuumEntityFeature as VacuumEntityFeature
2
2
  from homeassistant.core import HomeAssistant as HomeAssistant
3
3
  from homeassistant.helpers import intent as intent
4
4
 
@@ -1,6 +1,6 @@
1
1
  from .api import VolvoAuth as VolvoAuth
2
2
  from .const import CONF_VIN as CONF_VIN, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
3
- from .coordinator import VolvoConfigEntry as VolvoConfigEntry, VolvoFastIntervalCoordinator as VolvoFastIntervalCoordinator, VolvoMediumIntervalCoordinator as VolvoMediumIntervalCoordinator, VolvoSlowIntervalCoordinator as VolvoSlowIntervalCoordinator, VolvoVerySlowIntervalCoordinator as VolvoVerySlowIntervalCoordinator
3
+ from .coordinator import VolvoConfigEntry as VolvoConfigEntry, VolvoContext as VolvoContext, VolvoFastIntervalCoordinator as VolvoFastIntervalCoordinator, VolvoMediumIntervalCoordinator as VolvoMediumIntervalCoordinator, VolvoRuntimeData as VolvoRuntimeData, VolvoSlowIntervalCoordinator as VolvoSlowIntervalCoordinator, VolvoVerySlowIntervalCoordinator as VolvoVerySlowIntervalCoordinator
4
4
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
6
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
@@ -1,8 +1,12 @@
1
1
  from _typeshed import Incomplete
2
2
  from aiohttp import ClientSession as ClientSession
3
3
  from homeassistant.helpers.config_entry_oauth2_flow import OAuth2Session as OAuth2Session
4
+ from homeassistant.helpers.redact import async_redact_data as async_redact_data
4
5
  from volvocarsapi.auth import AccessTokenManager
5
6
 
7
+ _LOGGER: Incomplete
8
+ _TO_REDACT: Incomplete
9
+
6
10
  class VolvoAuth(AccessTokenManager):
7
11
  _oauth_session: Incomplete
8
12
  def __init__(self, websession: ClientSession, oauth_session: OAuth2Session) -> None: ...