homeassistant-stubs 2025.7.3__py3-none-any.whl → 2025.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of homeassistant-stubs might be problematic. Click here for more details.

Files changed (495) hide show
  1. homeassistant-stubs/bootstrap.pyi +1 -1
  2. homeassistant-stubs/components/airnow/__init__.pyi +0 -1
  3. homeassistant-stubs/components/airnow/config_flow.pyi +2 -2
  4. homeassistant-stubs/components/airos/__init__.pyi +9 -0
  5. homeassistant-stubs/components/airos/config_flow.pyi +14 -0
  6. homeassistant-stubs/components/airos/const.pyi +5 -0
  7. homeassistant-stubs/components/airos/coordinator.pyi +16 -0
  8. homeassistant-stubs/components/airos/diagnostics.pyi +13 -0
  9. homeassistant-stubs/components/airos/entity.pyi +11 -0
  10. homeassistant-stubs/components/airos/sensor.pyi +29 -0
  11. homeassistant-stubs/components/airq/const.pyi +0 -1
  12. homeassistant-stubs/components/airq/sensor.pyi +2 -2
  13. homeassistant-stubs/components/airthings/__init__.pyi +1 -3
  14. homeassistant-stubs/components/airthings/coordinator.pyi +3 -1
  15. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  16. homeassistant-stubs/components/alexa_devices/__init__.pyi +6 -0
  17. homeassistant-stubs/components/alexa_devices/config_flow.pyi +10 -0
  18. homeassistant-stubs/components/alexa_devices/coordinator.pyi +4 -3
  19. homeassistant-stubs/components/alexa_devices/services.pyi +24 -0
  20. homeassistant-stubs/components/amberelectric/__init__.pyi +7 -1
  21. homeassistant-stubs/components/amberelectric/const.pyi +8 -1
  22. homeassistant-stubs/components/amberelectric/coordinator.pyi +1 -2
  23. homeassistant-stubs/components/amberelectric/helpers.pyi +6 -0
  24. homeassistant-stubs/components/amberelectric/sensor.pyi +2 -2
  25. homeassistant-stubs/components/amberelectric/services.pyi +15 -0
  26. homeassistant-stubs/components/analytics/__init__.pyi +1 -0
  27. homeassistant-stubs/components/analytics/analytics.pyi +3 -0
  28. homeassistant-stubs/components/analytics/http.pyi +10 -0
  29. homeassistant-stubs/components/analytics_insights/__init__.pyi +0 -1
  30. homeassistant-stubs/components/analytics_insights/config_flow.pyi +2 -2
  31. homeassistant-stubs/components/androidtv_remote/__init__.pyi +2 -6
  32. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +6 -6
  33. homeassistant-stubs/components/androidtv_remote/diagnostics.pyi +1 -1
  34. homeassistant-stubs/components/androidtv_remote/entity.pyi +2 -2
  35. homeassistant-stubs/components/androidtv_remote/helpers.pyi +3 -1
  36. homeassistant-stubs/components/androidtv_remote/media_player.pyi +4 -4
  37. homeassistant-stubs/components/androidtv_remote/remote.pyi +1 -1
  38. homeassistant-stubs/components/assist_pipeline/__init__.pyi +2 -2
  39. homeassistant-stubs/components/assist_pipeline/const.pyi +0 -1
  40. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +2 -5
  41. homeassistant-stubs/components/asuswrt/router.pyi +3 -1
  42. homeassistant-stubs/components/awair/const.pyi +1 -0
  43. homeassistant-stubs/components/awair/sensor.pyi +1 -1
  44. homeassistant-stubs/components/backup/__init__.pyi +6 -2
  45. homeassistant-stubs/components/backup/coordinator.pyi +0 -1
  46. homeassistant-stubs/components/backup/manager.pyi +6 -3
  47. homeassistant-stubs/components/backup/onboarding.pyi +1 -1
  48. homeassistant-stubs/components/backup/services.pyi +7 -0
  49. homeassistant-stubs/components/backup/websocket.pyi +4 -1
  50. homeassistant-stubs/components/blue_current/__init__.pyi +5 -5
  51. homeassistant-stubs/components/blue_current/const.pyi +11 -0
  52. homeassistant-stubs/components/blue_current/switch.pyi +40 -0
  53. homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
  54. homeassistant-stubs/components/bosch_alarm/services.pyi +3 -2
  55. homeassistant-stubs/components/bring/__init__.pyi +5 -0
  56. homeassistant-stubs/components/bring/const.pyi +4 -0
  57. homeassistant-stubs/components/bring/services.pyi +14 -0
  58. homeassistant-stubs/components/cloud/backup.pyi +3 -3
  59. homeassistant-stubs/components/cloud/repairs.pyi +3 -3
  60. homeassistant-stubs/components/cloud/subscription.pyi +2 -1
  61. homeassistant-stubs/components/cloud/tts.pyi +2 -1
  62. homeassistant-stubs/components/command_line/sensor.pyi +0 -2
  63. homeassistant-stubs/components/demo/vacuum.pyi +0 -3
  64. homeassistant-stubs/components/derivative/__init__.pyi +5 -1
  65. homeassistant-stubs/components/derivative/config_flow.pyi +2 -0
  66. homeassistant-stubs/components/derivative/sensor.pyi +7 -4
  67. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +3 -7
  68. homeassistant-stubs/components/devolo_home_control/entity.pyi +0 -1
  69. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +2 -2
  70. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -2
  71. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -1
  72. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -1
  73. homeassistant-stubs/components/discovergy/__init__.pyi +1 -0
  74. homeassistant-stubs/components/discovergy/coordinator.pyi +1 -0
  75. homeassistant-stubs/components/dnsip/__init__.pyi +0 -1
  76. homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
  77. homeassistant-stubs/components/downloader/services.pyi +1 -0
  78. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +13 -3
  79. homeassistant-stubs/components/ecovacs/sensor.pyi +13 -0
  80. homeassistant-stubs/components/ecovacs/vacuum.pyi +1 -7
  81. homeassistant-stubs/components/eheimdigital/config_flow.pyi +2 -1
  82. homeassistant-stubs/components/elevenlabs/config_flow.pyi +1 -1
  83. homeassistant-stubs/components/elevenlabs/const.pyi +0 -2
  84. homeassistant-stubs/components/elevenlabs/tts.pyi +2 -3
  85. homeassistant-stubs/components/enphase_envoy/__init__.pyi +0 -2
  86. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
  87. homeassistant-stubs/components/esphome/config_flow.pyi +2 -0
  88. homeassistant-stubs/components/esphome/encryption_key_storage.pyi +29 -0
  89. homeassistant-stubs/components/esphome/entity.pyi +3 -1
  90. homeassistant-stubs/components/esphome/entry_data.pyi +14 -6
  91. homeassistant-stubs/components/esphome/manager.pyi +3 -1
  92. homeassistant-stubs/components/feedreader/__init__.pyi +0 -1
  93. homeassistant-stubs/components/feedreader/config_flow.pyi +3 -3
  94. homeassistant-stubs/components/forecast_solar/__init__.pyi +0 -1
  95. homeassistant-stubs/components/forecast_solar/config_flow.pyi +2 -2
  96. homeassistant-stubs/components/fritz/__init__.pyi +0 -1
  97. homeassistant-stubs/components/fritz/config_flow.pyi +2 -2
  98. homeassistant-stubs/components/fritzbox_callmonitor/__init__.pyi +0 -1
  99. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
  100. homeassistant-stubs/components/frontend/__init__.pyi +1 -0
  101. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +1 -1
  102. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +3 -1
  103. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  104. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +3 -3
  105. homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -1
  106. homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
  107. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  108. homeassistant-stubs/components/geo_location/trigger.pyi +0 -1
  109. homeassistant-stubs/components/gios/const.pyi +2 -0
  110. homeassistant-stubs/components/gios/sensor.pyi +1 -1
  111. homeassistant-stubs/components/google_assistant_sdk/application_credentials.pyi +1 -0
  112. homeassistant-stubs/components/google_cloud/const.pyi +1 -0
  113. homeassistant-stubs/components/google_cloud/stt.pyi +3 -2
  114. homeassistant-stubs/components/guardian/__init__.pyi +1 -1
  115. homeassistant-stubs/components/guardian/services.pyi +2 -1
  116. homeassistant-stubs/components/habitica/button.pyi +3 -4
  117. homeassistant-stubs/components/habitica/coordinator.pyi +2 -3
  118. homeassistant-stubs/components/habitica/entity.pyi +1 -1
  119. homeassistant-stubs/components/habitica/sensor.pyi +3 -18
  120. homeassistant-stubs/components/habitica/switch.pyi +4 -3
  121. homeassistant-stubs/components/habitica/util.pyi +2 -1
  122. homeassistant-stubs/components/heos/__init__.pyi +1 -1
  123. homeassistant-stubs/components/heos/config_flow.pyi +3 -0
  124. homeassistant-stubs/components/heos/services.pyi +3 -2
  125. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  126. homeassistant-stubs/components/here_travel_time/config_flow.pyi +3 -2
  127. homeassistant-stubs/components/here_travel_time/const.pyi +1 -0
  128. homeassistant-stubs/components/here_travel_time/coordinator.pyi +1 -1
  129. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  130. homeassistant-stubs/components/history_stats/__init__.pyi +5 -1
  131. homeassistant-stubs/components/history_stats/config_flow.pyi +14 -0
  132. homeassistant-stubs/components/history_stats/coordinator.pyi +3 -1
  133. homeassistant-stubs/components/history_stats/data.pyi +2 -1
  134. homeassistant-stubs/components/history_stats/helpers.pyi +1 -1
  135. homeassistant-stubs/components/history_stats/sensor.pyi +7 -4
  136. homeassistant-stubs/components/holiday/__init__.pyi +0 -1
  137. homeassistant-stubs/components/holiday/config_flow.pyi +2 -2
  138. homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
  139. homeassistant-stubs/components/home_connect/services.pyi +3 -2
  140. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -1
  141. homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -1
  142. homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +2 -1
  143. homeassistant-stubs/components/homee/__init__.pyi +1 -1
  144. homeassistant-stubs/components/homee/config_flow.pyi +5 -0
  145. homeassistant-stubs/components/homekit/__init__.pyi +2 -1
  146. homeassistant-stubs/components/http/__init__.pyi +1 -2
  147. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -2
  148. homeassistant-stubs/components/huawei_lte/config_flow.pyi +5 -4
  149. homeassistant-stubs/components/huawei_lte/const.pyi +1 -1
  150. homeassistant-stubs/components/huawei_lte/diagnostics.pyi +18 -0
  151. homeassistant-stubs/components/husqvarna_automower/button.pyi +2 -2
  152. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +3 -0
  153. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +15 -13
  154. homeassistant-stubs/components/husqvarna_automower/entity.pyi +2 -6
  155. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -2
  156. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +5 -0
  157. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -1
  158. homeassistant-stubs/components/hydrawise/const.pyi +1 -0
  159. homeassistant-stubs/components/hydrawise/coordinator.pyi +9 -2
  160. homeassistant-stubs/components/hydrawise/entity.pyi +1 -1
  161. homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
  162. homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
  163. homeassistant-stubs/components/hydrawise/valve.pyi +1 -1
  164. homeassistant-stubs/components/hyperion/__init__.pyi +0 -1
  165. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  166. homeassistant-stubs/components/imgw_pib/sensor.pyi +7 -1
  167. homeassistant-stubs/components/immich/__init__.pyi +6 -0
  168. homeassistant-stubs/components/immich/media_source.pyi +1 -0
  169. homeassistant-stubs/components/immich/services.pyi +18 -0
  170. homeassistant-stubs/components/input_text/__init__.pyi +1 -1
  171. homeassistant-stubs/components/integration/__init__.pyi +5 -1
  172. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  173. homeassistant-stubs/components/integration/sensor.pyi +5 -6
  174. homeassistant-stubs/components/iron_os/__init__.pyi +0 -3
  175. homeassistant-stubs/components/iron_os/const.pyi +4 -0
  176. homeassistant-stubs/components/iron_os/coordinator.pyi +1 -1
  177. homeassistant-stubs/components/iron_os/number.pyi +20 -4
  178. homeassistant-stubs/components/iron_os/switch.pyi +2 -0
  179. homeassistant-stubs/components/isy994/__init__.pyi +0 -1
  180. homeassistant-stubs/components/isy994/config_flow.pyi +3 -3
  181. homeassistant-stubs/components/jellyfin/browse_media.pyi +2 -1
  182. homeassistant-stubs/components/jellyfin/media_player.pyi +5 -2
  183. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +5 -15
  184. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +2 -2
  185. homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -5
  186. homeassistant-stubs/components/jewish_calendar/sensor.pyi +11 -7
  187. homeassistant-stubs/components/knx/__init__.pyi +6 -40
  188. homeassistant-stubs/components/knx/binary_sensor.pyi +3 -2
  189. homeassistant-stubs/components/knx/button.pyi +1 -1
  190. homeassistant-stubs/components/knx/climate.pyi +1 -1
  191. homeassistant-stubs/components/knx/config_flow.pyi +14 -21
  192. homeassistant-stubs/components/knx/const.pyi +1 -1
  193. homeassistant-stubs/components/knx/cover.pyi +3 -2
  194. homeassistant-stubs/components/knx/date.pyi +1 -1
  195. homeassistant-stubs/components/knx/datetime.pyi +1 -1
  196. homeassistant-stubs/components/knx/entity.pyi +1 -1
  197. homeassistant-stubs/components/knx/fan.pyi +1 -1
  198. homeassistant-stubs/components/knx/knx_module.pyi +43 -0
  199. homeassistant-stubs/components/knx/light.pyi +3 -2
  200. homeassistant-stubs/components/knx/notify.pyi +1 -1
  201. homeassistant-stubs/components/knx/number.pyi +1 -1
  202. homeassistant-stubs/components/knx/scene.pyi +1 -1
  203. homeassistant-stubs/components/knx/select.pyi +1 -1
  204. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  205. homeassistant-stubs/components/knx/services.pyi +2 -2
  206. homeassistant-stubs/components/knx/storage/config_store.pyi +4 -0
  207. homeassistant-stubs/components/knx/storage/const.pyi +8 -7
  208. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +3 -10
  209. homeassistant-stubs/components/knx/storage/knx_selector.pyi +4 -0
  210. homeassistant-stubs/components/knx/storage/migration.pyi +5 -0
  211. homeassistant-stubs/components/knx/storage/util.pyi +16 -0
  212. homeassistant-stubs/components/knx/switch.pyi +3 -2
  213. homeassistant-stubs/components/knx/text.pyi +1 -1
  214. homeassistant-stubs/components/knx/time.pyi +1 -1
  215. homeassistant-stubs/components/knx/weather.pyi +1 -1
  216. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  217. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  218. homeassistant-stubs/components/lcn/binary_sensor.pyi +1 -20
  219. homeassistant-stubs/components/lcn/helpers.pyi +1 -0
  220. homeassistant-stubs/components/lcn/light.pyi +2 -1
  221. homeassistant-stubs/components/letpot/coordinator.pyi +3 -4
  222. homeassistant-stubs/components/letpot/switch.pyi +1 -1
  223. homeassistant-stubs/components/letpot/time.pyi +1 -1
  224. homeassistant-stubs/components/lifx/const.pyi +1 -0
  225. homeassistant-stubs/components/lifx/coordinator.pyi +5 -1
  226. homeassistant-stubs/components/lifx/light.pyi +1 -1
  227. homeassistant-stubs/components/lifx/manager.pyi +1 -1
  228. homeassistant-stubs/components/linkplay/select.pyi +35 -0
  229. homeassistant-stubs/components/litterrobot/sensor.pyi +3 -0
  230. homeassistant-stubs/components/matrix/__init__.pyi +1 -1
  231. homeassistant-stubs/components/matrix/services.pyi +3 -2
  232. homeassistant-stubs/components/matter/entity.pyi +2 -2
  233. homeassistant-stubs/components/matter/light.pyi +1 -1
  234. homeassistant-stubs/components/matter/number.pyi +29 -1
  235. homeassistant-stubs/components/matter/select.pyi +2 -2
  236. homeassistant-stubs/components/matter/vacuum.pyi +2 -1
  237. homeassistant-stubs/components/mcp_server/server.pyi +1 -1
  238. homeassistant-stubs/components/mealie/const.pyi +2 -0
  239. homeassistant-stubs/components/mealie/services.pyi +4 -1
  240. homeassistant-stubs/components/media_player/const.pyi +2 -2
  241. homeassistant-stubs/components/media_source/const.pyi +3 -0
  242. homeassistant-stubs/components/media_source/local_source.pyi +1 -1
  243. homeassistant-stubs/components/media_source/models.pyi +6 -2
  244. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -17
  245. homeassistant-stubs/components/met_eireann/coordinator.pyi +28 -0
  246. homeassistant-stubs/components/met_eireann/weather.pyi +1 -3
  247. homeassistant-stubs/components/miele/__init__.pyi +5 -0
  248. homeassistant-stubs/components/miele/coordinator.pyi +1 -1
  249. homeassistant-stubs/components/miele/entity.pyi +2 -0
  250. homeassistant-stubs/components/miele/sensor.pyi +7 -6
  251. homeassistant-stubs/components/miele/services.pyi +24 -0
  252. homeassistant-stubs/components/miele/vacuum.pyi +0 -2
  253. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  254. homeassistant-stubs/components/mold_indicator/__init__.pyi +8 -1
  255. homeassistant-stubs/components/mold_indicator/config_flow.pyi +2 -0
  256. homeassistant-stubs/components/mold_indicator/sensor.pyi +2 -2
  257. homeassistant-stubs/components/mqtt/climate.pyi +1 -37
  258. homeassistant-stubs/components/mqtt/config_flow.pyi +38 -6
  259. homeassistant-stubs/components/mqtt/const.pyi +33 -2
  260. homeassistant-stubs/components/mqtt/repairs.pyi +15 -0
  261. homeassistant-stubs/components/mqtt/vacuum.pyi +4 -3
  262. homeassistant-stubs/components/nasweb/const.pyi +1 -0
  263. homeassistant-stubs/components/nasweb/coordinator.pyi +3 -1
  264. homeassistant-stubs/components/nasweb/sensor.pyi +54 -0
  265. homeassistant-stubs/components/netatmo/climate.pyi +1 -1
  266. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  267. homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
  268. homeassistant-stubs/components/nextdns/coordinator.pyi +10 -2
  269. homeassistant-stubs/components/nordpool/const.pyi +1 -0
  270. homeassistant-stubs/components/nordpool/services.pyi +5 -1
  271. homeassistant-stubs/components/number/const.pyi +2 -1
  272. homeassistant-stubs/components/nut/__init__.pyi +0 -1
  273. homeassistant-stubs/components/onewire/__init__.pyi +0 -1
  274. homeassistant-stubs/components/onewire/config_flow.pyi +2 -2
  275. homeassistant-stubs/components/onkyo/__init__.pyi +2 -3
  276. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -6
  277. homeassistant-stubs/components/onkyo/const.pyi +7 -65
  278. homeassistant-stubs/components/onkyo/media_player.pyi +16 -44
  279. homeassistant-stubs/components/onkyo/receiver.pyi +24 -25
  280. homeassistant-stubs/components/onkyo/services.pyi +3 -3
  281. homeassistant-stubs/components/onkyo/util.pyi +3 -0
  282. homeassistant-stubs/components/open_router/__init__.pyi +15 -0
  283. homeassistant-stubs/components/open_router/ai_task.pyi +17 -0
  284. homeassistant-stubs/components/open_router/config_flow.pyi +30 -0
  285. homeassistant-stubs/components/open_router/const.pyi +8 -0
  286. homeassistant-stubs/components/open_router/conversation.pyi +20 -0
  287. homeassistant-stubs/components/open_router/entity.pyi +33 -0
  288. homeassistant-stubs/components/openai_conversation/__init__.pyi +4 -2
  289. homeassistant-stubs/components/openai_conversation/ai_task.pyi +16 -0
  290. homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -3
  291. homeassistant-stubs/components/openai_conversation/const.pyi +9 -1
  292. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -22
  293. homeassistant-stubs/components/openai_conversation/entity.pyi +36 -0
  294. homeassistant-stubs/components/opower/__init__.pyi +8 -0
  295. homeassistant-stubs/components/opower/config_flow.pyi +30 -0
  296. homeassistant-stubs/components/opower/const.pyi +4 -0
  297. homeassistant-stubs/components/opower/coordinator.pyi +24 -0
  298. homeassistant-stubs/components/opower/sensor.pyi +35 -0
  299. homeassistant-stubs/components/pegel_online/__init__.pyi +1 -1
  300. homeassistant-stubs/components/pegel_online/sensor.pyi +2 -0
  301. homeassistant-stubs/components/pi_hole/__init__.pyi +6 -2
  302. homeassistant-stubs/components/pi_hole/config_flow.pyi +1 -2
  303. homeassistant-stubs/components/pi_hole/const.pyi +1 -0
  304. homeassistant-stubs/components/pi_hole/sensor.pyi +5 -0
  305. homeassistant-stubs/components/pi_hole/update.pyi +3 -3
  306. homeassistant-stubs/components/ping/__init__.pyi +0 -1
  307. homeassistant-stubs/components/ping/config_flow.pyi +3 -3
  308. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  309. homeassistant-stubs/components/proximity/__init__.pyi +0 -1
  310. homeassistant-stubs/components/proximity/config_flow.pyi +3 -3
  311. homeassistant-stubs/components/purpleair/__init__.pyi +0 -1
  312. homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
  313. homeassistant-stubs/components/pyload/config_flow.pyi +4 -0
  314. homeassistant-stubs/components/recorder/pool.pyi +2 -1
  315. homeassistant-stubs/components/renault/__init__.pyi +1 -1
  316. homeassistant-stubs/components/renault/services.pyi +3 -2
  317. homeassistant-stubs/components/reolink/__init__.pyi +0 -1
  318. homeassistant-stubs/components/reolink/config_flow.pyi +2 -2
  319. homeassistant-stubs/components/reolink/number.pyi +1 -1
  320. homeassistant-stubs/components/reolink/sensor.pyi +1 -1
  321. homeassistant-stubs/components/rest/sensor.pyi +1 -3
  322. homeassistant-stubs/components/roborock/__init__.pyi +0 -1
  323. homeassistant-stubs/components/roborock/config_flow.pyi +2 -2
  324. homeassistant-stubs/components/roborock/vacuum.pyi +0 -2
  325. homeassistant-stubs/components/roku/__init__.pyi +0 -1
  326. homeassistant-stubs/components/roku/config_flow.pyi +2 -2
  327. homeassistant-stubs/components/russound_rio/const.pyi +2 -0
  328. homeassistant-stubs/components/russound_rio/media_player.pyi +6 -0
  329. homeassistant-stubs/components/scrape/sensor.pyi +1 -2
  330. homeassistant-stubs/components/sensor/const.pyi +2 -1
  331. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  332. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  333. homeassistant-stubs/components/shelly/button.pyi +2 -2
  334. homeassistant-stubs/components/shelly/climate.pyi +2 -2
  335. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  336. homeassistant-stubs/components/shelly/entity.pyi +3 -0
  337. homeassistant-stubs/components/shelly/event.pyi +2 -2
  338. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  339. homeassistant-stubs/components/shelly/utils.pyi +2 -2
  340. homeassistant-stubs/components/sleepiq/const.pyi +2 -0
  341. homeassistant-stubs/components/sleepiq/number.pyi +7 -3
  342. homeassistant-stubs/components/sleepiq/select.pyi +15 -2
  343. homeassistant-stubs/components/smhi/coordinator.pyi +3 -0
  344. homeassistant-stubs/components/smhi/entity.pyi +3 -1
  345. homeassistant-stubs/components/smhi/sensor.pyi +30 -0
  346. homeassistant-stubs/components/smhi/weather.pyi +4 -2
  347. homeassistant-stubs/components/sonarr/__init__.pyi +0 -1
  348. homeassistant-stubs/components/sonarr/config_flow.pyi +2 -2
  349. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +0 -1
  350. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +2 -2
  351. homeassistant-stubs/components/sql/__init__.pyi +0 -1
  352. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  353. homeassistant-stubs/components/squeezebox/__init__.pyi +3 -2
  354. homeassistant-stubs/components/squeezebox/browse_media.pyi +3 -1
  355. homeassistant-stubs/components/squeezebox/const.pyi +2 -3
  356. homeassistant-stubs/components/squeezebox/coordinator.pyi +2 -2
  357. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -2
  358. homeassistant-stubs/components/statistics/__init__.pyi +3 -1
  359. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  360. homeassistant-stubs/components/statistics/sensor.pyi +5 -5
  361. homeassistant-stubs/components/stookwijzer/__init__.pyi +4 -0
  362. homeassistant-stubs/components/stookwijzer/const.pyi +2 -0
  363. homeassistant-stubs/components/stookwijzer/services.pyi +17 -0
  364. homeassistant-stubs/components/switch_as_x/__init__.pyi +2 -2
  365. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -3
  366. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -0
  367. homeassistant-stubs/components/switchbot_cloud/const.pyi +1 -0
  368. homeassistant-stubs/components/switchbot_cloud/fan.pyi +26 -0
  369. homeassistant-stubs/components/switchbot_cloud/light.pyi +40 -0
  370. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +17 -1
  371. homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
  372. homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
  373. homeassistant-stubs/components/tankerkoenig/__init__.pyi +10 -0
  374. homeassistant-stubs/components/tankerkoenig/binary_sensor.pyi +23 -0
  375. homeassistant-stubs/components/tankerkoenig/config_flow.pyi +33 -0
  376. homeassistant-stubs/components/tankerkoenig/const.pyi +13 -0
  377. homeassistant-stubs/components/tankerkoenig/coordinator.pyi +22 -0
  378. homeassistant-stubs/components/tankerkoenig/diagnostics.pyi +10 -0
  379. homeassistant-stubs/components/tankerkoenig/entity.pyi +11 -0
  380. homeassistant-stubs/components/tankerkoenig/sensor.pyi +28 -0
  381. homeassistant-stubs/components/telegram_bot/webhooks.pyi +3 -1
  382. homeassistant-stubs/components/threshold/__init__.pyi +5 -1
  383. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -4
  384. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  385. homeassistant-stubs/components/time_date/config_flow.pyi +1 -2
  386. homeassistant-stubs/components/trafikverket_train/__init__.pyi +0 -1
  387. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +2 -2
  388. homeassistant-stubs/components/trend/__init__.pyi +3 -1
  389. homeassistant-stubs/components/trend/binary_sensor.pyi +3 -4
  390. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  391. homeassistant-stubs/components/tts/entity.pyi +0 -2
  392. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +3 -2
  393. homeassistant-stubs/components/unifiprotect/__init__.pyi +5 -5
  394. homeassistant-stubs/components/unifiprotect/config_flow.pyi +5 -5
  395. homeassistant-stubs/components/unifiprotect/repairs.pyi +0 -6
  396. homeassistant-stubs/components/unifiprotect/services.pyi +1 -1
  397. homeassistant-stubs/components/uptime_kuma/__init__.pyi +14 -0
  398. homeassistant-stubs/components/uptime_kuma/config_flow.pyi +26 -0
  399. homeassistant-stubs/components/uptime_kuma/const.pyi +7 -0
  400. homeassistant-stubs/components/uptime_kuma/coordinator.pyi +30 -0
  401. homeassistant-stubs/components/uptime_kuma/diagnostics.pyi +9 -0
  402. homeassistant-stubs/components/uptime_kuma/sensor.pyi +46 -0
  403. homeassistant-stubs/components/uptime_kuma/update.pyi +39 -0
  404. homeassistant-stubs/components/vacuum/__init__.pyi +8 -0
  405. homeassistant-stubs/components/velbus/__init__.pyi +1 -1
  406. homeassistant-stubs/components/velbus/const.pyi +0 -1
  407. homeassistant-stubs/components/velbus/services.pyi +4 -4
  408. homeassistant-stubs/components/vodafone_station/__init__.pyi +0 -1
  409. homeassistant-stubs/components/vodafone_station/config_flow.pyi +2 -2
  410. homeassistant-stubs/components/volvo/__init__.pyi +15 -0
  411. homeassistant-stubs/components/volvo/api.pyi +14 -0
  412. homeassistant-stubs/components/volvo/application_credentials.pyi +9 -0
  413. homeassistant-stubs/components/volvo/config_flow.pyi +36 -0
  414. homeassistant-stubs/components/volvo/const.pyi +8 -0
  415. homeassistant-stubs/components/volvo/coordinator.pyi +46 -0
  416. homeassistant-stubs/components/volvo/entity.pyi +33 -0
  417. homeassistant-stubs/components/volvo/sensor.pyi +35 -0
  418. homeassistant-stubs/components/wallbox/__init__.pyi +4 -5
  419. homeassistant-stubs/components/wallbox/coordinator.pyi +8 -2
  420. homeassistant-stubs/components/wallbox/lock.pyi +5 -4
  421. homeassistant-stubs/components/wallbox/number.pyi +6 -5
  422. homeassistant-stubs/components/wallbox/select.pyi +4 -3
  423. homeassistant-stubs/components/wallbox/sensor.pyi +5 -4
  424. homeassistant-stubs/components/wallbox/switch.pyi +5 -4
  425. homeassistant-stubs/components/waqi/__init__.pyi +3 -5
  426. homeassistant-stubs/components/waqi/coordinator.pyi +3 -2
  427. homeassistant-stubs/components/waqi/sensor.pyi +2 -13
  428. homeassistant-stubs/components/webostv/__init__.pyi +0 -1
  429. homeassistant-stubs/components/webostv/config_flow.pyi +3 -3
  430. homeassistant-stubs/components/websocket_api/commands.pyi +4 -0
  431. homeassistant-stubs/components/wiz/fan.pyi +34 -0
  432. homeassistant-stubs/components/wled/__init__.pyi +0 -1
  433. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  434. homeassistant-stubs/components/workday/__init__.pyi +0 -1
  435. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  436. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
  437. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +2 -2
  438. homeassistant-stubs/components/yalexs_ble/lock.pyi +14 -2
  439. homeassistant-stubs/components/zone/condition.pyi +22 -0
  440. homeassistant-stubs/components/zone/trigger.pyi +2 -1
  441. homeassistant-stubs/components/zwave_js/__init__.pyi +12 -10
  442. homeassistant-stubs/components/zwave_js/api.pyi +36 -35
  443. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +7 -7
  444. homeassistant-stubs/components/zwave_js/button.pyi +5 -5
  445. homeassistant-stubs/components/zwave_js/climate.pyi +5 -5
  446. homeassistant-stubs/components/zwave_js/config_flow.pyi +7 -4
  447. homeassistant-stubs/components/zwave_js/const.pyi +0 -3
  448. homeassistant-stubs/components/zwave_js/cover.pyi +7 -7
  449. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -1
  450. homeassistant-stubs/components/zwave_js/diagnostics.pyi +5 -5
  451. homeassistant-stubs/components/zwave_js/entity.pyi +0 -4
  452. homeassistant-stubs/components/zwave_js/event.pyi +4 -4
  453. homeassistant-stubs/components/zwave_js/fan.pyi +6 -6
  454. homeassistant-stubs/components/zwave_js/helpers.pyi +10 -6
  455. homeassistant-stubs/components/zwave_js/humidifier.pyi +4 -4
  456. homeassistant-stubs/components/zwave_js/light.pyi +15 -5
  457. homeassistant-stubs/components/zwave_js/lock.pyi +3 -3
  458. homeassistant-stubs/components/zwave_js/models.pyi +12 -0
  459. homeassistant-stubs/components/zwave_js/number.pyi +6 -6
  460. homeassistant-stubs/components/zwave_js/select.pyi +8 -8
  461. homeassistant-stubs/components/zwave_js/sensor.pyi +10 -10
  462. homeassistant-stubs/components/zwave_js/siren.pyi +4 -4
  463. homeassistant-stubs/components/zwave_js/switch.pyi +7 -7
  464. homeassistant-stubs/components/zwave_js/triggers/event.pyi +1 -2
  465. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +1 -1
  466. homeassistant-stubs/components/zwave_js/update.pyi +28 -18
  467. homeassistant-stubs/config.pyi +0 -2
  468. homeassistant-stubs/config_entries.pyi +3 -0
  469. homeassistant-stubs/const.pyi +2 -0
  470. homeassistant-stubs/core.pyi +12 -8
  471. homeassistant-stubs/helpers/condition.pyi +25 -6
  472. homeassistant-stubs/helpers/config_validation.pyi +0 -2
  473. homeassistant-stubs/helpers/device.pyi +2 -0
  474. homeassistant-stubs/helpers/device_registry.pyi +16 -8
  475. homeassistant-stubs/helpers/entity.pyi +3 -1
  476. homeassistant-stubs/helpers/entity_platform.pyi +30 -9
  477. homeassistant-stubs/helpers/frame.pyi +1 -1
  478. homeassistant-stubs/helpers/helper_integration.pyi +2 -1
  479. homeassistant-stubs/helpers/llm.pyi +5 -1
  480. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -0
  481. homeassistant-stubs/helpers/selector.pyi +42 -37
  482. homeassistant-stubs/helpers/service.pyi +9 -26
  483. homeassistant-stubs/helpers/target.pyi +59 -0
  484. homeassistant-stubs/helpers/trigger.pyi +3 -1
  485. homeassistant-stubs/helpers/trigger_template_entity.pyi +5 -1
  486. homeassistant-stubs/loader.pyi +2 -9
  487. homeassistant-stubs/runner.pyi +1 -0
  488. homeassistant-stubs/util/resource.pyi +7 -0
  489. homeassistant-stubs/util/unit_conversion.pyi +1 -1
  490. {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0.dist-info}/METADATA +2 -2
  491. {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0.dist-info}/RECORD +493 -424
  492. homeassistant-stubs/components/backup/basic_websocket.pyi +0 -12
  493. homeassistant-stubs/helpers/backup.pyi +0 -24
  494. {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0.dist-info}/WHEEL +0 -0
  495. {homeassistant_stubs-2025.7.3.dist-info → homeassistant_stubs-2025.8.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,7 @@
1
- from .const import CONF_HTTPS as CONF_HTTPS, DISCOVERY_INTERVAL as DISCOVERY_INTERVAL, DISCOVERY_TASK as DISCOVERY_TASK, DOMAIN as DOMAIN, KNOWN_PLAYERS as KNOWN_PLAYERS, KNOWN_SERVERS as KNOWN_SERVERS, MANUFACTURER as MANUFACTURER, SERVER_MODEL as SERVER_MODEL, SIGNAL_PLAYER_DISCOVERED as SIGNAL_PLAYER_DISCOVERED, SIGNAL_PLAYER_REDISCOVERED as SIGNAL_PLAYER_REDISCOVERED, STATUS_API_TIMEOUT as STATUS_API_TIMEOUT, STATUS_QUERY_LIBRARYNAME as STATUS_QUERY_LIBRARYNAME, STATUS_QUERY_MAC as STATUS_QUERY_MAC, STATUS_QUERY_UUID as STATUS_QUERY_UUID, STATUS_QUERY_VERSION as STATUS_QUERY_VERSION
1
+ from .const import CONF_HTTPS as CONF_HTTPS, DISCOVERY_INTERVAL as DISCOVERY_INTERVAL, DISCOVERY_TASK as DISCOVERY_TASK, DOMAIN as DOMAIN, SERVER_MANUFACTURER as SERVER_MANUFACTURER, SERVER_MODEL as SERVER_MODEL, SERVER_MODEL_ID as SERVER_MODEL_ID, SIGNAL_PLAYER_DISCOVERED as SIGNAL_PLAYER_DISCOVERED, SIGNAL_PLAYER_REDISCOVERED as SIGNAL_PLAYER_REDISCOVERED, STATUS_API_TIMEOUT as STATUS_API_TIMEOUT, STATUS_QUERY_LIBRARYNAME as STATUS_QUERY_LIBRARYNAME, STATUS_QUERY_MAC as STATUS_QUERY_MAC, STATUS_QUERY_UUID as STATUS_QUERY_UUID, STATUS_QUERY_VERSION as STATUS_QUERY_VERSION
2
2
  from .coordinator import LMSStatusDataUpdateCoordinator as LMSStatusDataUpdateCoordinator, SqueezeBoxPlayerUpdateCoordinator as SqueezeBoxPlayerUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
- from dataclasses import dataclass
4
+ from dataclasses import dataclass, field
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, Platform as Platform
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -19,6 +19,7 @@ PLATFORMS: Incomplete
19
19
  class SqueezeboxData:
20
20
  coordinator: LMSStatusDataUpdateCoordinator
21
21
  server: Server
22
+ known_player_ids: set[str] = field(default_factory=set)
22
23
  type SqueezeboxConfigEntry = ConfigEntry[SqueezeboxData]
23
24
 
24
25
  async def async_setup_entry(hass: HomeAssistant, entry: SqueezeboxConfigEntry) -> bool: ...
@@ -8,6 +8,7 @@ from homeassistant.helpers.network import is_internal_request as is_internal_req
8
8
  from pysqueezebox import Player as Player
9
9
  from typing import Any
10
10
 
11
+ _LOGGER: Incomplete
11
12
  LIBRARY: Incomplete
12
13
  MEDIA_TYPE_TO_SQUEEZEBOX: dict[str | MediaType, str]
13
14
  SQUEEZEBOX_ID_BY_TYPE: dict[str | MediaType, str]
@@ -22,8 +23,9 @@ class BrowseData:
22
23
  media_type_to_squeezebox: dict[str | MediaType, str] = field(default_factory=dict)
23
24
  known_apps_radios: set[str] = field(default_factory=set)
24
25
  def __post_init__(self) -> None: ...
26
+ def add_new_command(self, cmd: str | MediaType, type: str) -> None: ...
27
+ async def async_init(self, player: Player, browse_limit: int) -> None: ...
25
28
 
26
- def _add_new_command_to_browse_data(browse_data: BrowseData, cmd: str | MediaType, type: str) -> None: ...
27
29
  def _build_response_apps_radios_category(browse_data: BrowseData, cmd: str | MediaType, item: dict[str, Any]) -> BrowseMedia: ...
28
30
  def _build_response_known_app(browse_data: BrowseData, search_type: str, item: dict[str, Any]) -> BrowseMedia: ...
29
31
  def _build_response_favorites(item: dict[str, Any]) -> BrowseMedia: ...
@@ -4,12 +4,11 @@ CONF_HTTPS: str
4
4
  DISCOVERY_TASK: str
5
5
  DOMAIN: str
6
6
  DEFAULT_PORT: int
7
- KNOWN_PLAYERS: str
8
- KNOWN_SERVERS: str
9
- MANUFACTURER: str
10
7
  PLAYER_DISCOVERY_UNSUB: str
11
8
  SENSOR_UPDATE_INTERVAL: int
9
+ SERVER_MANUFACTURER: str
12
10
  SERVER_MODEL: str
11
+ SERVER_MODEL_ID: str
13
12
  STATUS_API_TIMEOUT: int
14
13
  STATUS_SENSOR_LASTSCAN: str
15
14
  STATUS_SENSOR_NEEDSRESTART: str
@@ -12,13 +12,13 @@ from typing import Any
12
12
 
13
13
  _LOGGER: Incomplete
14
14
 
15
- class LMSStatusDataUpdateCoordinator(DataUpdateCoordinator):
15
+ class LMSStatusDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
16
16
  config_entry: SqueezeboxConfigEntry
17
17
  lms: Incomplete
18
18
  can_server_restart: bool
19
19
  def __init__(self, hass: HomeAssistant, config_entry: SqueezeboxConfigEntry, lms: Server) -> None: ...
20
20
  async def _async_setup(self) -> None: ...
21
- async def _async_update_data(self) -> dict: ...
21
+ async def _async_update_data(self) -> dict[str, Any]: ...
22
22
 
23
23
  class SqueezeBoxPlayerUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
24
24
  config_entry: SqueezeboxConfigEntry
@@ -1,6 +1,6 @@
1
1
  from . import SqueezeboxConfigEntry as SqueezeboxConfigEntry
2
2
  from .browse_media import BrowseData as BrowseData, build_item_response as build_item_response, generate_playlist as generate_playlist, library_payload as library_payload, media_source_content_filter as media_source_content_filter
3
- from .const import ATTR_ANNOUNCE_TIMEOUT as ATTR_ANNOUNCE_TIMEOUT, ATTR_ANNOUNCE_VOLUME as ATTR_ANNOUNCE_VOLUME, CONF_BROWSE_LIMIT as CONF_BROWSE_LIMIT, CONF_VOLUME_STEP as CONF_VOLUME_STEP, DEFAULT_BROWSE_LIMIT as DEFAULT_BROWSE_LIMIT, DEFAULT_VOLUME_STEP as DEFAULT_VOLUME_STEP, DISCOVERY_TASK as DISCOVERY_TASK, DOMAIN as DOMAIN, KNOWN_PLAYERS as KNOWN_PLAYERS, KNOWN_SERVERS as KNOWN_SERVERS, SIGNAL_PLAYER_DISCOVERED as SIGNAL_PLAYER_DISCOVERED, SQUEEZEBOX_SOURCE_STRINGS as SQUEEZEBOX_SOURCE_STRINGS
3
+ from .const import ATTR_ANNOUNCE_TIMEOUT as ATTR_ANNOUNCE_TIMEOUT, ATTR_ANNOUNCE_VOLUME as ATTR_ANNOUNCE_VOLUME, CONF_BROWSE_LIMIT as CONF_BROWSE_LIMIT, CONF_VOLUME_STEP as CONF_VOLUME_STEP, DEFAULT_BROWSE_LIMIT as DEFAULT_BROWSE_LIMIT, DEFAULT_VOLUME_STEP as DEFAULT_VOLUME_STEP, DISCOVERY_TASK as DISCOVERY_TASK, DOMAIN as DOMAIN, SERVER_MANUFACTURER as SERVER_MANUFACTURER, SERVER_MODEL as SERVER_MODEL, SERVER_MODEL_ID as SERVER_MODEL_ID, SIGNAL_PLAYER_DISCOVERED as SIGNAL_PLAYER_DISCOVERED, SQUEEZEBOX_SOURCE_STRINGS as SQUEEZEBOX_SOURCE_STRINGS
4
4
  from .coordinator import SqueezeBoxPlayerUpdateCoordinator as SqueezeBoxPlayerUpdateCoordinator
5
5
  from .entity import SqueezeboxEntity as SqueezeboxEntity
6
6
  from _typeshed import Incomplete
@@ -13,7 +13,7 @@ from homeassistant.const import ATTR_COMMAND as ATTR_COMMAND, CONF_HOST as CONF_
13
13
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
14
14
  from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
15
15
  from homeassistant.helpers import discovery_flow as discovery_flow, entity_platform as entity_platform
16
- from homeassistant.helpers.device_registry import format_mac as format_mac
16
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, format_mac as format_mac
17
17
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
18
18
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
19
19
  from homeassistant.helpers.start import async_at_start as async_at_start
@@ -57,6 +57,7 @@ class SqueezeBoxMediaPlayerEntity(SqueezeboxEntity, MediaPlayerEntity):
57
57
  def extra_state_attributes(self) -> dict[str, Any]: ...
58
58
  @property
59
59
  def state(self) -> MediaPlayerState | None: ...
60
+ async def async_added_to_hass(self) -> None: ...
60
61
  async def async_will_remove_from_hass(self) -> None: ...
61
62
  @property
62
63
  def volume_level(self) -> float | None: ...
@@ -3,11 +3,13 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
3
3
  from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID, Platform as Platform
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
5
5
  from homeassistant.helpers.device import async_entity_id_to_device_id as async_entity_id_to_device_id, async_remove_stale_devices_links_keep_entity_device as async_remove_stale_devices_links_keep_entity_device
6
- from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes
6
+ from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes, async_remove_helper_config_entry_from_source_device as async_remove_helper_config_entry_from_source_device
7
7
 
8
8
  DOMAIN: str
9
9
  PLATFORMS: Incomplete
10
+ _LOGGER: Incomplete
10
11
 
11
12
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
13
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
12
14
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
13
15
  async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -20,6 +20,7 @@ CONFIG_FLOW: Incomplete
20
20
  OPTIONS_FLOW: Incomplete
21
21
 
22
22
  class StatisticsConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
23
+ MINOR_VERSION: int
23
24
  config_flow = CONFIG_FLOW
24
25
  options_flow = OPTIONS_FLOW
25
26
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...
@@ -8,7 +8,7 @@ from homeassistant.components.sensor import DEVICE_CLASS_STATE_CLASSES as DEVICE
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.const import ATTR_DEVICE_CLASS as ATTR_DEVICE_CLASS, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, CONF_UNIQUE_ID as CONF_UNIQUE_ID, PERCENTAGE as PERCENTAGE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
10
10
  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, split_entity_id as split_entity_id
11
- from homeassistant.helpers.device import async_device_info_to_link_from_entity as async_device_info_to_link_from_entity
11
+ from homeassistant.helpers.device import async_entity_id_to_device as async_entity_id_to_device
12
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
13
13
  from homeassistant.helpers.event import async_track_point_in_utc_time as async_track_point_in_utc_time, async_track_state_change_event as async_track_state_change_event, async_track_state_report_event as async_track_state_report_event
14
14
  from homeassistant.helpers.reload import async_setup_reload_service as async_setup_reload_service
@@ -119,7 +119,7 @@ class StatisticsSensor(SensorEntity):
119
119
  _attr_name: str
120
120
  _attr_unique_id: str | None
121
121
  _source_entity_id: str
122
- _attr_device_info: Incomplete
122
+ device_entry: Incomplete
123
123
  is_binary: bool
124
124
  _state_characteristic: str
125
125
  _samples_max_buffer_size: int | None
@@ -134,16 +134,16 @@ class StatisticsSensor(SensorEntity):
134
134
  _state_characteristic_fn: Callable[[deque[bool | float], deque[float], int], float | int | datetime | None]
135
135
  _update_listener: CALLBACK_TYPE | None
136
136
  _preview_callback: Callable[[str, Mapping[str, Any]], None] | None
137
- def __init__(self, hass: HomeAssistant, source_entity_id: str, name: str, unique_id: str | None, state_characteristic: str, samples_max_buffer_size: int | None, samples_max_age: timedelta | None, samples_keep_last: bool, precision: int, percentile: int) -> None: ...
137
+ def __init__(self, hass: HomeAssistant, *, source_entity_id: str, name: str, unique_id: str | None, state_characteristic: str, samples_max_buffer_size: int | None, samples_max_age: timedelta | None, samples_keep_last: bool, precision: int, percentile: int) -> None: ...
138
138
  async def async_start_preview(self, preview_callback: Callable[[str, Mapping[str, Any]], None]) -> CALLBACK_TYPE: ...
139
- def _async_handle_new_state(self, reported_state: State | None) -> None: ...
139
+ def _async_handle_new_state(self, reported_state: State, timestamp: float) -> None: ...
140
140
  @callback
141
141
  def _async_stats_sensor_state_change_listener(self, event: Event[EventStateChangedData]) -> None: ...
142
142
  @callback
143
143
  def _async_stats_sensor_state_report_listener(self, event: Event[EventStateReportedData]) -> None: ...
144
144
  async def _async_stats_sensor_startup(self) -> None: ...
145
145
  async def async_added_to_hass(self) -> None: ...
146
- def _add_state_to_queue(self, new_state: State) -> None: ...
146
+ def _add_state_to_queue(self, new_state: State, last_reported_timestamp: float) -> None: ...
147
147
  _attr_native_unit_of_measurement: Incomplete
148
148
  _attr_device_class: Incomplete
149
149
  _attr_state_class: Incomplete
@@ -1,13 +1,17 @@
1
1
  from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
2
2
  from .coordinator import StookwijzerConfigEntry as StookwijzerConfigEntry, StookwijzerCoordinator as StookwijzerCoordinator
3
+ from .services import setup_services as setup_services
3
4
  from _typeshed import Incomplete
4
5
  from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, Platform as Platform
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
7
  from homeassistant.helpers import entity_registry as er
8
+ from homeassistant.helpers.typing import ConfigType as ConfigType
7
9
  from typing import Any
8
10
 
9
11
  PLATFORMS: Incomplete
12
+ CONFIG_SCHEMA: Incomplete
10
13
 
14
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
11
15
  async def async_setup_entry(hass: HomeAssistant, entry: StookwijzerConfigEntry) -> bool: ...
12
16
  async def async_unload_entry(hass: HomeAssistant, entry: StookwijzerConfigEntry) -> bool: ...
13
17
  async def async_migrate_entry(hass: HomeAssistant, entry: StookwijzerConfigEntry) -> bool: ...
@@ -3,3 +3,5 @@ from typing import Final
3
3
 
4
4
  DOMAIN: Final[str]
5
5
  LOGGER: Incomplete
6
+ ATTR_CONFIG_ENTRY_ID: str
7
+ SERVICE_GET_FORECAST: str
@@ -0,0 +1,17 @@
1
+ from .const import ATTR_CONFIG_ENTRY_ID as ATTR_CONFIG_ENTRY_ID, DOMAIN as DOMAIN, SERVICE_GET_FORECAST as SERVICE_GET_FORECAST
2
+ from .coordinator import StookwijzerConfigEntry as StookwijzerConfigEntry
3
+ from _typeshed import Incomplete
4
+ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
6
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
7
+ from typing import Required, TypedDict
8
+
9
+ SERVICE_GET_FORECAST_SCHEMA: Incomplete
10
+
11
+ class Forecast(TypedDict):
12
+ datetime: Required[str]
13
+ advice: str | None
14
+ final: bool | None
15
+
16
+ def async_get_entry(hass: HomeAssistant, config_entry_id: str) -> StookwijzerConfigEntry: ...
17
+ def setup_services(hass: HomeAssistant) -> None: ...
@@ -4,12 +4,12 @@ from homeassistant.components.homeassistant import exposed_entities as exposed_e
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
- from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes
7
+ from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes, async_remove_helper_config_entry_from_source_device as async_remove_helper_config_entry_from_source_device
8
8
 
9
9
  _LOGGER: Incomplete
10
10
 
11
11
  @callback
12
- def async_add_to_device(hass: HomeAssistant, entry: ConfigEntry, entity_id: str) -> str | None: ...
12
+ def async_get_parent_device_id(hass: HomeAssistant, entity_id: str) -> str | None: ...
13
13
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
14
14
  async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
15
15
  async def config_entry_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -3,7 +3,6 @@ from _typeshed import Incomplete
3
3
  from homeassistant.components.homeassistant import exposed_entities as exposed_entities
4
4
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, SERVICE_TURN_OFF as SERVICE_TURN_OFF, SERVICE_TURN_ON as SERVICE_TURN_ON, STATE_ON as STATE_ON, STATE_UNAVAILABLE as STATE_UNAVAILABLE
5
5
  from homeassistant.core import Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
6
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
7
6
  from homeassistant.helpers.entity import Entity as Entity, ToggleEntity as ToggleEntity
8
7
  from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
9
8
  from typing import Any
@@ -11,8 +10,7 @@ from typing import Any
11
10
  class BaseEntity(Entity):
12
11
  _attr_should_poll: bool
13
12
  _is_new_entity: bool
14
- _device_id: Incomplete
15
- _attr_device_info: Incomplete
13
+ device_entry: Incomplete
16
14
  _attr_entity_category: Incomplete
17
15
  _attr_has_entity_name: Incomplete
18
16
  _attr_name: Incomplete
@@ -23,6 +23,8 @@ class SwitchbotDevices:
23
23
  sensors: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
24
24
  vacuums: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
25
25
  locks: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
26
+ fans: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
27
+ lights: list[tuple[Device, SwitchBotCoordinator]] = field(default_factory=list)
26
28
 
27
29
  @dataclass
28
30
  class SwitchbotCloudData:
@@ -11,3 +11,4 @@ VACUUM_FAN_SPEED_QUIET: str
11
11
  VACUUM_FAN_SPEED_STANDARD: str
12
12
  VACUUM_FAN_SPEED_STRONG: str
13
13
  VACUUM_FAN_SPEED_MAX: str
14
+ AFTER_COMMAND_REFRESH: int
@@ -0,0 +1,26 @@
1
+ from . import SwitchbotCloudData as SwitchbotCloudData
2
+ from .const import DOMAIN as DOMAIN
3
+ from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.fan import FanEntity as FanEntity, FanEntityFeature as FanEntityFeature
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
+ from typing import Any
10
+
11
+ async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
+
13
+ class SwitchBotCloudFan(SwitchBotCloudEntity, FanEntity):
14
+ _attr_name: Incomplete
15
+ _attr_supported_features: Incomplete
16
+ _attr_preset_modes: Incomplete
17
+ _attr_is_on: bool | None
18
+ @property
19
+ def is_on(self) -> bool | None: ...
20
+ _attr_preset_mode: Incomplete
21
+ _attr_percentage: Incomplete
22
+ def _set_attributes(self) -> None: ...
23
+ async def async_turn_on(self, percentage: int | None = None, preset_mode: str | None = None, **kwargs: Any) -> None: ...
24
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
25
+ async def async_set_percentage(self, percentage: int) -> None: ...
26
+ async def async_set_preset_mode(self, preset_mode: str) -> None: ...
@@ -0,0 +1,40 @@
1
+ from . import SwitchBotCoordinator as SwitchBotCoordinator, SwitchbotCloudData as SwitchbotCloudData
2
+ from .const import AFTER_COMMAND_REFRESH as AFTER_COMMAND_REFRESH, DOMAIN as DOMAIN
3
+ from .entity import SwitchBotCloudEntity as SwitchBotCloudEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
+ from switchbot_api import Device as Device, Remote as Remote, SwitchBotAPI as SwitchBotAPI
10
+ from typing import Any
11
+
12
+ def value_map_brightness(value: int) -> int: ...
13
+ async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
+
15
+ class SwitchBotCloudLight(SwitchBotCloudEntity, LightEntity):
16
+ _attr_is_on: bool | None
17
+ _attr_name: str | None
18
+ _attr_color_mode: Incomplete
19
+ _attr_brightness: int | None
20
+ _attr_rgb_color: tuple | None
21
+ _attr_color_temp_kelvin: int | None
22
+ def _set_attributes(self) -> None: ...
23
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
24
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
25
+ async def _send_brightness_command(self, brightness: int) -> None: ...
26
+ async def _send_rgb_color_command(self, rgb_color: tuple) -> None: ...
27
+ async def _send_color_temperature_command(self, color_temp_kelvin: int) -> None: ...
28
+
29
+ class SwitchBotCloudStripLight(SwitchBotCloudLight):
30
+ _attr_supported_color_modes: Incomplete
31
+
32
+ class SwitchBotCloudRGBWWLight(SwitchBotCloudLight):
33
+ _attr_max_color_temp_kelvin: int
34
+ _attr_min_color_temp_kelvin: int
35
+ _attr_supported_color_modes: Incomplete
36
+ async def _send_brightness_command(self, brightness: int) -> None: ...
37
+ async def _send_rgb_color_command(self, rgb_color: tuple) -> None: ...
38
+
39
+ @callback
40
+ def _async_make_entity(api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> SwitchBotCloudStripLight | SwitchBotCloudRGBWWLight: ...
@@ -29,5 +29,21 @@ class SwitchBotCloudVacuum(SwitchBotCloudEntity, StateVacuumEntity):
29
29
  _attr_activity: Incomplete
30
30
  def _set_attributes(self) -> None: ...
31
31
 
32
+ class SwitchBotCloudVacuumK20PlusPro(SwitchBotCloudVacuum):
33
+ _attr_fan_speed: Incomplete
34
+ async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
35
+ async def async_pause(self) -> None: ...
36
+ async def async_return_to_base(self, **kwargs: Any) -> None: ...
37
+ async def async_start(self) -> None: ...
38
+
39
+ class SwitchBotCloudVacuumK10PlusProCombo(SwitchBotCloudVacuumK20PlusPro):
40
+ _attr_fan_speed: Incomplete
41
+ async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
42
+
43
+ class SwitchBotCloudVacuumV3(SwitchBotCloudVacuumK20PlusPro):
44
+ _attr_fan_speed: Incomplete
45
+ async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
46
+ async def async_start(self) -> None: ...
47
+
32
48
  @callback
33
- def _async_make_entity(api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> SwitchBotCloudVacuum: ...
49
+ def _async_make_entity(api: SwitchBotAPI, device: Device | Remote, coordinator: SwitchBotCoordinator) -> SwitchBotCloudVacuum | SwitchBotCloudVacuumK20PlusPro | SwitchBotCloudVacuumV3 | SwitchBotCloudVacuumK10PlusProCombo: ...
@@ -16,5 +16,4 @@ CONFIG_SCHEMA: Incomplete
16
16
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
17
17
  async def async_setup_entry(hass: HomeAssistant, entry: SynologyDSMConfigEntry) -> bool: ...
18
18
  async def async_unload_entry(hass: HomeAssistant, entry: SynologyDSMConfigEntry) -> bool: ...
19
- async def _async_update_listener(hass: HomeAssistant, entry: SynologyDSMConfigEntry) -> None: ...
20
19
  async def async_remove_config_entry_device(hass: HomeAssistant, entry: SynologyDSMConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
@@ -3,7 +3,7 @@ from .const import CONF_BACKUP_PATH as CONF_BACKUP_PATH, CONF_BACKUP_SHARE as CO
3
3
  from .coordinator import SynologyDSMConfigEntry as SynologyDSMConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Mapping
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
7
7
  from homeassistant.const import CONF_DISKS as CONF_DISKS, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SSL as CONF_SSL, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
8
8
  from homeassistant.core import callback as callback
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -51,7 +51,7 @@ class SynologyDSMFlowHandler(ConfigFlow, domain=DOMAIN):
51
51
  async def async_step_backup_share(self, user_input: dict[str, Any], errors: dict[str, str] | None = None) -> ConfigFlowResult: ...
52
52
  def _async_get_existing_entry(self, discovered_mac: str) -> ConfigEntry | None: ...
53
53
 
54
- class SynologyDSMOptionsFlowHandler(OptionsFlow):
54
+ class SynologyDSMOptionsFlowHandler(OptionsFlowWithReload):
55
55
  config_entry: SynologyDSMConfigEntry
56
56
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
57
57
 
@@ -0,0 +1,10 @@
1
+ from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN
2
+ from .coordinator import TankerkoenigConfigEntry as TankerkoenigConfigEntry, TankerkoenigDataUpdateCoordinator as TankerkoenigDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.const import Platform as Platform
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+
7
+ PLATFORMS: Incomplete
8
+
9
+ async def async_setup_entry(hass: HomeAssistant, entry: TankerkoenigConfigEntry) -> bool: ...
10
+ async def async_unload_entry(hass: HomeAssistant, entry: TankerkoenigConfigEntry) -> bool: ...
@@ -0,0 +1,23 @@
1
+ from .coordinator import TankerkoenigConfigEntry as TankerkoenigConfigEntry, TankerkoenigDataUpdateCoordinator as TankerkoenigDataUpdateCoordinator
2
+ from .entity import TankerkoenigCoordinatorEntity as TankerkoenigCoordinatorEntity
3
+ from _typeshed import Incomplete
4
+ from aiotankerkoenig import PriceInfo as PriceInfo, Station as Station
5
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity
6
+ from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
+
10
+ PARALLEL_UPDATES: int
11
+ _LOGGER: Incomplete
12
+
13
+ async def async_setup_entry(hass: HomeAssistant, entry: TankerkoenigConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
+
15
+ class StationOpenBinarySensorEntity(TankerkoenigCoordinatorEntity, BinarySensorEntity):
16
+ _attr_device_class: Incomplete
17
+ _attr_translation_key: str
18
+ _station_id: Incomplete
19
+ _attr_unique_id: Incomplete
20
+ _attr_extra_state_attributes: Incomplete
21
+ def __init__(self, station: Station, coordinator: TankerkoenigDataUpdateCoordinator) -> None: ...
22
+ @property
23
+ def is_on(self) -> bool | None: ...
@@ -0,0 +1,33 @@
1
+ from .const import CONF_STATIONS as CONF_STATIONS, DEFAULT_RADIUS as DEFAULT_RADIUS, DOMAIN as DOMAIN
2
+ from .coordinator import TankerkoenigConfigEntry as TankerkoenigConfigEntry
3
+ from aiotankerkoenig import Station as Station, Tankerkoenig
4
+ from collections.abc import Mapping
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
6
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME, CONF_RADIUS as CONF_RADIUS, CONF_SHOW_ON_MAP as CONF_SHOW_ON_MAP, UnitOfLength as UnitOfLength
7
+ from homeassistant.core import callback as callback
8
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
+ from homeassistant.helpers.selector import LocationSelector as LocationSelector, NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig
10
+ from typing import Any
11
+
12
+ async def async_get_nearby_stations(tankerkoenig: Tankerkoenig, data: Mapping[str, Any]) -> list[Station]: ...
13
+
14
+ class FlowHandler(ConfigFlow, domain=DOMAIN):
15
+ VERSION: int
16
+ _data: dict[str, Any]
17
+ _stations: dict[str, str]
18
+ def __init__(self) -> None: ...
19
+ @staticmethod
20
+ @callback
21
+ def async_get_options_flow(config_entry: TankerkoenigConfigEntry) -> OptionsFlowHandler: ...
22
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
23
+ async def async_step_select_station(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
25
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
26
+ def _show_form_user(self, user_input: dict[str, Any] | None = None, errors: dict[str, Any] | None = None) -> ConfigFlowResult: ...
27
+ def _show_form_reauth(self, user_input: dict[str, Any] | None = None, errors: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
+ def _create_entry(self, data: dict[str, Any], options: dict[str, Any]) -> ConfigFlowResult: ...
29
+
30
+ class OptionsFlowHandler(OptionsFlowWithReload):
31
+ _stations: dict[str, str]
32
+ def __init__(self) -> None: ...
33
+ async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,13 @@
1
+ DOMAIN: str
2
+ NAME: str
3
+ CONF_STATIONS: str
4
+ DEFAULT_RADIUS: int
5
+ DEFAULT_SCAN_INTERVAL: int
6
+ ATTR_BRAND: str
7
+ ATTR_CITY: str
8
+ ATTR_FUEL_TYPE: str
9
+ ATTR_HOUSE_NUMBER: str
10
+ ATTR_POSTCODE: str
11
+ ATTR_STATION_NAME: str
12
+ ATTR_STREET: str
13
+ ATTRIBUTION: str
@@ -0,0 +1,22 @@
1
+ from .const import CONF_STATIONS as CONF_STATIONS, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from aiotankerkoenig import PriceInfo, Station as Station
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.const import ATTR_ID as ATTR_ID, CONF_API_KEY as CONF_API_KEY, CONF_SHOW_ON_MAP as CONF_SHOW_ON_MAP
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
8
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
+
11
+ _LOGGER: Incomplete
12
+ type TankerkoenigConfigEntry = ConfigEntry[TankerkoenigDataUpdateCoordinator]
13
+
14
+ class TankerkoenigDataUpdateCoordinator(DataUpdateCoordinator[dict[str, PriceInfo]]):
15
+ config_entry: TankerkoenigConfigEntry
16
+ _selected_stations: list[str]
17
+ stations: dict[str, Station]
18
+ show_on_map: bool
19
+ _tankerkoenig: Incomplete
20
+ def __init__(self, hass: HomeAssistant, config_entry: TankerkoenigConfigEntry, update_interval: int) -> None: ...
21
+ async def async_setup(self) -> None: ...
22
+ async def _async_update_data(self) -> dict[str, PriceInfo]: ...
@@ -0,0 +1,10 @@
1
+ from .coordinator import TankerkoenigConfigEntry as TankerkoenigConfigEntry
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_UNIQUE_ID as CONF_UNIQUE_ID
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from typing import Any
7
+
8
+ TO_REDACT: Incomplete
9
+
10
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: TankerkoenigConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,11 @@
1
+ from .coordinator import TankerkoenigDataUpdateCoordinator as TankerkoenigDataUpdateCoordinator
2
+ from _typeshed import Incomplete
3
+ from aiotankerkoenig import Station as Station
4
+ from homeassistant.const import ATTR_ID as ATTR_ID
5
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
6
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
+
8
+ class TankerkoenigCoordinatorEntity(CoordinatorEntity[TankerkoenigDataUpdateCoordinator]):
9
+ _attr_has_entity_name: bool
10
+ _attr_device_info: Incomplete
11
+ def __init__(self, coordinator: TankerkoenigDataUpdateCoordinator, station: Station) -> None: ...
@@ -0,0 +1,28 @@
1
+ from .const import ATTRIBUTION as ATTRIBUTION, ATTR_BRAND as ATTR_BRAND, ATTR_CITY as ATTR_CITY, ATTR_FUEL_TYPE as ATTR_FUEL_TYPE, ATTR_HOUSE_NUMBER as ATTR_HOUSE_NUMBER, ATTR_POSTCODE as ATTR_POSTCODE, ATTR_STATION_NAME as ATTR_STATION_NAME, ATTR_STREET as ATTR_STREET
2
+ from .coordinator import TankerkoenigConfigEntry as TankerkoenigConfigEntry, TankerkoenigDataUpdateCoordinator as TankerkoenigDataUpdateCoordinator
3
+ from .entity import TankerkoenigCoordinatorEntity as TankerkoenigCoordinatorEntity
4
+ from _typeshed import Incomplete
5
+ from aiotankerkoenig import GasType, Station as Station
6
+ from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
7
+ from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CURRENCY_EURO as CURRENCY_EURO
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+
11
+ PARALLEL_UPDATES: int
12
+ _LOGGER: Incomplete
13
+
14
+ async def async_setup_entry(hass: HomeAssistant, entry: TankerkoenigConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+
16
+ class FuelPriceSensor(TankerkoenigCoordinatorEntity, SensorEntity):
17
+ _attr_attribution = ATTRIBUTION
18
+ _attr_state_class: Incomplete
19
+ _attr_native_unit_of_measurement = CURRENCY_EURO
20
+ _unrecorded_attributes: Incomplete
21
+ _station_id: Incomplete
22
+ _fuel_type: Incomplete
23
+ _attr_translation_key: Incomplete
24
+ _attr_unique_id: Incomplete
25
+ _attr_extra_state_attributes: Incomplete
26
+ def __init__(self, fuel_type: GasType, station: Station, coordinator: TankerkoenigDataUpdateCoordinator) -> None: ...
27
+ @property
28
+ def native_value(self) -> float | None: ...
@@ -36,12 +36,14 @@ class PushBot(BaseTelegramBot):
36
36
 
37
37
  class PushBotView(HomeAssistantView):
38
38
  requires_auth: bool
39
- url = TELEGRAM_WEBHOOK_URL
40
39
  name: str
41
40
  hass: Incomplete
42
41
  bot: Incomplete
43
42
  application: Incomplete
44
43
  trusted_networks: Incomplete
45
44
  secret_token: Incomplete
45
+ url: Incomplete
46
46
  def __init__(self, hass: HomeAssistant, bot: Bot, application: Application, trusted_networks: list[IPv4Network], secret_token: str) -> None: ...
47
47
  async def post(self, request: HomeAssistantRequest) -> Response | None: ...
48
+
49
+ def _get_webhook_url(bot: Bot) -> str: ...
@@ -1,9 +1,13 @@
1
+ from _typeshed import Incomplete
1
2
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
2
3
  from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID, Platform as Platform
3
4
  from homeassistant.core import HomeAssistant as HomeAssistant
4
5
  from homeassistant.helpers.device import async_entity_id_to_device_id as async_entity_id_to_device_id, async_remove_stale_devices_links_keep_entity_device as async_remove_stale_devices_links_keep_entity_device
5
- from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes
6
+ from homeassistant.helpers.helper_integration import async_handle_source_entity_changes as async_handle_source_entity_changes, async_remove_helper_config_entry_from_source_device as async_remove_helper_config_entry_from_source_device
7
+
8
+ _LOGGER: Incomplete
6
9
 
7
10
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
11
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
8
12
  async def config_entry_update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
9
13
  async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
@@ -5,8 +5,7 @@ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as Bi
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
7
7
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, Event as Event, EventStateChangedData as EventStateChangedData, HomeAssistant as HomeAssistant, callback as callback
8
- from homeassistant.helpers.device import async_device_info_to_link_from_entity as async_device_info_to_link_from_entity
9
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
+ from homeassistant.helpers.device import async_entity_id_to_device as async_entity_id_to_device
10
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
11
10
  from homeassistant.helpers.event import async_track_state_change_event as async_track_state_change_event
12
11
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
@@ -28,7 +27,7 @@ class ThresholdSensor(BinarySensorEntity):
28
27
  _unrecorded_attributes: Incomplete
29
28
  _preview_callback: Callable[[str, Mapping[str, Any]], None] | None
30
29
  _attr_unique_id: Incomplete
31
- _attr_device_info: Incomplete
30
+ device_entry: Incomplete
32
31
  _entity_id: Incomplete
33
32
  _attr_name: Incomplete
34
33
  _threshold_lower: Incomplete
@@ -38,7 +37,7 @@ class ThresholdSensor(BinarySensorEntity):
38
37
  _attr_device_class: Incomplete
39
38
  _state_position: Incomplete
40
39
  sensor_value: float | None
41
- def __init__(self, entity_id: str, name: str, lower: float | None, upper: float | None, hysteresis: float, device_class: BinarySensorDeviceClass | None, unique_id: str | None, device_info: DeviceInfo | None = None) -> None: ...
40
+ def __init__(self, hass: HomeAssistant, *, entity_id: str, name: str, lower: float | None, upper: float | None, hysteresis: float, device_class: BinarySensorDeviceClass | None, unique_id: str | None) -> None: ...
42
41
  async def async_added_to_hass(self) -> None: ...
43
42
  @callback
44
43
  def _async_setup_sensor(self) -> None: ...
@@ -18,6 +18,7 @@ CONFIG_FLOW: Incomplete
18
18
  OPTIONS_FLOW: Incomplete
19
19
 
20
20
  class ConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
21
+ MINOR_VERSION: int
21
22
  config_flow = CONFIG_FLOW
22
23
  options_flow = OPTIONS_FLOW
23
24
  def async_config_entry_title(self, options: Mapping[str, Any]) -> str: ...