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,6 +1,9 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
+ from dataclasses import dataclass
4
+ from gcal_sync.api import GoogleCalendarService as GoogleCalendarService
3
5
  from gcal_sync.store import CalendarStore
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
7
  from homeassistant.core import HomeAssistant as HomeAssistant
5
8
  from homeassistant.helpers.storage import Store as Store
6
9
  from typing import Any
@@ -9,6 +12,12 @@ _LOGGER: Incomplete
9
12
  STORAGE_KEY_FORMAT: str
10
13
  STORAGE_VERSION: int
11
14
  STORAGE_SAVE_DELAY_SECONDS: int
15
+ type GoogleConfigEntry = ConfigEntry[GoogleRuntimeData]
16
+
17
+ @dataclass
18
+ class GoogleRuntimeData:
19
+ service: GoogleCalendarService
20
+ store: LocalCalendarStore
12
21
 
13
22
  class LocalCalendarStore(CalendarStore):
14
23
  _store: Incomplete
@@ -1,9 +1,8 @@
1
- from .const import CONF_LANGUAGE_CODE as CONF_LANGUAGE_CODE, DATA_MEM_STORAGE as DATA_MEM_STORAGE, DATA_SESSION as DATA_SESSION, DOMAIN as DOMAIN, SUPPORTED_LANGUAGE_CODES as SUPPORTED_LANGUAGE_CODES
2
- from .helpers import GoogleAssistantSDKAudioView as GoogleAssistantSDKAudioView, InMemoryStorage as InMemoryStorage, async_send_text_commands as async_send_text_commands, best_matching_language_code as best_matching_language_code
1
+ from .const import CONF_LANGUAGE_CODE as CONF_LANGUAGE_CODE, DOMAIN as DOMAIN, SUPPORTED_LANGUAGE_CODES as SUPPORTED_LANGUAGE_CODES
2
+ from .helpers import GoogleAssistantSDKAudioView as GoogleAssistantSDKAudioView, GoogleAssistantSDKConfigEntry as GoogleAssistantSDKConfigEntry, GoogleAssistantSDKRuntimeData as GoogleAssistantSDKRuntimeData, InMemoryStorage as InMemoryStorage, async_send_text_commands as async_send_text_commands, best_matching_language_code as best_matching_language_code
3
3
  from _typeshed import Incomplete
4
4
  from gassist_text import TextAssistant
5
5
  from homeassistant.components import conversation as conversation
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_NAME as CONF_NAME, Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
9
8
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
@@ -18,8 +17,8 @@ SERVICE_SEND_TEXT_COMMAND_SCHEMA: Incomplete
18
17
  CONFIG_SCHEMA: Incomplete
19
18
 
20
19
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
21
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
22
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
20
+ async def async_setup_entry(hass: HomeAssistant, entry: GoogleAssistantSDKConfigEntry) -> bool: ...
21
+ async def async_unload_entry(hass: HomeAssistant, entry: GoogleAssistantSDKConfigEntry) -> bool: ...
23
22
  async def async_setup_service(hass: HomeAssistant) -> None: ...
24
23
 
25
24
  class GoogleAssistantConversationAgent(conversation.AbstractConversationAgent):
@@ -28,7 +27,7 @@ class GoogleAssistantConversationAgent(conversation.AbstractConversationAgent):
28
27
  assistant: TextAssistant | None
29
28
  session: OAuth2Session | None
30
29
  language: str | None
31
- def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
30
+ def __init__(self, hass: HomeAssistant, entry: GoogleAssistantSDKConfigEntry) -> None: ...
32
31
  @property
33
32
  def supported_languages(self) -> list[str]: ...
34
33
  async def async_process(self, user_input: conversation.ConversationInput) -> conversation.ConversationResult: ...
@@ -1,9 +1,9 @@
1
1
  import logging
2
2
  from .const import CONF_LANGUAGE_CODE as CONF_LANGUAGE_CODE, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, SUPPORTED_LANGUAGE_CODES as SUPPORTED_LANGUAGE_CODES
3
- from .helpers import default_language_code as default_language_code
3
+ from .helpers import GoogleAssistantSDKConfigEntry as GoogleAssistantSDKConfigEntry, default_language_code as default_language_code
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Mapping
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
6
+ from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH
7
7
  from homeassistant.core import callback as callback
8
8
  from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
9
9
  from typing import Any
@@ -21,7 +21,7 @@ class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, doma
21
21
  async def async_oauth_create_entry(self, data: dict[str, Any]) -> ConfigFlowResult: ...
22
22
  @staticmethod
23
23
  @callback
24
- def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
24
+ def async_get_options_flow(config_entry: GoogleAssistantSDKConfigEntry) -> OptionsFlow: ...
25
25
 
26
26
  class OptionsFlowHandler(OptionsFlow):
27
27
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -4,6 +4,4 @@ from typing import Final
4
4
  DOMAIN: Final[str]
5
5
  DEFAULT_NAME: Final[str]
6
6
  CONF_LANGUAGE_CODE: Final[str]
7
- DATA_MEM_STORAGE: Final[str]
8
- DATA_SESSION: Final[str]
9
7
  SUPPORTED_LANGUAGE_CODES: Final[Incomplete]
@@ -1,9 +1,9 @@
1
+ from .helpers import GoogleAssistantSDKConfigEntry as GoogleAssistantSDKConfigEntry
1
2
  from _typeshed import Incomplete
2
3
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
5
5
  from typing import Any
6
6
 
7
7
  TO_REDACT: Incomplete
8
8
 
9
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
9
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: GoogleAssistantSDKConfigEntry) -> dict[str, Any]: ...
@@ -1,4 +1,4 @@
1
- from .const import CONF_LANGUAGE_CODE as CONF_LANGUAGE_CODE, DATA_MEM_STORAGE as DATA_MEM_STORAGE, DATA_SESSION as DATA_SESSION, DOMAIN as DOMAIN, SUPPORTED_LANGUAGE_CODES as SUPPORTED_LANGUAGE_CODES
1
+ from .const import CONF_LANGUAGE_CODE as CONF_LANGUAGE_CODE, DOMAIN as DOMAIN, SUPPORTED_LANGUAGE_CODES as SUPPORTED_LANGUAGE_CODES
2
2
  from _typeshed import Incomplete
3
3
  from aiohttp import web
4
4
  from dataclasses import dataclass
@@ -12,6 +12,12 @@ from homeassistant.helpers.event import async_call_later as async_call_later
12
12
 
13
13
  _LOGGER: Incomplete
14
14
  DEFAULT_LANGUAGE_CODES: Incomplete
15
+ type GoogleAssistantSDKConfigEntry = ConfigEntry[GoogleAssistantSDKRuntimeData]
16
+
17
+ @dataclass
18
+ class GoogleAssistantSDKRuntimeData:
19
+ session: OAuth2Session
20
+ mem_storage: InMemoryStorage
15
21
 
16
22
  @dataclass
17
23
  class CommandResponse:
@@ -1,8 +1,7 @@
1
1
  from .const import CONF_LANGUAGE_CODE as CONF_LANGUAGE_CODE, DOMAIN as DOMAIN
2
- from .helpers import async_send_text_commands as async_send_text_commands, default_language_code as default_language_code
2
+ from .helpers import GoogleAssistantSDKConfigEntry as GoogleAssistantSDKConfigEntry, async_send_text_commands as async_send_text_commands, default_language_code as default_language_code
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.notify import ATTR_TARGET as ATTR_TARGET, BaseNotificationService as BaseNotificationService
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant
7
6
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
8
7
  from typing import Any
@@ -1,3 +1,6 @@
1
+ from greeneye import Monitors as Monitors
2
+ from homeassistant.util.hass_dict import HassKey as HassKey
3
+
1
4
  CONF_CHANNELS: str
2
5
  CONF_COUNTED_QUANTITY: str
3
6
  CONF_COUNTED_QUANTITY_PER_PULSE: str
@@ -10,8 +13,8 @@ CONF_SERIAL_NUMBER: str
10
13
  CONF_TEMPERATURE_SENSORS: str
11
14
  CONF_TIME_UNIT: str
12
15
  CONF_VOLTAGE_SENSORS: str
13
- DATA_GREENEYE_MONITOR: str
14
16
  DOMAIN: str
17
+ DATA_GREENEYE_MONITOR: HassKey[Monitors]
15
18
  SENSOR_TYPE_CURRENT: str
16
19
  SENSOR_TYPE_PULSE_COUNTER: str
17
20
  SENSOR_TYPE_TEMPERATURE: str
@@ -1,37 +1,30 @@
1
1
  import asyncio
2
2
  from .const import API_SENSOR_PAIRED_SENSOR_STATUS as API_SENSOR_PAIRED_SENSOR_STATUS, API_SENSOR_PAIR_DUMP as API_SENSOR_PAIR_DUMP, API_SYSTEM_DIAGNOSTICS as API_SYSTEM_DIAGNOSTICS, API_SYSTEM_ONBOARD_SENSOR_STATUS as API_SYSTEM_ONBOARD_SENSOR_STATUS, API_VALVE_STATUS as API_VALVE_STATUS, API_WIFI_STATUS as API_WIFI_STATUS, CONF_UID as CONF_UID, DOMAIN as DOMAIN, LOGGER as LOGGER, SIGNAL_PAIRED_SENSOR_COORDINATOR_ADDED as SIGNAL_PAIRED_SENSOR_COORDINATOR_ADDED
3
3
  from .coordinator import GuardianDataUpdateCoordinator as GuardianDataUpdateCoordinator
4
+ from .services import setup_services as setup_services
4
5
  from _typeshed import Incomplete
5
6
  from aioguardian import Client
6
- from collections.abc import Callable as Callable
7
7
  from dataclasses import dataclass
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
- from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_FILENAME as CONF_FILENAME, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PORT as CONF_PORT, CONF_URL as CONF_URL, Platform as Platform
10
- from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
11
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
+ from homeassistant.const import CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PORT as CONF_PORT, Platform as Platform
10
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
11
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
12
+ from homeassistant.helpers.typing import ConfigType as ConfigType
13
13
 
14
- DATA_PAIRED_SENSOR_MANAGER: str
15
- SERVICE_NAME_PAIR_SENSOR: str
16
- SERVICE_NAME_UNPAIR_SENSOR: str
17
- SERVICE_NAME_UPGRADE_FIRMWARE: str
18
- SERVICES: Incomplete
19
- SERVICE_BASE_SCHEMA: Incomplete
20
- SERVICE_PAIR_UNPAIR_SENSOR_SCHEMA: Incomplete
21
- SERVICE_UPGRADE_FIRMWARE_SCHEMA: Incomplete
14
+ CONFIG_SCHEMA: Incomplete
22
15
  PLATFORMS: Incomplete
16
+ type GuardianConfigEntry = ConfigEntry[GuardianData]
23
17
 
24
18
  @dataclass
25
19
  class GuardianData:
26
- entry: ConfigEntry
20
+ entry: GuardianConfigEntry
27
21
  client: Client
28
22
  valve_controller_coordinators: dict[str, GuardianDataUpdateCoordinator]
29
23
  paired_sensor_manager: PairedSensorManager
30
24
 
31
- @callback
32
- def async_get_entry_id_for_service_call(hass: HomeAssistant, call: ServiceCall) -> str: ...
33
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
34
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
25
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
26
+ async def async_setup_entry(hass: HomeAssistant, entry: GuardianConfigEntry) -> bool: ...
27
+ async def async_unload_entry(hass: HomeAssistant, entry: GuardianConfigEntry) -> bool: ...
35
28
 
36
29
  class PairedSensorManager:
37
30
  _api_lock: Incomplete
@@ -41,7 +34,7 @@ class PairedSensorManager:
41
34
  _paired_uids: set[str]
42
35
  _sensor_pair_dump_coordinator: Incomplete
43
36
  coordinators: dict[str, GuardianDataUpdateCoordinator]
44
- def __init__(self, hass: HomeAssistant, entry: ConfigEntry, client: Client, api_lock: asyncio.Lock, sensor_pair_dump_coordinator: GuardianDataUpdateCoordinator) -> None: ...
37
+ def __init__(self, hass: HomeAssistant, entry: GuardianConfigEntry, client: Client, api_lock: asyncio.Lock, sensor_pair_dump_coordinator: GuardianDataUpdateCoordinator) -> None: ...
45
38
  async def async_initialize(self) -> None: ...
46
39
  async def async_pair_sensor(self, uid: str) -> None: ...
47
40
  async def async_process_latest_paired_sensor_uids(self) -> None: ...
@@ -1,5 +1,5 @@
1
- from . import GuardianData as GuardianData
2
- from .const import API_SYSTEM_ONBOARD_SENSOR_STATUS as API_SYSTEM_ONBOARD_SENSOR_STATUS, CONF_UID as CONF_UID, DOMAIN as DOMAIN, SIGNAL_PAIRED_SENSOR_COORDINATOR_ADDED as SIGNAL_PAIRED_SENSOR_COORDINATOR_ADDED
1
+ from . import GuardianConfigEntry as GuardianConfigEntry
2
+ from .const import API_SYSTEM_ONBOARD_SENSOR_STATUS as API_SYSTEM_ONBOARD_SENSOR_STATUS, CONF_UID as CONF_UID, SIGNAL_PAIRED_SENSOR_COORDINATOR_ADDED as SIGNAL_PAIRED_SENSOR_COORDINATOR_ADDED
3
3
  from .coordinator import GuardianDataUpdateCoordinator as GuardianDataUpdateCoordinator
4
4
  from .entity import PairedSensorEntity as PairedSensorEntity, ValveControllerEntity as ValveControllerEntity, ValveControllerEntityDescription as ValveControllerEntityDescription
5
5
  from .util import EntityDomainReplacementStrategy as EntityDomainReplacementStrategy, async_finish_entity_domain_replacements as async_finish_entity_domain_replacements
@@ -7,7 +7,6 @@ from _typeshed import Incomplete
7
7
  from collections.abc import Callable as Callable
8
8
  from dataclasses import dataclass
9
9
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
10
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
10
  from homeassistant.const import EntityCategory as EntityCategory
12
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
12
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
@@ -29,18 +28,18 @@ class ValveControllerBinarySensorDescription(BinarySensorEntityDescription, Valv
29
28
  PAIRED_SENSOR_DESCRIPTIONS: Incomplete
30
29
  VALVE_CONTROLLER_DESCRIPTIONS: Incomplete
31
30
 
32
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
31
+ async def async_setup_entry(hass: HomeAssistant, entry: GuardianConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
33
32
 
34
33
  class PairedSensorBinarySensor(PairedSensorEntity, BinarySensorEntity):
35
34
  entity_description: PairedSensorBinarySensorDescription
36
35
  _attr_is_on: bool
37
- def __init__(self, entry: ConfigEntry, coordinator: GuardianDataUpdateCoordinator, description: BinarySensorEntityDescription) -> None: ...
36
+ def __init__(self, entry: GuardianConfigEntry, coordinator: GuardianDataUpdateCoordinator, description: BinarySensorEntityDescription) -> None: ...
38
37
  @property
39
38
  def is_on(self) -> bool: ...
40
39
 
41
40
  class ValveControllerBinarySensor(ValveControllerEntity, BinarySensorEntity):
42
41
  entity_description: ValveControllerBinarySensorDescription
43
42
  _attr_is_on: bool
44
- def __init__(self, entry: ConfigEntry, coordinators: dict[str, GuardianDataUpdateCoordinator], description: ValveControllerBinarySensorDescription) -> None: ...
43
+ def __init__(self, entry: GuardianConfigEntry, coordinators: dict[str, GuardianDataUpdateCoordinator], description: ValveControllerBinarySensorDescription) -> None: ...
45
44
  @property
46
45
  def is_on(self) -> bool: ...
@@ -1,5 +1,5 @@
1
- from . import GuardianData as GuardianData
2
- from .const import API_SYSTEM_DIAGNOSTICS as API_SYSTEM_DIAGNOSTICS, DOMAIN as DOMAIN
1
+ from . import GuardianConfigEntry as GuardianConfigEntry, GuardianData as GuardianData
2
+ from .const import API_SYSTEM_DIAGNOSTICS as API_SYSTEM_DIAGNOSTICS
3
3
  from .entity import ValveControllerEntity as ValveControllerEntity, ValveControllerEntityDescription as ValveControllerEntityDescription
4
4
  from .util import convert_exceptions_to_homeassistant_error as convert_exceptions_to_homeassistant_error
5
5
  from _typeshed import Incomplete
@@ -7,7 +7,6 @@ from aioguardian import Client as Client
7
7
  from collections.abc import Awaitable, Callable as Callable
8
8
  from dataclasses import dataclass
9
9
  from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
10
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
10
  from homeassistant.const import EntityCategory as EntityCategory
12
11
  from homeassistant.core import HomeAssistant as HomeAssistant
13
12
  from homeassistant.helpers.dispatcher import async_dispatcher_send as async_dispatcher_send
@@ -25,13 +24,13 @@ async def _async_valve_reset(client: Client) -> None: ...
25
24
 
26
25
  BUTTON_DESCRIPTIONS: Incomplete
27
26
 
28
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
27
+ async def async_setup_entry(hass: HomeAssistant, entry: GuardianConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
29
28
 
30
29
  class GuardianButton(ValveControllerEntity, ButtonEntity):
31
30
  _attr_device_class: Incomplete
32
31
  _attr_entity_category: Incomplete
33
32
  entity_description: ValveControllerButtonDescription
34
33
  _client: Incomplete
35
- def __init__(self, entry: ConfigEntry, data: GuardianData, description: ValveControllerButtonDescription) -> None: ...
34
+ def __init__(self, entry: GuardianConfigEntry, data: GuardianData, description: ValveControllerButtonDescription) -> None: ...
36
35
  @convert_exceptions_to_homeassistant_error
37
36
  async def async_press(self) -> None: ...
@@ -1,9 +1,9 @@
1
1
  import asyncio
2
+ from . import GuardianConfigEntry as GuardianConfigEntry
2
3
  from .const import LOGGER as LOGGER
3
4
  from _typeshed import Incomplete
4
5
  from aioguardian import Client as Client
5
6
  from collections.abc import Callable as Callable, Coroutine
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
9
9
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
@@ -13,12 +13,12 @@ DEFAULT_UPDATE_INTERVAL: Incomplete
13
13
  SIGNAL_REBOOT_REQUESTED: str
14
14
 
15
15
  class GuardianDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
16
- config_entry: ConfigEntry
16
+ config_entry: GuardianConfigEntry
17
17
  _api_coro: Incomplete
18
18
  _api_lock: Incomplete
19
19
  _client: Incomplete
20
20
  signal_reboot_requested: Incomplete
21
- def __init__(self, hass: HomeAssistant, *, entry: ConfigEntry, client: Client, api_name: str, api_coro: Callable[[], Coroutine[Any, Any, dict[str, Any]]], api_lock: asyncio.Lock, valve_controller_uid: str) -> None: ...
21
+ def __init__(self, hass: HomeAssistant, *, entry: GuardianConfigEntry, client: Client, api_name: str, api_coro: Callable[[], Coroutine[Any, Any, dict[str, Any]]], api_lock: asyncio.Lock, valve_controller_uid: str) -> None: ...
22
22
  async def _async_update_data(self) -> dict[str, Any]: ...
23
23
  last_update_success: bool
24
24
  async def async_initialize(self) -> None: ...
@@ -1,8 +1,7 @@
1
- from . import GuardianData as GuardianData
2
- from .const import CONF_UID as CONF_UID, DOMAIN as DOMAIN
1
+ from . import GuardianConfigEntry as GuardianConfigEntry
2
+ from .const import CONF_UID as CONF_UID
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.const import CONF_UNIQUE_ID as CONF_UNIQUE_ID
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
7
  from typing import Any
@@ -13,4 +12,4 @@ CONF_SSID: str
13
12
  CONF_TITLE: str
14
13
  TO_REDACT: Incomplete
15
14
 
16
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
15
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: GuardianConfigEntry) -> dict[str, Any]: ...
@@ -1,8 +1,8 @@
1
+ from . import GuardianConfigEntry as GuardianConfigEntry
1
2
  from .const import API_SYSTEM_DIAGNOSTICS as API_SYSTEM_DIAGNOSTICS, CONF_UID as CONF_UID, DOMAIN as DOMAIN
2
3
  from .coordinator import GuardianDataUpdateCoordinator as GuardianDataUpdateCoordinator
3
4
  from _typeshed import Incomplete
4
5
  from dataclasses import dataclass
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
7
7
  from homeassistant.helpers.entity import EntityDescription as EntityDescription
8
8
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
@@ -15,7 +15,7 @@ class GuardianEntity(CoordinatorEntity[GuardianDataUpdateCoordinator]):
15
15
  class PairedSensorEntity(GuardianEntity):
16
16
  _attr_device_info: Incomplete
17
17
  _attr_unique_id: Incomplete
18
- def __init__(self, entry: ConfigEntry, coordinator: GuardianDataUpdateCoordinator, description: EntityDescription) -> None: ...
18
+ def __init__(self, entry: GuardianConfigEntry, coordinator: GuardianDataUpdateCoordinator, description: EntityDescription) -> None: ...
19
19
 
20
20
  @dataclass(frozen=True, kw_only=True)
21
21
  class ValveControllerEntityDescription(EntityDescription):
@@ -25,4 +25,4 @@ class ValveControllerEntity(GuardianEntity):
25
25
  _diagnostics_coordinator: Incomplete
26
26
  _attr_device_info: Incomplete
27
27
  _attr_unique_id: Incomplete
28
- def __init__(self, entry: ConfigEntry, coordinators: dict[str, GuardianDataUpdateCoordinator], description: ValveControllerEntityDescription) -> None: ...
28
+ def __init__(self, entry: GuardianConfigEntry, coordinators: dict[str, GuardianDataUpdateCoordinator], description: ValveControllerEntityDescription) -> None: ...
@@ -1,11 +1,10 @@
1
- from . import GuardianData as GuardianData
2
- from .const import API_SYSTEM_DIAGNOSTICS as API_SYSTEM_DIAGNOSTICS, API_SYSTEM_ONBOARD_SENSOR_STATUS as API_SYSTEM_ONBOARD_SENSOR_STATUS, API_VALVE_STATUS as API_VALVE_STATUS, CONF_UID as CONF_UID, DOMAIN as DOMAIN, SIGNAL_PAIRED_SENSOR_COORDINATOR_ADDED as SIGNAL_PAIRED_SENSOR_COORDINATOR_ADDED
1
+ from . import GuardianConfigEntry as GuardianConfigEntry
2
+ from .const import API_SYSTEM_DIAGNOSTICS as API_SYSTEM_DIAGNOSTICS, API_SYSTEM_ONBOARD_SENSOR_STATUS as API_SYSTEM_ONBOARD_SENSOR_STATUS, API_VALVE_STATUS as API_VALVE_STATUS, CONF_UID as CONF_UID, SIGNAL_PAIRED_SENSOR_COORDINATOR_ADDED as SIGNAL_PAIRED_SENSOR_COORDINATOR_ADDED
3
3
  from .entity import PairedSensorEntity as PairedSensorEntity, ValveControllerEntity as ValveControllerEntity, ValveControllerEntityDescription as ValveControllerEntityDescription
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from dataclasses import dataclass
7
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
8
  from homeassistant.const import EntityCategory as EntityCategory, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
10
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
10
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
@@ -32,7 +31,7 @@ class ValveControllerSensorDescription(SensorEntityDescription, ValveControllerE
32
31
  PAIRED_SENSOR_DESCRIPTIONS: Incomplete
33
32
  VALVE_CONTROLLER_DESCRIPTIONS: Incomplete
34
33
 
35
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
34
+ async def async_setup_entry(hass: HomeAssistant, entry: GuardianConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
36
35
 
37
36
  class PairedSensorSensor(PairedSensorEntity, SensorEntity):
38
37
  entity_description: PairedSensorDescription
@@ -0,0 +1,28 @@
1
+ from . import GuardianConfigEntry as GuardianConfigEntry, GuardianData as GuardianData
2
+ from .const import CONF_UID as CONF_UID, DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable, Coroutine
5
+ from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_FILENAME as CONF_FILENAME, CONF_PORT as CONF_PORT, CONF_URL as CONF_URL
6
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
7
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
8
+ from typing import Any
9
+
10
+ SERVICE_NAME_PAIR_SENSOR: str
11
+ SERVICE_NAME_UNPAIR_SENSOR: str
12
+ SERVICE_NAME_UPGRADE_FIRMWARE: str
13
+ SERVICES: Incomplete
14
+ SERVICE_BASE_SCHEMA: Incomplete
15
+ SERVICE_PAIR_UNPAIR_SENSOR_SCHEMA: Incomplete
16
+ SERVICE_UPGRADE_FIRMWARE_SCHEMA: Incomplete
17
+
18
+ @callback
19
+ def async_get_entry_id_for_service_call(call: ServiceCall) -> GuardianConfigEntry: ...
20
+ @callback
21
+ def call_with_data(func: Callable[[ServiceCall, GuardianData], Coroutine[Any, Any, None]]) -> Callable[[ServiceCall], Coroutine[Any, Any, None]]: ...
22
+ @call_with_data
23
+ async def async_pair_sensor(call: ServiceCall, data: GuardianData) -> None: ...
24
+ @call_with_data
25
+ async def async_unpair_sensor(call: ServiceCall, data: GuardianData) -> None: ...
26
+ @call_with_data
27
+ async def async_upgrade_firmware(call: ServiceCall, data: GuardianData) -> None: ...
28
+ def setup_services(hass: HomeAssistant) -> None: ...
@@ -1,5 +1,5 @@
1
- from . import GuardianData as GuardianData
2
- from .const import API_VALVE_STATUS as API_VALVE_STATUS, API_WIFI_STATUS as API_WIFI_STATUS, DOMAIN as DOMAIN
1
+ from . import GuardianConfigEntry as GuardianConfigEntry, GuardianData as GuardianData
2
+ from .const import API_VALVE_STATUS as API_VALVE_STATUS, API_WIFI_STATUS as API_WIFI_STATUS
3
3
  from .entity import ValveControllerEntity as ValveControllerEntity, ValveControllerEntityDescription as ValveControllerEntityDescription
4
4
  from .util import convert_exceptions_to_homeassistant_error as convert_exceptions_to_homeassistant_error
5
5
  from .valve import GuardianValveState as GuardianValveState
@@ -8,7 +8,6 @@ from aioguardian import Client as Client
8
8
  from collections.abc import Awaitable, Callable as Callable, Mapping
9
9
  from dataclasses import dataclass
10
10
  from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
11
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
12
11
  from homeassistant.const import EntityCategory as EntityCategory
13
12
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
14
13
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -39,12 +38,12 @@ def is_open(data: dict[str, Any]) -> bool: ...
39
38
 
40
39
  VALVE_CONTROLLER_DESCRIPTIONS: Incomplete
41
40
 
42
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
41
+ async def async_setup_entry(hass: HomeAssistant, entry: GuardianConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
43
42
 
44
43
  class ValveControllerSwitch(ValveControllerEntity, SwitchEntity):
45
44
  entity_description: ValveControllerSwitchDescription
46
45
  _client: Incomplete
47
- def __init__(self, entry: ConfigEntry, data: GuardianData, description: ValveControllerSwitchDescription) -> None: ...
46
+ def __init__(self, entry: GuardianConfigEntry, data: GuardianData, description: ValveControllerSwitchDescription) -> None: ...
48
47
  @property
49
48
  def extra_state_attributes(self) -> Mapping[str, Any]: ...
50
49
  @property
@@ -1,9 +1,9 @@
1
+ from . import GuardianConfigEntry as GuardianConfigEntry
1
2
  from .const import LOGGER as LOGGER
2
3
  from .entity import GuardianEntity as GuardianEntity
3
4
  from _typeshed import Incomplete
4
5
  from collections.abc import Callable as Callable, Coroutine, Iterable
5
6
  from dataclasses import dataclass
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
9
  from typing import Any, Concatenate
@@ -17,6 +17,6 @@ class EntityDomainReplacementStrategy:
17
17
  old_unique_id: str
18
18
 
19
19
  @callback
20
- def async_finish_entity_domain_replacements(hass: HomeAssistant, entry: ConfigEntry, entity_replacement_strategies: Iterable[EntityDomainReplacementStrategy]) -> None: ...
20
+ def async_finish_entity_domain_replacements(hass: HomeAssistant, entry: GuardianConfigEntry, entity_replacement_strategies: Iterable[EntityDomainReplacementStrategy]) -> None: ...
21
21
  @callback
22
22
  def convert_exceptions_to_homeassistant_error[_GuardianEntityT: GuardianEntity, **_P](func: Callable[Concatenate[_GuardianEntityT, _P], Coroutine[Any, Any, Any]]) -> Callable[Concatenate[_GuardianEntityT, _P], Coroutine[Any, Any, None]]: ...
@@ -1,5 +1,5 @@
1
- from . import GuardianData as GuardianData
2
- from .const import API_VALVE_STATUS as API_VALVE_STATUS, DOMAIN as DOMAIN
1
+ from . import GuardianConfigEntry as GuardianConfigEntry, GuardianData as GuardianData
2
+ from .const import API_VALVE_STATUS as API_VALVE_STATUS
3
3
  from .entity import ValveControllerEntity as ValveControllerEntity, ValveControllerEntityDescription as ValveControllerEntityDescription
4
4
  from .util import convert_exceptions_to_homeassistant_error as convert_exceptions_to_homeassistant_error
5
5
  from _typeshed import Incomplete
@@ -8,7 +8,6 @@ from collections.abc import Callable as Callable, Coroutine
8
8
  from dataclasses import dataclass
9
9
  from enum import StrEnum
10
10
  from homeassistant.components.valve import ValveDeviceClass as ValveDeviceClass, ValveEntity as ValveEntity, ValveEntityDescription as ValveEntityDescription, ValveEntityFeature as ValveEntityFeature
11
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
12
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
14
13
  from typing import Any
@@ -44,13 +43,13 @@ def is_opening(data: dict[str, Any]) -> bool: ...
44
43
 
45
44
  VALVE_CONTROLLER_DESCRIPTIONS: Incomplete
46
45
 
47
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
46
+ async def async_setup_entry(hass: HomeAssistant, entry: GuardianConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
48
47
 
49
48
  class ValveControllerValve(ValveControllerEntity, ValveEntity):
50
49
  _attr_supported_features: Incomplete
51
50
  entity_description: ValveControllerValveDescription
52
51
  _client: Incomplete
53
- def __init__(self, entry: ConfigEntry, data: GuardianData, description: ValveControllerValveDescription) -> None: ...
52
+ def __init__(self, entry: GuardianConfigEntry, data: GuardianData, description: ValveControllerValveDescription) -> None: ...
54
53
  @property
55
54
  def is_closing(self) -> bool: ...
56
55
  @property
@@ -1,5 +1,5 @@
1
1
  from _typeshed import Incomplete
2
- from homeassistant.const import APPLICATION_NAME as APPLICATION_NAME, CONF_PATH as CONF_PATH, __version__ as __version__
2
+ from homeassistant.const import APPLICATION_NAME as APPLICATION_NAME, __version__ as __version__
3
3
 
4
4
  CONF_API_USER: str
5
5
  DEFAULT_URL: str
@@ -9,11 +9,6 @@ FORGOT_PASSWORD_URL: str
9
9
  SIGN_UP_URL: str
10
10
  HABITICANS_URL: str
11
11
  DOMAIN: str
12
- SERVICE_API_CALL: str
13
- ATTR_PATH = CONF_PATH
14
- ATTR_ARGS: str
15
- EVENT_API_CALL_SUCCESS: Incomplete
16
- ATTR_DATA: str
17
12
  MANUFACTURER: str
18
13
  NAME: str
19
14
  ATTR_CONFIG_ENTRY: str
@@ -20,10 +20,10 @@ class HabiticaData:
20
20
  type HabiticaConfigEntry = ConfigEntry[HabiticaDataUpdateCoordinator]
21
21
 
22
22
  class HabiticaDataUpdateCoordinator(DataUpdateCoordinator[HabiticaData]):
23
- config_entry: ConfigEntry
23
+ config_entry: HabiticaConfigEntry
24
24
  habitica: Incomplete
25
25
  content: ContentData
26
- def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, habitica: Habitica) -> None: ...
26
+ def __init__(self, hass: HomeAssistant, config_entry: HabiticaConfigEntry, habitica: Habitica) -> None: ...
27
27
  async def _async_setup(self) -> None: ...
28
28
  async def _async_update_data(self) -> HabiticaData: ...
29
29
  async def execute(self, func: Callable[[HabiticaDataUpdateCoordinator], Any]) -> None: ...
@@ -1,7 +1,7 @@
1
1
  from .const import ASSETS_URL as ASSETS_URL, DOMAIN as DOMAIN
2
2
  from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry, HabiticaDataUpdateCoordinator as HabiticaDataUpdateCoordinator
3
3
  from .entity import HabiticaBase as HabiticaBase
4
- from .util import get_attribute_points as get_attribute_points, get_attributes_total as get_attributes_total, inventory_list as inventory_list
4
+ from .util import get_attribute_points as get_attribute_points, get_attributes_total as get_attributes_total, inventory_list as inventory_list, pending_damage as pending_damage, pending_quest_items as pending_quest_items
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable, Mapping
7
7
  from dataclasses import dataclass
@@ -54,6 +54,8 @@ class HabiticaSensorEntity(StrEnum):
54
54
  FOOD_TOTAL = 'food_total'
55
55
  SADDLE = 'saddle'
56
56
  QUEST_SCROLLS = 'quest_scrolls'
57
+ PENDING_DAMAGE = 'pending_damage'
58
+ PENDING_QUEST_ITEMS = 'pending_quest_items'
57
59
 
58
60
  SENSOR_DESCRIPTIONS: tuple[HabiticaSensorEntityDescription, ...]
59
61
  TASKS_MAP_ID: str
@@ -1,17 +1,15 @@
1
- from .const import ATTR_ADD_CHECKLIST_ITEM as ATTR_ADD_CHECKLIST_ITEM, ATTR_ALIAS as ATTR_ALIAS, ATTR_ARGS as ATTR_ARGS, ATTR_CLEAR_DATE as ATTR_CLEAR_DATE, ATTR_CLEAR_REMINDER as ATTR_CLEAR_REMINDER, ATTR_CONFIG_ENTRY as ATTR_CONFIG_ENTRY, ATTR_COST as ATTR_COST, ATTR_COUNTER_DOWN as ATTR_COUNTER_DOWN, ATTR_COUNTER_UP as ATTR_COUNTER_UP, ATTR_DATA as ATTR_DATA, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_FREQUENCY as ATTR_FREQUENCY, ATTR_INTERVAL as ATTR_INTERVAL, ATTR_ITEM as ATTR_ITEM, ATTR_KEYWORD as ATTR_KEYWORD, ATTR_NOTES as ATTR_NOTES, ATTR_PATH as ATTR_PATH, ATTR_PRIORITY as ATTR_PRIORITY, ATTR_REMINDER as ATTR_REMINDER, ATTR_REMOVE_CHECKLIST_ITEM as ATTR_REMOVE_CHECKLIST_ITEM, ATTR_REMOVE_REMINDER as ATTR_REMOVE_REMINDER, ATTR_REMOVE_TAG as ATTR_REMOVE_TAG, ATTR_REPEAT as ATTR_REPEAT, ATTR_REPEAT_MONTHLY as ATTR_REPEAT_MONTHLY, ATTR_SCORE_CHECKLIST_ITEM as ATTR_SCORE_CHECKLIST_ITEM, ATTR_SKILL as ATTR_SKILL, ATTR_START_DATE as ATTR_START_DATE, ATTR_STREAK as ATTR_STREAK, ATTR_TAG as ATTR_TAG, ATTR_TARGET as ATTR_TARGET, ATTR_TASK as ATTR_TASK, ATTR_TYPE as ATTR_TYPE, ATTR_UNSCORE_CHECKLIST_ITEM as ATTR_UNSCORE_CHECKLIST_ITEM, ATTR_UP_DOWN as ATTR_UP_DOWN, DOMAIN as DOMAIN, EVENT_API_CALL_SUCCESS as EVENT_API_CALL_SUCCESS, SERVICE_ABORT_QUEST as SERVICE_ABORT_QUEST, SERVICE_ACCEPT_QUEST as SERVICE_ACCEPT_QUEST, SERVICE_API_CALL as SERVICE_API_CALL, SERVICE_CANCEL_QUEST as SERVICE_CANCEL_QUEST, SERVICE_CAST_SKILL as SERVICE_CAST_SKILL, SERVICE_CREATE_DAILY as SERVICE_CREATE_DAILY, SERVICE_CREATE_HABIT as SERVICE_CREATE_HABIT, SERVICE_CREATE_REWARD as SERVICE_CREATE_REWARD, SERVICE_CREATE_TODO as SERVICE_CREATE_TODO, SERVICE_GET_TASKS as SERVICE_GET_TASKS, SERVICE_LEAVE_QUEST as SERVICE_LEAVE_QUEST, SERVICE_REJECT_QUEST as SERVICE_REJECT_QUEST, SERVICE_SCORE_HABIT as SERVICE_SCORE_HABIT, SERVICE_SCORE_REWARD as SERVICE_SCORE_REWARD, SERVICE_START_QUEST as SERVICE_START_QUEST, SERVICE_TRANSFORMATION as SERVICE_TRANSFORMATION, SERVICE_UPDATE_DAILY as SERVICE_UPDATE_DAILY, SERVICE_UPDATE_HABIT as SERVICE_UPDATE_HABIT, SERVICE_UPDATE_REWARD as SERVICE_UPDATE_REWARD, SERVICE_UPDATE_TODO as SERVICE_UPDATE_TODO, WEEK_DAYS as WEEK_DAYS
1
+ from .const import ATTR_ADD_CHECKLIST_ITEM as ATTR_ADD_CHECKLIST_ITEM, ATTR_ALIAS as ATTR_ALIAS, ATTR_CLEAR_DATE as ATTR_CLEAR_DATE, ATTR_CLEAR_REMINDER as ATTR_CLEAR_REMINDER, ATTR_CONFIG_ENTRY as ATTR_CONFIG_ENTRY, ATTR_COST as ATTR_COST, ATTR_COUNTER_DOWN as ATTR_COUNTER_DOWN, ATTR_COUNTER_UP as ATTR_COUNTER_UP, ATTR_DIRECTION as ATTR_DIRECTION, ATTR_FREQUENCY as ATTR_FREQUENCY, ATTR_INTERVAL as ATTR_INTERVAL, ATTR_ITEM as ATTR_ITEM, ATTR_KEYWORD as ATTR_KEYWORD, ATTR_NOTES as ATTR_NOTES, ATTR_PRIORITY as ATTR_PRIORITY, ATTR_REMINDER as ATTR_REMINDER, ATTR_REMOVE_CHECKLIST_ITEM as ATTR_REMOVE_CHECKLIST_ITEM, ATTR_REMOVE_REMINDER as ATTR_REMOVE_REMINDER, ATTR_REMOVE_TAG as ATTR_REMOVE_TAG, ATTR_REPEAT as ATTR_REPEAT, ATTR_REPEAT_MONTHLY as ATTR_REPEAT_MONTHLY, ATTR_SCORE_CHECKLIST_ITEM as ATTR_SCORE_CHECKLIST_ITEM, ATTR_SKILL as ATTR_SKILL, ATTR_START_DATE as ATTR_START_DATE, ATTR_STREAK as ATTR_STREAK, ATTR_TAG as ATTR_TAG, ATTR_TARGET as ATTR_TARGET, ATTR_TASK as ATTR_TASK, ATTR_TYPE as ATTR_TYPE, ATTR_UNSCORE_CHECKLIST_ITEM as ATTR_UNSCORE_CHECKLIST_ITEM, ATTR_UP_DOWN as ATTR_UP_DOWN, DOMAIN as DOMAIN, SERVICE_ABORT_QUEST as SERVICE_ABORT_QUEST, SERVICE_ACCEPT_QUEST as SERVICE_ACCEPT_QUEST, SERVICE_CANCEL_QUEST as SERVICE_CANCEL_QUEST, SERVICE_CAST_SKILL as SERVICE_CAST_SKILL, SERVICE_CREATE_DAILY as SERVICE_CREATE_DAILY, SERVICE_CREATE_HABIT as SERVICE_CREATE_HABIT, SERVICE_CREATE_REWARD as SERVICE_CREATE_REWARD, SERVICE_CREATE_TODO as SERVICE_CREATE_TODO, SERVICE_GET_TASKS as SERVICE_GET_TASKS, SERVICE_LEAVE_QUEST as SERVICE_LEAVE_QUEST, SERVICE_REJECT_QUEST as SERVICE_REJECT_QUEST, SERVICE_SCORE_HABIT as SERVICE_SCORE_HABIT, SERVICE_SCORE_REWARD as SERVICE_SCORE_REWARD, SERVICE_START_QUEST as SERVICE_START_QUEST, SERVICE_TRANSFORMATION as SERVICE_TRANSFORMATION, SERVICE_UPDATE_DAILY as SERVICE_UPDATE_DAILY, SERVICE_UPDATE_HABIT as SERVICE_UPDATE_HABIT, SERVICE_UPDATE_REWARD as SERVICE_UPDATE_REWARD, SERVICE_UPDATE_TODO as SERVICE_UPDATE_TODO, WEEK_DAYS as WEEK_DAYS
2
2
  from .coordinator import HabiticaConfigEntry as HabiticaConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from habiticalib import TaskData as TaskData
5
5
  from homeassistant.components.todo import ATTR_RENAME as ATTR_RENAME
6
6
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
7
- from homeassistant.const import ATTR_DATE as ATTR_DATE, ATTR_NAME as ATTR_NAME, CONF_NAME as CONF_NAME
7
+ from homeassistant.const import ATTR_DATE as ATTR_DATE, ATTR_NAME as ATTR_NAME
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
10
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
11
10
  from homeassistant.helpers.selector import ConfigEntrySelector as ConfigEntrySelector
12
11
 
13
12
  _LOGGER: Incomplete
14
- SERVICE_API_CALL_SCHEMA: Incomplete
15
13
  SERVICE_CAST_SKILL_SCHEMA: Incomplete
16
14
  SERVICE_MANAGE_QUEST_SCHEMA: Incomplete
17
15
  SERVICE_SCORE_TASK_SCHEMA: Incomplete
@@ -13,3 +13,5 @@ def get_recurrence_rule(recurrence: rrule) -> str: ...
13
13
  def get_attribute_points(user: UserData, content: ContentData, attribute: str) -> dict[str, float]: ...
14
14
  def get_attributes_total(user: UserData, content: ContentData, attribute: str) -> int: ...
15
15
  def inventory_list(user: UserData, content: ContentData, item_type: str) -> dict[str, int]: ...
16
+ def pending_quest_items(user: UserData, content: ContentData) -> int | None: ...
17
+ def pending_damage(user: UserData, content: ContentData) -> float | None: ...
@@ -1,5 +1,7 @@
1
1
  from . import websocket_api as websocket_api
2
- from .const import DOMAIN as DOMAIN
2
+ from .const import DATA_HARDWARE as DATA_HARDWARE, DOMAIN as DOMAIN
3
+ from .hardware import async_process_hardware_platforms as async_process_hardware_platforms
4
+ from .models import HardwareData as HardwareData, SystemStatus as SystemStatus
3
5
  from _typeshed import Incomplete
4
6
  from homeassistant.core import HomeAssistant as HomeAssistant
5
7
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -1 +1,5 @@
1
+ from .models import HardwareData as HardwareData
2
+ from homeassistant.util.hass_dict import HassKey as HassKey
3
+
1
4
  DOMAIN: str
5
+ DATA_HARDWARE: HassKey[HardwareData]
@@ -1,4 +1,4 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from .const import DATA_HARDWARE as DATA_HARDWARE, DOMAIN as DOMAIN
2
2
  from .models import HardwareProtocol as HardwareProtocol
3
3
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
4
4
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -1,7 +1,20 @@
1
+ import psutil_home_assistant as ha_psutil
1
2
  from dataclasses import dataclass
2
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
3
+ from homeassistant.components import websocket_api as websocket_api
4
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, callback as callback
3
5
  from typing import Protocol
4
6
 
7
+ @dataclass
8
+ class HardwareData:
9
+ hardware_platform: dict[str, HardwareProtocol]
10
+ system_status: SystemStatus
11
+
12
+ @dataclass(slots=True)
13
+ class SystemStatus:
14
+ ha_psutil: ha_psutil
15
+ remove_periodic_timer: CALLBACK_TYPE | None
16
+ subscribers: set[tuple[websocket_api.ActiveConnection, int]]
17
+
5
18
  @dataclass(slots=True)
6
19
  class BoardInfo:
7
20
  hassio_board_id: str | None