homeassistant-stubs 2025.6.3__py3-none-any.whl → 2025.7.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 (318) hide show
  1. homeassistant-stubs/bootstrap.pyi +1 -1
  2. homeassistant-stubs/components/abode/__init__.pyi +3 -12
  3. homeassistant-stubs/components/abode/services.pyi +20 -0
  4. homeassistant-stubs/components/adax/sensor.pyi +29 -0
  5. homeassistant-stubs/components/airly/config_flow.pyi +1 -1
  6. homeassistant-stubs/components/airthings/__init__.pyi +3 -5
  7. homeassistant-stubs/components/airthings/coordinator.pyi +13 -0
  8. homeassistant-stubs/components/airthings/sensor.pyi +5 -4
  9. homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +2 -1
  10. homeassistant-stubs/components/alexa_devices/sensor.pyi +29 -0
  11. homeassistant-stubs/components/altruist/__init__.pyi +9 -0
  12. homeassistant-stubs/components/altruist/config_flow.pyi +15 -0
  13. homeassistant-stubs/components/altruist/const.pyi +2 -0
  14. homeassistant-stubs/components/altruist/coordinator.pyi +19 -0
  15. homeassistant-stubs/components/altruist/sensor.pyi +34 -0
  16. homeassistant-stubs/components/amcrest/__init__.pyi +4 -7
  17. homeassistant-stubs/components/amcrest/services.pyi +13 -0
  18. homeassistant-stubs/components/analytics/analytics.pyi +3 -1
  19. homeassistant-stubs/components/android_ip_webcam/camera.pyi +4 -0
  20. homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
  21. homeassistant-stubs/components/assist_satellite/__init__.pyi +2 -2
  22. homeassistant-stubs/components/assist_satellite/entity.pyi +13 -1
  23. homeassistant-stubs/components/axis/hub/hub.pyi +1 -1
  24. homeassistant-stubs/components/camera/__init__.pyi +0 -2
  25. homeassistant-stubs/components/camera/webrtc.pyi +1 -0
  26. homeassistant-stubs/components/climate/__init__.pyi +0 -2
  27. homeassistant-stubs/components/command_line/notify.pyi +1 -2
  28. homeassistant-stubs/components/command_line/sensor.pyi +1 -2
  29. homeassistant-stubs/components/command_line/utils.pyi +5 -2
  30. homeassistant-stubs/components/deconz/logbook.pyi +1 -1
  31. homeassistant-stubs/components/derivative/config_flow.pyi +1 -1
  32. homeassistant-stubs/components/derivative/const.pyi +1 -0
  33. homeassistant-stubs/components/derivative/sensor.pyi +9 -4
  34. homeassistant-stubs/components/device_automation/condition.pyi +17 -4
  35. homeassistant-stubs/components/devolo_home_control/__init__.pyi +3 -2
  36. homeassistant-stubs/components/devolo_home_control/climate.pyi +1 -1
  37. homeassistant-stubs/components/devolo_home_control/const.pyi +0 -1
  38. homeassistant-stubs/components/devolo_home_control/cover.pyi +1 -1
  39. homeassistant-stubs/components/devolo_home_control/entity.pyi +6 -0
  40. homeassistant-stubs/components/devolo_home_control/light.pyi +1 -1
  41. homeassistant-stubs/components/devolo_home_control/siren.pyi +1 -1
  42. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -0
  43. homeassistant-stubs/components/dnsip/sensor.pyi +3 -2
  44. homeassistant-stubs/components/downloader/__init__.pyi +1 -1
  45. homeassistant-stubs/components/downloader/services.pyi +3 -2
  46. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +4 -4
  47. homeassistant-stubs/components/ecovacs/entity.pyi +9 -12
  48. homeassistant-stubs/components/ecovacs/number.pyi +4 -4
  49. homeassistant-stubs/components/ecovacs/select.pyi +5 -4
  50. homeassistant-stubs/components/ecovacs/sensor.pyi +3 -3
  51. homeassistant-stubs/components/eheimdigital/number.pyi +8 -9
  52. homeassistant-stubs/components/eheimdigital/select.pyi +8 -9
  53. homeassistant-stubs/components/eheimdigital/sensor.pyi +7 -8
  54. homeassistant-stubs/components/eheimdigital/time.pyi +8 -9
  55. homeassistant-stubs/components/elkm1/__init__.pyi +4 -9
  56. homeassistant-stubs/components/elkm1/services.pyi +21 -0
  57. homeassistant-stubs/components/enphase_envoy/__init__.pyi +2 -2
  58. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +1 -1
  59. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +1 -0
  60. homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -1
  61. homeassistant-stubs/components/eq3btsmart/climate.pyi +6 -8
  62. homeassistant-stubs/components/eq3btsmart/const.pyi +3 -2
  63. homeassistant-stubs/components/eq3btsmart/entity.pyi +5 -1
  64. homeassistant-stubs/components/eq3btsmart/number.pyi +3 -3
  65. homeassistant-stubs/components/eq3btsmart/switch.pyi +5 -3
  66. homeassistant-stubs/components/esphome/entity.pyi +2 -1
  67. homeassistant-stubs/components/esphome/entry_data.pyi +3 -0
  68. homeassistant-stubs/components/evohome/water_heater.pyi +1 -1
  69. homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -1
  70. homeassistant-stubs/components/fritz/button.pyi +3 -1
  71. homeassistant-stubs/components/fritz/coordinator.pyi +8 -82
  72. homeassistant-stubs/components/fritz/device_tracker.pyi +3 -1
  73. homeassistant-stubs/components/fritz/entity.pyi +2 -1
  74. homeassistant-stubs/components/fritz/helpers.pyi +9 -0
  75. homeassistant-stubs/components/fritz/models.pyi +78 -0
  76. homeassistant-stubs/components/fritz/sensor.pyi +2 -1
  77. homeassistant-stubs/components/fritz/services.pyi +3 -2
  78. homeassistant-stubs/components/fritz/switch.pyi +3 -1
  79. homeassistant-stubs/components/fully_kiosk/services.pyi +7 -2
  80. homeassistant-stubs/components/go2rtc/__init__.pyi +10 -4
  81. homeassistant-stubs/components/google/__init__.pyi +3 -9
  82. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +3 -7
  83. homeassistant-stubs/components/google_assistant_sdk/services.pyi +13 -0
  84. homeassistant-stubs/components/google_photos/services.pyi +4 -2
  85. homeassistant-stubs/components/google_sheets/__init__.pyi +7 -10
  86. homeassistant-stubs/components/google_sheets/services.pyi +18 -0
  87. homeassistant-stubs/components/group/sensor.pyi +1 -1
  88. homeassistant-stubs/components/habitica/services.pyi +8 -1
  89. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  90. homeassistant-stubs/components/home_connect/diagnostics.pyi +2 -0
  91. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -3
  92. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +7 -7
  93. homeassistant-stubs/components/homeassistant_hardware/update.pyi +2 -6
  94. homeassistant-stubs/components/homeassistant_hardware/util.pyi +3 -1
  95. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +9 -5
  96. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +12 -5
  97. homeassistant-stubs/components/homee/config_flow.pyi +1 -0
  98. homeassistant-stubs/components/homee/diagnostics.pyi +12 -0
  99. homeassistant-stubs/components/homee/entity.pyi +3 -2
  100. homeassistant-stubs/components/homee/event.pyi +8 -4
  101. homeassistant-stubs/components/homee/siren.pyi +19 -0
  102. homeassistant-stubs/components/homewizard/select.pyi +35 -0
  103. homeassistant-stubs/components/immich/coordinator.pyi +2 -1
  104. homeassistant-stubs/components/immich/update.pyi +21 -0
  105. homeassistant-stubs/components/isy994/__init__.pyi +3 -1
  106. homeassistant-stubs/components/isy994/services.pyi +0 -2
  107. homeassistant-stubs/components/jewish_calendar/__init__.pyi +1 -1
  108. homeassistant-stubs/components/jewish_calendar/{service.pyi → services.pyi} +2 -1
  109. homeassistant-stubs/components/kaleidescape/__init__.pyi +4 -4
  110. homeassistant-stubs/components/kaleidescape/media_player.pyi +2 -3
  111. homeassistant-stubs/components/kaleidescape/remote.pyi +2 -3
  112. homeassistant-stubs/components/kaleidescape/sensor.pyi +2 -3
  113. homeassistant-stubs/components/lacrosse_view/__init__.pyi +3 -5
  114. homeassistant-stubs/components/lacrosse_view/coordinator.pyi +3 -2
  115. homeassistant-stubs/components/lacrosse_view/diagnostics.pyi +2 -4
  116. homeassistant-stubs/components/lacrosse_view/sensor.pyi +2 -2
  117. homeassistant-stubs/components/lametric/__init__.pyi +3 -4
  118. homeassistant-stubs/components/lametric/button.pyi +2 -4
  119. homeassistant-stubs/components/lametric/coordinator.pyi +3 -2
  120. homeassistant-stubs/components/lametric/diagnostics.pyi +2 -4
  121. homeassistant-stubs/components/lametric/entity.pyi +1 -1
  122. homeassistant-stubs/components/lametric/helpers.pyi +1 -1
  123. homeassistant-stubs/components/lametric/notify.pyi +2 -2
  124. homeassistant-stubs/components/lametric/number.pyi +2 -4
  125. homeassistant-stubs/components/lametric/select.pyi +2 -4
  126. homeassistant-stubs/components/lametric/sensor.pyi +2 -4
  127. homeassistant-stubs/components/lametric/switch.pyi +2 -4
  128. homeassistant-stubs/components/lametric/update.pyi +17 -0
  129. homeassistant-stubs/components/laundrify/__init__.pyi +4 -6
  130. homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -3
  131. homeassistant-stubs/components/laundrify/coordinator.pyi +1 -0
  132. homeassistant-stubs/components/laundrify/sensor.pyi +2 -3
  133. homeassistant-stubs/components/lcn/__init__.pyi +9 -10
  134. homeassistant-stubs/components/lcn/binary_sensor.pyi +9 -8
  135. homeassistant-stubs/components/lcn/climate.pyi +5 -6
  136. homeassistant-stubs/components/lcn/const.pyi +0 -4
  137. homeassistant-stubs/components/lcn/cover.pyi +6 -7
  138. homeassistant-stubs/components/lcn/entity.pyi +2 -3
  139. homeassistant-stubs/components/lcn/helpers.pyi +15 -5
  140. homeassistant-stubs/components/lcn/light.pyi +6 -7
  141. homeassistant-stubs/components/lcn/scene.pyi +5 -5
  142. homeassistant-stubs/components/lcn/sensor.pyi +7 -7
  143. homeassistant-stubs/components/lcn/services.pyi +5 -4
  144. homeassistant-stubs/components/lcn/switch.pyi +8 -9
  145. homeassistant-stubs/components/lcn/websocket.pyi +12 -13
  146. homeassistant-stubs/components/ld2410_ble/__init__.pyi +4 -6
  147. homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +2 -4
  148. homeassistant-stubs/components/ld2410_ble/coordinator.pyi +3 -3
  149. homeassistant-stubs/components/ld2410_ble/models.pyi +2 -0
  150. homeassistant-stubs/components/ld2410_ble/sensor.pyi +4 -5
  151. homeassistant-stubs/components/led_ble/__init__.pyi +5 -6
  152. homeassistant-stubs/components/led_ble/light.pyi +3 -4
  153. homeassistant-stubs/components/led_ble/models.pyi +2 -0
  154. homeassistant-stubs/components/lifx/__init__.pyi +4 -5
  155. homeassistant-stubs/components/lifx/binary_sensor.pyi +3 -4
  156. homeassistant-stubs/components/lifx/button.pyi +3 -4
  157. homeassistant-stubs/components/lifx/const.pyi +3 -1
  158. homeassistant-stubs/components/lifx/coordinator.pyi +3 -2
  159. homeassistant-stubs/components/lifx/diagnostics.pyi +3 -4
  160. homeassistant-stubs/components/lifx/light.pyi +3 -4
  161. homeassistant-stubs/components/lifx/manager.pyi +2 -2
  162. homeassistant-stubs/components/lifx/migration.pyi +3 -3
  163. homeassistant-stubs/components/lifx/select.pyi +3 -4
  164. homeassistant-stubs/components/lifx/sensor.pyi +3 -4
  165. homeassistant-stubs/components/lifx/util.pyi +3 -3
  166. homeassistant-stubs/components/linear_garage_door/__init__.pyi +4 -5
  167. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +3 -2
  168. homeassistant-stubs/components/linear_garage_door/cover.pyi +2 -4
  169. homeassistant-stubs/components/linear_garage_door/diagnostics.pyi +2 -4
  170. homeassistant-stubs/components/linear_garage_door/light.pyi +2 -4
  171. homeassistant-stubs/components/lookin/__init__.pyi +4 -5
  172. homeassistant-stubs/components/lookin/climate.pyi +3 -4
  173. homeassistant-stubs/components/lookin/coordinator.pyi +3 -3
  174. homeassistant-stubs/components/lookin/light.pyi +3 -4
  175. homeassistant-stubs/components/lookin/media_player.pyi +3 -4
  176. homeassistant-stubs/components/lookin/models.pyi +2 -0
  177. homeassistant-stubs/components/lookin/sensor.pyi +2 -4
  178. homeassistant-stubs/components/luftdaten/__init__.pyi +4 -6
  179. homeassistant-stubs/components/luftdaten/coordinator.pyi +15 -0
  180. homeassistant-stubs/components/luftdaten/diagnostics.pyi +3 -4
  181. homeassistant-stubs/components/luftdaten/sensor.pyi +4 -4
  182. homeassistant-stubs/components/matrix/__init__.pyi +2 -7
  183. homeassistant-stubs/components/matrix/const.pyi +3 -0
  184. homeassistant-stubs/components/matrix/services.pyi +12 -0
  185. homeassistant-stubs/components/matter/sensor.pyi +7 -2
  186. homeassistant-stubs/components/matter/vacuum.pyi +4 -4
  187. homeassistant-stubs/components/mealie/__init__.pyi +1 -1
  188. homeassistant-stubs/components/mealie/services.pyi +9 -3
  189. homeassistant-stubs/components/media_player/__init__.pyi +0 -2
  190. homeassistant-stubs/components/media_player/intent.pyi +1 -1
  191. homeassistant-stubs/components/miele/const.pyi +24 -0
  192. homeassistant-stubs/components/miele/sensor.pyi +1 -2
  193. homeassistant-stubs/components/mqtt/config_flow.pyi +4 -1
  194. homeassistant-stubs/components/mqtt/sensor.pyi +1 -4
  195. homeassistant-stubs/components/music_assistant/__init__.pyi +5 -1
  196. homeassistant-stubs/components/music_assistant/button.pyi +17 -0
  197. homeassistant-stubs/components/music_assistant/helpers.pyi +5 -0
  198. homeassistant-stubs/components/music_assistant/media_player.pyi +4 -4
  199. homeassistant-stubs/components/nextdns/binary_sensor.pyi +6 -12
  200. homeassistant-stubs/components/nextdns/button.pyi +2 -9
  201. homeassistant-stubs/components/nextdns/coordinator.pyi +2 -7
  202. homeassistant-stubs/components/nextdns/entity.pyi +14 -0
  203. homeassistant-stubs/components/nextdns/sensor.pyi +8 -15
  204. homeassistant-stubs/components/nextdns/switch.pyi +3 -6
  205. homeassistant-stubs/components/nfandroidtv/__init__.pyi +0 -1
  206. homeassistant-stubs/components/nfandroidtv/notify.pyi +5 -4
  207. homeassistant-stubs/components/nordpool/services.pyi +2 -1
  208. homeassistant-stubs/components/ntfy/__init__.pyi +1 -3
  209. homeassistant-stubs/components/ntfy/config_flow.pyi +3 -0
  210. homeassistant-stubs/components/ntfy/coordinator.pyi +16 -0
  211. homeassistant-stubs/components/ntfy/notify.pyi +1 -1
  212. homeassistant-stubs/components/ntfy/sensor.pyi +56 -0
  213. homeassistant-stubs/components/ohme/services.pyi +2 -1
  214. homeassistant-stubs/components/onedrive/__init__.pyi +1 -1
  215. homeassistant-stubs/components/onedrive/services.pyi +3 -2
  216. homeassistant-stubs/components/onewire/binary_sensor.pyi +3 -2
  217. homeassistant-stubs/components/onewire/const.pyi +0 -1
  218. homeassistant-stubs/components/onewire/entity.pyi +2 -3
  219. homeassistant-stubs/components/onewire/switch.pyi +3 -2
  220. homeassistant-stubs/components/onkyo/__init__.pyi +1 -1
  221. homeassistant-stubs/components/onkyo/services.pyi +3 -2
  222. homeassistant-stubs/components/openai_conversation/__init__.pyi +2 -1
  223. homeassistant-stubs/components/openai_conversation/config_flow.pyi +18 -14
  224. homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
  225. homeassistant-stubs/components/openai_conversation/conversation.pyi +4 -4
  226. homeassistant-stubs/components/overseerr/__init__.pyi +1 -1
  227. homeassistant-stubs/components/overseerr/services.pyi +6 -4
  228. homeassistant-stubs/components/paperless_ngx/__init__.pyi +1 -1
  229. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +2 -2
  230. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +3 -5
  231. homeassistant-stubs/components/paperless_ngx/entity.pyi +2 -5
  232. homeassistant-stubs/components/paperless_ngx/sensor.pyi +8 -8
  233. homeassistant-stubs/components/paperless_ngx/update.pyi +25 -0
  234. homeassistant-stubs/components/plugwise/climate.pyi +0 -1
  235. homeassistant-stubs/components/qbus/climate.pyi +3 -2
  236. homeassistant-stubs/components/qbus/cover.pyi +39 -0
  237. homeassistant-stubs/components/qbus/entity.pyi +7 -3
  238. homeassistant-stubs/components/qbus/light.pyi +4 -3
  239. homeassistant-stubs/components/qbus/scene.pyi +2 -2
  240. homeassistant-stubs/components/qbus/switch.pyi +3 -2
  241. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  242. homeassistant-stubs/components/recorder/services.pyi +7 -12
  243. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  244. homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
  245. homeassistant-stubs/components/reolink/const.pyi +1 -0
  246. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  247. homeassistant-stubs/components/reolink/host.pyi +1 -1
  248. homeassistant-stubs/components/reolink/services.pyi +2 -0
  249. homeassistant-stubs/components/rest/data.pyi +7 -6
  250. homeassistant-stubs/components/russound_rio/__init__.pyi +1 -0
  251. homeassistant-stubs/components/russound_rio/entity.pyi +6 -2
  252. homeassistant-stubs/components/russound_rio/media_player.pyi +1 -5
  253. homeassistant-stubs/components/russound_rio/number.pyi +30 -0
  254. homeassistant-stubs/components/russound_rio/switch.pyi +33 -0
  255. homeassistant-stubs/components/shopping_list/__init__.pyi +1 -0
  256. homeassistant-stubs/components/shopping_list/intent.pyi +9 -1
  257. homeassistant-stubs/components/squeezebox/button.pyi +0 -2
  258. homeassistant-stubs/components/squeezebox/entity.pyi +2 -0
  259. homeassistant-stubs/components/squeezebox/media_player.pyi +0 -2
  260. homeassistant-stubs/components/sun/__init__.pyi +1 -0
  261. homeassistant-stubs/components/sun/binary_sensor.pyi +36 -0
  262. homeassistant-stubs/components/sun/condition.pyi +13 -3
  263. homeassistant-stubs/components/sun/sensor.pyi +2 -0
  264. homeassistant-stubs/components/switch/light.pyi +1 -0
  265. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -0
  266. homeassistant-stubs/components/synology_dsm/__init__.pyi +4 -1
  267. homeassistant-stubs/components/synology_dsm/{service.pyi → services.pyi} +4 -2
  268. homeassistant-stubs/components/tedee/binary_sensor.pyi +4 -0
  269. homeassistant-stubs/components/telegram_bot/__init__.pyi +34 -0
  270. homeassistant-stubs/components/telegram_bot/bot.pyi +63 -0
  271. homeassistant-stubs/components/telegram_bot/broadcast.pyi +5 -0
  272. homeassistant-stubs/components/telegram_bot/config_flow.pyi +53 -0
  273. homeassistant-stubs/components/telegram_bot/const.pyi +92 -0
  274. homeassistant-stubs/components/telegram_bot/polling.pyi +19 -0
  275. homeassistant-stubs/components/telegram_bot/webhooks.pyi +47 -0
  276. homeassistant-stubs/components/tplink/climate.pyi +1 -2
  277. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -1
  278. homeassistant-stubs/components/tts/entity.pyi +1 -2
  279. homeassistant-stubs/components/unifi/button.pyi +5 -5
  280. homeassistant-stubs/components/unifi/device_tracker.pyi +5 -5
  281. homeassistant-stubs/components/unifi/entity.pyi +5 -8
  282. homeassistant-stubs/components/unifi/hub/hub.pyi +1 -1
  283. homeassistant-stubs/components/unifi/image.pyi +5 -5
  284. homeassistant-stubs/components/unifi/sensor.pyi +5 -5
  285. homeassistant-stubs/components/unifi/switch.pyi +7 -7
  286. homeassistant-stubs/components/unifi/update.pyi +3 -5
  287. homeassistant-stubs/components/unifiprotect/services.pyi +1 -0
  288. homeassistant-stubs/components/vacuum/__init__.pyi +0 -2
  289. homeassistant-stubs/components/websocket_api/commands.pyi +6 -3
  290. homeassistant-stubs/components/websocket_api/messages.pyi +1 -0
  291. homeassistant-stubs/components/wiz/__init__.pyi +3 -3
  292. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  293. homeassistant-stubs/components/zwave_js/api.pyi +2 -2
  294. homeassistant-stubs/components/zwave_js/device_trigger.pyi +0 -1
  295. homeassistant-stubs/components/zwave_js/services.pyi +2 -0
  296. homeassistant-stubs/components/zwave_js/trigger.pyi +3 -7
  297. homeassistant-stubs/components/zwave_js/triggers/event.pyi +9 -1
  298. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +9 -1
  299. homeassistant-stubs/const.pyi +1 -0
  300. homeassistant-stubs/helpers/condition.pyi +11 -3
  301. homeassistant-stubs/helpers/device_registry.pyi +5 -1
  302. homeassistant-stubs/helpers/entity.pyi +1 -4
  303. homeassistant-stubs/helpers/entity_registry.pyi +11 -1
  304. homeassistant-stubs/helpers/llm.pyi +0 -1
  305. homeassistant-stubs/helpers/selector.pyi +24 -4
  306. homeassistant-stubs/helpers/system_info.pyi +2 -0
  307. homeassistant-stubs/helpers/template.pyi +2 -1
  308. homeassistant-stubs/helpers/trigger.pyi +33 -2
  309. homeassistant-stubs/loader.pyi +3 -1
  310. homeassistant-stubs/util/timeout.pyi +6 -3
  311. homeassistant-stubs/util/yaml/loader.pyi +3 -1
  312. {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b0.dist-info}/METADATA +2 -2
  313. {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b0.dist-info}/RECORD +315 -279
  314. homeassistant-stubs/backports/enum.pyi +0 -7
  315. homeassistant-stubs/backports/functools.pyi +0 -7
  316. homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +0 -10
  317. {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b0.dist-info}/WHEEL +0 -0
  318. {homeassistant_stubs-2025.6.3.dist-info → homeassistant_stubs-2025.7.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -5,7 +5,7 @@ from .components import http as http
5
5
  from .const import BASE_PLATFORMS as BASE_PLATFORMS, FORMAT_DATETIME as FORMAT_DATETIME, REQUIRED_NEXT_PYTHON_HA_RELEASE as REQUIRED_NEXT_PYTHON_HA_RELEASE, REQUIRED_NEXT_PYTHON_VER as REQUIRED_NEXT_PYTHON_VER, SIGNAL_BOOTSTRAP_INTEGRATIONS as SIGNAL_BOOTSTRAP_INTEGRATIONS
6
6
  from .core_config import async_process_ha_core_config as async_process_ha_core_config
7
7
  from .exceptions import HomeAssistantError as HomeAssistantError
8
- from .helpers import area_registry as area_registry, backup as backup, category_registry as category_registry, device_registry as device_registry, entity as entity, entity_registry as entity_registry, floor_registry as floor_registry, frame as frame, issue_registry as issue_registry, label_registry as label_registry, recorder as recorder, restore_state as restore_state, template as template, translation as translation
8
+ from .helpers import area_registry as area_registry, backup as backup, category_registry as category_registry, device_registry as device_registry, entity as entity, entity_registry as entity_registry, floor_registry as floor_registry, frame as frame, issue_registry as issue_registry, label_registry as label_registry, recorder as recorder, restore_state as restore_state, template as template, translation as translation, trigger as trigger
9
9
  from .helpers.dispatcher import async_dispatcher_send_internal as async_dispatcher_send_internal
10
10
  from .helpers.storage import get_internal_store_manager as get_internal_store_manager
11
11
  from .helpers.system_info import async_get_system_info as async_get_system_info
@@ -1,32 +1,24 @@
1
1
  from .const import CONF_POLLING as CONF_POLLING, DOMAIN as DOMAIN, LOGGER as LOGGER
2
+ from .services import async_setup_services as async_setup_services
2
3
  from _typeshed import Incomplete
3
4
  from dataclasses import dataclass, field
4
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
- from homeassistant.const import ATTR_DATE as ATTR_DATE, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_TIME as ATTR_TIME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
6
- from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
6
+ from homeassistant.const import ATTR_DATE as ATTR_DATE, ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_TIME as ATTR_TIME, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, Platform as Platform
7
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, HomeAssistant as HomeAssistant
7
8
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
8
- from homeassistant.helpers.dispatcher import dispatcher_send as dispatcher_send
9
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
10
  from jaraco.abode.client import Client as Abode
11
11
 
12
- SERVICE_SETTINGS: str
13
- SERVICE_CAPTURE_IMAGE: str
14
- SERVICE_TRIGGER_AUTOMATION: str
15
12
  ATTR_DEVICE_NAME: str
16
13
  ATTR_DEVICE_TYPE: str
17
14
  ATTR_EVENT_CODE: str
18
15
  ATTR_EVENT_NAME: str
19
16
  ATTR_EVENT_TYPE: str
20
17
  ATTR_EVENT_UTC: str
21
- ATTR_SETTING: str
22
18
  ATTR_USER_NAME: str
23
19
  ATTR_APP_TYPE: str
24
20
  ATTR_EVENT_BY: str
25
- ATTR_VALUE: str
26
21
  CONFIG_SCHEMA: Incomplete
27
- CHANGE_SETTING_SCHEMA: Incomplete
28
- CAPTURE_IMAGE_SCHEMA: Incomplete
29
- AUTOMATION_SCHEMA: Incomplete
30
22
  PLATFORMS: Incomplete
31
23
 
32
24
  @dataclass
@@ -39,6 +31,5 @@ class AbodeSystem:
39
31
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
40
32
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
41
33
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
42
- def setup_hass_services(hass: HomeAssistant) -> None: ...
43
34
  async def setup_hass_events(hass: HomeAssistant) -> None: ...
44
35
  def setup_abode_events(hass: HomeAssistant) -> None: ...
@@ -0,0 +1,20 @@
1
+ from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
2
+ from _typeshed import Incomplete
3
+ from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
4
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
5
+ from homeassistant.helpers.dispatcher import dispatcher_send as dispatcher_send
6
+
7
+ SERVICE_SETTINGS: str
8
+ SERVICE_CAPTURE_IMAGE: str
9
+ SERVICE_TRIGGER_AUTOMATION: str
10
+ ATTR_SETTING: str
11
+ ATTR_VALUE: str
12
+ CHANGE_SETTING_SCHEMA: Incomplete
13
+ CAPTURE_IMAGE_SCHEMA: Incomplete
14
+ AUTOMATION_SCHEMA: Incomplete
15
+
16
+ def _change_setting(call: ServiceCall) -> None: ...
17
+ def _capture_image(call: ServiceCall) -> None: ...
18
+ def _trigger_automation(call: ServiceCall) -> None: ...
19
+ @callback
20
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -0,0 +1,29 @@
1
+ from . import AdaxConfigEntry as AdaxConfigEntry
2
+ from .const import CONNECTION_TYPE as CONNECTION_TYPE, DOMAIN as DOMAIN, LOCAL as LOCAL
3
+ from .coordinator import AdaxCloudCoordinator as AdaxCloudCoordinator
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
6
+ from homeassistant.const import UnitOfEnergy as UnitOfEnergy
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, entry: AdaxConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
+
14
+ class AdaxEnergySensor(CoordinatorEntity[AdaxCloudCoordinator], SensorEntity):
15
+ _attr_has_entity_name: bool
16
+ _attr_translation_key: str
17
+ _attr_device_class: Incomplete
18
+ _attr_native_unit_of_measurement: Incomplete
19
+ _attr_suggested_unit_of_measurement: Incomplete
20
+ _attr_state_class: Incomplete
21
+ _attr_suggested_display_precision: int
22
+ _device_id: Incomplete
23
+ _attr_unique_id: Incomplete
24
+ _attr_device_info: Incomplete
25
+ def __init__(self, coordinator: AdaxCloudCoordinator, device_id: str) -> None: ...
26
+ @property
27
+ def available(self) -> bool: ...
28
+ @property
29
+ def native_value(self) -> int: ...
@@ -9,4 +9,4 @@ class AirlyFlowHandler(ConfigFlow, domain=DOMAIN):
9
9
  VERSION: int
10
10
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
11
11
 
12
- async def test_location(client: ClientSession, api_key: str, latitude: float, longitude: float, use_nearest: bool = False) -> bool: ...
12
+ async def check_location(client: ClientSession, api_key: str, latitude: float, longitude: float, use_nearest: bool = False) -> bool: ...
@@ -1,17 +1,15 @@
1
- from .const import CONF_SECRET as CONF_SECRET, DOMAIN as DOMAIN
1
+ from .const import CONF_SECRET as CONF_SECRET
2
+ from .coordinator import AirthingsDataUpdateCoordinator as AirthingsDataUpdateCoordinator
2
3
  from _typeshed import Incomplete
3
- from airthings import AirthingsDevice
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import CONF_ID as CONF_ID, Platform as Platform
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
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
8
 
10
9
  _LOGGER: Incomplete
11
10
  PLATFORMS: list[Platform]
12
11
  SCAN_INTERVAL: Incomplete
13
- type AirthingsDataCoordinatorType = DataUpdateCoordinator[dict[str, AirthingsDevice]]
14
- type AirthingsConfigEntry = ConfigEntry[AirthingsDataCoordinatorType]
12
+ type AirthingsConfigEntry = ConfigEntry[AirthingsDataUpdateCoordinator]
15
13
 
16
14
  async def async_setup_entry(hass: HomeAssistant, entry: AirthingsConfigEntry) -> bool: ...
17
15
  async def async_unload_entry(hass: HomeAssistant, entry: AirthingsConfigEntry) -> bool: ...
@@ -0,0 +1,13 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from airthings import Airthings as Airthings, AirthingsDevice
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
6
+
7
+ _LOGGER: Incomplete
8
+ SCAN_INTERVAL: Incomplete
9
+
10
+ class AirthingsDataUpdateCoordinator(DataUpdateCoordinator[dict[str, AirthingsDevice]]):
11
+ airthings: Incomplete
12
+ def __init__(self, hass: HomeAssistant, airthings: Airthings) -> None: ...
13
+ async def _update_method(self) -> dict[str, AirthingsDevice]: ...
@@ -1,9 +1,10 @@
1
- from . import AirthingsConfigEntry as AirthingsConfigEntry, AirthingsDataCoordinatorType as AirthingsDataCoordinatorType
1
+ from . import AirthingsConfigEntry as AirthingsConfigEntry
2
2
  from .const import DOMAIN as DOMAIN
3
+ from .coordinator import AirthingsDataUpdateCoordinator as AirthingsDataUpdateCoordinator
3
4
  from _typeshed import Incomplete
4
5
  from airthings import AirthingsDevice as AirthingsDevice
5
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
6
- from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature
7
+ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, UnitOfPressure as UnitOfPressure, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfTemperature as UnitOfTemperature
7
8
  from homeassistant.core import HomeAssistant as HomeAssistant
8
9
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
9
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -14,14 +15,14 @@ SENSORS: dict[str, SensorEntityDescription]
14
15
 
15
16
  async def async_setup_entry(hass: HomeAssistant, entry: AirthingsConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
17
 
17
- class AirthingsHeaterEnergySensor(CoordinatorEntity[AirthingsDataCoordinatorType], SensorEntity):
18
+ class AirthingsHeaterEnergySensor(CoordinatorEntity[AirthingsDataUpdateCoordinator], SensorEntity):
18
19
  _attr_state_class: Incomplete
19
20
  _attr_has_entity_name: bool
20
21
  entity_description: Incomplete
21
22
  _attr_unique_id: Incomplete
22
23
  _id: Incomplete
23
24
  _attr_device_info: Incomplete
24
- def __init__(self, coordinator: AirthingsDataCoordinatorType, airthings_device: AirthingsDevice, entity_description: SensorEntityDescription) -> None: ...
25
+ def __init__(self, coordinator: AirthingsDataUpdateCoordinator, airthings_device: AirthingsDevice, entity_description: SensorEntityDescription) -> None: ...
25
26
  @property
26
27
  def native_value(self) -> StateType: ...
27
28
  @property
@@ -14,7 +14,8 @@ PARALLEL_UPDATES: int
14
14
 
15
15
  @dataclass(frozen=True, kw_only=True)
16
16
  class AmazonBinarySensorEntityDescription(BinarySensorEntityDescription):
17
- is_on_fn: Callable[[AmazonDevice], bool]
17
+ is_on_fn: Callable[[AmazonDevice, str], bool]
18
+ is_supported: Callable[[AmazonDevice, str], bool] = ...
18
19
 
19
20
  BINARY_SENSORS: Final[Incomplete]
20
21
 
@@ -0,0 +1,29 @@
1
+ from .coordinator import AmazonConfigEntry as AmazonConfigEntry
2
+ from .entity import AmazonEntity as AmazonEntity
3
+ from _typeshed import Incomplete
4
+ from aioamazondevices.api import AmazonDevice as AmazonDevice
5
+ from collections.abc import Callable as Callable
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
8
+ from homeassistant.const import LIGHT_LUX as LIGHT_LUX, UnitOfTemperature as UnitOfTemperature
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from homeassistant.helpers.typing import StateType as StateType
12
+ from typing import Final
13
+
14
+ PARALLEL_UPDATES: int
15
+
16
+ @dataclass(frozen=True, kw_only=True)
17
+ class AmazonSensorEntityDescription(SensorEntityDescription):
18
+ native_unit_of_measurement_fn: Callable[[AmazonDevice, str], str] | None = ...
19
+
20
+ SENSORS: Final[Incomplete]
21
+
22
+ async def async_setup_entry(hass: HomeAssistant, entry: AmazonConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
+
24
+ class AmazonSensorEntity(AmazonEntity, SensorEntity):
25
+ entity_description: AmazonSensorEntityDescription
26
+ @property
27
+ def native_unit_of_measurement(self) -> str | None: ...
28
+ @property
29
+ def native_value(self) -> StateType: ...
@@ -0,0 +1,9 @@
1
+ from .coordinator import AltruistConfigEntry as AltruistConfigEntry, AltruistDataUpdateCoordinator as AltruistDataUpdateCoordinator
2
+ from _typeshed import Incomplete
3
+ from homeassistant.const import Platform as Platform
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+
6
+ PLATFORMS: Incomplete
7
+
8
+ async def async_setup_entry(hass: HomeAssistant, entry: AltruistConfigEntry) -> bool: ...
9
+ async def async_unload_entry(hass: HomeAssistant, entry: AltruistConfigEntry) -> bool: ...
@@ -0,0 +1,15 @@
1
+ from .const import CONF_HOST as CONF_HOST, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from altruistclient import AltruistDeviceModel as AltruistDeviceModel
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
6
+ from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
7
+ from typing import Any
8
+
9
+ _LOGGER: Incomplete
10
+
11
+ class AltruistConfigFlow(ConfigFlow, domain=DOMAIN):
12
+ device: AltruistDeviceModel
13
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
14
+ async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
15
+ async def async_step_discovery_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,2 @@
1
+ DOMAIN: str
2
+ CONF_HOST: str
@@ -0,0 +1,19 @@
1
+ from .const import CONF_HOST as CONF_HOST
2
+ from _typeshed import Incomplete
3
+ from altruistclient import AltruistClient
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
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
+ _LOGGER: Incomplete
11
+ UPDATE_INTERVAL: Incomplete
12
+ type AltruistConfigEntry = ConfigEntry[AltruistDataUpdateCoordinator]
13
+
14
+ class AltruistDataUpdateCoordinator(DataUpdateCoordinator[dict[str, str]]):
15
+ client: AltruistClient
16
+ _ip_address: Incomplete
17
+ def __init__(self, hass: HomeAssistant, config_entry: AltruistConfigEntry) -> None: ...
18
+ async def _async_setup(self) -> None: ...
19
+ async def _async_update_data(self) -> dict[str, str]: ...
@@ -0,0 +1,34 @@
1
+ from . import AltruistConfigEntry as AltruistConfigEntry
2
+ from .coordinator import AltruistDataUpdateCoordinator as AltruistDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
+ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfPressure as UnitOfPressure, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfTemperature as UnitOfTemperature
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
12
+
13
+ _LOGGER: Incomplete
14
+
15
+ @dataclass(frozen=True)
16
+ class AltruistSensorEntityDescription(SensorEntityDescription):
17
+ native_value_fn: Callable[[str], float] = ...
18
+ state_class = ...
19
+
20
+ SENSOR_DESCRIPTIONS: Incomplete
21
+
22
+ async def async_setup_entry(hass: HomeAssistant, config_entry: AltruistConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
+
24
+ class AltruistSensor(CoordinatorEntity[AltruistDataUpdateCoordinator], SensorEntity):
25
+ _attr_has_entity_name: bool
26
+ _device: Incomplete
27
+ entity_description: AltruistSensorEntityDescription
28
+ _attr_unique_id: Incomplete
29
+ _attr_device_info: Incomplete
30
+ def __init__(self, coordinator: AltruistDataUpdateCoordinator, description: AltruistSensorEntityDescription) -> None: ...
31
+ @property
32
+ def available(self) -> bool: ...
33
+ @property
34
+ def native_value(self) -> float | int: ...
@@ -3,10 +3,11 @@ import asyncio
3
3
  import httpx
4
4
  import threading
5
5
  from .binary_sensor import BINARY_SENSORS as BINARY_SENSORS, BINARY_SENSOR_KEYS as BINARY_SENSOR_KEYS, check_binary_sensors as check_binary_sensors
6
- from .camera import CAMERA_SERVICES as CAMERA_SERVICES, STREAM_SOURCE_LIST as STREAM_SOURCE_LIST
6
+ from .camera import STREAM_SOURCE_LIST as STREAM_SOURCE_LIST
7
7
  from .const import CAMERAS as CAMERAS, COMM_RETRIES as COMM_RETRIES, COMM_TIMEOUT as COMM_TIMEOUT, DATA_AMCREST as DATA_AMCREST, DEVICES as DEVICES, DOMAIN as DOMAIN, RESOLUTION_LIST as RESOLUTION_LIST, SERVICE_EVENT as SERVICE_EVENT, SERVICE_UPDATE as SERVICE_UPDATE
8
8
  from .helpers import service_signal as service_signal
9
9
  from .sensor import SENSOR_KEYS as SENSOR_KEYS
10
+ from .services import async_setup_services as async_setup_services
10
11
  from .switch import SWITCH_KEYS as SWITCH_KEYS
11
12
  from _typeshed import Incomplete
12
13
  from amcrest import ApiWrapper
@@ -14,15 +15,11 @@ from collections.abc import AsyncIterator, Callable as Callable
14
15
  from contextlib import asynccontextmanager
15
16
  from dataclasses import dataclass
16
17
  from datetime import datetime
17
- from homeassistant.auth.models import User as User
18
- from homeassistant.auth.permissions.const import POLICY_CONTROL as POLICY_CONTROL
19
- from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_AUTHENTICATION as CONF_AUTHENTICATION, CONF_BINARY_SENSORS as CONF_BINARY_SENSORS, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SENSORS as CONF_SENSORS, CONF_SWITCHES as CONF_SWITCHES, CONF_USERNAME as CONF_USERNAME, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE, HTTP_BASIC_AUTHENTICATION as HTTP_BASIC_AUTHENTICATION, Platform as Platform
20
- from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
21
- from homeassistant.exceptions import Unauthorized as Unauthorized, UnknownUser as UnknownUser
18
+ from homeassistant.const import CONF_AUTHENTICATION as CONF_AUTHENTICATION, CONF_BINARY_SENSORS as CONF_BINARY_SENSORS, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_SENSORS as CONF_SENSORS, CONF_SWITCHES as CONF_SWITCHES, CONF_USERNAME as CONF_USERNAME, HTTP_BASIC_AUTHENTICATION as HTTP_BASIC_AUTHENTICATION, Platform as Platform
19
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
22
20
  from homeassistant.helpers import discovery as discovery
23
21
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send, dispatcher_send as dispatcher_send
24
22
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
25
- from homeassistant.helpers.service import async_extract_entity_ids as async_extract_entity_ids
26
23
  from homeassistant.helpers.typing import ConfigType as ConfigType
27
24
  from typing import Any
28
25
 
@@ -0,0 +1,13 @@
1
+ from .camera import CAMERA_SERVICES as CAMERA_SERVICES
2
+ from .const import CAMERAS as CAMERAS, DATA_AMCREST as DATA_AMCREST, DOMAIN as DOMAIN
3
+ from .helpers import service_signal as service_signal
4
+ from homeassistant.auth.models import User as User
5
+ from homeassistant.auth.permissions.const import POLICY_CONTROL as POLICY_CONTROL
6
+ from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, ENTITY_MATCH_ALL as ENTITY_MATCH_ALL, ENTITY_MATCH_NONE as ENTITY_MATCH_NONE
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
8
+ from homeassistant.exceptions import Unauthorized as Unauthorized, UnknownUser as UnknownUser
9
+ from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
10
+ from homeassistant.helpers.service import async_extract_entity_ids as async_extract_entity_ids
11
+
12
+ @callback
13
+ def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -5,7 +5,7 @@ from datetime import datetime
5
5
  from homeassistant.components import hassio as hassio
6
6
  from homeassistant.components.api import ATTR_INSTALLATION_TYPE as ATTR_INSTALLATION_TYPE
7
7
  from homeassistant.config_entries import SOURCE_IGNORE as SOURCE_IGNORE
8
- from homeassistant.const import ATTR_DOMAIN as ATTR_DOMAIN
8
+ from homeassistant.const import ATTR_DOMAIN as ATTR_DOMAIN, BASE_PLATFORMS as BASE_PLATFORMS
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
11
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
@@ -45,3 +45,5 @@ class Analytics:
45
45
  async def send_analytics(self, _: datetime | None = None) -> None: ...
46
46
  @callback
47
47
  def _async_should_report_integration(self, integration: Integration, yaml_domains: set[str], entity_registry_platforms: set[str]) -> bool: ...
48
+
49
+ def _domains_from_yaml_config(yaml_configuration: dict[str, Any]) -> set[str]: ...
@@ -1,6 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import AndroidIPCamConfigEntry as AndroidIPCamConfigEntry, AndroidIPCamDataUpdateCoordinator as AndroidIPCamDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
+ from homeassistant.components.camera import CameraEntityFeature as CameraEntityFeature
4
5
  from homeassistant.components.mjpeg import MjpegCamera as MjpegCamera, filter_urllib3_logging as filter_urllib3_logging
5
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, HTTP_BASIC_AUTHENTICATION as HTTP_BASIC_AUTHENTICATION
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -11,6 +12,9 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: AndroidIPCamConfi
11
12
 
12
13
  class IPWebcamCamera(MjpegCamera):
13
14
  _attr_has_entity_name: bool
15
+ _attr_supported_features: Incomplete
14
16
  _attr_unique_id: Incomplete
15
17
  _attr_device_info: Incomplete
18
+ _coordinator: Incomplete
16
19
  def __init__(self, coordinator: AndroidIPCamDataUpdateCoordinator) -> None: ...
20
+ async def stream_source(self) -> str: ...
@@ -2,7 +2,7 @@ from .const import LAST_S_TEST as LAST_S_TEST
2
2
  from .coordinator import APCUPSdConfigEntry as APCUPSdConfigEntry, APCUPSdCoordinator as APCUPSdCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
5
- from homeassistant.const import PERCENTAGE as PERCENTAGE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
5
+ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfApparentPower as UnitOfApparentPower, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfFrequency as UnitOfFrequency, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
8
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
@@ -1,5 +1,5 @@
1
1
  from .const import AssistSatelliteEntityFeature as AssistSatelliteEntityFeature, DOMAIN as DOMAIN
2
- from .entity import AssistSatelliteAnnouncement as AssistSatelliteAnnouncement, AssistSatelliteConfiguration as AssistSatelliteConfiguration, AssistSatelliteEntity as AssistSatelliteEntity, AssistSatelliteEntityDescription as AssistSatelliteEntityDescription, AssistSatelliteWakeWord as AssistSatelliteWakeWord
2
+ from .entity import AssistSatelliteAnnouncement as AssistSatelliteAnnouncement, AssistSatelliteAnswer as AssistSatelliteAnswer, AssistSatelliteConfiguration as AssistSatelliteConfiguration, AssistSatelliteEntity as AssistSatelliteEntity, AssistSatelliteEntityDescription as AssistSatelliteEntityDescription, AssistSatelliteWakeWord as AssistSatelliteWakeWord
3
3
  from .errors import SatelliteBusyError as SatelliteBusyError
4
4
 
5
- __all__ = ['DOMAIN', 'AssistSatelliteAnnouncement', 'AssistSatelliteConfiguration', 'AssistSatelliteEntity', 'AssistSatelliteEntityDescription', 'AssistSatelliteEntityFeature', 'AssistSatelliteWakeWord', 'SatelliteBusyError']
5
+ __all__ = ['DOMAIN', 'AssistSatelliteAnnouncement', 'AssistSatelliteAnswer', 'AssistSatelliteConfiguration', 'AssistSatelliteEntity', 'AssistSatelliteEntityDescription', 'AssistSatelliteEntityFeature', 'AssistSatelliteWakeWord', 'SatelliteBusyError']
@@ -5,8 +5,9 @@ from .errors import AssistSatelliteError as AssistSatelliteError, SatelliteBusyE
5
5
  from _typeshed import Incomplete
6
6
  from abc import abstractmethod
7
7
  from collections.abc import AsyncIterable
8
- from dataclasses import dataclass
8
+ from dataclasses import dataclass, field
9
9
  from enum import StrEnum
10
+ from hassil.expression import Expression as Expression
10
11
  from homeassistant.components import conversation as conversation, media_source as media_source, stt as stt, tts as tts
11
12
  from homeassistant.components.assist_pipeline import AudioSettings as AudioSettings, OPTION_PREFERRED as OPTION_PREFERRED, PipelineEvent as PipelineEvent, PipelineEventType as PipelineEventType, PipelineStage as PipelineStage, async_get_pipeline as async_get_pipeline, async_get_pipelines as async_get_pipelines, async_pipeline_from_audio_stream as async_pipeline_from_audio_stream, vad as vad
12
13
  from homeassistant.components.media_player import async_process_play_media_url as async_process_play_media_url
@@ -47,6 +48,12 @@ class AssistSatelliteAnnouncement:
47
48
  media_id_source: Literal['url', 'media_id', 'tts']
48
49
  preannounce_media_id: str | None = ...
49
50
 
51
+ @dataclass
52
+ class AssistSatelliteAnswer:
53
+ id: str | None
54
+ sentence: str
55
+ slots: dict[str, Any] = field(default_factory=dict)
56
+
50
57
  class AssistSatelliteEntity(entity.Entity, metaclass=abc.ABCMeta):
51
58
  entity_description: AssistSatelliteEntityDescription
52
59
  _attr_should_poll: bool
@@ -60,6 +67,7 @@ class AssistSatelliteEntity(entity.Entity, metaclass=abc.ABCMeta):
60
67
  _wake_word_intercept_future: asyncio.Future[str | None] | None
61
68
  _attr_tts_options: dict[str, Any] | None
62
69
  _pipeline_task: asyncio.Task | None
70
+ _ask_question_future: asyncio.Future[str | None] | None
63
71
  __assist_satellite_state: Incomplete
64
72
  @final
65
73
  @property
@@ -80,6 +88,8 @@ class AssistSatelliteEntity(entity.Entity, metaclass=abc.ABCMeta):
80
88
  async def async_announce(self, announcement: AssistSatelliteAnnouncement) -> None: ...
81
89
  async def async_internal_start_conversation(self, start_message: str | None = None, start_media_id: str | None = None, extra_system_prompt: str | None = None, preannounce: bool = True, preannounce_media_id: str = ...) -> None: ...
82
90
  async def async_start_conversation(self, start_announcement: AssistSatelliteAnnouncement) -> None: ...
91
+ async def async_internal_ask_question(self, question: str | None = None, question_media_id: str | None = None, preannounce: bool = True, preannounce_media_id: str = ..., answers: list[dict[str, Any]] | None = None) -> AssistSatelliteAnswer | None: ...
92
+ def _question_response_to_answer(self, response_text: str, answers: list[dict[str, Any]]) -> AssistSatelliteAnswer: ...
83
93
  async def async_accept_pipeline_from_satellite(self, audio_stream: AsyncIterable[bytes], start_stage: PipelineStage = ..., end_stage: PipelineStage = ..., wake_word_phrase: str | None = None) -> None: ...
84
94
  async def _cancel_running_pipeline(self) -> None: ...
85
95
  @abstractmethod
@@ -95,3 +105,5 @@ class AssistSatelliteEntity(entity.Entity, metaclass=abc.ABCMeta):
95
105
  @callback
96
106
  def _resolve_vad_sensitivity(self) -> float: ...
97
107
  async def _resolve_announcement_media_id(self, message: str, media_id: str | None, preannounce_media_id: str | None = None) -> AssistSatelliteAnnouncement: ...
108
+
109
+ def _collect_list_references(expression: Expression, list_names: set[str]) -> None: ...
@@ -1,6 +1,6 @@
1
1
  import axis
2
2
  from .. import AxisConfigEntry as AxisConfigEntry
3
- from ..const import ATTR_MANUFACTURER as ATTR_MANUFACTURER
3
+ from ..const import ATTR_MANUFACTURER as ATTR_MANUFACTURER, DOMAIN as DOMAIN
4
4
  from .config import AxisConfig as AxisConfig
5
5
  from .entity_loader import AxisEntityLoader as AxisEntityLoader
6
6
  from .event_source import AxisEventSource as AxisEventSource
@@ -121,8 +121,6 @@ class Camera(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
121
121
  def use_stream_for_stills(self) -> bool: ...
122
122
  @cached_property
123
123
  def supported_features(self) -> CameraEntityFeature: ...
124
- @property
125
- def supported_features_compat(self) -> CameraEntityFeature: ...
126
124
  @cached_property
127
125
  def is_recording(self) -> bool: ...
128
126
  @cached_property
@@ -65,6 +65,7 @@ class CameraWebRTCProvider(ABC, metaclass=abc.ABCMeta):
65
65
  async def async_on_webrtc_candidate(self, session_id: str, candidate: RTCIceCandidateInit) -> None: ...
66
66
  @callback
67
67
  def async_close_session(self, session_id: str) -> None: ...
68
+ async def async_get_image(self, camera: Camera, width: int | None = None, height: int | None = None) -> bytes | None: ...
68
69
 
69
70
  @callback
70
71
  def async_register_webrtc_provider(hass: HomeAssistant, provider: CameraWebRTCProvider) -> Callable[[], None]: ...
@@ -7,7 +7,6 @@ from homeassistant.exceptions import ServiceValidationError as ServiceValidation
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_suggest_report_issue as async_suggest_report_issue
11
10
  from homeassistant.util.hass_dict import HassKey as HassKey
12
11
  from homeassistant.util.unit_conversion import TemperatureConverter as TemperatureConverter
13
12
  from propcache.api import cached_property
@@ -24,7 +23,6 @@ DEFAULT_MAX_TEMP: int
24
23
  DEFAULT_MIN_HUMIDITY: int
25
24
  DEFAULT_MAX_HUMIDITY: int
26
25
  CONVERTIBLE_ATTRIBUTE: Incomplete
27
- CHECK_TURN_ON_OFF_FEATURE_FLAG: Incomplete
28
26
  SET_TEMPERATURE_SCHEMA: Incomplete
29
27
 
30
28
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
@@ -1,10 +1,9 @@
1
1
  from .const import CONF_COMMAND_TIMEOUT as CONF_COMMAND_TIMEOUT, LOGGER as LOGGER
2
+ from .utils import render_template_args as render_template_args
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.components.notify import BaseNotificationService as BaseNotificationService
4
5
  from homeassistant.const import CONF_COMMAND as CONF_COMMAND
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
6
- from homeassistant.exceptions import TemplateError as TemplateError
7
- from homeassistant.helpers.template import Template as Template
8
7
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
9
8
  from homeassistant.util.process import kill_subprocess as kill_subprocess
10
9
  from typing import Any
@@ -1,13 +1,12 @@
1
1
  import asyncio
2
2
  from .const import CONF_COMMAND_TIMEOUT as CONF_COMMAND_TIMEOUT, CONF_JSON_ATTRIBUTES as CONF_JSON_ATTRIBUTES, CONF_JSON_ATTRIBUTES_PATH as CONF_JSON_ATTRIBUTES_PATH, LOGGER as LOGGER, TRIGGER_ENTITY_OPTIONS as TRIGGER_ENTITY_OPTIONS
3
- from .utils import async_check_output_or_log as async_check_output_or_log
3
+ from .utils import async_check_output_or_log as async_check_output_or_log, render_template_args as render_template_args
4
4
  from _typeshed import Incomplete
5
5
  from datetime import datetime, timedelta
6
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass
7
7
  from homeassistant.components.sensor.helpers import async_parse_date_datetime as async_parse_date_datetime
8
8
  from homeassistant.const import CONF_COMMAND as CONF_COMMAND, CONF_NAME as CONF_NAME, CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
- from homeassistant.exceptions import TemplateError as TemplateError
11
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
11
  from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
13
12
  from homeassistant.helpers.template import Template as Template
@@ -1,7 +1,10 @@
1
- from _typeshed import Incomplete
1
+ from .const import LOGGER as LOGGER
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from homeassistant.exceptions import TemplateError as TemplateError
4
+ from homeassistant.helpers.template import Template as Template
2
5
 
3
- _LOGGER: Incomplete
4
6
  _EXEC_FAILED_CODE: int
5
7
 
6
8
  async def async_call_shell_with_timeout(command: str, timeout: int, *, log_return_code: bool = True) -> int: ...
7
9
  async def async_check_output_or_log(command: str, timeout: int) -> str | None: ...
10
+ def render_template_args(hass: HomeAssistant, command: str) -> str | None: ...
@@ -1,4 +1,4 @@
1
- from .const import CONF_GESTURE as CONF_GESTURE
1
+ from .const import CONF_GESTURE as CONF_GESTURE, DOMAIN as DOMAIN
2
2
  from .deconz_event import CONF_DECONZ_ALARM_EVENT as CONF_DECONZ_ALARM_EVENT, CONF_DECONZ_EVENT as CONF_DECONZ_EVENT
3
3
  from .device_trigger import CONF_BOTH_BUTTONS as CONF_BOTH_BUTTONS, CONF_BOTTOM_BUTTONS as CONF_BOTTOM_BUTTONS, CONF_BUTTON_1 as CONF_BUTTON_1, CONF_BUTTON_2 as CONF_BUTTON_2, CONF_BUTTON_3 as CONF_BUTTON_3, CONF_BUTTON_4 as CONF_BUTTON_4, CONF_BUTTON_5 as CONF_BUTTON_5, CONF_BUTTON_6 as CONF_BUTTON_6, CONF_BUTTON_7 as CONF_BUTTON_7, CONF_BUTTON_8 as CONF_BUTTON_8, CONF_CLOSE as CONF_CLOSE, CONF_DIM_DOWN as CONF_DIM_DOWN, CONF_DIM_UP as CONF_DIM_UP, CONF_DOUBLE_PRESS as CONF_DOUBLE_PRESS, CONF_DOUBLE_TAP as CONF_DOUBLE_TAP, CONF_LEFT as CONF_LEFT, CONF_LONG_PRESS as CONF_LONG_PRESS, CONF_LONG_RELEASE as CONF_LONG_RELEASE, CONF_MOVE as CONF_MOVE, CONF_OPEN as CONF_OPEN, CONF_QUADRUPLE_PRESS as CONF_QUADRUPLE_PRESS, CONF_QUINTUPLE_PRESS as CONF_QUINTUPLE_PRESS, CONF_RIGHT as CONF_RIGHT, CONF_ROTATED as CONF_ROTATED, CONF_ROTATED_FAST as CONF_ROTATED_FAST, CONF_ROTATE_FROM_SIDE_1 as CONF_ROTATE_FROM_SIDE_1, CONF_ROTATE_FROM_SIDE_2 as CONF_ROTATE_FROM_SIDE_2, CONF_ROTATE_FROM_SIDE_3 as CONF_ROTATE_FROM_SIDE_3, CONF_ROTATE_FROM_SIDE_4 as CONF_ROTATE_FROM_SIDE_4, CONF_ROTATE_FROM_SIDE_5 as CONF_ROTATE_FROM_SIDE_5, CONF_ROTATE_FROM_SIDE_6 as CONF_ROTATE_FROM_SIDE_6, CONF_ROTATION_STOPPED as CONF_ROTATION_STOPPED, CONF_SHAKE as CONF_SHAKE, CONF_SHORT_PRESS as CONF_SHORT_PRESS, CONF_SHORT_RELEASE as CONF_SHORT_RELEASE, CONF_SIDE_1 as CONF_SIDE_1, CONF_SIDE_2 as CONF_SIDE_2, CONF_SIDE_3 as CONF_SIDE_3, CONF_SIDE_4 as CONF_SIDE_4, CONF_SIDE_5 as CONF_SIDE_5, CONF_SIDE_6 as CONF_SIDE_6, CONF_TOP_BUTTONS as CONF_TOP_BUTTONS, CONF_TRIPLE_PRESS as CONF_TRIPLE_PRESS, CONF_TURN_OFF as CONF_TURN_OFF, CONF_TURN_ON as CONF_TURN_ON, REMOTES as REMOTES, _get_deconz_event_from_device as _get_deconz_event_from_device
4
4
  from _typeshed import Incomplete
@@ -1,5 +1,5 @@
1
1
  import voluptuous as vol
2
- from .const import CONF_ROUND_DIGITS as CONF_ROUND_DIGITS, CONF_TIME_WINDOW as CONF_TIME_WINDOW, CONF_UNIT_PREFIX as CONF_UNIT_PREFIX, CONF_UNIT_TIME as CONF_UNIT_TIME, DOMAIN as DOMAIN
2
+ from .const import CONF_MAX_SUB_INTERVAL as CONF_MAX_SUB_INTERVAL, CONF_ROUND_DIGITS as CONF_ROUND_DIGITS, CONF_TIME_WINDOW as CONF_TIME_WINDOW, CONF_UNIT_PREFIX as CONF_UNIT_PREFIX, CONF_UNIT_TIME as CONF_UNIT_TIME, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
5
  from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_NAME as CONF_NAME, CONF_SOURCE as CONF_SOURCE, UnitOfTime as UnitOfTime
@@ -4,3 +4,4 @@ CONF_TIME_WINDOW: str
4
4
  CONF_UNIT: str
5
5
  CONF_UNIT_PREFIX: str
6
6
  CONF_UNIT_TIME: str
7
+ CONF_MAX_SUB_INTERVAL: str
@@ -1,15 +1,15 @@
1
- from .const import CONF_ROUND_DIGITS as CONF_ROUND_DIGITS, CONF_TIME_WINDOW as CONF_TIME_WINDOW, CONF_UNIT as CONF_UNIT, CONF_UNIT_PREFIX as CONF_UNIT_PREFIX, CONF_UNIT_TIME as CONF_UNIT_TIME
1
+ from .const import CONF_MAX_SUB_INTERVAL as CONF_MAX_SUB_INTERVAL, CONF_ROUND_DIGITS as CONF_ROUND_DIGITS, CONF_TIME_WINDOW as CONF_TIME_WINDOW, CONF_UNIT as CONF_UNIT, CONF_UNIT_PREFIX as CONF_UNIT_PREFIX, CONF_UNIT_TIME as CONF_UNIT_TIME
2
2
  from _typeshed import Incomplete
3
3
  from datetime import datetime, timedelta
4
4
  from decimal import Decimal
5
5
  from homeassistant.components.sensor import ATTR_STATE_CLASS as ATTR_STATE_CLASS, RestoreSensor as RestoreSensor, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
6
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_NAME as CONF_NAME, CONF_SOURCE as CONF_SOURCE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTime as UnitOfTime
8
- from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, EventStateReportedData as EventStateReportedData, HomeAssistant as HomeAssistant, State as State, callback as callback
8
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, EventStateReportedData as EventStateReportedData, HomeAssistant as HomeAssistant, State as State, callback as callback
9
9
  from homeassistant.helpers.device import async_device_info_to_link_from_entity as async_device_info_to_link_from_entity
10
10
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
12
- from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event, async_track_state_report_event as async_track_state_report_event
12
+ from homeassistant.helpers.event import async_call_later as async_call_later, async_track_state_change_event as async_track_state_change_event, async_track_state_report_event as async_track_state_report_event
13
13
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
14
14
 
15
15
  _LOGGER: Incomplete
@@ -20,6 +20,7 @@ DEFAULT_ROUND: int
20
20
  DEFAULT_TIME_WINDOW: int
21
21
  PLATFORM_SCHEMA: Incomplete
22
22
 
23
+ def _is_decimal_state(state: str) -> bool: ...
23
24
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
24
25
  async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
25
26
 
@@ -39,5 +40,9 @@ class DerivativeSensor(RestoreSensor, SensorEntity):
39
40
  _unit_prefix: Incomplete
40
41
  _unit_time: Incomplete
41
42
  _time_window: Incomplete
42
- def __init__(self, *, name: str | None, round_digits: int, source_entity: str, time_window: timedelta, unit_of_measurement: str | None, unit_prefix: str | None, unit_time: UnitOfTime, unique_id: str | None, device_info: DeviceInfo | None = None) -> None: ...
43
+ _max_sub_interval: timedelta | None
44
+ _cancel_max_sub_interval_exceeded_callback: CALLBACK_TYPE
45
+ def __init__(self, *, name: str | None, round_digits: int, source_entity: str, time_window: timedelta, unit_of_measurement: str | None, unit_prefix: str | None, unit_time: UnitOfTime, max_sub_interval: timedelta | None, unique_id: str | None, device_info: DeviceInfo | None = None) -> None: ...
46
+ def _calc_derivative_from_state_list(self, current_time: datetime) -> Decimal: ...
47
+ def _prune_state_list(self, current_time: datetime) -> None: ...
43
48
  async def async_added_to_hass(self) -> None: ...