homeassistant-stubs 2025.9.4__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 (305) 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 +8 -0
  24. homeassistant-stubs/components/blue_current/__init__.pyi +11 -5
  25. homeassistant-stubs/components/blue_current/const.pyi +6 -0
  26. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -2
  27. homeassistant-stubs/components/bluetooth/api.pyi +5 -2
  28. homeassistant-stubs/components/bluetooth/manager.pyi +7 -1
  29. homeassistant-stubs/components/bluetooth/websocket_api.pyi +6 -1
  30. homeassistant-stubs/components/brother/__init__.pyi +4 -2
  31. homeassistant-stubs/components/brother/config_flow.pyi +5 -2
  32. homeassistant-stubs/components/brother/const.pyi +4 -0
  33. homeassistant-stubs/components/bthome/sensor.pyi +1 -1
  34. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  35. homeassistant-stubs/components/camera/prefs.pyi +3 -1
  36. homeassistant-stubs/components/cloud/http_api.pyi +2 -0
  37. homeassistant-stubs/components/comelit/coordinator.pyi +2 -1
  38. homeassistant-stubs/components/comelit/sensor.pyi +1 -1
  39. homeassistant-stubs/components/compit/__init__.pyi +11 -0
  40. homeassistant-stubs/components/compit/climate.pyi +63 -0
  41. homeassistant-stubs/components/compit/config_flow.pyi +17 -0
  42. homeassistant-stubs/components/compit/const.pyi +2 -0
  43. homeassistant-stubs/components/compit/coordinator.pyi +16 -0
  44. homeassistant-stubs/components/derivative/diagnostics.pyi +5 -0
  45. homeassistant-stubs/components/droplet/__init__.pyi +10 -0
  46. homeassistant-stubs/components/droplet/config_flow.pyi +13 -0
  47. homeassistant-stubs/components/droplet/const.pyi +7 -0
  48. homeassistant-stubs/components/droplet/coordinator.pyi +23 -0
  49. homeassistant-stubs/components/droplet/sensor.pyi +37 -0
  50. homeassistant-stubs/components/ecovacs/number.pyi +4 -1
  51. homeassistant-stubs/components/elkm1/config_flow.pyi +2 -0
  52. homeassistant-stubs/components/elkm1/sensor.pyi +8 -1
  53. homeassistant-stubs/components/energy/sensor.pyi +1 -1
  54. homeassistant-stubs/components/esphome/assist_satellite.pyi +5 -1
  55. homeassistant-stubs/components/esphome/climate.pyi +2 -0
  56. homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
  57. homeassistant-stubs/components/esphome/const.pyi +1 -0
  58. homeassistant-stubs/components/esphome/entry_data.pyi +8 -4
  59. homeassistant-stubs/components/esphome/lock.pyi +1 -1
  60. homeassistant-stubs/components/esphome/select.pyi +4 -3
  61. homeassistant-stubs/components/fritz/sensor.pyi +2 -1
  62. homeassistant-stubs/components/frontend/__init__.pyi +5 -2
  63. homeassistant-stubs/components/geocaching/entity.pyi +14 -0
  64. homeassistant-stubs/components/geocaching/sensor.pyi +25 -5
  65. homeassistant-stubs/components/go2rtc/__init__.pyi +3 -0
  66. homeassistant-stubs/components/google/__init__.pyi +0 -1
  67. homeassistant-stubs/components/google/config_flow.pyi +3 -3
  68. homeassistant-stubs/components/google_cloud/__init__.pyi +0 -1
  69. homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
  70. homeassistant-stubs/components/google_photos/media_source.pyi +2 -2
  71. homeassistant-stubs/components/habitica/binary_sensor.pyi +1 -1
  72. homeassistant-stubs/components/habitica/const.pyi +1 -0
  73. homeassistant-stubs/components/habitica/sensor.pyi +3 -1
  74. homeassistant-stubs/components/habitica/services.pyi +2 -1
  75. homeassistant-stubs/components/habitica/util.pyi +1 -0
  76. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  77. homeassistant-stubs/components/history_stats/config_flow.pyi +7 -2
  78. homeassistant-stubs/components/history_stats/diagnostics.pyi +5 -0
  79. homeassistant-stubs/components/home_connect/application_credentials.pyi +0 -1
  80. homeassistant-stubs/components/home_connect/coordinator.pyi +0 -1
  81. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +38 -11
  82. homeassistant-stubs/components/homee/alarm_control_panel.pyi +3 -2
  83. homeassistant-stubs/components/homee/binary_sensor.pyi +4 -2
  84. homeassistant-stubs/components/homee/button.pyi +3 -1
  85. homeassistant-stubs/components/homee/climate.pyi +3 -1
  86. homeassistant-stubs/components/homee/cover.pyi +3 -1
  87. homeassistant-stubs/components/homee/event.pyi +3 -1
  88. homeassistant-stubs/components/homee/fan.pyi +3 -1
  89. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  90. homeassistant-stubs/components/homee/light.pyi +2 -0
  91. homeassistant-stubs/components/homee/lock.pyi +4 -2
  92. homeassistant-stubs/components/homee/number.pyi +3 -1
  93. homeassistant-stubs/components/homee/select.pyi +3 -1
  94. homeassistant-stubs/components/homee/sensor.pyi +2 -2
  95. homeassistant-stubs/components/homee/siren.pyi +4 -1
  96. homeassistant-stubs/components/homee/switch.pyi +4 -2
  97. homeassistant-stubs/components/homee/valve.pyi +3 -1
  98. homeassistant-stubs/components/homekit/type_switches.pyi +7 -1
  99. homeassistant-stubs/components/homewizard/sensor.pyi +3 -1
  100. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -1
  101. homeassistant-stubs/components/image/__init__.pyi +1 -0
  102. homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
  103. homeassistant-stubs/components/image_upload/const.pyi +1 -0
  104. homeassistant-stubs/components/image_upload/media_source.pyi +5 -1
  105. homeassistant-stubs/components/immich/media_source.pyi +2 -2
  106. homeassistant-stubs/components/integration/__init__.pyi +0 -1
  107. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  108. homeassistant-stubs/components/lawn_mower/intent.pyi +8 -0
  109. homeassistant-stubs/components/letpot/number.pyi +34 -0
  110. homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +9 -0
  111. homeassistant-stubs/components/libre_hardware_monitor/config_flow.pyi +12 -0
  112. homeassistant-stubs/components/libre_hardware_monitor/const.pyi +4 -0
  113. homeassistant-stubs/components/libre_hardware_monitor/coordinator.pyi +21 -0
  114. homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +34 -0
  115. homeassistant-stubs/components/litterrobot/select.pyi +1 -1
  116. homeassistant-stubs/components/litterrobot/switch.pyi +5 -1
  117. homeassistant-stubs/components/logbook/helpers.pyi +4 -3
  118. homeassistant-stubs/components/mastodon/const.pyi +1 -0
  119. homeassistant-stubs/components/mastodon/services.pyi +1 -1
  120. homeassistant-stubs/components/matter/models.pyi +1 -0
  121. homeassistant-stubs/components/matter/sensor.pyi +1 -0
  122. homeassistant-stubs/components/mcp_server/session.pyi +2 -2
  123. homeassistant-stubs/components/media_source/__init__.pyi +2 -10
  124. homeassistant-stubs/components/media_source/helper.pyi +16 -0
  125. homeassistant-stubs/components/media_source/http.pyi +13 -0
  126. homeassistant-stubs/components/media_source/local_source.pyi +19 -11
  127. homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
  128. homeassistant-stubs/components/miele/const.pyi +193 -17
  129. homeassistant-stubs/components/miele/sensor.pyi +12 -3
  130. homeassistant-stubs/components/miele/vacuum.pyi +1 -2
  131. homeassistant-stubs/components/min_max/sensor.pyi +1 -1
  132. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  133. homeassistant-stubs/components/modbus/binary_sensor.pyi +2 -2
  134. homeassistant-stubs/components/modbus/climate.pyi +2 -2
  135. homeassistant-stubs/components/modbus/const.pyi +1 -0
  136. homeassistant-stubs/components/modbus/cover.pyi +2 -2
  137. homeassistant-stubs/components/modbus/entity.pyi +4 -4
  138. homeassistant-stubs/components/modbus/fan.pyi +2 -2
  139. homeassistant-stubs/components/modbus/light.pyi +2 -2
  140. homeassistant-stubs/components/modbus/modbus.pyi +1 -2
  141. homeassistant-stubs/components/modbus/sensor.pyi +2 -2
  142. homeassistant-stubs/components/modbus/switch.pyi +2 -2
  143. homeassistant-stubs/components/modbus/validators.pyi +1 -1
  144. homeassistant-stubs/components/motionmount/select.pyi +1 -0
  145. homeassistant-stubs/components/mqtt/config_flow.pyi +61 -60
  146. homeassistant-stubs/components/mqtt/const.pyi +6 -0
  147. homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
  148. homeassistant-stubs/components/mqtt/entity.pyi +2 -2
  149. homeassistant-stubs/components/mqtt/image.pyi +1 -5
  150. homeassistant-stubs/components/mqtt/light/schema_json.pyi +0 -1
  151. homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
  152. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  153. homeassistant-stubs/components/music_assistant/__init__.pyi +2 -1
  154. homeassistant-stubs/components/music_assistant/config_flow.pyi +1 -1
  155. homeassistant-stubs/components/music_assistant/const.pyi +1 -0
  156. homeassistant-stubs/components/nordpool/coordinator.pyi +4 -2
  157. homeassistant-stubs/components/ntfy/config_flow.pyi +4 -2
  158. homeassistant-stubs/components/ntfy/const.pyi +6 -0
  159. homeassistant-stubs/components/ntfy/entity.pyi +18 -0
  160. homeassistant-stubs/components/ntfy/event.pyi +29 -0
  161. homeassistant-stubs/components/ntfy/notify.pyi +19 -13
  162. homeassistant-stubs/components/{home_connect → ntfy}/repairs.pyi +7 -3
  163. homeassistant-stubs/components/number/const.pyi +1 -1
  164. homeassistant-stubs/components/openai_conversation/ai_task.pyi +5 -1
  165. homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
  166. homeassistant-stubs/components/openai_conversation/entity.pyi +2 -2
  167. homeassistant-stubs/components/openuv/__init__.pyi +1 -1
  168. homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -2
  169. homeassistant-stubs/components/openuv/coordinator.pyi +14 -1
  170. homeassistant-stubs/components/opnsense/__init__.pyi +11 -0
  171. homeassistant-stubs/components/opnsense/const.pyi +5 -0
  172. homeassistant-stubs/components/opnsense/device_tracker.pyi +23 -0
  173. homeassistant-stubs/components/portainer/__init__.pyi +11 -0
  174. homeassistant-stubs/components/portainer/binary_sensor.pyi +39 -0
  175. homeassistant-stubs/components/portainer/config_flow.pyi +20 -0
  176. homeassistant-stubs/components/portainer/const.pyi +2 -0
  177. homeassistant-stubs/components/portainer/coordinator.pyi +29 -0
  178. homeassistant-stubs/components/portainer/entity.pyi +22 -0
  179. homeassistant-stubs/components/prusalink/coordinator.pyi +2 -0
  180. homeassistant-stubs/components/radio_browser/media_source.pyi +3 -0
  181. homeassistant-stubs/components/recorder/models/statistics.pyi +1 -0
  182. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  183. homeassistant-stubs/components/recorder/util.pyi +1 -0
  184. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  185. homeassistant-stubs/components/reolink/entity.pyi +10 -0
  186. homeassistant-stubs/components/reolink/light.pyi +7 -1
  187. homeassistant-stubs/components/reolink/number.pyi +10 -1
  188. homeassistant-stubs/components/reolink/select.pyi +11 -3
  189. homeassistant-stubs/components/reolink/siren.pyi +11 -1
  190. homeassistant-stubs/components/reolink/switch.pyi +11 -1
  191. homeassistant-stubs/components/roborock/config_flow.pyi +1 -1
  192. homeassistant-stubs/components/roborock/const.pyi +1 -0
  193. homeassistant-stubs/components/roborock/coordinator.pyi +1 -1
  194. homeassistant-stubs/components/route_b_smart_meter/__init__.pyi +10 -0
  195. homeassistant-stubs/components/route_b_smart_meter/config_flow.pyi +22 -0
  196. homeassistant-stubs/components/route_b_smart_meter/const.pyi +9 -0
  197. homeassistant-stubs/components/route_b_smart_meter/coordinator.pyi +26 -0
  198. homeassistant-stubs/components/route_b_smart_meter/sensor.pyi +30 -0
  199. homeassistant-stubs/components/scrape/__init__.pyi +0 -1
  200. homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
  201. homeassistant-stubs/components/scrape/coordinator.pyi +5 -1
  202. homeassistant-stubs/components/sensor/const.pyi +2 -1
  203. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  204. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  205. homeassistant-stubs/components/sftp_storage/__init__.pyi +21 -0
  206. homeassistant-stubs/components/sftp_storage/backup.pyi +24 -0
  207. homeassistant-stubs/components/sftp_storage/client.pyi +48 -0
  208. homeassistant-stubs/components/sftp_storage/config_flow.pyi +25 -0
  209. homeassistant-stubs/components/sftp_storage/const.pyi +16 -0
  210. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  211. homeassistant-stubs/components/shelly/binary_sensor.pyi +5 -1
  212. homeassistant-stubs/components/shelly/button.pyi +10 -2
  213. homeassistant-stubs/components/shelly/const.pyi +5 -2
  214. homeassistant-stubs/components/shelly/cover.pyi +6 -0
  215. homeassistant-stubs/components/shelly/entity.pyi +1 -3
  216. homeassistant-stubs/components/shelly/light.pyi +18 -10
  217. homeassistant-stubs/components/shelly/number.pyi +1 -1
  218. homeassistant-stubs/components/shelly/repairs.pyi +4 -2
  219. homeassistant-stubs/components/shelly/select.pyi +1 -1
  220. homeassistant-stubs/components/shelly/sensor.pyi +12 -8
  221. homeassistant-stubs/components/shelly/switch.pyi +1 -1
  222. homeassistant-stubs/components/shelly/text.pyi +1 -1
  223. homeassistant-stubs/components/shelly/utils.pyi +7 -2
  224. homeassistant-stubs/components/sql/__init__.pyi +2 -2
  225. homeassistant-stubs/components/sql/config_flow.pyi +6 -2
  226. homeassistant-stubs/components/sql/const.pyi +1 -0
  227. homeassistant-stubs/components/sql/sensor.pyi +1 -1
  228. homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
  229. homeassistant-stubs/components/ssdp/server.pyi +2 -3
  230. homeassistant-stubs/components/starlink/sensor.pyi +8 -1
  231. homeassistant-stubs/components/statistics/__init__.pyi +0 -1
  232. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  233. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +1 -0
  234. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +7 -0
  235. homeassistant-stubs/components/switchbot_cloud/climate.pyi +7 -3
  236. homeassistant-stubs/components/switchbot_cloud/const.pyi +13 -0
  237. homeassistant-stubs/components/switchbot_cloud/humidifier.pyi +48 -0
  238. homeassistant-stubs/components/switchbot_cloud/light.pyi +1 -0
  239. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +13 -1
  240. homeassistant-stubs/components/synology_dsm/media_source.pyi +2 -2
  241. homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -0
  242. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +1 -1
  243. homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
  244. homeassistant-stubs/components/systemmonitor/coordinator.pyi +2 -0
  245. homeassistant-stubs/components/systemmonitor/sensor.pyi +2 -0
  246. homeassistant-stubs/components/telegram_bot/__init__.pyi +2 -1
  247. homeassistant-stubs/components/telegram_bot/bot.pyi +1 -0
  248. homeassistant-stubs/components/telegram_bot/const.pyi +13 -0
  249. homeassistant-stubs/components/threshold/__init__.pyi +0 -1
  250. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  251. homeassistant-stubs/components/tolo/config_flow.pyi +5 -3
  252. homeassistant-stubs/components/tts/__init__.pyi +5 -0
  253. homeassistant-stubs/components/uptimerobot/config_flow.pyi +1 -0
  254. homeassistant-stubs/components/vacuum/intent.pyi +1 -1
  255. homeassistant-stubs/components/volvo/__init__.pyi +1 -1
  256. homeassistant-stubs/components/volvo/api.pyi +4 -0
  257. homeassistant-stubs/components/volvo/coordinator.pyi +28 -15
  258. homeassistant-stubs/components/wake_on_lan/__init__.pyi +0 -1
  259. homeassistant-stubs/components/wake_on_lan/config_flow.pyi +1 -0
  260. homeassistant-stubs/components/webhook/trigger.pyi +2 -1
  261. homeassistant-stubs/components/workday/calendar.pyi +25 -0
  262. homeassistant-stubs/components/yalexs_ble/__init__.pyi +0 -1
  263. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +2 -2
  264. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  265. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -3
  266. homeassistant-stubs/components/zwave_js/const.pyi +3 -0
  267. homeassistant-stubs/components/zwave_js/device_trigger.pyi +1 -1
  268. homeassistant-stubs/components/zwave_js/triggers/event.pyi +24 -9
  269. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +11 -7
  270. homeassistant-stubs/config_entries.pyi +6 -1
  271. homeassistant-stubs/const.pyi +7 -46
  272. homeassistant-stubs/data_entry_flow.pyi +16 -3
  273. homeassistant-stubs/generated/entity_platforms.pyi +46 -0
  274. homeassistant-stubs/helpers/condition.pyi +3 -1
  275. homeassistant-stubs/helpers/config_validation.pyi +1 -1
  276. homeassistant-stubs/helpers/deprecation.pyi +1 -0
  277. homeassistant-stubs/helpers/device_registry.pyi +4 -3
  278. homeassistant-stubs/helpers/entity_component.pyi +1 -3
  279. homeassistant-stubs/helpers/event.pyi +2 -1
  280. homeassistant-stubs/helpers/intent.pyi +5 -8
  281. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -1
  282. homeassistant-stubs/helpers/selector.pyi +16 -16
  283. homeassistant-stubs/helpers/service.pyi +12 -14
  284. homeassistant-stubs/helpers/service_info/esphome.pyi +12 -0
  285. homeassistant-stubs/helpers/{template.pyi → template/__init__.pyi} +14 -97
  286. homeassistant-stubs/helpers/template/context.pyi +16 -0
  287. homeassistant-stubs/helpers/template/extensions/__init__.pyi +8 -0
  288. homeassistant-stubs/helpers/template/extensions/base.pyi +21 -0
  289. homeassistant-stubs/helpers/template/extensions/base64.pyi +9 -0
  290. homeassistant-stubs/helpers/template/extensions/collection.pyi +18 -0
  291. homeassistant-stubs/helpers/template/extensions/crypto.pyi +13 -0
  292. homeassistant-stubs/helpers/template/extensions/math.pyi +43 -0
  293. homeassistant-stubs/helpers/template/extensions/regex.pyi +14 -0
  294. homeassistant-stubs/helpers/template/extensions/string.pyi +9 -0
  295. homeassistant-stubs/helpers/template/helpers.pyi +4 -0
  296. homeassistant-stubs/helpers/template/render_info.pyi +39 -0
  297. homeassistant-stubs/helpers/trigger.pyi +16 -5
  298. homeassistant-stubs/helpers/trigger_template_entity.pyi +2 -1
  299. homeassistant-stubs/runner.pyi +16 -0
  300. homeassistant-stubs/util/unit_conversion.pyi +6 -0
  301. {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/METADATA +2 -2
  302. {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/RECORD +304 -246
  303. homeassistant-stubs/components/home_connect/time.pyi +0 -29
  304. {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/WHEEL +0 -0
  305. {homeassistant_stubs-2025.9.4.dist-info → homeassistant_stubs-2025.10.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -7,12 +7,13 @@ from _typeshed import Incomplete
7
7
  from bleak_retry_connector import BleakSlotManager as BleakSlotManager
8
8
  from bluetooth_adapters import BluetoothAdapters as BluetoothAdapters
9
9
  from collections.abc import Callable as Callable
10
- from habluetooth import BaseHaScanner as BaseHaScanner, BluetoothManager
10
+ from habluetooth import BaseHaScanner as BaseHaScanner, BluetoothManager, HaScanner
11
11
  from homeassistant import config_entries as config_entries
12
12
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED
13
13
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, callback as hass_callback
14
14
  from homeassistant.helpers import discovery_flow as discovery_flow
15
15
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
16
+ from homeassistant.util.package import is_docker_env as is_docker_env
16
17
 
17
18
  _LOGGER: Incomplete
18
19
 
@@ -46,3 +47,8 @@ class HomeAssistantBluetoothManager(BluetoothManager):
46
47
  def async_remove_scanner(self, source: str) -> None: ...
47
48
  @hass_callback
48
49
  def _handle_config_entry_removed(self, entry: config_entries.ConfigEntry) -> None: ...
50
+ def on_scanner_start(self, scanner: BaseHaScanner) -> None: ...
51
+ @hass_callback
52
+ def async_check_scanning_mode(self, scanner: HaScanner) -> None: ...
53
+ @hass_callback
54
+ def async_check_degraded_mode(self, scanner: HaScanner) -> None: ...
@@ -5,13 +5,15 @@ from .models import BluetoothChange as BluetoothChange
5
5
  from .util import InvalidConfigEntryID as InvalidConfigEntryID, InvalidSource as InvalidSource, config_entry_id_to_source as config_entry_id_to_source
6
6
  from _typeshed import Incomplete
7
7
  from collections.abc import Callable as Callable, Iterable
8
- from habluetooth import HaBluetoothSlotAllocations as HaBluetoothSlotAllocations, HaScannerRegistration as HaScannerRegistration
8
+ from habluetooth import BaseHaScanner as BaseHaScanner, HaBluetoothSlotAllocations as HaBluetoothSlotAllocations, HaScannerModeChange as HaScannerModeChange, HaScannerRegistration as HaScannerRegistration
9
9
  from home_assistant_bluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
10
10
  from homeassistant.components import websocket_api as websocket_api
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.helpers.json import json_bytes as json_bytes
13
13
  from typing import Any
14
14
 
15
+ @callback
16
+ def _async_get_source_from_config_entry(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg_id: int, config_entry_id: str | None, validate_source: bool = True) -> str | None: ...
15
17
  @callback
16
18
  def async_setup(hass: HomeAssistant) -> None: ...
17
19
  def serialize_service_info(service_info: BluetoothServiceInfoBleak, time_diff: float) -> dict[str, Any]: ...
@@ -44,3 +46,6 @@ async def ws_subscribe_connection_allocations(hass: HomeAssistant, connection: w
44
46
  @websocket_api.require_admin
45
47
  @websocket_api.async_response
46
48
  async def ws_subscribe_scanner_details(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
49
+ @websocket_api.require_admin
50
+ @websocket_api.async_response
51
+ async def ws_subscribe_scanner_state(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -1,12 +1,14 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from .const import CONF_COMMUNITY as CONF_COMMUNITY, DEFAULT_COMMUNITY as DEFAULT_COMMUNITY, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN, SECTION_ADVANCED_SETTINGS as SECTION_ADVANCED_SETTINGS
2
2
  from .coordinator import BrotherConfigEntry as BrotherConfigEntry, BrotherDataUpdateCoordinator as BrotherDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.snmp import async_get_snmp_engine as async_get_snmp_engine
5
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_TYPE as CONF_TYPE, Platform as Platform
5
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE, Platform as Platform
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
8
8
 
9
+ _LOGGER: Incomplete
9
10
  PLATFORMS: Incomplete
10
11
 
11
12
  async def async_setup_entry(hass: HomeAssistant, entry: BrotherConfigEntry) -> bool: ...
12
13
  async def async_unload_entry(hass: HomeAssistant, entry: BrotherConfigEntry) -> bool: ...
14
+ async def async_migrate_entry(hass: HomeAssistant, entry: BrotherConfigEntry) -> bool: ...
@@ -1,22 +1,25 @@
1
- from .const import DOMAIN as DOMAIN, PRINTER_TYPES as PRINTER_TYPES
1
+ from .const import CONF_COMMUNITY as CONF_COMMUNITY, DEFAULT_COMMUNITY as DEFAULT_COMMUNITY, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN, PRINTER_TYPES as PRINTER_TYPES, SECTION_ADVANCED_SETTINGS as SECTION_ADVANCED_SETTINGS
2
2
  from _typeshed import Incomplete
3
3
  from brother import Brother
4
4
  from homeassistant.components.snmp import async_get_snmp_engine as async_get_snmp_engine
5
5
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_TYPE as CONF_TYPE
6
+ from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.data_entry_flow import section as section
8
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
10
  from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
10
11
  from homeassistant.util.network import is_host_valid as is_host_valid
11
12
  from typing import Any
12
13
 
13
14
  DATA_SCHEMA: Incomplete
15
+ ZEROCONF_SCHEMA: Incomplete
14
16
  RECONFIGURE_SCHEMA: Incomplete
15
17
 
16
18
  async def validate_input(hass: HomeAssistant, user_input: dict[str, Any], expected_mac: str | None = None) -> tuple[str, str]: ...
17
19
 
18
20
  class BrotherConfigFlow(ConfigFlow, domain=DOMAIN):
19
21
  VERSION: int
22
+ MINOR_VERSION: int
20
23
  brother: Brother
21
24
  host: str | None
22
25
  def __init__(self) -> None: ...
@@ -4,3 +4,7 @@ from typing import Final
4
4
  DOMAIN: Final[str]
5
5
  PRINTER_TYPES: Final[Incomplete]
6
6
  UPDATE_INTERVAL: Incomplete
7
+ SECTION_ADVANCED_SETTINGS: str
8
+ CONF_COMMUNITY: str
9
+ DEFAULT_COMMUNITY: str
10
+ DEFAULT_PORT: int
@@ -5,7 +5,7 @@ from _typeshed import Incomplete
5
5
  from bthome_ble import SensorUpdate as SensorUpdate
6
6
  from homeassistant.components.bluetooth.passive_update_processor import PassiveBluetoothDataUpdate as PassiveBluetoothDataUpdate, PassiveBluetoothProcessorEntity as PassiveBluetoothProcessorEntity
7
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
- from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfConductivity as UnitOfConductivity, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
8
+ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfConductivity as UnitOfConductivity, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
11
  from homeassistant.helpers.sensor import sensor_device_info_to_hass_device_info as sensor_device_info_to_hass_device_info
@@ -3,7 +3,7 @@ import collections
3
3
  from .const import CAMERA_IMAGE_TIMEOUT as CAMERA_IMAGE_TIMEOUT, CAMERA_STREAM_SOURCE_TIMEOUT as CAMERA_STREAM_SOURCE_TIMEOUT, CONF_DURATION as CONF_DURATION, CONF_LOOKBACK as CONF_LOOKBACK, CameraState as CameraState, DATA_CAMERA_PREFS as DATA_CAMERA_PREFS, DATA_COMPONENT as DATA_COMPONENT, DOMAIN as DOMAIN, PREF_ORIENTATION as PREF_ORIENTATION, PREF_PRELOAD_STREAM as PREF_PRELOAD_STREAM, SERVICE_RECORD as SERVICE_RECORD, StreamType as StreamType
4
4
  from .helper import get_camera_from_entity_id as get_camera_from_entity_id
5
5
  from .img_util import scale_jpeg_camera_image as scale_jpeg_camera_image
6
- from .prefs import CameraPreferences as CameraPreferences, DynamicStreamSettings as DynamicStreamSettings
6
+ from .prefs import CameraPreferences as CameraPreferences, DynamicStreamSettings as DynamicStreamSettings, get_dynamic_camera_stream_settings as get_dynamic_camera_stream_settings
7
7
  from .webrtc import CameraWebRTCProvider as CameraWebRTCProvider, DATA_ICE_SERVERS as DATA_ICE_SERVERS, WebRTCAnswer as WebRTCAnswer, WebRTCCandidate as WebRTCCandidate, WebRTCClientConfiguration as WebRTCClientConfiguration, WebRTCError as WebRTCError, WebRTCMessage as WebRTCMessage, WebRTCSendMessage as WebRTCSendMessage, async_get_supported_provider as async_get_supported_provider, async_register_ice_servers as async_register_ice_servers, async_register_webrtc_provider as async_register_webrtc_provider, async_register_ws as async_register_ws
8
8
  from _typeshed import Incomplete
9
9
  from aiohttp import web
@@ -1,4 +1,4 @@
1
- from .const import DOMAIN as DOMAIN, PREF_ORIENTATION as PREF_ORIENTATION, PREF_PRELOAD_STREAM as PREF_PRELOAD_STREAM
1
+ from .const import DATA_CAMERA_PREFS as DATA_CAMERA_PREFS, DOMAIN as DOMAIN, PREF_ORIENTATION as PREF_ORIENTATION, PREF_PRELOAD_STREAM as PREF_PRELOAD_STREAM
2
2
  from _typeshed import Incomplete
3
3
  from dataclasses import dataclass
4
4
  from homeassistant.components.stream import Orientation as Orientation
@@ -25,3 +25,5 @@ class CameraPreferences:
25
25
  async def async_load(self) -> None: ...
26
26
  async def async_update(self, entity_id: str, *, preload_stream: bool | UndefinedType = ..., orientation: Orientation | UndefinedType = ...) -> dict[str, bool | Orientation]: ...
27
27
  async def get_dynamic_stream_settings(self, entity_id: str) -> DynamicStreamSettings: ...
28
+
29
+ async def get_dynamic_camera_stream_settings(hass: HomeAssistant, entity_id: str) -> DynamicStreamSettings: ...
@@ -17,6 +17,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
17
17
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
18
18
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
19
19
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
20
+ from homeassistant.loader import async_get_custom_components as async_get_custom_components, async_get_loaded_integration as async_get_loaded_integration
20
21
  from homeassistant.util.location import async_detect_location_info as async_detect_location_info
21
22
  from http import HTTPStatus
22
23
  from typing import Any, Concatenate
@@ -82,6 +83,7 @@ class CloudForgotPasswordView(HomeAssistantView):
82
83
  class DownloadSupportPackageView(HomeAssistantView):
83
84
  url: str
84
85
  name: str
86
+ async def _get_integration_info(self, hass: HomeAssistant) -> dict[str, Any]: ...
85
87
  async def _generate_markdown(self, hass: HomeAssistant, hass_info: dict[str, Any], domains_info: dict[str, dict[str, str]]) -> str: ...
86
88
  async def get(self, request: web.Request) -> web.Response: ...
87
89
 
@@ -9,7 +9,7 @@ from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
10
10
  from homeassistant.helpers import device_registry as dr
11
11
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
12
- from typing import TypeVar
12
+ from typing import Any, TypeVar
13
13
 
14
14
  type ComelitConfigEntry = ConfigEntry[ComelitBaseCoordinator]
15
15
  T = TypeVar('T', bound=dict[str, dict[int, ComelitSerialBridgeObject]] | AlarmDataObject)
@@ -25,6 +25,7 @@ class ComelitBaseCoordinator(DataUpdateCoordinator[T], metaclass=abc.ABCMeta):
25
25
  async def _async_update_data(self) -> T: ...
26
26
  @abstractmethod
27
27
  async def _async_update_system_data(self) -> T: ...
28
+ async def _async_remove_stale_devices(self, previous_list: dict[int, Any], current_list: dict[int, Any], dev_type: str) -> None: ...
28
29
 
29
30
  class ComelitSerialBridge(ComelitBaseCoordinator[dict[str, dict[int, ComelitSerialBridgeObject]]]):
30
31
  _hw_version: str
@@ -1,7 +1,7 @@
1
1
  from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge, ComelitVedoSystem as ComelitVedoSystem
2
2
  from .entity import ComelitBridgeBaseEntity as ComelitBridgeBaseEntity
3
3
  from _typeshed import Incomplete
4
- from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject, ComelitVedoZoneObject as ComelitVedoZoneObject
4
+ from aiocomelit.api import ComelitSerialBridgeObject as ComelitSerialBridgeObject, ComelitVedoZoneObject as ComelitVedoZoneObject
5
5
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
6
6
  from homeassistant.const import CONF_TYPE as CONF_TYPE, UnitOfPower as UnitOfPower
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -0,0 +1,11 @@
1
+ from .coordinator import CompitConfigEntry as CompitConfigEntry, CompitDataUpdateCoordinator as CompitDataUpdateCoordinator
2
+ from _typeshed import Incomplete
3
+ from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD, Platform as Platform
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
6
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
+
8
+ PLATFORMS: Incomplete
9
+
10
+ async def async_setup_entry(hass: HomeAssistant, entry: CompitConfigEntry) -> bool: ...
11
+ async def async_unload_entry(hass: HomeAssistant, entry: CompitConfigEntry) -> bool: ...
@@ -0,0 +1,63 @@
1
+ import logging
2
+ from .const import DOMAIN as DOMAIN, MANUFACTURER_NAME as MANUFACTURER_NAME
3
+ from .coordinator import CompitConfigEntry as CompitConfigEntry, CompitDataUpdateCoordinator as CompitDataUpdateCoordinator
4
+ from _typeshed import Incomplete
5
+ from compit_inext_api import Param as Param, Parameter as Parameter
6
+ from compit_inext_api.consts import CompitParameter
7
+ 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, FAN_OFF as FAN_OFF, HVACMode as HVACMode, PRESET_AWAY as PRESET_AWAY, PRESET_ECO as PRESET_ECO, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE
8
+ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
11
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
12
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
14
+ from propcache.api import cached_property
15
+ from typing import Any
16
+
17
+ _LOGGER: logging.Logger
18
+ CLIMATE_DEVICE_CLASS: int
19
+ PARALLEL_UPDATES: int
20
+ COMPIT_MODE_MAP: Incomplete
21
+ COMPIT_FANSPEED_MAP: Incomplete
22
+ COMPIT_PRESET_MAP: Incomplete
23
+ HVAC_MODE_TO_COMPIT_MODE: Incomplete
24
+ FAN_MODE_TO_COMPIT_FAN_MODE: Incomplete
25
+ PRESET_MODE_TO_COMPIT_PRESET_MODE: Incomplete
26
+
27
+ async def async_setup_entry(hass: HomeAssistant, entry: CompitConfigEntry, async_add_devices: AddConfigEntryEntitiesCallback) -> None: ...
28
+
29
+ class CompitClimate(CoordinatorEntity[CompitDataUpdateCoordinator], ClimateEntity):
30
+ _attr_temperature_unit: Incomplete
31
+ _attr_hvac_modes: Incomplete
32
+ _attr_name: Incomplete
33
+ _attr_has_entity_name: bool
34
+ _attr_supported_features: Incomplete
35
+ _attr_unique_id: Incomplete
36
+ _attr_device_info: Incomplete
37
+ parameters: Incomplete
38
+ device_id: Incomplete
39
+ available_presets: Parameter | None
40
+ available_fan_modes: Parameter | None
41
+ def __init__(self, coordinator: CompitDataUpdateCoordinator, device_id: int, parameters: dict[str, Parameter], device_name: str) -> None: ...
42
+ @property
43
+ def available(self) -> bool: ...
44
+ @property
45
+ def current_temperature(self) -> float | None: ...
46
+ @property
47
+ def target_temperature(self) -> float | None: ...
48
+ @cached_property
49
+ def preset_modes(self) -> list[str] | None: ...
50
+ @cached_property
51
+ def fan_modes(self) -> list[str] | None: ...
52
+ @property
53
+ def preset_mode(self) -> str | None: ...
54
+ @property
55
+ def fan_mode(self) -> str | None: ...
56
+ @property
57
+ def hvac_mode(self) -> HVACMode | None: ...
58
+ async def async_set_temperature(self, **kwargs: Any) -> None: ...
59
+ async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
60
+ async def async_set_preset_mode(self, preset_mode: str) -> None: ...
61
+ async def async_set_fan_mode(self, fan_mode: str) -> None: ...
62
+ async def set_parameter_value(self, parameter: CompitParameter, value: int) -> None: ...
63
+ def get_parameter_value(self, parameter: CompitParameter) -> Param | None: ...
@@ -0,0 +1,17 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from collections.abc import Mapping
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
5
+ from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD
6
+ from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
7
+ from typing import Any
8
+
9
+ _LOGGER: Incomplete
10
+ STEP_USER_DATA_SCHEMA: Incomplete
11
+ STEP_REAUTH_SCHEMA: Incomplete
12
+
13
+ class CompitConfigFlow(ConfigFlow, domain=DOMAIN):
14
+ VERSION: int
15
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
16
+ async def async_step_reauth(self, data: Mapping[str, Any]) -> ConfigFlowResult: ...
17
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,2 @@
1
+ DOMAIN: str
2
+ MANUFACTURER_NAME: str
@@ -0,0 +1,16 @@
1
+ import logging
2
+ from .const import DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from compit_inext_api import CompitApiConnector as CompitApiConnector, DeviceInstance
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
8
+
9
+ SCAN_INTERVAL: Incomplete
10
+ _LOGGER: logging.Logger
11
+ type CompitConfigEntry = ConfigEntry[CompitDataUpdateCoordinator]
12
+
13
+ class CompitDataUpdateCoordinator(DataUpdateCoordinator[dict[int, DeviceInstance]]):
14
+ connector: Incomplete
15
+ def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, connector: CompitApiConnector) -> None: ...
16
+ async def _async_update_data(self) -> dict[int, DeviceInstance]: ...
@@ -0,0 +1,5 @@
1
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from typing import Any
4
+
5
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,10 @@
1
+ from .coordinator import DropletConfigEntry as DropletConfigEntry, DropletDataCoordinator as DropletDataCoordinator
2
+ from _typeshed import Incomplete
3
+ from homeassistant.const import Platform as Platform
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+
6
+ PLATFORMS: list[Platform]
7
+ logger: Incomplete
8
+
9
+ async def async_setup_entry(hass: HomeAssistant, config_entry: DropletConfigEntry) -> bool: ...
10
+ async def async_unload_entry(hass: HomeAssistant, config_entry: DropletConfigEntry) -> bool: ...
@@ -0,0 +1,13 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
3
+ from homeassistant.const import CONF_CODE as CONF_CODE, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PORT as CONF_PORT
4
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
5
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
6
+ from pydroplet.droplet import DropletDiscovery
7
+ from typing import Any
8
+
9
+ class DropletConfigFlow(ConfigFlow, domain=DOMAIN):
10
+ _droplet_discovery: DropletDiscovery
11
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
12
+ async def async_step_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
13
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,7 @@
1
+ CONNECT_DELAY: int
2
+ DOMAIN: str
3
+ DEVICE_NAME: str
4
+ KEY_CURRENT_FLOW_RATE: str
5
+ KEY_VOLUME: str
6
+ KEY_SIGNAL_QUALITY: str
7
+ KEY_SERVER_CONNECTIVITY: str
@@ -0,0 +1,23 @@
1
+ from .const import CONNECT_DELAY as CONNECT_DELAY, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.const import CONF_CODE as CONF_CODE, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PORT as CONF_PORT
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
7
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
+
10
+ VERSION_TIMEOUT: int
11
+ _LOGGER: Incomplete
12
+ TIMEOUT: int
13
+ type DropletConfigEntry = ConfigEntry[DropletDataCoordinator]
14
+
15
+ class DropletDataCoordinator(DataUpdateCoordinator[None]):
16
+ config_entry: DropletConfigEntry
17
+ droplet: Incomplete
18
+ unique_id: Incomplete
19
+ def __init__(self, hass: HomeAssistant, entry: DropletConfigEntry) -> None: ...
20
+ async def _async_setup(self) -> None: ...
21
+ async def _async_update_data(self) -> None: ...
22
+ async def setup(self) -> bool: ...
23
+ def get_availability(self) -> bool: ...
@@ -0,0 +1,37 @@
1
+ from .const import DOMAIN as DOMAIN, KEY_CURRENT_FLOW_RATE as KEY_CURRENT_FLOW_RATE, KEY_SERVER_CONNECTIVITY as KEY_SERVER_CONNECTIVITY, KEY_SIGNAL_QUALITY as KEY_SIGNAL_QUALITY, KEY_VOLUME as KEY_VOLUME
2
+ from .coordinator import DropletConfigEntry as DropletConfigEntry, DropletDataCoordinator as DropletDataCoordinator
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from datetime import datetime
7
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
+ from homeassistant.const import EntityCategory as EntityCategory, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
11
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
13
+ from pydroplet.droplet import Droplet as Droplet
14
+
15
+ ML_L_CONVERSION: int
16
+
17
+ @dataclass(kw_only=True, frozen=True)
18
+ class DropletSensorEntityDescription(SensorEntityDescription):
19
+ value_fn: Callable[[Droplet], float | str | None]
20
+ last_reset_fn: Callable[[Droplet], datetime | None] = ...
21
+
22
+ SENSORS: list[DropletSensorEntityDescription]
23
+
24
+ async def async_setup_entry(hass: HomeAssistant, config_entry: DropletConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
25
+
26
+ class DropletSensor(CoordinatorEntity[DropletDataCoordinator], SensorEntity):
27
+ entity_description: DropletSensorEntityDescription
28
+ _attr_has_entity_name: bool
29
+ _attr_unique_id: Incomplete
30
+ _attr_device_info: Incomplete
31
+ def __init__(self, coordinator: DropletDataCoordinator, entity_description: DropletSensorEntityDescription) -> None: ...
32
+ @property
33
+ def available(self) -> bool: ...
34
+ @property
35
+ def native_value(self) -> float | str | None: ...
36
+ @property
37
+ def last_reset(self) -> datetime | None: ...
@@ -5,6 +5,7 @@ from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from deebot_client.capabilities import CapabilitySet
8
+ from deebot_client.device import Device as Device
8
9
  from deebot_client.events.base import Event as Event
9
10
  from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
10
11
  from homeassistant.const import DEGREE as DEGREE, EntityCategory as EntityCategory
@@ -22,7 +23,9 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: EcovacsConfigEntr
22
23
 
23
24
  class EcovacsNumberEntity[EventT: Event](EcovacsDescriptionEntity[CapabilitySet[EventT, [int]]], NumberEntity):
24
25
  entity_description: EcovacsNumberEntityDescription
25
- _attr_native_value: Incomplete
26
+ _attr_native_min_value: Incomplete
26
27
  _attr_native_max_value: Incomplete
28
+ def __init__(self, device: Device, capability: CapabilitySet[EventT, [int]], entity_description: EcovacsNumberEntityDescription) -> None: ...
29
+ _attr_native_value: Incomplete
27
30
  async def async_added_to_hass(self) -> None: ...
28
31
  async def async_set_native_value(self, value: float) -> None: ...
@@ -29,6 +29,7 @@ PORT_PROTOCOL_MAP: Incomplete
29
29
  async def validate_input(data: dict[str, str], mac: str | None) -> dict[str, str]: ...
30
30
  def _address_from_discovery(device: ElkSystem) -> str: ...
31
31
  def _make_url_from_data(data: dict[str, str]) -> str: ...
32
+ def _get_protocol_from_url(url: str) -> str: ...
32
33
  def _placeholders_from_device(device: ElkSystem) -> dict[str, str]: ...
33
34
 
34
35
  class Elkm1ConfigFlow(ConfigFlow, domain=DOMAIN):
@@ -42,6 +43,7 @@ class Elkm1ConfigFlow(ConfigFlow, domain=DOMAIN):
42
43
  async def _async_handle_discovery(self) -> ConfigFlowResult: ...
43
44
  def is_matching(self, other_flow: Self) -> bool: ...
44
45
  async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
46
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
45
47
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
46
48
  async def _async_create_or_error(self, user_input: dict[str, Any], importing: bool) -> tuple[dict[str, str] | None, ConfigFlowResult | None]: ...
47
49
  async def async_step_discovered_connection(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -2,13 +2,14 @@ from . import ElkM1ConfigEntry as ElkM1ConfigEntry
2
2
  from .const import ATTR_VALUE as ATTR_VALUE, ELK_USER_CODE_SERVICE_SCHEMA as ELK_USER_CODE_SERVICE_SCHEMA
3
3
  from .entity import ElkAttachedEntity as ElkAttachedEntity, ElkEntity as ElkEntity, create_elk_entities as create_elk_entities
4
4
  from _typeshed import Incomplete
5
+ from elkm1_lib.const import ZoneType
5
6
  from elkm1_lib.counters import Counter as Counter
6
7
  from elkm1_lib.elements import Element as Element
7
8
  from elkm1_lib.keypads import Keypad as Keypad
8
9
  from elkm1_lib.panel import Panel as Panel
9
10
  from elkm1_lib.settings import Setting as Setting
10
11
  from elkm1_lib.zones import Zone as Zone
11
- from homeassistant.components.sensor import SensorEntity as SensorEntity
12
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
12
13
  from homeassistant.const import EntityCategory as EntityCategory, UnitOfElectricPotential as UnitOfElectricPotential
13
14
  from homeassistant.core import HomeAssistant as HomeAssistant
14
15
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -22,6 +23,8 @@ SERVICE_SENSOR_COUNTER_SET: str
22
23
  SERVICE_SENSOR_ZONE_BYPASS: str
23
24
  SERVICE_SENSOR_ZONE_TRIGGER: str
24
25
  UNDEFINED_TEMPERATURE: int
26
+ _DEVICE_CLASS_MAP: dict[ZoneType, SensorDeviceClass]
27
+ _STATE_CLASS_MAP: dict[ZoneType, SensorStateClass]
25
28
  ELK_SET_COUNTER_SERVICE_SCHEMA: VolDictType
26
29
 
27
30
  async def async_setup_entry(hass: HomeAssistant, config_entry: ElkM1ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
@@ -78,6 +81,10 @@ class ElkZone(ElkSensor):
78
81
  @property
79
82
  def temperature_unit(self) -> str | None: ...
80
83
  @property
84
+ def device_class(self) -> SensorDeviceClass | None: ...
85
+ @property
86
+ def state_class(self) -> SensorStateClass | None: ...
87
+ @property
81
88
  def native_unit_of_measurement(self) -> str | None: ...
82
89
  _attr_native_value: Incomplete
83
90
  def _element_changed(self, element: Element, changeset: dict[str, Any]) -> None: ...
@@ -27,7 +27,7 @@ async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_ad
27
27
  @dataclass(slots=True)
28
28
  class SourceAdapter:
29
29
  source_type: Literal['grid', 'gas', 'water']
30
- flow_type: Literal['flow_from', 'flow_to', None]
30
+ flow_type: Literal['flow_from', 'flow_to'] | None
31
31
  stat_energy_key: Literal['stat_energy_from', 'stat_energy_to']
32
32
  total_money_key: Literal['stat_cost', 'stat_compensation']
33
33
  name_suffix: str
@@ -35,9 +35,13 @@ class EsphomeAssistSatellite(EsphomeAssistEntity, assist_satellite.AssistSatelli
35
35
  _tts_streaming_task: asyncio.Task | None
36
36
  _udp_server: VoiceAssistantUDPServer | None
37
37
  _satellite_config: Incomplete
38
+ _active_pipeline_index: int
38
39
  def __init__(self, entry: ESPHomeConfigEntry) -> None: ...
40
+ def _get_entity_id(self, suffix: str) -> str | None: ...
39
41
  @property
40
42
  def pipeline_entity_id(self) -> str | None: ...
43
+ def get_pipeline_entity(self, index: int) -> str | None: ...
44
+ def get_wake_word_entity(self, index: int) -> str | None: ...
41
45
  @property
42
46
  def vad_sensitivity_entity_id(self) -> str | None: ...
43
47
  @callback
@@ -60,7 +64,7 @@ class EsphomeAssistSatellite(EsphomeAssistEntity, assist_satellite.AssistSatelli
60
64
  def handle_timer_event(self, event_type: TimerEventType, timer_info: TimerInfo) -> None: ...
61
65
  async def handle_announcement_finished(self, announce_finished: VoiceAssistantAnnounceFinished) -> None: ...
62
66
  @callback
63
- def async_set_wake_word(self, wake_word_id: str) -> None: ...
67
+ def async_set_wake_words(self, wake_word_ids: list[str]) -> None: ...
64
68
  def _update_tts_format(self) -> None: ...
65
69
  async def _stream_tts_audio(self, tts_result: tts.ResultStream, sample_rate: int = 16000, sample_width: int = 2, sample_channels: int = 1, samples_per_chunk: int = 512) -> None: ...
66
70
  async def _wrap_audio_stream(self) -> AsyncIterable[bytes]: ...
@@ -1,3 +1,4 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from .entity import EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_float_state_property as esphome_float_state_property, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
2
3
  from .enum_mapper import EsphomeEnumMapper as EsphomeEnumMapper
3
4
  from _typeshed import Incomplete
@@ -5,6 +6,7 @@ from aioesphomeapi import ClimateAction, ClimateFanMode, ClimateInfo, ClimateMod
5
6
  from homeassistant.components.climate import ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_DIFFUSE as FAN_DIFFUSE, FAN_FOCUS as FAN_FOCUS, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_MIDDLE as FAN_MIDDLE, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_ACTIVITY as PRESET_ACTIVITY, PRESET_AWAY as PRESET_AWAY, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_HOME as PRESET_HOME, PRESET_NONE as PRESET_NONE, PRESET_SLEEP as PRESET_SLEEP, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_VERTICAL as SWING_VERTICAL
6
7
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_HALVES as PRECISION_HALVES, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, UnitOfTemperature as UnitOfTemperature
7
8
  from homeassistant.core import callback as callback
9
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
8
10
  from typing import Any
9
11
 
10
12
  PARALLEL_UPDATES: int
@@ -67,6 +67,8 @@ class EsphomeFlowHandler(ConfigFlow, domain=DOMAIN):
67
67
  def _async_create_entry(self) -> ConfigFlowResult: ...
68
68
  @callback
69
69
  def _async_make_config_data(self) -> dict[str, Any]: ...
70
+ @callback
71
+ def _async_abort_wrong_device(self, entry: ConfigEntry, expected_mac: str, actual_mac: str) -> ConfigFlowResult: ...
70
72
  async def _async_validated_connection(self) -> ConfigFlowResult: ...
71
73
  async def _async_reauth_validated_connection(self) -> ConfigFlowResult: ...
72
74
  async def _async_reconfig_validated_connection(self) -> ConfigFlowResult: ...
@@ -15,3 +15,4 @@ STABLE_BLE_VERSION: Incomplete
15
15
  PROJECT_URLS: Incomplete
16
16
  STABLE_BLE_URL_VERSION: Incomplete
17
17
  DEFAULT_URL: Incomplete
18
+ NO_WAKE_WORD: Final[str]
@@ -7,10 +7,13 @@ from bleak_esphome.backend.device import ESPHomeBluetoothDevice as ESPHomeBlueto
7
7
  from collections import defaultdict
8
8
  from collections.abc import Callable as Callable, Iterable
9
9
  from dataclasses import dataclass, field
10
+ from homeassistant import config_entries as config_entries
10
11
  from homeassistant.components.assist_satellite import AssistSatelliteConfiguration as AssistSatelliteConfiguration
11
12
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
12
13
  from homeassistant.const import Platform as Platform
13
14
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
15
+ from homeassistant.helpers import discovery_flow as discovery_flow
16
+ from homeassistant.helpers.service_info.esphome import ESPHomeServiceInfo as ESPHomeServiceInfo
14
17
  from homeassistant.helpers.storage import Store as Store
15
18
  from typing import Any, Final, TypedDict
16
19
 
@@ -64,7 +67,8 @@ class RuntimeEntryData:
64
67
  original_options: dict[str, Any] = field(default_factory=dict)
65
68
  media_player_formats: dict[str, list[MediaPlayerSupportedFormat]] = field(default_factory=Incomplete)
66
69
  assist_satellite_config_update_callbacks: list[Callable[[AssistSatelliteConfiguration], None]] = field(default_factory=list)
67
- assist_satellite_set_wake_word_callbacks: list[Callable[[str], None]] = field(default_factory=list)
70
+ assist_satellite_set_wake_words_callbacks: list[Callable[[list[str]], None]] = field(default_factory=list)
71
+ assist_satellite_wake_words: dict[int, str] = field(default_factory=dict)
68
72
  device_id_to_name: dict[int, str] = field(default_factory=dict)
69
73
  entity_removal_callbacks: dict[EntityInfoKey, list[CALLBACK_TYPE]] = field(default_factory=dict)
70
74
  @property
@@ -102,15 +106,15 @@ class RuntimeEntryData:
102
106
  @callback
103
107
  def async_on_disconnect(self) -> None: ...
104
108
  @callback
105
- def async_on_connect(self, device_info: DeviceInfo, api_version: APIVersion) -> None: ...
109
+ def async_on_connect(self, hass: HomeAssistant, device_info: DeviceInfo, api_version: APIVersion) -> None: ...
106
110
  @callback
107
111
  def async_register_assist_satellite_config_updated_callback(self, callback_: Callable[[AssistSatelliteConfiguration], None]) -> CALLBACK_TYPE: ...
108
112
  @callback
109
113
  def async_assist_satellite_config_updated(self, config: AssistSatelliteConfiguration) -> None: ...
110
114
  @callback
111
- def async_register_assist_satellite_set_wake_word_callback(self, callback_: Callable[[str], None]) -> CALLBACK_TYPE: ...
115
+ def async_register_assist_satellite_set_wake_words_callback(self, callback_: Callable[[list[str]], None]) -> CALLBACK_TYPE: ...
112
116
  @callback
113
- def async_assist_satellite_set_wake_word(self, wake_word_id: str) -> None: ...
117
+ def async_assist_satellite_set_wake_word(self, wake_word_index: int, wake_word_id: str | None) -> None: ...
114
118
  @callback
115
119
  def async_register_entity_removal_callback(self, info_type: type[EntityInfo], device_id: int, key: int, callback_: CALLBACK_TYPE) -> CALLBACK_TYPE: ...
116
120
  @callback
@@ -16,7 +16,7 @@ class EsphomeLock(EsphomeEntity[LockInfo, LockEntityState], LockEntity):
16
16
  def _on_static_info_update(self, static_info: EntityInfo) -> None: ...
17
17
  @property
18
18
  @esphome_state_property
19
- def is_locked(self) -> bool: ...
19
+ def is_locked(self) -> bool | None: ...
20
20
  @property
21
21
  @esphome_state_property
22
22
  def is_locking(self) -> bool: ...
@@ -1,4 +1,4 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from .const import DOMAIN as DOMAIN, NO_WAKE_WORD as NO_WAKE_WORD
2
2
  from .entity import EsphomeAssistEntity as EsphomeAssistEntity, EsphomeEntity as EsphomeEntity, convert_api_error_ha_error as convert_api_error_ha_error, esphome_state_property as esphome_state_property, platform_async_setup_entry as platform_async_setup_entry
3
3
  from .entry_data import ESPHomeConfigEntry as ESPHomeConfigEntry, RuntimeEntryData as RuntimeEntryData
4
4
  from _typeshed import Incomplete
@@ -26,7 +26,7 @@ class EsphomeSelect(EsphomeEntity[SelectInfo, SelectState], SelectEntity):
26
26
  async def async_select_option(self, option: str) -> None: ...
27
27
 
28
28
  class EsphomeAssistPipelineSelect(EsphomeAssistEntity, AssistPipelineSelect):
29
- def __init__(self, hass: HomeAssistant, entry_data: RuntimeEntryData) -> None: ...
29
+ def __init__(self, hass: HomeAssistant, entry_data: RuntimeEntryData, index: int = 0) -> None: ...
30
30
 
31
31
  class EsphomeVadSensitivitySelect(EsphomeAssistEntity, VadSensitivitySelect):
32
32
  def __init__(self, hass: HomeAssistant, entry_data: RuntimeEntryData) -> None: ...
@@ -37,7 +37,8 @@ class EsphomeAssistSatelliteWakeWordSelect(EsphomeAssistEntity, SelectEntity, re
37
37
  _attr_options: list[str]
38
38
  _attr_unique_id: Incomplete
39
39
  _wake_words: dict[str, str]
40
- def __init__(self, entry_data: RuntimeEntryData) -> None: ...
40
+ _wake_word_index: Incomplete
41
+ def __init__(self, entry_data: RuntimeEntryData, index: int = 0) -> None: ...
41
42
  @property
42
43
  def available(self) -> bool: ...
43
44
  async def async_added_to_hass(self) -> None: ...