homeassistant-stubs 2025.5.2__py3-none-any.whl → 2025.6.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.
Files changed (397) hide show
  1. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  2. homeassistant-stubs/components/amazon_devices/__init__.pyi +9 -0
  3. homeassistant-stubs/components/amazon_devices/binary_sensor.pyi +25 -0
  4. homeassistant-stubs/components/amazon_devices/config_flow.pyi +8 -0
  5. homeassistant-stubs/components/amazon_devices/const.pyi +5 -0
  6. homeassistant-stubs/components/amazon_devices/coordinator.pyi +17 -0
  7. homeassistant-stubs/components/amazon_devices/entity.pyi +19 -0
  8. homeassistant-stubs/components/amazon_devices/notify.pyi +25 -0
  9. homeassistant-stubs/components/amazon_devices/switch.pyi +30 -0
  10. homeassistant-stubs/components/apcupsd/config_flow.pyi +1 -0
  11. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +3 -1
  12. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  13. homeassistant-stubs/components/axis/entity.pyi +1 -0
  14. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  15. homeassistant-stubs/components/backup/coordinator.pyi +3 -0
  16. homeassistant-stubs/components/backup/entity.pyi +5 -2
  17. homeassistant-stubs/components/backup/event.pyi +23 -0
  18. homeassistant-stubs/components/backup/manager.pyi +22 -3
  19. homeassistant-stubs/components/backup/models.pyi +2 -2
  20. homeassistant-stubs/components/blue_current/button.pyi +25 -0
  21. homeassistant-stubs/components/blue_current/entity.pyi +3 -6
  22. homeassistant-stubs/components/bluesound/button.pyi +35 -0
  23. homeassistant-stubs/components/bluesound/media_player.pyi +1 -0
  24. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -1
  25. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -1
  26. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -1
  27. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +1 -1
  28. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -1
  29. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
  30. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -1
  31. homeassistant-stubs/components/bosch_alarm/__init__.pyi +8 -4
  32. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +3 -1
  33. homeassistant-stubs/components/bosch_alarm/binary_sensor.pyi +45 -0
  34. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +9 -3
  35. homeassistant-stubs/components/bosch_alarm/const.pyi +4 -1
  36. homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +1 -1
  37. homeassistant-stubs/components/bosch_alarm/entity.pyi +30 -1
  38. homeassistant-stubs/components/bosch_alarm/sensor.pyi +6 -2
  39. homeassistant-stubs/components/bosch_alarm/services.pyi +15 -0
  40. homeassistant-stubs/components/bosch_alarm/switch.pyi +43 -0
  41. homeassistant-stubs/components/bosch_alarm/types.pyi +4 -0
  42. homeassistant-stubs/components/bring/__init__.pyi +1 -1
  43. homeassistant-stubs/components/bring/coordinator.pyi +21 -3
  44. homeassistant-stubs/components/bring/entity.pyi +3 -3
  45. homeassistant-stubs/components/bring/event.pyi +3 -2
  46. homeassistant-stubs/components/bring/sensor.pyi +1 -0
  47. homeassistant-stubs/components/bring/todo.pyi +1 -0
  48. homeassistant-stubs/components/camera/__init__.pyi +2 -10
  49. homeassistant-stubs/components/camera/webrtc.pyi +1 -22
  50. homeassistant-stubs/components/climate/__init__.pyi +3 -13
  51. homeassistant-stubs/components/climate/const.pyi +0 -3
  52. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  53. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  54. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  55. homeassistant-stubs/components/cloud/client.pyi +2 -1
  56. homeassistant-stubs/components/cloud/const.pyi +0 -1
  57. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  58. homeassistant-stubs/components/cloud/http_api.pyi +0 -2
  59. homeassistant-stubs/components/comelit/climate.pyi +14 -5
  60. homeassistant-stubs/components/comelit/config_flow.pyi +3 -4
  61. homeassistant-stubs/components/comelit/const.pyi +3 -0
  62. homeassistant-stubs/components/comelit/cover.pyi +3 -1
  63. homeassistant-stubs/components/comelit/humidifier.pyi +6 -1
  64. homeassistant-stubs/components/comelit/light.pyi +2 -0
  65. homeassistant-stubs/components/comelit/switch.pyi +2 -0
  66. homeassistant-stubs/components/comelit/utils.pyi +11 -0
  67. homeassistant-stubs/components/command_line/notify.pyi +3 -1
  68. homeassistant-stubs/components/config/entity_registry.pyi +6 -0
  69. homeassistant-stubs/components/deconz/entity.pyi +1 -0
  70. homeassistant-stubs/components/deconz/hub/hub.pyi +1 -1
  71. homeassistant-stubs/components/deconz/light.pyi +1 -1
  72. homeassistant-stubs/components/demo/media_player.pyi +2 -1
  73. homeassistant-stubs/components/device_automation/trigger.pyi +5 -2
  74. homeassistant-stubs/components/devolo_home_network/__init__.pyi +3 -18
  75. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +1 -2
  76. homeassistant-stubs/components/devolo_home_network/button.pyi +1 -1
  77. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
  78. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +56 -6
  79. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
  80. homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +1 -1
  81. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -2
  82. homeassistant-stubs/components/devolo_home_network/image.pyi +1 -2
  83. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -2
  84. homeassistant-stubs/components/devolo_home_network/switch.pyi +1 -2
  85. homeassistant-stubs/components/devolo_home_network/update.pyi +1 -2
  86. homeassistant-stubs/components/dhcp/__init__.pyi +2 -0
  87. homeassistant-stubs/components/downloader/__init__.pyi +3 -4
  88. homeassistant-stubs/components/downloader/services.pyi +7 -0
  89. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
  90. homeassistant-stubs/components/ecovacs/button.pyi +2 -2
  91. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  92. homeassistant-stubs/components/ecovacs/select.pyi +1 -1
  93. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  94. homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
  95. homeassistant-stubs/components/ecovacs/util.pyi +1 -1
  96. homeassistant-stubs/components/eheimdigital/climate.pyi +4 -2
  97. homeassistant-stubs/components/eheimdigital/diagnostics.pyi +9 -0
  98. homeassistant-stubs/components/eheimdigital/entity.pyi +5 -0
  99. homeassistant-stubs/components/eheimdigital/light.pyi +3 -2
  100. homeassistant-stubs/components/eheimdigital/number.pyi +3 -1
  101. homeassistant-stubs/components/eheimdigital/select.pyi +34 -0
  102. homeassistant-stubs/components/eheimdigital/switch.pyi +3 -1
  103. homeassistant-stubs/components/eheimdigital/time.pyi +2 -1
  104. homeassistant-stubs/components/elkm1/climate.pyi +0 -6
  105. homeassistant-stubs/components/esphome/entity.pyi +1 -0
  106. homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
  107. homeassistant-stubs/components/esphome/light.pyi +4 -4
  108. homeassistant-stubs/components/esphome/update.pyi +8 -4
  109. homeassistant-stubs/components/feedreader/event.pyi +1 -2
  110. homeassistant-stubs/components/fritz/__init__.pyi +1 -1
  111. homeassistant-stubs/components/fritz/config_flow.pyi +2 -1
  112. homeassistant-stubs/components/fritz/const.pyi +2 -0
  113. homeassistant-stubs/components/fritz/coordinator.pyi +5 -3
  114. homeassistant-stubs/components/frontend/storage.pyi +25 -9
  115. homeassistant-stubs/components/fyta/image.pyi +18 -4
  116. homeassistant-stubs/components/geocaching/__init__.pyi +3 -5
  117. homeassistant-stubs/components/geocaching/coordinator.pyi +3 -2
  118. homeassistant-stubs/components/geocaching/sensor.pyi +2 -3
  119. homeassistant-stubs/components/google/__init__.pyi +7 -8
  120. homeassistant-stubs/components/google/api.pyi +2 -2
  121. homeassistant-stubs/components/google/calendar.pyi +5 -5
  122. homeassistant-stubs/components/google/config_flow.pyi +3 -2
  123. homeassistant-stubs/components/google/const.pyi +0 -2
  124. homeassistant-stubs/components/google/coordinator.pyi +5 -5
  125. homeassistant-stubs/components/google/diagnostics.pyi +2 -3
  126. homeassistant-stubs/components/google/store.pyi +9 -0
  127. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +5 -6
  128. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +3 -3
  129. homeassistant-stubs/components/google_assistant_sdk/const.pyi +0 -2
  130. homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +2 -2
  131. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +7 -1
  132. homeassistant-stubs/components/google_assistant_sdk/notify.pyi +1 -2
  133. homeassistant-stubs/components/greeneye_monitor/const.pyi +4 -1
  134. homeassistant-stubs/components/guardian/__init__.pyi +11 -18
  135. homeassistant-stubs/components/guardian/binary_sensor.pyi +5 -6
  136. homeassistant-stubs/components/guardian/button.pyi +4 -5
  137. homeassistant-stubs/components/guardian/coordinator.pyi +3 -3
  138. homeassistant-stubs/components/guardian/diagnostics.pyi +3 -4
  139. homeassistant-stubs/components/guardian/entity.pyi +3 -3
  140. homeassistant-stubs/components/guardian/sensor.pyi +3 -4
  141. homeassistant-stubs/components/guardian/services.pyi +28 -0
  142. homeassistant-stubs/components/guardian/switch.pyi +4 -5
  143. homeassistant-stubs/components/guardian/util.pyi +2 -2
  144. homeassistant-stubs/components/guardian/valve.pyi +4 -5
  145. homeassistant-stubs/components/habitica/const.pyi +1 -6
  146. homeassistant-stubs/components/habitica/coordinator.pyi +2 -2
  147. homeassistant-stubs/components/habitica/sensor.pyi +3 -1
  148. homeassistant-stubs/components/habitica/services.pyi +2 -4
  149. homeassistant-stubs/components/habitica/util.pyi +2 -0
  150. homeassistant-stubs/components/hardware/__init__.pyi +3 -1
  151. homeassistant-stubs/components/hardware/const.pyi +4 -0
  152. homeassistant-stubs/components/hardware/hardware.pyi +1 -1
  153. homeassistant-stubs/components/hardware/models.pyi +14 -1
  154. homeassistant-stubs/components/hardware/websocket_api.pyi +2 -12
  155. homeassistant-stubs/components/heos/media_player.pyi +1 -0
  156. homeassistant-stubs/components/here_travel_time/__init__.pyi +4 -5
  157. homeassistant-stubs/components/here_travel_time/coordinator.pyi +5 -4
  158. homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
  159. homeassistant-stubs/components/history_stats/config_flow.pyi +1 -1
  160. homeassistant-stubs/components/history_stats/data.pyi +2 -0
  161. homeassistant-stubs/components/home_connect/config_flow.pyi +2 -0
  162. homeassistant-stubs/components/home_connect/diagnostics.pyi +1 -2
  163. homeassistant-stubs/components/home_connect/entity.pyi +0 -1
  164. homeassistant-stubs/components/home_connect/light.pyi +2 -2
  165. homeassistant-stubs/components/home_connect/number.pyi +1 -0
  166. homeassistant-stubs/components/home_connect/sensor.pyi +4 -5
  167. homeassistant-stubs/components/home_connect/switch.pyi +1 -19
  168. homeassistant-stubs/components/homeassistant/__init__.pyi +4 -0
  169. homeassistant-stubs/components/homee/alarm_control_panel.pyi +39 -0
  170. homeassistant-stubs/components/homee/const.pyi +2 -0
  171. homeassistant-stubs/components/homee/event.pyi +19 -0
  172. homeassistant-stubs/components/homee/fan.pyi +38 -0
  173. homeassistant-stubs/components/homee/sensor.pyi +5 -1
  174. homeassistant-stubs/components/homekit/const.pyi +1 -0
  175. homeassistant-stubs/components/homekit/util.pyi +1 -1
  176. homeassistant-stubs/components/homeworks/__init__.pyi +5 -5
  177. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -3
  178. homeassistant-stubs/components/homeworks/button.pyi +2 -3
  179. homeassistant-stubs/components/homeworks/light.pyi +2 -3
  180. homeassistant-stubs/components/http/decorators.pyi +1 -1
  181. homeassistant-stubs/components/huawei_lte/__init__.pyi +0 -1
  182. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +0 -7
  183. homeassistant-stubs/components/hydrawise/__init__.pyi +4 -5
  184. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +3 -4
  185. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -3
  186. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
  187. homeassistant-stubs/components/hydrawise/switch.pyi +3 -4
  188. homeassistant-stubs/components/hydrawise/valve.pyi +2 -4
  189. homeassistant-stubs/components/immich/__init__.pyi +10 -0
  190. homeassistant-stubs/components/immich/config_flow.pyi +27 -0
  191. homeassistant-stubs/components/immich/const.pyi +4 -0
  192. homeassistant-stubs/components/immich/coordinator.pyi +27 -0
  193. homeassistant-stubs/components/immich/diagnostics.pyi +10 -0
  194. homeassistant-stubs/components/immich/entity.pyi +10 -0
  195. homeassistant-stubs/components/immich/media_source.pyi +37 -0
  196. homeassistant-stubs/components/immich/sensor.pyi +28 -0
  197. homeassistant-stubs/components/iqvia/__init__.pyi +4 -7
  198. homeassistant-stubs/components/iqvia/coordinator.pyi +16 -0
  199. homeassistant-stubs/components/iqvia/diagnostics.pyi +3 -4
  200. homeassistant-stubs/components/iqvia/entity.pyi +5 -6
  201. homeassistant-stubs/components/iqvia/sensor.pyi +3 -3
  202. homeassistant-stubs/components/isy994/__init__.pyi +6 -7
  203. homeassistant-stubs/components/isy994/binary_sensor.pyi +3 -4
  204. homeassistant-stubs/components/isy994/button.pyi +2 -3
  205. homeassistant-stubs/components/isy994/climate.pyi +3 -4
  206. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  207. homeassistant-stubs/components/isy994/cover.pyi +3 -5
  208. homeassistant-stubs/components/isy994/fan.pyi +3 -5
  209. homeassistant-stubs/components/isy994/light.pyi +3 -4
  210. homeassistant-stubs/components/isy994/lock.pyi +2 -5
  211. homeassistant-stubs/components/isy994/models.pyi +2 -0
  212. homeassistant-stubs/components/isy994/number.pyi +3 -4
  213. homeassistant-stubs/components/isy994/select.pyi +3 -4
  214. homeassistant-stubs/components/isy994/sensor.pyi +3 -4
  215. homeassistant-stubs/components/isy994/services.pyi +1 -1
  216. homeassistant-stubs/components/isy994/switch.pyi +2 -4
  217. homeassistant-stubs/components/isy994/system_health.pyi +1 -3
  218. homeassistant-stubs/components/isy994/util.pyi +3 -2
  219. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +3 -2
  220. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -2
  221. homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
  222. homeassistant-stubs/components/jewish_calendar/diagnostics.pyi +11 -0
  223. homeassistant-stubs/components/jewish_calendar/entity.pyi +12 -5
  224. homeassistant-stubs/components/jewish_calendar/sensor.pyi +35 -15
  225. homeassistant-stubs/components/jewish_calendar/service.pyi +1 -0
  226. homeassistant-stubs/components/kaleidescape/entity.pyi +1 -0
  227. homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
  228. homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
  229. homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -0
  230. homeassistant-stubs/components/knocki/config_flow.pyi +2 -0
  231. homeassistant-stubs/components/knx/const.pyi +7 -0
  232. homeassistant-stubs/components/knx/cover.pyi +20 -9
  233. homeassistant-stubs/components/knx/schema.pyi +1 -6
  234. homeassistant-stubs/components/knx/storage/const.pyi +6 -0
  235. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -3
  236. homeassistant-stubs/components/lcn/config_flow.pyi +0 -2
  237. homeassistant-stubs/components/lcn/const.pyi +3 -1
  238. homeassistant-stubs/components/lcn/cover.pyi +7 -2
  239. homeassistant-stubs/components/lcn/entity.pyi +1 -0
  240. homeassistant-stubs/components/lcn/helpers.pyi +0 -1
  241. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  242. homeassistant-stubs/components/lcn/services.pyi +2 -3
  243. homeassistant-stubs/components/litterrobot/entity.pyi +1 -1
  244. homeassistant-stubs/components/matter/select.pyi +2 -0
  245. homeassistant-stubs/components/matter/sensor.pyi +3 -1
  246. homeassistant-stubs/components/media_player/intent.pyi +11 -1
  247. homeassistant-stubs/components/metoffice/__init__.pyi +3 -5
  248. homeassistant-stubs/components/metoffice/config_flow.pyi +4 -2
  249. homeassistant-stubs/components/metoffice/const.pyi +7 -6
  250. homeassistant-stubs/components/metoffice/helpers.pyi +5 -6
  251. homeassistant-stubs/components/metoffice/sensor.pyi +15 -13
  252. homeassistant-stubs/components/metoffice/weather.pyi +23 -11
  253. homeassistant-stubs/components/miele/__init__.pyi +15 -0
  254. homeassistant-stubs/components/miele/api.pyi +9 -0
  255. homeassistant-stubs/components/miele/application_credentials.pyi +5 -0
  256. homeassistant-stubs/components/miele/binary_sensor.pyi +34 -0
  257. homeassistant-stubs/components/miele/button.pyi +32 -0
  258. homeassistant-stubs/components/miele/climate.pyi +55 -0
  259. homeassistant-stubs/components/miele/config_flow.pyi +17 -0
  260. homeassistant-stubs/components/miele/const.pyi +127 -0
  261. homeassistant-stubs/components/miele/coordinator.pyi +29 -0
  262. homeassistant-stubs/components/miele/diagnostics.pyi +13 -0
  263. homeassistant-stubs/components/miele/entity.pyi +24 -0
  264. homeassistant-stubs/components/miele/fan.pyi +39 -0
  265. homeassistant-stubs/components/miele/light.pyi +39 -0
  266. homeassistant-stubs/components/miele/sensor.pyi +72 -0
  267. homeassistant-stubs/components/miele/switch.pyi +52 -0
  268. homeassistant-stubs/components/miele/vacuum.pyi +84 -0
  269. homeassistant-stubs/components/minecraft_server/api.pyi +1 -1
  270. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  271. homeassistant-stubs/components/modbus/const.pyi +9 -0
  272. homeassistant-stubs/components/modbus/light.pyi +24 -1
  273. homeassistant-stubs/components/modbus/sensor.pyi +5 -3
  274. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -2
  275. homeassistant-stubs/components/mqtt/button.pyi +1 -3
  276. homeassistant-stubs/components/mqtt/config_flow.pyi +25 -8
  277. homeassistant-stubs/components/mqtt/const.pyi +57 -0
  278. homeassistant-stubs/components/mqtt/cover.pyi +1 -25
  279. homeassistant-stubs/components/mqtt/fan.pyi +1 -31
  280. homeassistant-stubs/components/mqtt/switch.pyi +1 -5
  281. homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
  282. homeassistant-stubs/components/nest/config_flow.pyi +2 -0
  283. homeassistant-stubs/components/number/const.pyi +3 -2
  284. homeassistant-stubs/components/nut/__init__.pyi +1 -1
  285. homeassistant-stubs/components/openai_conversation/conversation.pyi +2 -0
  286. homeassistant-stubs/components/otbr/util.pyi +1 -3
  287. homeassistant-stubs/components/pandora/media_player.pyi +12 -13
  288. homeassistant-stubs/components/paperless_ngx/__init__.pyi +13 -0
  289. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +16 -0
  290. homeassistant-stubs/components/paperless_ngx/const.pyi +4 -0
  291. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +39 -0
  292. homeassistant-stubs/components/{rtsp_to_webrtc → paperless_ngx}/diagnostics.pyi +2 -2
  293. homeassistant-stubs/components/paperless_ngx/entity.pyi +16 -0
  294. homeassistant-stubs/components/paperless_ngx/sensor.pyi +27 -0
  295. homeassistant-stubs/components/plugwise/coordinator.pyi +2 -2
  296. homeassistant-stubs/components/qbus/climate.pyi +1 -0
  297. homeassistant-stubs/components/qbus/entity.pyi +3 -3
  298. homeassistant-stubs/components/qbus/light.pyi +1 -0
  299. homeassistant-stubs/components/qbus/scene.pyi +21 -0
  300. homeassistant-stubs/components/qbus/switch.pyi +1 -0
  301. homeassistant-stubs/components/recorder/services.pyi +7 -1
  302. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  303. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  304. homeassistant-stubs/components/reolink/media_source.pyi +2 -1
  305. homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
  306. homeassistant-stubs/components/samsungtv/__init__.pyi +5 -5
  307. homeassistant-stubs/components/samsungtv/bridge.pyi +2 -1
  308. homeassistant-stubs/components/samsungtv/config_flow.pyi +4 -4
  309. homeassistant-stubs/components/samsungtv/entity.pyi +1 -1
  310. homeassistant-stubs/components/samsungtv/media_player.pyi +2 -1
  311. homeassistant-stubs/components/sensor/__init__.pyi +1 -0
  312. homeassistant-stubs/components/sensor/const.pyi +5 -2
  313. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  314. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  315. homeassistant-stubs/components/shelly/binary_sensor.pyi +3 -2
  316. homeassistant-stubs/components/shelly/button.pyi +5 -4
  317. homeassistant-stubs/components/shelly/climate.pyi +5 -5
  318. homeassistant-stubs/components/shelly/const.pyi +2 -0
  319. homeassistant-stubs/components/shelly/cover.pyi +2 -0
  320. homeassistant-stubs/components/shelly/entity.pyi +4 -2
  321. homeassistant-stubs/components/shelly/event.pyi +4 -2
  322. homeassistant-stubs/components/shelly/light.pyi +2 -0
  323. homeassistant-stubs/components/shelly/number.pyi +3 -2
  324. homeassistant-stubs/components/shelly/select.pyi +2 -0
  325. homeassistant-stubs/components/shelly/sensor.pyi +9 -2
  326. homeassistant-stubs/components/shelly/switch.pyi +2 -2
  327. homeassistant-stubs/components/shelly/text.pyi +2 -0
  328. homeassistant-stubs/components/shelly/update.pyi +1 -0
  329. homeassistant-stubs/components/shelly/utils.pyi +12 -7
  330. homeassistant-stubs/components/shelly/valve.pyi +2 -0
  331. homeassistant-stubs/components/smlight/button.pyi +3 -2
  332. homeassistant-stubs/components/squeezebox/__init__.pyi +1 -1
  333. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +1 -0
  334. homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
  335. homeassistant-stubs/components/squeezebox/button.pyi +3 -0
  336. homeassistant-stubs/components/squeezebox/const.pyi +12 -2
  337. homeassistant-stubs/components/squeezebox/coordinator.pyi +7 -3
  338. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -1
  339. homeassistant-stubs/components/squeezebox/sensor.pyi +1 -0
  340. homeassistant-stubs/components/squeezebox/switch.pyi +47 -0
  341. homeassistant-stubs/components/squeezebox/update.pyi +50 -0
  342. homeassistant-stubs/components/suez_water/coordinator.pyi +19 -4
  343. homeassistant-stubs/components/suez_water/sensor.pyi +2 -0
  344. homeassistant-stubs/components/sun/condition.pyi +13 -0
  345. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +15 -9
  346. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +29 -0
  347. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +6 -1
  348. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  349. homeassistant-stubs/components/tibber/notify.pyi +2 -2
  350. homeassistant-stubs/components/tibber/sensor.pyi +1 -1
  351. homeassistant-stubs/components/tts/__init__.pyi +4 -1
  352. homeassistant-stubs/components/tts/const.pyi +1 -0
  353. homeassistant-stubs/components/tts/entity.pyi +4 -0
  354. homeassistant-stubs/components/tts/legacy.pyi +3 -1
  355. homeassistant-stubs/components/tts/media_source.pyi +5 -2
  356. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  357. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  358. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -0
  359. homeassistant-stubs/components/unifi/services.pyi +1 -0
  360. homeassistant-stubs/components/uptimerobot/coordinator.pyi +0 -1
  361. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -1
  362. homeassistant-stubs/components/wallbox/const.pyi +10 -0
  363. homeassistant-stubs/components/wallbox/coordinator.pyi +4 -1
  364. homeassistant-stubs/components/wallbox/select.pyi +29 -0
  365. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  366. homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
  367. homeassistant-stubs/components/wemo/light.pyi +1 -0
  368. homeassistant-stubs/components/whois/const.pyi +1 -0
  369. homeassistant-stubs/components/whois/sensor.pyi +2 -1
  370. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  371. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -2
  372. homeassistant-stubs/components/zwave_js/api.pyi +1 -2
  373. homeassistant-stubs/components/zwave_js/config_flow.pyi +8 -3
  374. homeassistant-stubs/components/zwave_js/const.pyi +1 -1
  375. homeassistant-stubs/config_entries.pyi +0 -1
  376. homeassistant-stubs/const.pyi +5 -0
  377. homeassistant-stubs/core_config.pyi +0 -2
  378. homeassistant-stubs/helpers/condition.pyi +1 -6
  379. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +10 -0
  380. homeassistant-stubs/helpers/config_validation.pyi +7 -2
  381. homeassistant-stubs/helpers/device_registry.pyi +4 -4
  382. homeassistant-stubs/helpers/entity_component.pyi +5 -2
  383. homeassistant-stubs/helpers/entity_platform.pyi +4 -1
  384. homeassistant-stubs/helpers/entity_registry.pyi +7 -6
  385. homeassistant-stubs/helpers/selector.pyi +55 -50
  386. homeassistant-stubs/helpers/service.pyi +3 -3
  387. homeassistant-stubs/helpers/template.pyi +4 -1
  388. homeassistant-stubs/scripts/check_config.pyi +1 -1
  389. homeassistant-stubs/util/aiohttp.pyi +5 -0
  390. homeassistant-stubs/util/unit_conversion.pyi +11 -1
  391. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/METADATA +2 -2
  392. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/RECORD +394 -337
  393. homeassistant-stubs/components/metoffice/data.pyi +0 -10
  394. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +0 -19
  395. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -24
  396. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/WHEEL +0 -0
  397. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,9 +1,11 @@
1
1
  from .const import CONF_INSTALLER_CODE as CONF_INSTALLER_CODE, CONF_USER_CODE as CONF_USER_CODE, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE, SOURCE_USER as SOURCE_USER
5
- from homeassistant.const import CONF_CODE as CONF_CODE, CONF_HOST as CONF_HOST, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT
6
- from typing import Any
4
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_DHCP as SOURCE_DHCP, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE, SOURCE_USER as SOURCE_USER
5
+ from homeassistant.const import CONF_CODE as CONF_CODE, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT
6
+ from homeassistant.helpers.device_registry import format_mac as format_mac
7
+ from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
8
+ from typing import Any, Self
7
9
 
8
10
  _LOGGER: Incomplete
9
11
  STEP_USER_DATA_SCHEMA: Incomplete
@@ -16,8 +18,12 @@ async def try_connect(data: dict[str, Any], load_selector: int = 0) -> tuple[str
16
18
 
17
19
  class BoschAlarmConfigFlow(ConfigFlow, domain=DOMAIN):
18
20
  _data: dict[str, Any]
21
+ mac: str | None
22
+ host: str | None
19
23
  def __init__(self) -> None: ...
24
+ def is_matching(self, other_flow: Self) -> bool: ...
20
25
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
+ async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
21
27
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
22
28
  async def async_step_auth(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
29
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
@@ -1,4 +1,7 @@
1
1
  DOMAIN: str
2
- HISTORY_ATTR: str
2
+ ATTR_HISTORY: str
3
3
  CONF_INSTALLER_CODE: str
4
4
  CONF_USER_CODE: str
5
+ ATTR_DATETIME: str
6
+ SERVICE_SET_DATE_TIME: str
7
+ ATTR_CONFIG_ENTRY_ID: str
@@ -1,5 +1,5 @@
1
- from . import BoschAlarmConfigEntry as BoschAlarmConfigEntry
2
1
  from .const import CONF_INSTALLER_CODE as CONF_INSTALLER_CODE, CONF_USER_CODE as CONF_USER_CODE
2
+ from .types import BoschAlarmConfigEntry as BoschAlarmConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
5
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD
@@ -9,8 +9,10 @@ PARALLEL_UPDATES: int
9
9
  class BoschAlarmEntity(Entity):
10
10
  _attr_has_entity_name: bool
11
11
  panel: Incomplete
12
+ _observe_faults: Incomplete
13
+ _attr_should_poll: bool
12
14
  _attr_device_info: Incomplete
13
- def __init__(self, panel: Panel, unique_id: str) -> None: ...
15
+ def __init__(self, panel: Panel, unique_id: str, observe_faults: bool = False) -> None: ...
14
16
  @property
15
17
  def available(self) -> bool: ...
16
18
  async def async_added_to_hass(self) -> None: ...
@@ -27,3 +29,30 @@ class BoschAlarmAreaEntity(BoschAlarmEntity):
27
29
  def __init__(self, panel: Panel, area_id: int, unique_id: str, observe_alarms: bool, observe_ready: bool, observe_status: bool) -> None: ...
28
30
  async def async_added_to_hass(self) -> None: ...
29
31
  async def async_will_remove_from_hass(self) -> None: ...
32
+
33
+ class BoschAlarmPointEntity(BoschAlarmEntity):
34
+ _point_id: Incomplete
35
+ _point_unique_id: Incomplete
36
+ _point: Incomplete
37
+ _attr_device_info: Incomplete
38
+ def __init__(self, panel: Panel, point_id: int, unique_id: str) -> None: ...
39
+ async def async_added_to_hass(self) -> None: ...
40
+ async def async_will_remove_from_hass(self) -> None: ...
41
+
42
+ class BoschAlarmDoorEntity(BoschAlarmEntity):
43
+ _door_id: Incomplete
44
+ _door: Incomplete
45
+ _door_unique_id: Incomplete
46
+ _attr_device_info: Incomplete
47
+ def __init__(self, panel: Panel, door_id: int, unique_id: str) -> None: ...
48
+ async def async_added_to_hass(self) -> None: ...
49
+ async def async_will_remove_from_hass(self) -> None: ...
50
+
51
+ class BoschAlarmOutputEntity(BoschAlarmEntity):
52
+ _output_id: Incomplete
53
+ _output: Incomplete
54
+ _output_unique_id: Incomplete
55
+ _attr_device_info: Incomplete
56
+ def __init__(self, panel: Panel, output_id: int, unique_id: str) -> None: ...
57
+ async def async_added_to_hass(self) -> None: ...
58
+ async def async_will_remove_from_hass(self) -> None: ...
@@ -9,13 +9,17 @@ from homeassistant.components.sensor import SensorEntity as SensorEntity, Sensor
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
11
 
12
+ ALARM_TYPES: Incomplete
13
+
12
14
  @dataclass(kw_only=True, frozen=True)
13
15
  class BoschAlarmSensorEntityDescription(SensorEntityDescription):
14
- value_fn: Callable[[Area], int]
16
+ value_fn: Callable[[Area], str | int]
15
17
  observe_alarms: bool = ...
16
18
  observe_ready: bool = ...
17
19
  observe_status: bool = ...
18
20
 
21
+ def priority_value_fn(priority_info: dict[int, str]) -> Callable[[Area], str]: ...
22
+
19
23
  SENSOR_TYPES: list[BoschAlarmSensorEntityDescription]
20
24
 
21
25
  async def async_setup_entry(hass: HomeAssistant, config_entry: BoschAlarmConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
@@ -27,4 +31,4 @@ class BoschAreaSensor(BoschAlarmAreaEntity, SensorEntity):
27
31
  _attr_unique_id: Incomplete
28
32
  def __init__(self, panel: Panel, area_id: int, unique_id: str, entity_description: BoschAlarmSensorEntityDescription) -> None: ...
29
33
  @property
30
- def native_value(self) -> int: ...
34
+ def native_value(self) -> str | int: ...
@@ -0,0 +1,15 @@
1
+ import datetime as dt
2
+ from .const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, ATTR_DATETIME as ATTR_DATETIME, DOMAIN as DOMAIN, SERVICE_SET_DATE_TIME as SERVICE_SET_DATE_TIME
3
+ from .types import BoschAlarmConfigEntry as BoschAlarmConfigEntry
4
+ from _typeshed import Incomplete
5
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
7
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
8
+ from typing import Any
9
+
10
+ def validate_datetime(value: Any) -> dt.datetime: ...
11
+
12
+ SET_DATE_TIME_SCHEMA: Incomplete
13
+
14
+ async def async_set_panel_date(call: ServiceCall) -> None: ...
15
+ def setup_services(hass: HomeAssistant) -> None: ...
@@ -0,0 +1,43 @@
1
+ from . import BoschAlarmConfigEntry as BoschAlarmConfigEntry
2
+ from .const import DOMAIN as DOMAIN
3
+ from .entity import BoschAlarmDoorEntity as BoschAlarmDoorEntity, BoschAlarmOutputEntity as BoschAlarmOutputEntity
4
+ from _typeshed import Incomplete
5
+ from bosch_alarm_mode2 import Panel as Panel
6
+ from bosch_alarm_mode2.panel import Door as Door
7
+ from collections.abc import Callable as Callable, Coroutine
8
+ from dataclasses import dataclass
9
+ from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
+ from typing import Any
14
+
15
+ @dataclass(kw_only=True, frozen=True)
16
+ class BoschAlarmSwitchEntityDescription(SwitchEntityDescription):
17
+ value_fn: Callable[[Door], bool]
18
+ on_fn: Callable[[Panel, int], Coroutine[Any, Any, None]]
19
+ off_fn: Callable[[Panel, int], Coroutine[Any, Any, None]]
20
+
21
+ DOOR_SWITCH_TYPES: list[BoschAlarmSwitchEntityDescription]
22
+
23
+ async def async_setup_entry(hass: HomeAssistant, config_entry: BoschAlarmConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
24
+
25
+ PARALLEL_UPDATES: int
26
+
27
+ class PanelDoorEntity(BoschAlarmDoorEntity, SwitchEntity):
28
+ entity_description: BoschAlarmSwitchEntityDescription
29
+ _attr_unique_id: Incomplete
30
+ def __init__(self, panel: Panel, door_id: int, unique_id: str, entity_description: BoschAlarmSwitchEntityDescription) -> None: ...
31
+ @property
32
+ def is_on(self) -> bool: ...
33
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
34
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
35
+
36
+ class PanelOutputEntity(BoschAlarmOutputEntity, SwitchEntity):
37
+ _attr_name: Incomplete
38
+ _attr_unique_id: Incomplete
39
+ def __init__(self, panel: Panel, output_id: int, unique_id: str) -> None: ...
40
+ @property
41
+ def is_on(self) -> bool: ...
42
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
43
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -0,0 +1,4 @@
1
+ from bosch_alarm_mode2 import Panel
2
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
+
4
+ type BoschAlarmConfigEntry = ConfigEntry[Panel]
@@ -1,4 +1,4 @@
1
- from .coordinator import BringConfigEntry as BringConfigEntry, BringDataUpdateCoordinator as BringDataUpdateCoordinator
1
+ from .coordinator import BringActivityCoordinator as BringActivityCoordinator, BringConfigEntry as BringConfigEntry, BringCoordinators as BringCoordinators, BringDataUpdateCoordinator as BringDataUpdateCoordinator
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import CONF_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD, Platform as Platform
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -10,22 +10,40 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
10
10
  from mashumaro.mixins.orjson import DataClassORJSONMixin
11
11
 
12
12
  _LOGGER: Incomplete
13
- type BringConfigEntry = ConfigEntry[BringDataUpdateCoordinator]
13
+ type BringConfigEntry = ConfigEntry[BringCoordinators]
14
+
15
+ @dataclass
16
+ class BringCoordinators:
17
+ data: BringDataUpdateCoordinator
18
+ activity: BringActivityCoordinator
14
19
 
15
20
  @dataclass(frozen=True)
16
21
  class BringData(DataClassORJSONMixin):
17
22
  lst: BringList
18
23
  content: BringItemsResponse
24
+
25
+ @dataclass(frozen=True)
26
+ class BringActivityData(DataClassORJSONMixin):
19
27
  activity: BringActivityResponse
20
28
  users: BringUsersResponse
21
29
 
22
- class BringDataUpdateCoordinator(DataUpdateCoordinator[dict[str, BringData]]):
30
+ class BringBaseCoordinator[_DataT](DataUpdateCoordinator[_DataT]):
23
31
  config_entry: BringConfigEntry
24
- user_settings: BringUserSettingsResponse
25
32
  lists: list[BringList]
33
+
34
+ class BringDataUpdateCoordinator(BringBaseCoordinator[dict[str, BringData]]):
35
+ user_settings: BringUserSettingsResponse
26
36
  bring: Incomplete
27
37
  previous_lists: set[str]
28
38
  def __init__(self, hass: HomeAssistant, config_entry: BringConfigEntry, bring: Bring) -> None: ...
39
+ lists: Incomplete
29
40
  async def _async_update_data(self) -> dict[str, BringData]: ...
30
41
  async def _async_setup(self) -> None: ...
31
42
  def _purge_deleted_lists(self) -> None: ...
43
+
44
+ class BringActivityCoordinator(BringBaseCoordinator[dict[str, BringActivityData]]):
45
+ user_settings: BringUserSettingsResponse
46
+ coordinator: Incomplete
47
+ lists: Incomplete
48
+ def __init__(self, hass: HomeAssistant, config_entry: BringConfigEntry, coordinator: BringDataUpdateCoordinator) -> None: ...
49
+ async def _async_update_data(self) -> dict[str, BringActivityData]: ...
@@ -1,12 +1,12 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .coordinator import BringDataUpdateCoordinator as BringDataUpdateCoordinator
2
+ from .coordinator import BringBaseCoordinator as BringBaseCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from bring_api import BringList as BringList
5
5
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
6
6
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
7
 
8
- class BringBaseEntity(CoordinatorEntity[BringDataUpdateCoordinator]):
8
+ class BringBaseEntity(CoordinatorEntity[BringBaseCoordinator]):
9
9
  _attr_has_entity_name: bool
10
10
  _list_uuid: Incomplete
11
11
  device_info: Incomplete
12
- def __init__(self, coordinator: BringDataUpdateCoordinator, bring_list: BringList) -> None: ...
12
+ def __init__(self, coordinator: BringBaseCoordinator, bring_list: BringList) -> None: ...
@@ -1,5 +1,5 @@
1
1
  from . import BringConfigEntry as BringConfigEntry
2
- from .coordinator import BringDataUpdateCoordinator as BringDataUpdateCoordinator
2
+ from .coordinator import BringActivityCoordinator as BringActivityCoordinator
3
3
  from .entity import BringBaseEntity as BringBaseEntity
4
4
  from _typeshed import Incomplete
5
5
  from bring_api import BringList as BringList
@@ -13,9 +13,10 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: BringConfigEntry,
13
13
 
14
14
  class BringEventEntity(BringBaseEntity, EventEntity):
15
15
  _attr_translation_key: str
16
+ coordinator: BringActivityCoordinator
16
17
  _attr_unique_id: Incomplete
17
18
  _attr_event_types: Incomplete
18
- def __init__(self, coordinator: BringDataUpdateCoordinator, bring_list: BringList) -> None: ...
19
+ def __init__(self, coordinator: BringActivityCoordinator, bring_list: BringList) -> None: ...
19
20
  def _async_handle_event(self) -> None: ...
20
21
  @property
21
22
  def entity_picture(self) -> str | None: ...
@@ -31,6 +31,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: BringConfigEntry,
31
31
 
32
32
  class BringSensorEntity(BringBaseEntity, SensorEntity):
33
33
  entity_description: BringSensorEntityDescription
34
+ coordinator: BringDataUpdateCoordinator
34
35
  _attr_unique_id: Incomplete
35
36
  def __init__(self, coordinator: BringDataUpdateCoordinator, bring_list: BringList, entity_description: BringSensorEntityDescription) -> None: ...
36
37
  @property
@@ -17,6 +17,7 @@ class BringTodoListEntity(BringBaseEntity, TodoListEntity):
17
17
  _attr_translation_key: str
18
18
  _attr_name: Incomplete
19
19
  _attr_supported_features: Incomplete
20
+ coordinator: BringDataUpdateCoordinator
20
21
  _attr_unique_id: Incomplete
21
22
  def __init__(self, coordinator: BringDataUpdateCoordinator, bring_list: BringList) -> None: ...
22
23
  @property
@@ -4,7 +4,7 @@ from .const import CAMERA_IMAGE_TIMEOUT as CAMERA_IMAGE_TIMEOUT, CAMERA_STREAM_S
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
6
  from .prefs import CameraPreferences as CameraPreferences, DynamicStreamSettings as DynamicStreamSettings
7
- from .webrtc import CameraWebRTCLegacyProvider as CameraWebRTCLegacyProvider, 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_legacy_provider as async_get_supported_legacy_provider, async_get_supported_provider as async_get_supported_provider, async_register_ice_servers as async_register_ice_servers, async_register_rtsp_to_web_rtc_provider as async_register_rtsp_to_web_rtc_provider, async_register_webrtc_provider as async_register_webrtc_provider, async_register_ws as async_register_ws
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
10
10
  from collections.abc import Awaitable, Callable as Callable, Coroutine
@@ -19,11 +19,10 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
19
19
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_FILENAME as CONF_FILENAME, CONTENT_TYPE_MULTIPART as CONTENT_TYPE_MULTIPART, EVENT_HOMEASSISTANT_STARTED as EVENT_HOMEASSISTANT_STARTED, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON
20
20
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
21
21
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
22
- from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, deprecated_function as deprecated_function, dir_with_deprecated_constants as dir_with_deprecated_constants
22
+ from homeassistant.helpers.deprecation import DeprecatedConstantEnum as DeprecatedConstantEnum, all_with_deprecated_constants as all_with_deprecated_constants, check_if_deprecated_constant as check_if_deprecated_constant, dir_with_deprecated_constants as dir_with_deprecated_constants
23
23
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
24
24
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
25
25
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
26
- from homeassistant.helpers.frame import ReportBehavior as ReportBehavior, report_usage as report_usage
27
26
  from homeassistant.helpers.network import get_url as get_url
28
27
  from homeassistant.helpers.template import Template as Template
29
28
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolDictType as VolDictType
@@ -97,7 +96,6 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
97
96
  _entity_component_unrecorded_attributes: Incomplete
98
97
  _attr_brand: str | None
99
98
  _attr_frame_interval: float
100
- _attr_frontend_stream_type: StreamType | None
101
99
  _attr_is_on: bool
102
100
  _attr_is_recording: bool
103
101
  _attr_is_streaming: bool
@@ -115,10 +113,7 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
115
113
  _warned_old_signature: bool
116
114
  _create_stream_lock: asyncio.Lock | None
117
115
  _webrtc_provider: CameraWebRTCProvider | None
118
- _legacy_webrtc_provider: CameraWebRTCLegacyProvider | None
119
- _supports_native_sync_webrtc: Incomplete
120
116
  _supports_native_async_webrtc: Incomplete
121
- _deprecate_attr_frontend_stream_type_logged: bool
122
117
  def __init__(self) -> None: ...
123
118
  @cached_property
124
119
  def entity_picture(self) -> str: ...
@@ -141,12 +136,9 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
141
136
  @cached_property
142
137
  def frame_interval(self) -> float: ...
143
138
  @property
144
- def frontend_stream_type(self) -> StreamType | None: ...
145
- @property
146
139
  def available(self) -> bool: ...
147
140
  async def async_create_stream(self) -> Stream | None: ...
148
141
  async def stream_source(self) -> str | None: ...
149
- async def async_handle_web_rtc_offer(self, offer_sdp: str) -> str | None: ...
150
142
  async def async_handle_async_webrtc_offer(self, offer_sdp: str, session_id: str, send_message: WebRTCSendMessage) -> None: ...
151
143
  def camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
152
144
  async def async_camera_image(self, width: int | None = None, height: int | None = None) -> bytes | None: ...
@@ -10,15 +10,13 @@ from functools import cache
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.exceptions import HomeAssistantError as HomeAssistantError
13
- from homeassistant.helpers.deprecation import deprecated_function as deprecated_function
14
13
  from homeassistant.util.hass_dict import HassKey as HassKey
15
14
  from homeassistant.util.ulid import ulid as ulid
16
- from typing import Any, Protocol
15
+ from typing import Any
17
16
  from webrtc_models import RTCConfiguration, RTCIceCandidate as RTCIceCandidate, RTCIceCandidateInit, RTCIceServer as RTCIceServer
18
17
 
19
18
  _LOGGER: Incomplete
20
19
  DATA_WEBRTC_PROVIDERS: HassKey[set[CameraWebRTCProvider]]
21
- DATA_WEBRTC_LEGACY_PROVIDERS: HassKey[dict[str, CameraWebRTCLegacyProvider]]
22
20
  DATA_ICE_SERVERS: HassKey[list[Callable[[], Iterable[RTCIceServer]]]]
23
21
  _WEBRTC: str
24
22
 
@@ -52,7 +50,6 @@ type WebRTCSendMessage = Callable[[WebRTCMessage], None]
52
50
  class WebRTCClientConfiguration:
53
51
  configuration: RTCConfiguration = field(default_factory=RTCConfiguration)
54
52
  data_channel: str | None = ...
55
- get_candidates_upfront: bool = ...
56
53
  def to_frontend_dict(self) -> dict[str, Any]: ...
57
54
 
58
55
  class CameraWebRTCProvider(ABC, metaclass=abc.ABCMeta):
@@ -69,10 +66,6 @@ class CameraWebRTCProvider(ABC, metaclass=abc.ABCMeta):
69
66
  @callback
70
67
  def async_close_session(self, session_id: str) -> None: ...
71
68
 
72
- class CameraWebRTCLegacyProvider(Protocol):
73
- async def async_is_supported(self, stream_source: str) -> bool: ...
74
- async def async_handle_web_rtc_offer(self, camera: Camera, offer_sdp: str) -> str | None: ...
75
-
76
69
  @callback
77
70
  def async_register_webrtc_provider(hass: HomeAssistant, provider: CameraWebRTCProvider) -> Callable[[], None]: ...
78
71
  async def _async_refresh_providers(hass: HomeAssistant) -> None: ...
@@ -88,19 +81,5 @@ async def ws_candidate(connection: websocket_api.ActiveConnection, msg: dict[str
88
81
  @callback
89
82
  def async_register_ws(hass: HomeAssistant) -> None: ...
90
83
  async def async_get_supported_provider(hass: HomeAssistant, camera: Camera) -> CameraWebRTCProvider | None: ...
91
- async def async_get_supported_legacy_provider(hass: HomeAssistant, camera: Camera) -> CameraWebRTCLegacyProvider | None: ...
92
84
  @callback
93
85
  def async_register_ice_servers(hass: HomeAssistant, get_ice_server_fn: Callable[[], Iterable[RTCIceServer]]) -> Callable[[], None]: ...
94
-
95
- _RTSP_PREFIXES: Incomplete
96
- type RtspToWebRtcProviderType = Callable[[str, str, str], Awaitable[str | None]]
97
-
98
- class _CameraRtspToWebRTCProvider(CameraWebRTCLegacyProvider):
99
- _fn: Incomplete
100
- def __init__(self, fn: RtspToWebRtcProviderType) -> None: ...
101
- async def async_is_supported(self, stream_source: str) -> bool: ...
102
- async def async_handle_web_rtc_offer(self, camera: Camera, offer_sdp: str) -> str | None: ...
103
-
104
- def async_register_rtsp_to_web_rtc_provider(hass: HomeAssistant, domain: str, provider: RtspToWebRtcProviderType) -> Callable[[], None]: ...
105
- @callback
106
- def _async_check_conflicting_legacy_provider(hass: HomeAssistant) -> None: ...
@@ -1,13 +1,13 @@
1
- from .const import ATTR_AUX_HEAT as ATTR_AUX_HEAT, ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_FAN_MODES as ATTR_FAN_MODES, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_HVAC_MODES as ATTR_HVAC_MODES, ATTR_MAX_HUMIDITY as ATTR_MAX_HUMIDITY, ATTR_MAX_TEMP as ATTR_MAX_TEMP, ATTR_MIN_HUMIDITY as ATTR_MIN_HUMIDITY, ATTR_MIN_TEMP as ATTR_MIN_TEMP, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_PRESET_MODES as ATTR_PRESET_MODES, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_HORIZONTAL_MODES as ATTR_SWING_HORIZONTAL_MODES, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_SWING_MODES as ATTR_SWING_MODES, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TARGET_TEMP_STEP as ATTR_TARGET_TEMP_STEP, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as DOMAIN, 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, FAN_TOP as FAN_TOP, HVACAction as HVACAction, HVACMode as HVACMode, HVAC_MODES as HVAC_MODES, INTENT_SET_TEMPERATURE as INTENT_SET_TEMPERATURE, 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, SERVICE_SET_AUX_HEAT as SERVICE_SET_AUX_HEAT, SERVICE_SET_FAN_MODE as SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE as SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE as SERVICE_SET_PRESET_MODE, SERVICE_SET_SWING_HORIZONTAL_MODE as SERVICE_SET_SWING_HORIZONTAL_MODE, SERVICE_SET_SWING_MODE as SERVICE_SET_SWING_MODE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_ON as SWING_ON, SWING_VERTICAL as SWING_VERTICAL
1
+ from .const import ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_FAN_MODES as ATTR_FAN_MODES, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_HVAC_MODE as ATTR_HVAC_MODE, ATTR_HVAC_MODES as ATTR_HVAC_MODES, ATTR_MAX_HUMIDITY as ATTR_MAX_HUMIDITY, ATTR_MAX_TEMP as ATTR_MAX_TEMP, ATTR_MIN_HUMIDITY as ATTR_MIN_HUMIDITY, ATTR_MIN_TEMP as ATTR_MIN_TEMP, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_PRESET_MODES as ATTR_PRESET_MODES, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_HORIZONTAL_MODES as ATTR_SWING_HORIZONTAL_MODES, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_SWING_MODES as ATTR_SWING_MODES, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TARGET_TEMP_STEP as ATTR_TARGET_TEMP_STEP, ClimateEntityFeature as ClimateEntityFeature, DOMAIN as DOMAIN, 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, FAN_TOP as FAN_TOP, HVACAction as HVACAction, HVACMode as HVACMode, HVAC_MODES as HVAC_MODES, INTENT_SET_TEMPERATURE as INTENT_SET_TEMPERATURE, 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, SERVICE_SET_FAN_MODE as SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY as SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE as SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE as SERVICE_SET_PRESET_MODE, SERVICE_SET_SWING_HORIZONTAL_MODE as SERVICE_SET_SWING_HORIZONTAL_MODE, SERVICE_SET_SWING_MODE as SERVICE_SET_SWING_MODE, SERVICE_SET_TEMPERATURE as SERVICE_SET_TEMPERATURE, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_ON as SWING_ON, SWING_VERTICAL as SWING_VERTICAL
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
- from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, UnitOfTemperature as UnitOfTemperature
4
+ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, SERVICE_TOGGLE as SERVICE_TOGGLE, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, UnitOfTemperature as UnitOfTemperature
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
6
6
  from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
7
7
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
8
8
  from homeassistant.helpers.entity_component import EntityComponent as EntityComponent
9
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
- from homeassistant.loader import async_get_issue_tracker as async_get_issue_tracker, async_suggest_report_issue as async_suggest_report_issue
10
+ from homeassistant.loader import async_suggest_report_issue as async_suggest_report_issue
11
11
  from homeassistant.util.hass_dict import HassKey as HassKey
12
12
  from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
13
13
  from propcache.api import cached_property
@@ -45,7 +45,6 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
45
45
  _attr_hvac_action: HVACAction | None
46
46
  _attr_hvac_mode: HVACMode | None
47
47
  _attr_hvac_modes: list[HVACMode]
48
- _attr_is_aux_heat: bool | None
49
48
  _attr_max_humidity: float
50
49
  _attr_max_temp: float
51
50
  _attr_min_humidity: float
@@ -64,8 +63,6 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
64
63
  _attr_target_temperature_step: float | None
65
64
  _attr_target_temperature: float | None
66
65
  _attr_temperature_unit: str
67
- __climate_reported_legacy_aux: bool
68
- def _report_legacy_aux(self) -> None: ...
69
66
  @final
70
67
  @property
71
68
  def state(self) -> str | None: ...
@@ -103,8 +100,6 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
103
100
  @cached_property
104
101
  def preset_modes(self) -> list[str] | None: ...
105
102
  @cached_property
106
- def is_aux_heat(self) -> bool | None: ...
107
- @cached_property
108
103
  def fan_mode(self) -> str | None: ...
109
104
  @cached_property
110
105
  def fan_modes(self) -> list[str] | None: ...
@@ -143,10 +138,6 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
143
138
  async def async_handle_set_preset_mode_service(self, preset_mode: str) -> None: ...
144
139
  def set_preset_mode(self, preset_mode: str) -> None: ...
145
140
  async def async_set_preset_mode(self, preset_mode: str) -> None: ...
146
- def turn_aux_heat_on(self) -> None: ...
147
- async def async_turn_aux_heat_on(self) -> None: ...
148
- def turn_aux_heat_off(self) -> None: ...
149
- async def async_turn_aux_heat_off(self) -> None: ...
150
141
  def turn_on(self) -> None: ...
151
142
  async def async_turn_on(self) -> None: ...
152
143
  def turn_off(self) -> None: ...
@@ -164,6 +155,5 @@ class ClimateEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
164
155
  @cached_property
165
156
  def max_humidity(self) -> float: ...
166
157
 
167
- async def async_service_aux_heat(entity: ClimateEntity, service_call: ServiceCall) -> None: ...
168
158
  async def async_service_humidity_set(entity: ClimateEntity, service_call: ServiceCall) -> None: ...
169
159
  async def async_service_temperature_set(entity: ClimateEntity, service_call: ServiceCall) -> None: ...
@@ -48,7 +48,6 @@ class HVACAction(StrEnum):
48
48
  PREHEATING = 'preheating'
49
49
 
50
50
  CURRENT_HVAC_ACTIONS: Incomplete
51
- ATTR_AUX_HEAT: str
52
51
  ATTR_CURRENT_HUMIDITY: str
53
52
  ATTR_CURRENT_TEMPERATURE: str
54
53
  ATTR_FAN_MODES: str
@@ -76,7 +75,6 @@ DEFAULT_MIN_HUMIDITY: int
76
75
  DEFAULT_MAX_HUMIDITY: int
77
76
  DOMAIN: str
78
77
  INTENT_SET_TEMPERATURE: str
79
- SERVICE_SET_AUX_HEAT: str
80
78
  SERVICE_SET_FAN_MODE: str
81
79
  SERVICE_SET_PRESET_MODE: str
82
80
  SERVICE_SET_HUMIDITY: str
@@ -92,7 +90,6 @@ class ClimateEntityFeature(IntFlag):
92
90
  FAN_MODE = 8
93
91
  PRESET_MODE = 16
94
92
  SWING_MODE = 32
95
- AUX_HEAT = 64
96
93
  TURN_OFF = 128
97
94
  TURN_ON = 256
98
95
  SWING_HORIZONTAL_MODE = 512
@@ -1,4 +1,4 @@
1
- from . import ATTR_AUX_HEAT as ATTR_AUX_HEAT, ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TEMPERATURE as ATTR_TEMPERATURE
1
+ from . import ATTR_CURRENT_HUMIDITY as ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE as ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE as ATTR_FAN_MODE, ATTR_HUMIDITY as ATTR_HUMIDITY, ATTR_HVAC_ACTION as ATTR_HVAC_ACTION, ATTR_PRESET_MODE as ATTR_PRESET_MODE, ATTR_SWING_HORIZONTAL_MODE as ATTR_SWING_HORIZONTAL_MODE, ATTR_SWING_MODE as ATTR_SWING_MODE, ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ATTR_TEMPERATURE as ATTR_TEMPERATURE
2
2
  from homeassistant.const import UnitOfTemperature as UnitOfTemperature
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
4
4
  from homeassistant.helpers.significant_change import check_absolute_change as check_absolute_change, check_valid_float as check_valid_float
@@ -1,6 +1,6 @@
1
1
  from . import account_link as account_link, backup as backup, http_api as http_api
2
2
  from .client import CloudClient as CloudClient
3
- from .const import CONF_ACCOUNTS_SERVER as CONF_ACCOUNTS_SERVER, CONF_ACCOUNT_LINK_SERVER as CONF_ACCOUNT_LINK_SERVER, CONF_ACME_SERVER as CONF_ACME_SERVER, CONF_ALEXA as CONF_ALEXA, CONF_ALIASES as CONF_ALIASES, CONF_CLOUDHOOK_SERVER as CONF_CLOUDHOOK_SERVER, CONF_COGNITO_CLIENT_ID as CONF_COGNITO_CLIENT_ID, CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, CONF_GOOGLE_ACTIONS as CONF_GOOGLE_ACTIONS, CONF_RELAYER_SERVER as CONF_RELAYER_SERVER, CONF_REMOTESTATE_SERVER as CONF_REMOTESTATE_SERVER, CONF_SERVICEHANDLERS_SERVER as CONF_SERVICEHANDLERS_SERVER, CONF_THINGTALK_SERVER as CONF_THINGTALK_SERVER, CONF_USER_POOL_ID as CONF_USER_POOL_ID, DATA_CLOUD as DATA_CLOUD, DATA_CLOUD_LOG_HANDLER as DATA_CLOUD_LOG_HANDLER, DATA_PLATFORMS_SETUP as DATA_PLATFORMS_SETUP, DOMAIN as DOMAIN, MODE_DEV as MODE_DEV, MODE_PROD as MODE_PROD
3
+ from .const import CONF_ACCOUNTS_SERVER as CONF_ACCOUNTS_SERVER, CONF_ACCOUNT_LINK_SERVER as CONF_ACCOUNT_LINK_SERVER, CONF_ACME_SERVER as CONF_ACME_SERVER, CONF_ALEXA as CONF_ALEXA, CONF_ALIASES as CONF_ALIASES, CONF_CLOUDHOOK_SERVER as CONF_CLOUDHOOK_SERVER, CONF_COGNITO_CLIENT_ID as CONF_COGNITO_CLIENT_ID, CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, CONF_GOOGLE_ACTIONS as CONF_GOOGLE_ACTIONS, CONF_RELAYER_SERVER as CONF_RELAYER_SERVER, CONF_REMOTESTATE_SERVER as CONF_REMOTESTATE_SERVER, CONF_SERVICEHANDLERS_SERVER as CONF_SERVICEHANDLERS_SERVER, CONF_USER_POOL_ID as CONF_USER_POOL_ID, DATA_CLOUD as DATA_CLOUD, DATA_CLOUD_LOG_HANDLER as DATA_CLOUD_LOG_HANDLER, DATA_PLATFORMS_SETUP as DATA_PLATFORMS_SETUP, DOMAIN as DOMAIN, MODE_DEV as MODE_DEV, MODE_PROD as MODE_PROD
4
4
  from .helpers import FixedSizeQueueLogHandler as FixedSizeQueueLogHandler
5
5
  from .prefs import CloudPreferences as CloudPreferences
6
6
  from .repairs import async_manage_legacy_subscription_issue as async_manage_legacy_subscription_issue
@@ -1,5 +1,5 @@
1
1
  from .client import CloudClient as CloudClient
2
- from .const import CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, PREF_ALEXA_REPORT_STATE as PREF_ALEXA_REPORT_STATE, PREF_ENABLE_ALEXA as PREF_ENABLE_ALEXA, PREF_SHOULD_EXPOSE as PREF_SHOULD_EXPOSE
2
+ from .const import CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, DOMAIN as DOMAIN, PREF_ALEXA_REPORT_STATE as PREF_ALEXA_REPORT_STATE, PREF_ENABLE_ALEXA as PREF_ENABLE_ALEXA, PREF_SHOULD_EXPOSE as PREF_SHOULD_EXPOSE
3
3
  from .prefs import ALEXA_SETTINGS_VERSION as ALEXA_SETTINGS_VERSION, CloudPreferences as CloudPreferences
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
@@ -12,7 +12,7 @@ from homeassistant.core import Context as Context, HassJob as HassJob, HomeAssis
12
12
  from homeassistant.helpers.aiohttp_client import SERVER_SOFTWARE as SERVER_SOFTWARE
13
13
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
14
14
  from homeassistant.helpers.event import async_call_later as async_call_later
15
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
15
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
16
16
  from homeassistant.util.aiohttp import MockRequest as MockRequest, serialize_response as serialize_response
17
17
  from pathlib import Path
18
18
  from typing import Any, Literal
@@ -71,3 +71,4 @@ class CloudClient(Interface):
71
71
  async def async_system_message(self, payload: dict[Any, Any] | None) -> None: ...
72
72
  async def async_cloudhooks_update(self, data: dict[str, dict[str, str | bool]]) -> None: ...
73
73
  async def async_create_repair_issue(self, identifier: str, translation_key: str, *, placeholders: dict[str, str] | None = None, severity: Literal['error', 'warning'] = 'warning') -> None: ...
74
+ async def async_delete_repair_issue(self, identifier: str) -> None: ...
@@ -55,7 +55,6 @@ CONF_ACME_SERVER: str
55
55
  CONF_CLOUDHOOK_SERVER: str
56
56
  CONF_RELAYER_SERVER: str
57
57
  CONF_REMOTESTATE_SERVER: str
58
- CONF_THINGTALK_SERVER: str
59
58
  CONF_SERVICEHANDLERS_SERVER: str
60
59
  MODE_DEV: str
61
60
  MODE_PROD: str
@@ -1,5 +1,5 @@
1
1
  from .client import CloudClient as CloudClient
2
- from .const import CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, DEFAULT_DISABLE_2FA as DEFAULT_DISABLE_2FA, PREF_DISABLE_2FA as PREF_DISABLE_2FA, PREF_SHOULD_EXPOSE as PREF_SHOULD_EXPOSE
2
+ from .const import CONF_ENTITY_CONFIG as CONF_ENTITY_CONFIG, CONF_FILTER as CONF_FILTER, DEFAULT_DISABLE_2FA as DEFAULT_DISABLE_2FA, DOMAIN as DOMAIN, PREF_DISABLE_2FA as PREF_DISABLE_2FA, PREF_SHOULD_EXPOSE as PREF_SHOULD_EXPOSE
3
3
  from .prefs import CloudPreferences as CloudPreferences, GOOGLE_SETTINGS_VERSION as GOOGLE_SETTINGS_VERSION
4
4
  from _typeshed import Incomplete
5
5
  from hass_nabucasa import Cloud as Cloud
@@ -146,6 +146,4 @@ async def alexa_list(hass: HomeAssistant, connection: websocket_api.ActiveConnec
146
146
  @_require_cloud_login
147
147
  @websocket_api.async_response
148
148
  async def alexa_sync(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
149
- @websocket_api.async_response
150
- async def thingtalk_convert(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
151
149
  def tts_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -1,13 +1,13 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from .const import PRESET_MODE_AUTO as PRESET_MODE_AUTO, PRESET_MODE_AUTO_TARGET_TEMP as PRESET_MODE_AUTO_TARGET_TEMP, PRESET_MODE_MANUAL as PRESET_MODE_MANUAL
2
2
  from .coordinator import ComelitConfigEntry as ComelitConfigEntry, ComelitSerialBridge as ComelitSerialBridge
3
3
  from .entity import ComelitBridgeBaseEntity as ComelitBridgeBaseEntity
4
+ from .utils import bridge_api_call as bridge_api_call, cleanup_stale_entity as cleanup_stale_entity, load_api_data as load_api_data
4
5
  from _typeshed import Incomplete
5
6
  from aiocomelit import ComelitSerialBridgeObject as ComelitSerialBridgeObject
6
7
  from enum import StrEnum
7
8
  from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, UnitOfTemperature as UnitOfTemperature
8
9
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_TENTHS as PRECISION_TENTHS
9
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
12
  from typing import Any, TypedDict
13
13
 
@@ -20,30 +20,36 @@ class ClimaComelitMode(StrEnum):
20
20
  UPPER = 'U'
21
21
 
22
22
  class ClimaComelitCommand(StrEnum):
23
+ AUTO = 'auto'
24
+ MANUAL = 'man'
23
25
  OFF = 'off'
24
26
  ON = 'on'
25
- MANUAL = 'man'
26
27
  SET = 'set'
27
- AUTO = 'auto'
28
+ SNOW = 'lower'
29
+ SUN = 'upper'
28
30
 
29
31
  class ClimaComelitApiStatus(TypedDict):
30
32
  hvac_mode: HVACMode
31
33
  hvac_action: HVACAction
32
34
 
33
35
  API_STATUS: dict[str, ClimaComelitApiStatus]
34
- MODE_TO_ACTION: dict[HVACMode, ClimaComelitCommand]
36
+ HVACMODE_TO_ACTION: dict[HVACMode, ClimaComelitCommand]
37
+ PRESET_MODE_TO_ACTION: dict[str, ClimaComelitCommand]
35
38
 
36
39
  async def async_setup_entry(hass: HomeAssistant, config_entry: ComelitConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
37
40
 
38
41
  class ComelitClimateEntity(ComelitBridgeBaseEntity, ClimateEntity):
39
42
  _attr_hvac_modes: Incomplete
43
+ _attr_preset_modes: Incomplete
40
44
  _attr_max_temp: int
41
45
  _attr_min_temp: int
42
46
  _attr_supported_features: Incomplete
43
47
  _attr_target_temperature_step = PRECISION_TENTHS
44
48
  _attr_temperature_unit: Incomplete
45
49
  _attr_name: Incomplete
50
+ _attr_translation_key: str
46
51
  def __init__(self, coordinator: ComelitSerialBridge, device: ComelitSerialBridgeObject, config_entry_entry_id: str) -> None: ...
52
+ _attr_preset_mode: Incomplete
47
53
  _attr_current_temperature: Incomplete
48
54
  _attr_hvac_action: Incomplete
49
55
  _attr_hvac_mode: Incomplete
@@ -51,5 +57,8 @@ class ComelitClimateEntity(ComelitBridgeBaseEntity, ClimateEntity):
51
57
  def _update_attributes(self) -> None: ...
52
58
  @callback
53
59
  def _handle_coordinator_update(self) -> None: ...
60
+ @bridge_api_call
54
61
  async def async_set_temperature(self, **kwargs: Any) -> None: ...
62
+ @bridge_api_call
55
63
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
64
+ async def async_set_preset_mode(self, preset_mode: str) -> None: ...