homeassistant-stubs 2025.4.3__py3-none-any.whl → 2025.5.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 (396) hide show
  1. homeassistant-stubs/components/adax/__init__.pyi +5 -4
  2. homeassistant-stubs/components/adax/climate.pyi +25 -17
  3. homeassistant-stubs/components/adax/const.pyi +2 -0
  4. homeassistant-stubs/components/adax/coordinator.pyi +21 -0
  5. homeassistant-stubs/components/androidtv_remote/media_player.pyi +1 -1
  6. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +1 -1
  7. homeassistant-stubs/components/apcupsd/coordinator.pyi +2 -0
  8. homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
  9. homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
  10. homeassistant-stubs/components/apsystems/switch.pyi +1 -1
  11. homeassistant-stubs/components/asuswrt/router.pyi +2 -3
  12. homeassistant-stubs/components/automation/__init__.pyi +2 -2
  13. homeassistant-stubs/components/automation/config.pyi +2 -2
  14. homeassistant-stubs/components/automation/const.pyi +0 -4
  15. homeassistant-stubs/components/axis/hub/api.pyi +2 -2
  16. homeassistant-stubs/components/backup/config.pyi +10 -2
  17. homeassistant-stubs/components/backup/onboarding.pyi +30 -0
  18. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +3 -0
  19. homeassistant-stubs/components/bluetooth/storage.pyi +1 -1
  20. homeassistant-stubs/components/bond/config_flow.pyi +3 -0
  21. homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
  22. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +2 -11
  23. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +5 -1
  24. homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +11 -0
  25. homeassistant-stubs/components/bosch_alarm/entity.pyi +29 -0
  26. homeassistant-stubs/components/bosch_alarm/sensor.pyi +30 -0
  27. homeassistant-stubs/components/cambridge_audio/media_player.pyi +2 -0
  28. homeassistant-stubs/components/canary/__init__.pyi +1 -5
  29. homeassistant-stubs/components/canary/config_flow.pyi +0 -1
  30. homeassistant-stubs/components/cloud/const.pyi +1 -0
  31. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  32. homeassistant-stubs/components/cloud/onboarding.pyi +35 -0
  33. homeassistant-stubs/components/cloud/tts.pyi +3 -1
  34. homeassistant-stubs/components/comelit/__init__.pyi +1 -0
  35. homeassistant-stubs/components/comelit/alarm_control_panel.pyi +0 -1
  36. homeassistant-stubs/components/comelit/binary_sensor.pyi +0 -1
  37. homeassistant-stubs/components/comelit/climate.pyi +2 -7
  38. homeassistant-stubs/components/comelit/config_flow.pyi +1 -0
  39. homeassistant-stubs/components/comelit/coordinator.pyi +3 -2
  40. homeassistant-stubs/components/comelit/cover.pyi +2 -7
  41. homeassistant-stubs/components/comelit/entity.pyi +11 -0
  42. homeassistant-stubs/components/comelit/humidifier.pyi +2 -6
  43. homeassistant-stubs/components/comelit/light.pyi +2 -9
  44. homeassistant-stubs/components/comelit/sensor.pyi +2 -7
  45. homeassistant-stubs/components/comelit/switch.pyi +2 -6
  46. homeassistant-stubs/components/comelit/utils.pyi +5 -0
  47. homeassistant-stubs/components/command_line/__init__.pyi +1 -1
  48. homeassistant-stubs/components/command_line/binary_sensor.pyi +2 -2
  49. homeassistant-stubs/components/command_line/cover.pyi +2 -2
  50. homeassistant-stubs/components/command_line/sensor.pyi +2 -2
  51. homeassistant-stubs/components/command_line/switch.pyi +2 -2
  52. homeassistant-stubs/components/config/config_entries.pyi +3 -1
  53. homeassistant-stubs/components/demo/light.pyi +3 -2
  54. homeassistant-stubs/components/demo/media_player.pyi +4 -0
  55. homeassistant-stubs/components/device_tracker/config_entry.pyi +2 -2
  56. homeassistant-stubs/components/devolo_home_control/__init__.pyi +2 -2
  57. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
  58. homeassistant-stubs/components/dhcp/__init__.pyi +6 -13
  59. homeassistant-stubs/components/dhcp/const.pyi +5 -0
  60. homeassistant-stubs/components/dhcp/helpers.pyi +8 -0
  61. homeassistant-stubs/components/dhcp/models.pyi +25 -0
  62. homeassistant-stubs/components/dhcp/websocket_api.pyi +13 -0
  63. homeassistant-stubs/components/ecovacs/image.pyi +1 -0
  64. homeassistant-stubs/components/eheimdigital/number.pyi +38 -0
  65. homeassistant-stubs/components/eheimdigital/sensor.pyi +32 -0
  66. homeassistant-stubs/components/eheimdigital/switch.pyi +26 -0
  67. homeassistant-stubs/components/eheimdigital/time.pyi +37 -0
  68. homeassistant-stubs/components/elevenlabs/tts.pyi +2 -2
  69. homeassistant-stubs/components/energy/sensor.pyi +5 -0
  70. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +3 -1
  71. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +12 -1
  72. homeassistant-stubs/components/esphome/__init__.pyi +5 -4
  73. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +1 -0
  74. homeassistant-stubs/components/esphome/assist_satellite.pyi +7 -6
  75. homeassistant-stubs/components/esphome/binary_sensor.pyi +5 -13
  76. homeassistant-stubs/components/esphome/button.pyi +2 -0
  77. homeassistant-stubs/components/esphome/camera.pyi +2 -0
  78. homeassistant-stubs/components/esphome/climate.pyi +1 -0
  79. homeassistant-stubs/components/esphome/config_flow.pyi +25 -5
  80. homeassistant-stubs/components/esphome/const.pyi +2 -1
  81. homeassistant-stubs/components/esphome/coordinator.pyi +4 -3
  82. homeassistant-stubs/components/esphome/cover.pyi +2 -0
  83. homeassistant-stubs/components/esphome/dashboard.pyi +1 -1
  84. homeassistant-stubs/components/esphome/date.pyi +2 -0
  85. homeassistant-stubs/components/esphome/datetime.pyi +2 -0
  86. homeassistant-stubs/components/esphome/diagnostics.pyi +2 -0
  87. homeassistant-stubs/components/esphome/entity.pyi +12 -9
  88. homeassistant-stubs/components/esphome/event.pyi +2 -0
  89. homeassistant-stubs/components/esphome/fan.pyi +4 -3
  90. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +10 -2
  91. homeassistant-stubs/components/esphome/light.pyi +8 -7
  92. homeassistant-stubs/components/esphome/lock.pyi +6 -4
  93. homeassistant-stubs/components/esphome/manager.pyi +7 -3
  94. homeassistant-stubs/components/esphome/media_player.pyi +2 -1
  95. homeassistant-stubs/components/esphome/number.pyi +1 -0
  96. homeassistant-stubs/components/esphome/repairs.pyi +21 -2
  97. homeassistant-stubs/components/esphome/select.pyi +3 -2
  98. homeassistant-stubs/components/esphome/sensor.pyi +4 -2
  99. homeassistant-stubs/components/esphome/switch.pyi +3 -1
  100. homeassistant-stubs/components/esphome/text.pyi +1 -0
  101. homeassistant-stubs/components/esphome/time.pyi +2 -0
  102. homeassistant-stubs/components/esphome/update.pyi +8 -8
  103. homeassistant-stubs/components/esphome/valve.pyi +3 -1
  104. homeassistant-stubs/components/fritz/binary_sensor.pyi +1 -0
  105. homeassistant-stubs/components/fritz/button.pyi +1 -0
  106. homeassistant-stubs/components/fritz/coordinator.pyi +3 -4
  107. homeassistant-stubs/components/fritz/device_tracker.pyi +1 -0
  108. homeassistant-stubs/components/fritz/image.pyi +1 -0
  109. homeassistant-stubs/components/fritz/sensor.pyi +1 -0
  110. homeassistant-stubs/components/fritz/switch.pyi +1 -0
  111. homeassistant-stubs/components/fritz/update.pyi +1 -0
  112. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +2 -5
  113. homeassistant-stubs/components/fritzbox/climate.pyi +3 -3
  114. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
  115. homeassistant-stubs/components/fritzbox/sensor.pyi +3 -6
  116. homeassistant-stubs/components/heos/const.pyi +4 -0
  117. homeassistant-stubs/components/heos/media_player.pyi +5 -4
  118. homeassistant-stubs/components/heos/services.pyi +22 -2
  119. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  120. homeassistant-stubs/components/history_stats/data.pyi +2 -1
  121. homeassistant-stubs/components/home_connect/__init__.pyi +0 -1
  122. homeassistant-stubs/components/home_connect/binary_sensor.pyi +2 -13
  123. homeassistant-stubs/components/home_connect/coordinator.pyi +5 -0
  124. homeassistant-stubs/components/home_connect/repairs.pyi +10 -0
  125. homeassistant-stubs/components/home_connect/select.pyi +7 -3
  126. homeassistant-stubs/components/home_connect/sensor.pyi +5 -3
  127. homeassistant-stubs/components/homee/climate.pyi +47 -0
  128. homeassistant-stubs/components/homee/const.pyi +1 -0
  129. homeassistant-stubs/components/homee/number.pyi +12 -4
  130. homeassistant-stubs/components/homekit/__init__.pyi +5 -3
  131. homeassistant-stubs/components/homekit/accessories.pyi +2 -1
  132. homeassistant-stubs/components/homekit/const.pyi +13 -0
  133. homeassistant-stubs/components/homekit/type_air_purifiers.pyi +69 -0
  134. homeassistant-stubs/components/homekit/type_fans.pyi +7 -4
  135. homeassistant-stubs/components/homekit/type_media_players.pyi +2 -1
  136. homeassistant-stubs/components/homekit/type_switches.pyi +1 -1
  137. homeassistant-stubs/components/homekit/type_triggers.pyi +1 -1
  138. homeassistant-stubs/components/homekit/util.pyi +2 -1
  139. homeassistant-stubs/components/http/headers.pyi +6 -0
  140. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +3 -1
  141. homeassistant-stubs/components/huawei_lte/config_flow.pyi +1 -1
  142. homeassistant-stubs/components/huawei_lte/entity.pyi +0 -3
  143. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
  144. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -1
  145. homeassistant-stubs/components/hyperion/__init__.pyi +12 -5
  146. homeassistant-stubs/components/hyperion/camera.pyi +3 -4
  147. homeassistant-stubs/components/hyperion/const.pyi +0 -3
  148. homeassistant-stubs/components/hyperion/light.pyi +4 -6
  149. homeassistant-stubs/components/hyperion/sensor.pyi +3 -4
  150. homeassistant-stubs/components/hyperion/switch.pyi +3 -4
  151. homeassistant-stubs/components/incomfort/climate.pyi +1 -2
  152. homeassistant-stubs/components/iron_os/__init__.pyi +1 -3
  153. homeassistant-stubs/components/iron_os/config_flow.pyi +3 -0
  154. homeassistant-stubs/components/iron_os/coordinator.pyi +4 -2
  155. homeassistant-stubs/components/iron_os/entity.pyi +2 -0
  156. homeassistant-stubs/components/iron_os/update.pyi +4 -2
  157. homeassistant-stubs/components/isy994/entity.pyi +1 -0
  158. homeassistant-stubs/components/isy994/services.pyi +1 -0
  159. homeassistant-stubs/components/isy994/switch.pyi +1 -1
  160. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -2
  161. homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
  162. homeassistant-stubs/components/jewish_calendar/entity.pyi +0 -1
  163. homeassistant-stubs/components/jewish_calendar/sensor.pyi +1 -0
  164. homeassistant-stubs/components/jewish_calendar/service.pyi +4 -3
  165. homeassistant-stubs/components/kulersky/__init__.pyi +14 -0
  166. homeassistant-stubs/components/kulersky/config_flow.pyi +17 -0
  167. homeassistant-stubs/components/kulersky/const.pyi +4 -0
  168. homeassistant-stubs/components/kulersky/light.pyi +34 -0
  169. homeassistant-stubs/components/lamarzocco/__init__.pyi +4 -2
  170. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +3 -7
  171. homeassistant-stubs/components/lamarzocco/calendar.pyi +3 -4
  172. homeassistant-stubs/components/lamarzocco/config_flow.pyi +4 -3
  173. homeassistant-stubs/components/lamarzocco/coordinator.pyi +13 -16
  174. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -8
  175. homeassistant-stubs/components/lamarzocco/entity.pyi +1 -5
  176. homeassistant-stubs/components/lamarzocco/number.pyi +4 -29
  177. homeassistant-stubs/components/lamarzocco/select.pyi +3 -8
  178. homeassistant-stubs/components/lamarzocco/sensor.pyi +11 -24
  179. homeassistant-stubs/components/lamarzocco/switch.pyi +6 -5
  180. homeassistant-stubs/components/lamarzocco/update.pyi +4 -1
  181. homeassistant-stubs/components/lcn/__init__.pyi +4 -3
  182. homeassistant-stubs/components/lcn/entity.pyi +3 -3
  183. homeassistant-stubs/components/lcn/helpers.pyi +2 -2
  184. homeassistant-stubs/components/lcn/websocket.pyi +1 -1
  185. homeassistant-stubs/components/linkplay/__init__.pyi +1 -1
  186. homeassistant-stubs/components/linkplay/const.pyi +8 -2
  187. homeassistant-stubs/components/linkplay/media_player.pyi +8 -4
  188. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -1
  189. homeassistant-stubs/components/logger/__init__.pyi +1 -1
  190. homeassistant-stubs/components/logger/helpers.pyi +4 -2
  191. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  192. homeassistant-stubs/components/matter/entity.pyi +1 -0
  193. homeassistant-stubs/components/matter/select.pyi +1 -1
  194. homeassistant-stubs/components/matter/sensor.pyi +3 -1
  195. homeassistant-stubs/components/matter/switch.pyi +20 -0
  196. homeassistant-stubs/components/matter/water_heater.pyi +39 -0
  197. homeassistant-stubs/components/mcp/application_credentials.pyi +12 -0
  198. homeassistant-stubs/components/mcp/config_flow.pyi +27 -6
  199. homeassistant-stubs/components/mcp/const.pyi +3 -0
  200. homeassistant-stubs/components/mcp/coordinator.pyi +8 -5
  201. homeassistant-stubs/components/media_player/__init__.pyi +7 -3
  202. homeassistant-stubs/components/media_player/browse_media.pyi +16 -1
  203. homeassistant-stubs/components/media_player/const.pyi +4 -0
  204. homeassistant-stubs/components/media_player/errors.pyi +1 -0
  205. homeassistant-stubs/components/media_source/error.pyi +1 -0
  206. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -2
  207. homeassistant-stubs/components/met_eireann/weather.pyi +3 -3
  208. homeassistant-stubs/components/mjpeg/config_flow.pyi +2 -2
  209. homeassistant-stubs/components/motionmount/select.pyi +1 -1
  210. homeassistant-stubs/components/mqtt/config_flow.pyi +18 -4
  211. homeassistant-stubs/components/mqtt/const.pyi +3 -0
  212. homeassistant-stubs/components/mqtt/device_tracker.pyi +11 -14
  213. homeassistant-stubs/components/mqtt/entity.pyi +3 -0
  214. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -2
  215. homeassistant-stubs/components/mqtt/light/schema_json.pyi +3 -2
  216. homeassistant-stubs/components/music_assistant/media_browser.pyi +17 -2
  217. homeassistant-stubs/components/music_assistant/media_player.pyi +3 -2
  218. homeassistant-stubs/components/network/__init__.pyi +2 -0
  219. homeassistant-stubs/components/ntfy/__init__.pyi +16 -0
  220. homeassistant-stubs/components/ntfy/config_flow.pyi +29 -0
  221. homeassistant-stubs/components/ntfy/const.pyi +6 -0
  222. homeassistant-stubs/components/ntfy/diagnostics.pyi +7 -0
  223. homeassistant-stubs/components/ntfy/notify.pyi +25 -0
  224. homeassistant-stubs/components/nut/__init__.pyi +7 -3
  225. homeassistant-stubs/components/nut/config_flow.pyi +11 -14
  226. homeassistant-stubs/components/nut/const.pyi +0 -1
  227. homeassistant-stubs/components/nut/device_action.pyi +5 -1
  228. homeassistant-stubs/components/nut/sensor.pyi +6 -3
  229. homeassistant-stubs/components/ohme/__init__.pyi +15 -0
  230. homeassistant-stubs/components/ohme/button.pyi +26 -0
  231. homeassistant-stubs/components/ohme/config_flow.pyi +17 -0
  232. homeassistant-stubs/components/ohme/const.pyi +5 -0
  233. homeassistant-stubs/components/ohme/coordinator.pyi +44 -0
  234. homeassistant-stubs/components/ohme/diagnostics.pyi +5 -0
  235. homeassistant-stubs/components/ohme/entity.pyi +23 -0
  236. homeassistant-stubs/components/ohme/number.pyi +30 -0
  237. homeassistant-stubs/components/ohme/select.pyi +33 -0
  238. homeassistant-stubs/components/ohme/sensor.pyi +26 -0
  239. homeassistant-stubs/components/ohme/services.pyi +19 -0
  240. homeassistant-stubs/components/ohme/switch.pyi +45 -0
  241. homeassistant-stubs/components/ohme/time.pyi +30 -0
  242. homeassistant-stubs/components/onboarding/__init__.pyi +1 -0
  243. homeassistant-stubs/components/onboarding/views.pyi +29 -43
  244. homeassistant-stubs/components/oncue/__init__.pyi +5 -11
  245. homeassistant-stubs/components/oncue/config_flow.pyi +2 -13
  246. homeassistant-stubs/components/onewire/sensor.pyi +1 -2
  247. homeassistant-stubs/components/onkyo/config_flow.pyi +2 -3
  248. homeassistant-stubs/components/onkyo/const.pyi +0 -2
  249. homeassistant-stubs/components/onkyo/media_player.pyi +3 -14
  250. homeassistant-stubs/components/openai_conversation/config_flow.pyi +3 -3
  251. homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
  252. homeassistant-stubs/components/openai_conversation/conversation.pyi +1 -1
  253. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +4 -1
  254. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_towel_dryer.pyi +2 -1
  255. homeassistant-stubs/components/overkiz/config_flow.pyi +1 -7
  256. homeassistant-stubs/components/overkiz/entity.pyi +2 -1
  257. homeassistant-stubs/components/overkiz/number.pyi +1 -1
  258. homeassistant-stubs/components/overkiz/sensor.pyi +1 -1
  259. homeassistant-stubs/components/pegel_online/__init__.pyi +13 -0
  260. homeassistant-stubs/components/pegel_online/config_flow.pyi +15 -0
  261. homeassistant-stubs/components/pegel_online/const.pyi +6 -0
  262. homeassistant-stubs/components/pegel_online/coordinator.pyi +16 -0
  263. homeassistant-stubs/components/pegel_online/diagnostics.pyi +5 -0
  264. homeassistant-stubs/components/pegel_online/entity.pyi +12 -0
  265. homeassistant-stubs/components/pegel_online/sensor.pyi +28 -0
  266. homeassistant-stubs/components/powerwall/sensor.pyi +0 -1
  267. homeassistant-stubs/components/recorder/core.pyi +2 -0
  268. homeassistant-stubs/components/recorder/entity_registry.pyi +2 -1
  269. homeassistant-stubs/components/recorder/tasks.pyi +2 -1
  270. homeassistant-stubs/components/renault/binary_sensor.pyi +8 -2
  271. homeassistant-stubs/components/renault/config_flow.pyi +2 -1
  272. homeassistant-stubs/components/renault/const.pyi +2 -1
  273. homeassistant-stubs/components/renault/coordinator.pyi +4 -1
  274. homeassistant-stubs/components/renault/entity.pyi +2 -0
  275. homeassistant-stubs/components/renault/renault_hub.pyi +5 -2
  276. homeassistant-stubs/components/renault/renault_vehicle.pyi +5 -2
  277. homeassistant-stubs/components/renault/services.pyi +5 -0
  278. homeassistant-stubs/components/rest/binary_sensor.pyi +2 -2
  279. homeassistant-stubs/components/rest/schema.pyi +1 -1
  280. homeassistant-stubs/components/rest/sensor.pyi +2 -2
  281. homeassistant-stubs/components/rest/switch.pyi +4 -3
  282. homeassistant-stubs/components/roborock/__init__.pyi +1 -0
  283. homeassistant-stubs/components/roborock/config_flow.pyi +1 -0
  284. homeassistant-stubs/components/samsungtv/__init__.pyi +6 -7
  285. homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -1
  286. homeassistant-stubs/components/samsungtv/entity.pyi +3 -2
  287. homeassistant-stubs/components/samsungtv/media_player.pyi +1 -2
  288. homeassistant-stubs/components/samsungtv/remote.pyi +2 -2
  289. homeassistant-stubs/components/scrape/__init__.pyi +1 -1
  290. homeassistant-stubs/components/scrape/sensor.pyi +4 -5
  291. homeassistant-stubs/components/shelly/__init__.pyi +1 -0
  292. homeassistant-stubs/components/shelly/climate.pyi +2 -1
  293. homeassistant-stubs/components/shelly/const.pyi +2 -0
  294. homeassistant-stubs/components/shelly/coordinator.pyi +1 -0
  295. homeassistant-stubs/components/shelly/entity.pyi +5 -2
  296. homeassistant-stubs/components/shelly/number.pyi +4 -3
  297. homeassistant-stubs/components/shelly/repairs.pyi +19 -0
  298. homeassistant-stubs/components/shelly/select.pyi +3 -1
  299. homeassistant-stubs/components/shelly/text.pyi +4 -1
  300. homeassistant-stubs/components/shelly/utils.pyi +2 -3
  301. homeassistant-stubs/components/smlight/binary_sensor.pyi +1 -0
  302. homeassistant-stubs/components/smlight/button.pyi +1 -0
  303. homeassistant-stubs/components/smlight/sensor.pyi +2 -0
  304. homeassistant-stubs/components/smlight/switch.pyi +1 -0
  305. homeassistant-stubs/components/smlight/update.pyi +3 -1
  306. homeassistant-stubs/components/smtp/__init__.pyi +0 -0
  307. homeassistant-stubs/components/smtp/const.pyi +17 -0
  308. homeassistant-stubs/components/smtp/notify.pyi +47 -0
  309. homeassistant-stubs/components/sql/__init__.pyi +1 -1
  310. homeassistant-stubs/components/sql/sensor.pyi +4 -4
  311. homeassistant-stubs/components/ssdp/__init__.pyi +6 -96
  312. homeassistant-stubs/components/ssdp/common.pyi +5 -0
  313. homeassistant-stubs/components/ssdp/const.pyi +3 -0
  314. homeassistant-stubs/components/ssdp/scanner.pyi +75 -0
  315. homeassistant-stubs/components/ssdp/server.pyi +30 -0
  316. homeassistant-stubs/components/ssdp/websocket_api.pyi +16 -0
  317. homeassistant-stubs/components/switcher_kis/button.pyi +2 -1
  318. homeassistant-stubs/components/switcher_kis/climate.pyi +2 -4
  319. homeassistant-stubs/components/switcher_kis/config_flow.pyi +3 -2
  320. homeassistant-stubs/components/switcher_kis/cover.pyi +0 -2
  321. homeassistant-stubs/components/switcher_kis/entity.pyi +4 -0
  322. homeassistant-stubs/components/switcher_kis/light.pyi +3 -8
  323. homeassistant-stubs/components/switcher_kis/sensor.pyi +13 -6
  324. homeassistant-stubs/components/switcher_kis/switch.pyi +9 -15
  325. homeassistant-stubs/components/switcher_kis/utils.pyi +1 -1
  326. homeassistant-stubs/components/synology_dsm/common.pyi +3 -0
  327. homeassistant-stubs/components/synology_dsm/sensor.pyi +9 -1
  328. homeassistant-stubs/components/todo/__init__.pyi +1 -0
  329. homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -2
  330. homeassistant-stubs/components/tractive/__init__.pyi +1 -1
  331. homeassistant-stubs/components/tractive/binary_sensor.pyi +9 -3
  332. homeassistant-stubs/components/tractive/const.pyi +1 -0
  333. homeassistant-stubs/components/tractive/device_tracker.pyi +1 -1
  334. homeassistant-stubs/components/tts/__init__.pyi +22 -13
  335. homeassistant-stubs/components/tts/media_source.pyi +5 -2
  336. homeassistant-stubs/components/unifi/hub/api.pyi +2 -2
  337. homeassistant-stubs/components/uptimerobot/__init__.pyi +4 -5
  338. homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +4 -4
  339. homeassistant-stubs/components/uptimerobot/coordinator.pyi +3 -2
  340. homeassistant-stubs/components/uptimerobot/diagnostics.pyi +2 -4
  341. homeassistant-stubs/components/uptimerobot/entity.pyi +0 -2
  342. homeassistant-stubs/components/uptimerobot/sensor.pyi +3 -4
  343. homeassistant-stubs/components/uptimerobot/switch.pyi +5 -4
  344. homeassistant-stubs/components/vodafone_station/__init__.pyi +1 -1
  345. homeassistant-stubs/components/vodafone_station/config_flow.pyi +1 -0
  346. homeassistant-stubs/components/vodafone_station/coordinator.pyi +2 -1
  347. homeassistant-stubs/components/vodafone_station/utils.pyi +5 -0
  348. homeassistant-stubs/components/websocket_api/commands.pyi +3 -1
  349. homeassistant-stubs/components/websocket_api/http.pyi +4 -1
  350. homeassistant-stubs/components/wemo/__init__.pyi +1 -1
  351. homeassistant-stubs/components/wemo/coordinator.pyi +1 -1
  352. homeassistant-stubs/components/wemo/models.pyi +3 -4
  353. homeassistant-stubs/components/workday/config_flow.pyi +1 -1
  354. homeassistant-stubs/components/xiaomi_ble/const.pyi +2 -0
  355. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  356. homeassistant-stubs/components/xiaomi_ble/sensor.pyi +2 -2
  357. homeassistant-stubs/components/zeroconf/__init__.pyi +6 -49
  358. homeassistant-stubs/components/zeroconf/const.pyi +3 -0
  359. homeassistant-stubs/components/zeroconf/discovery.pyi +63 -0
  360. homeassistant-stubs/components/zeroconf/websocket_api.pyi +40 -0
  361. homeassistant-stubs/components/zone/__init__.pyi +4 -1
  362. homeassistant-stubs/components/zwave_js/__init__.pyi +2 -2
  363. homeassistant-stubs/components/zwave_js/api.pyi +8 -3
  364. homeassistant-stubs/components/zwave_js/config_flow.pyi +41 -59
  365. homeassistant-stubs/components/zwave_js/helpers.pyi +2 -1
  366. homeassistant-stubs/config_entries.pyi +13 -9
  367. homeassistant-stubs/const.pyi +5 -0
  368. homeassistant-stubs/core.pyi +1 -3
  369. homeassistant-stubs/core_config.pyi +1 -1
  370. homeassistant-stubs/data_entry_flow.pyi +5 -1
  371. homeassistant-stubs/helpers/area_registry.pyi +5 -1
  372. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +1 -1
  373. homeassistant-stubs/helpers/config_validation.pyi +1 -0
  374. homeassistant-stubs/helpers/device_registry.pyi +1 -3
  375. homeassistant-stubs/helpers/entity.pyi +1 -1
  376. homeassistant-stubs/helpers/entity_platform.pyi +3 -3
  377. homeassistant-stubs/helpers/entity_registry.pyi +6 -6
  378. homeassistant-stubs/helpers/event.pyi +2 -0
  379. homeassistant-stubs/helpers/floor_registry.pyi +12 -3
  380. homeassistant-stubs/helpers/llm.pyi +24 -1
  381. homeassistant-stubs/helpers/network.pyi +1 -1
  382. homeassistant-stubs/helpers/script.pyi +2 -1
  383. homeassistant-stubs/helpers/template.pyi +1 -0
  384. homeassistant-stubs/helpers/trigger_template_entity.pyi +17 -2
  385. homeassistant-stubs/loader.pyi +2 -11
  386. homeassistant-stubs/setup.pyi +7 -6
  387. homeassistant-stubs/util/ssl.pyi +2 -0
  388. {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/METADATA +3 -3
  389. {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/RECORD +391 -334
  390. homeassistant-stubs/components/oncue/binary_sensor.pyi +0 -16
  391. homeassistant-stubs/components/oncue/const.pyi +0 -6
  392. homeassistant-stubs/components/oncue/entity.pyi +0 -20
  393. homeassistant-stubs/components/oncue/sensor.pyi +0 -21
  394. homeassistant-stubs/components/oncue/types.pyi +0 -5
  395. {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/WHEEL +0 -0
  396. {homeassistant_stubs-2025.4.3.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,102 +1,88 @@
1
1
  from . import OnboardingData as OnboardingData, OnboardingStorage as OnboardingStorage, OnboardingStoreData as OnboardingStoreData
2
2
  from .const import DEFAULT_AREAS as DEFAULT_AREAS, DOMAIN as DOMAIN, STEPS as STEPS, STEP_ANALYTICS as STEP_ANALYTICS, STEP_CORE_CONFIG as STEP_CORE_CONFIG, STEP_INTEGRATION as STEP_INTEGRATION, STEP_USER as STEP_USER
3
3
  from _typeshed import Incomplete
4
- from aiohttp import web
5
- from collections.abc import Callable as Callable, Coroutine
4
+ from aiohttp import web as web
6
5
  from homeassistant.auth.const import GROUP_ID_ADMIN as GROUP_ID_ADMIN
7
6
  from homeassistant.auth.providers.homeassistant import HassAuthProvider as HassAuthProvider
8
7
  from homeassistant.components import person as person
9
8
  from homeassistant.components.auth import indieauth as indieauth
10
- from homeassistant.components.backup import BackupManager as BackupManager, Folder as Folder, IncorrectPasswordError as IncorrectPasswordError, http as backup_http
11
9
  from homeassistant.components.http import KEY_HASS as KEY_HASS, KEY_HASS_REFRESH_TOKEN_ID as KEY_HASS_REFRESH_TOKEN_ID
12
10
  from homeassistant.components.http.data_validator import RequestDataValidator as RequestDataValidator
13
11
  from homeassistant.components.http.view import HomeAssistantView as HomeAssistantView
14
12
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
15
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
13
+ from homeassistant.helpers import integration_platform as integration_platform
16
14
  from homeassistant.helpers.system_info import async_get_system_info as async_get_system_info
17
15
  from homeassistant.helpers.translation import async_get_translations as async_get_translations
18
- from homeassistant.setup import SetupPhases as SetupPhases, async_pause_setup as async_pause_setup, async_setup_component as async_setup_component
19
- from typing import Any, Concatenate
16
+ from homeassistant.setup import async_setup_component as async_setup_component, async_wait_component as async_wait_component
17
+ from typing import Any, Protocol
18
+
19
+ _LOGGER: Incomplete
20
20
 
21
21
  async def async_setup(hass: HomeAssistant, data: OnboardingStoreData, store: OnboardingStorage) -> None: ...
22
22
 
23
- class OnboardingView(HomeAssistantView):
23
+ class OnboardingPlatformProtocol(Protocol):
24
+ async def async_setup_views(self, hass: HomeAssistant, data: OnboardingStoreData) -> None: ...
25
+
26
+ async def async_process_onboarding_platforms(hass: HomeAssistant) -> None: ...
27
+ async def _register_onboarding_platform(hass: HomeAssistant, integration_domain: str, platform: OnboardingPlatformProtocol) -> None: ...
28
+
29
+ class BaseOnboardingView(HomeAssistantView):
30
+ _data: Incomplete
31
+ def __init__(self, data: OnboardingStoreData) -> None: ...
32
+
33
+ class NoAuthBaseOnboardingView(BaseOnboardingView):
24
34
  requires_auth: bool
35
+
36
+ class OnboardingStatusView(NoAuthBaseOnboardingView):
25
37
  url: str
26
38
  name: str
27
39
  _store: Incomplete
28
- _data: Incomplete
29
40
  def __init__(self, data: OnboardingStoreData, store: OnboardingStorage) -> None: ...
30
41
  async def get(self, request: web.Request) -> web.Response: ...
31
42
 
32
- class InstallationTypeOnboardingView(HomeAssistantView):
33
- requires_auth: bool
43
+ class InstallationTypeOnboardingView(NoAuthBaseOnboardingView):
34
44
  url: str
35
45
  name: str
36
- _data: Incomplete
37
- def __init__(self, data: OnboardingStoreData) -> None: ...
38
46
  async def get(self, request: web.Request) -> web.Response: ...
39
47
 
40
- class _BaseOnboardingView(HomeAssistantView):
48
+ class _BaseOnboardingStepView(BaseOnboardingView):
41
49
  step: str
42
50
  _store: Incomplete
43
- _data: Incomplete
44
51
  _lock: Incomplete
45
52
  def __init__(self, data: OnboardingStoreData, store: OnboardingStorage) -> None: ...
46
53
  @callback
47
54
  def _async_is_done(self) -> bool: ...
48
55
  async def _async_mark_done(self, hass: HomeAssistant) -> None: ...
49
56
 
50
- class UserOnboardingView(_BaseOnboardingView):
57
+ class UserOnboardingView(_BaseOnboardingStepView):
51
58
  url: str
52
59
  name: str
53
60
  requires_auth: bool
54
61
  step = STEP_USER
55
62
  async def post(self, request: web.Request, data: dict[str, str]) -> web.Response: ...
56
63
 
57
- class CoreConfigOnboardingView(_BaseOnboardingView):
64
+ class CoreConfigOnboardingView(_BaseOnboardingStepView):
58
65
  url: str
59
66
  name: str
60
67
  step = STEP_CORE_CONFIG
61
68
  async def post(self, request: web.Request) -> web.Response: ...
62
69
 
63
- class IntegrationOnboardingView(_BaseOnboardingView):
70
+ class IntegrationOnboardingView(_BaseOnboardingStepView):
64
71
  url: str
65
72
  name: str
66
73
  step = STEP_INTEGRATION
67
74
  async def post(self, request: web.Request, data: dict[str, Any]) -> web.Response: ...
68
75
 
69
- class AnalyticsOnboardingView(_BaseOnboardingView):
70
- url: str
71
- name: str
72
- step = STEP_ANALYTICS
73
- async def post(self, request: web.Request) -> web.Response: ...
74
-
75
- class BackupOnboardingView(HomeAssistantView):
76
- requires_auth: bool
77
- _data: Incomplete
78
- def __init__(self, data: OnboardingStoreData) -> None: ...
79
-
80
- def with_backup_manager[_ViewT: BackupOnboardingView, **_P](func: Callable[Concatenate[_ViewT, BackupManager, web.Request, _P], Coroutine[Any, Any, web.Response]]) -> Callable[Concatenate[_ViewT, web.Request, _P], Coroutine[Any, Any, web.Response]]: ...
81
-
82
- class BackupInfoView(BackupOnboardingView):
83
- url: str
84
- name: str
85
- @with_backup_manager
86
- async def get(self, manager: BackupManager, request: web.Request) -> web.Response: ...
87
-
88
- class RestoreBackupView(BackupOnboardingView):
76
+ class WaitIntegrationOnboardingView(NoAuthBaseOnboardingView):
89
77
  url: str
90
78
  name: str
91
- @with_backup_manager
92
- async def post(self, manager: BackupManager, request: web.Request, data: dict[str, Any]) -> web.Response: ...
79
+ async def post(self, request: web.Request, data: dict[str, Any]) -> web.Response: ...
93
80
 
94
- class UploadBackupView(BackupOnboardingView, backup_http.UploadBackupView):
81
+ class AnalyticsOnboardingView(_BaseOnboardingStepView):
95
82
  url: str
96
83
  name: str
97
- @with_backup_manager
98
- async def post(self, manager: BackupManager, request: web.Request) -> web.Response: ...
84
+ step = STEP_ANALYTICS
85
+ async def post(self, request: web.Request) -> web.Response: ...
99
86
 
100
- async def setup_cloud_views(hass: HomeAssistant, data: OnboardingStoreData) -> None: ...
101
87
  @callback
102
88
  def _async_get_hass_provider(hass: HomeAssistant) -> HassAuthProvider: ...
@@ -1,14 +1,8 @@
1
- from .const import CONNECTION_EXCEPTIONS as CONNECTION_EXCEPTIONS, DOMAIN as DOMAIN
2
- from .types import OncueConfigEntry as OncueConfigEntry
3
- from _typeshed import Incomplete
4
- from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME, Platform as Platform
1
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
2
  from homeassistant.core import HomeAssistant as HomeAssistant
6
- from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
7
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
9
3
 
10
- PLATFORMS: list[str]
11
- _LOGGER: Incomplete
4
+ DOMAIN: str
12
5
 
13
- async def async_setup_entry(hass: HomeAssistant, entry: OncueConfigEntry) -> bool: ...
14
- async def async_unload_entry(hass: HomeAssistant, entry: OncueConfigEntry) -> bool: ...
6
+ async def async_setup_entry(hass: HomeAssistant, _: ConfigEntry) -> bool: ...
7
+ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
8
+ async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -1,16 +1,5 @@
1
- from .const import CONNECTION_EXCEPTIONS as CONNECTION_EXCEPTIONS, DOMAIN as DOMAIN
2
- from _typeshed import Incomplete
3
- from collections.abc import Mapping
4
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
- from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
6
- from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
- from typing import Any
8
-
9
- _LOGGER: Incomplete
1
+ from . import DOMAIN as DOMAIN
2
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow
10
3
 
11
4
  class OncueConfigFlow(ConfigFlow, domain=DOMAIN):
12
5
  VERSION: int
13
- async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
14
- async def _async_validate_or_error(self, config: dict[str, Any]) -> dict[str, str]: ...
15
- async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
16
- async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -10,7 +10,6 @@ from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
12
  from homeassistant.helpers.typing import StateType as StateType
13
- from types import MappingProxyType
14
13
  from typing import Any
15
14
 
16
15
  PARALLEL_UPDATES: int
@@ -30,7 +29,7 @@ EDS_SENSORS: dict[str, tuple[OneWireSensorEntityDescription, ...]]
30
29
 
31
30
  def get_sensor_types(device_sub_type: str) -> dict[str, tuple[OneWireSensorEntityDescription, ...]]: ...
32
31
  async def async_setup_entry(hass: HomeAssistant, config_entry: OneWireConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
33
- def get_entities(onewire_hub: OneWireHub, devices: list[OWDeviceDescription], options: MappingProxyType[str, Any]) -> list[OneWireSensorEntity]: ...
32
+ def get_entities(onewire_hub: OneWireHub, devices: list[OWDeviceDescription], options: Mapping[str, Any]) -> list[OneWireSensorEntity]: ...
34
33
 
35
34
  class OneWireSensorEntity(OneWireEntity, SensorEntity):
36
35
  entity_description: OneWireSensorEntityDescription
@@ -1,8 +1,8 @@
1
- from .const import CONF_RECEIVER_MAX_VOLUME as CONF_RECEIVER_MAX_VOLUME, CONF_SOURCES as CONF_SOURCES, DOMAIN as DOMAIN, InputSource as InputSource, ListeningMode as ListeningMode, OPTION_INPUT_SOURCES as OPTION_INPUT_SOURCES, OPTION_LISTENING_MODES as OPTION_LISTENING_MODES, OPTION_MAX_VOLUME as OPTION_MAX_VOLUME, OPTION_MAX_VOLUME_DEFAULT as OPTION_MAX_VOLUME_DEFAULT, OPTION_VOLUME_RESOLUTION as OPTION_VOLUME_RESOLUTION, OPTION_VOLUME_RESOLUTION_DEFAULT as OPTION_VOLUME_RESOLUTION_DEFAULT, VOLUME_RESOLUTION_ALLOWED as VOLUME_RESOLUTION_ALLOWED
1
+ from .const import DOMAIN as DOMAIN, InputSource as InputSource, ListeningMode as ListeningMode, OPTION_INPUT_SOURCES as OPTION_INPUT_SOURCES, OPTION_LISTENING_MODES as OPTION_LISTENING_MODES, OPTION_MAX_VOLUME as OPTION_MAX_VOLUME, OPTION_MAX_VOLUME_DEFAULT as OPTION_MAX_VOLUME_DEFAULT, OPTION_VOLUME_RESOLUTION as OPTION_VOLUME_RESOLUTION, OPTION_VOLUME_RESOLUTION_DEFAULT as OPTION_VOLUME_RESOLUTION_DEFAULT, VOLUME_RESOLUTION_ALLOWED as VOLUME_RESOLUTION_ALLOWED
2
2
  from .receiver import ReceiverInfo as ReceiverInfo, async_discover as async_discover, async_interview as async_interview
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
5
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
5
+ from homeassistant.const import CONF_HOST as CONF_HOST
6
6
  from homeassistant.core import callback as callback
7
7
  from homeassistant.data_entry_flow import section as section
8
8
  from homeassistant.helpers.selector import NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig, NumberSelectorMode as NumberSelectorMode, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, Selector as Selector, TextSelector as TextSelector
@@ -28,7 +28,6 @@ class OnkyoConfigFlow(ConfigFlow, domain=DOMAIN):
28
28
  async def async_step_ssdp(self, discovery_info: SsdpServiceInfo) -> ConfigFlowResult: ...
29
29
  async def async_step_configure_receiver(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
30
30
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
- async def async_step_import(self, user_input: dict[str, Any]) -> ConfigFlowResult: ...
32
31
  @staticmethod
33
32
  @callback
34
33
  def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
@@ -5,8 +5,6 @@ from typing import Literal, Self
5
5
  DOMAIN: str
6
6
  DEVICE_INTERVIEW_TIMEOUT: int
7
7
  DEVICE_DISCOVERY_TIMEOUT: int
8
- CONF_SOURCES: str
9
- CONF_RECEIVER_MAX_VOLUME: str
10
8
  type VolumeResolution = Literal[50, 80, 100, 200]
11
9
  OPTION_VOLUME_RESOLUTION: str
12
10
  OPTION_VOLUME_RESOLUTION_DEFAULT: VolumeResolution
@@ -1,28 +1,18 @@
1
1
  import asyncio
2
2
  from . import OnkyoConfigEntry as OnkyoConfigEntry
3
- from .const import CONF_RECEIVER_MAX_VOLUME as CONF_RECEIVER_MAX_VOLUME, CONF_SOURCES as CONF_SOURCES, DOMAIN as DOMAIN, InputSource as InputSource, ListeningMode as ListeningMode, OPTION_MAX_VOLUME as OPTION_MAX_VOLUME, OPTION_VOLUME_RESOLUTION as OPTION_VOLUME_RESOLUTION, PYEISCP_COMMANDS as PYEISCP_COMMANDS, VolumeResolution as VolumeResolution, ZONES as ZONES
4
- from .receiver import Receiver as Receiver, async_discover as async_discover
3
+ from .const import DOMAIN as DOMAIN, InputSource as InputSource, ListeningMode as ListeningMode, OPTION_MAX_VOLUME as OPTION_MAX_VOLUME, OPTION_VOLUME_RESOLUTION as OPTION_VOLUME_RESOLUTION, PYEISCP_COMMANDS as PYEISCP_COMMANDS, VolumeResolution as VolumeResolution, ZONES as ZONES
4
+ from .receiver import Receiver as Receiver
5
5
  from .services import DATA_MP_ENTITIES as DATA_MP_ENTITIES
6
6
  from _typeshed import Incomplete
7
7
  from enum import Enum as Enum
8
8
  from functools import cache
9
9
  from homeassistant.components.media_player import MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
10
- from homeassistant.config_entries import SOURCE_IMPORT as SOURCE_IMPORT
11
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME
12
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
13
- from homeassistant.data_entry_flow import FlowResultType as FlowResultType
14
11
  from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
15
- from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, AddEntitiesCallback as AddEntitiesCallback
16
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
17
- from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
12
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
18
13
  from typing import Any, Literal
19
14
 
20
15
  _LOGGER: Incomplete
21
- CONF_MAX_VOLUME_DEFAULT: int
22
- CONF_RECEIVER_MAX_VOLUME_DEFAULT: int
23
- CONF_SOURCES_DEFAULT: Incomplete
24
- ISSUE_URL_PLACEHOLDER: str
25
- PLATFORM_SCHEMA: Incomplete
26
16
  SUPPORTED_FEATURES_BASE: Incomplete
27
17
  SUPPORTED_FEATURES_VOLUME: Incomplete
28
18
  PLAYABLE_SOURCES: Incomplete
@@ -45,7 +35,6 @@ def _rev_input_source_lib_mappings(zone: str) -> dict[LibValue, InputSource]: ..
45
35
  def _listening_mode_lib_mappings(zone: str) -> dict[ListeningMode, LibValue]: ...
46
36
  @cache
47
37
  def _rev_listening_mode_lib_mappings(zone: str) -> dict[LibValue, ListeningMode]: ...
48
- async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
49
38
  async def async_setup_entry(hass: HomeAssistant, entry: OnkyoConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
50
39
 
51
40
  class OnkyoMediaPlayer(MediaPlayerEntity):
@@ -1,5 +1,6 @@
1
- from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, CONF_MAX_TOKENS as CONF_MAX_TOKENS, CONF_PROMPT as CONF_PROMPT, CONF_REASONING_EFFORT as CONF_REASONING_EFFORT, CONF_RECOMMENDED as CONF_RECOMMENDED, CONF_TEMPERATURE as CONF_TEMPERATURE, CONF_TOP_P as CONF_TOP_P, CONF_WEB_SEARCH as CONF_WEB_SEARCH, CONF_WEB_SEARCH_CITY as CONF_WEB_SEARCH_CITY, CONF_WEB_SEARCH_CONTEXT_SIZE as CONF_WEB_SEARCH_CONTEXT_SIZE, CONF_WEB_SEARCH_COUNTRY as CONF_WEB_SEARCH_COUNTRY, CONF_WEB_SEARCH_REGION as CONF_WEB_SEARCH_REGION, CONF_WEB_SEARCH_TIMEZONE as CONF_WEB_SEARCH_TIMEZONE, CONF_WEB_SEARCH_USER_LOCATION as CONF_WEB_SEARCH_USER_LOCATION, DOMAIN as DOMAIN, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, RECOMMENDED_MAX_TOKENS as RECOMMENDED_MAX_TOKENS, RECOMMENDED_REASONING_EFFORT as RECOMMENDED_REASONING_EFFORT, RECOMMENDED_TEMPERATURE as RECOMMENDED_TEMPERATURE, RECOMMENDED_TOP_P as RECOMMENDED_TOP_P, RECOMMENDED_WEB_SEARCH as RECOMMENDED_WEB_SEARCH, RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE as RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE, RECOMMENDED_WEB_SEARCH_USER_LOCATION as RECOMMENDED_WEB_SEARCH_USER_LOCATION, UNSUPPORTED_MODELS as UNSUPPORTED_MODELS
1
+ from .const import CONF_CHAT_MODEL as CONF_CHAT_MODEL, CONF_MAX_TOKENS as CONF_MAX_TOKENS, CONF_PROMPT as CONF_PROMPT, CONF_REASONING_EFFORT as CONF_REASONING_EFFORT, CONF_RECOMMENDED as CONF_RECOMMENDED, CONF_TEMPERATURE as CONF_TEMPERATURE, CONF_TOP_P as CONF_TOP_P, CONF_WEB_SEARCH as CONF_WEB_SEARCH, CONF_WEB_SEARCH_CITY as CONF_WEB_SEARCH_CITY, CONF_WEB_SEARCH_CONTEXT_SIZE as CONF_WEB_SEARCH_CONTEXT_SIZE, CONF_WEB_SEARCH_COUNTRY as CONF_WEB_SEARCH_COUNTRY, CONF_WEB_SEARCH_REGION as CONF_WEB_SEARCH_REGION, CONF_WEB_SEARCH_TIMEZONE as CONF_WEB_SEARCH_TIMEZONE, CONF_WEB_SEARCH_USER_LOCATION as CONF_WEB_SEARCH_USER_LOCATION, DOMAIN as DOMAIN, RECOMMENDED_CHAT_MODEL as RECOMMENDED_CHAT_MODEL, RECOMMENDED_MAX_TOKENS as RECOMMENDED_MAX_TOKENS, RECOMMENDED_REASONING_EFFORT as RECOMMENDED_REASONING_EFFORT, RECOMMENDED_TEMPERATURE as RECOMMENDED_TEMPERATURE, RECOMMENDED_TOP_P as RECOMMENDED_TOP_P, RECOMMENDED_WEB_SEARCH as RECOMMENDED_WEB_SEARCH, RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE as RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE, RECOMMENDED_WEB_SEARCH_USER_LOCATION as RECOMMENDED_WEB_SEARCH_USER_LOCATION, UNSUPPORTED_MODELS as UNSUPPORTED_MODELS, WEB_SEARCH_MODELS as WEB_SEARCH_MODELS
2
2
  from _typeshed import Incomplete
3
+ from collections.abc import Mapping
3
4
  from homeassistant.components.zone import ENTITY_ID_HOME as ENTITY_ID_HOME
4
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
5
6
  from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONF_API_KEY as CONF_API_KEY, CONF_LLM_HASS_API as CONF_LLM_HASS_API
@@ -8,7 +9,6 @@ from homeassistant.helpers import llm as llm
8
9
  from homeassistant.helpers.httpx_client import get_async_client as get_async_client
9
10
  from homeassistant.helpers.selector import NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig, SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TemplateSelector as TemplateSelector
10
11
  from homeassistant.helpers.typing import VolDictType as VolDictType
11
- from types import MappingProxyType
12
12
  from typing import Any
13
13
 
14
14
  _LOGGER: Incomplete
@@ -29,4 +29,4 @@ class OpenAIOptionsFlow(OptionsFlow):
29
29
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
30
30
  async def get_location_data(self) -> dict[str, str]: ...
31
31
 
32
- def openai_config_option_schema(hass: HomeAssistant, options: dict[str, Any] | MappingProxyType[str, Any]) -> VolDictType: ...
32
+ def openai_config_option_schema(hass: HomeAssistant, options: Mapping[str, Any]) -> VolDictType: ...
@@ -26,3 +26,4 @@ RECOMMENDED_WEB_SEARCH: bool
26
26
  RECOMMENDED_WEB_SEARCH_CONTEXT_SIZE: str
27
27
  RECOMMENDED_WEB_SEARCH_USER_LOCATION: bool
28
28
  UNSUPPORTED_MODELS: list[str]
29
+ WEB_SEARCH_MODELS: list[str]
@@ -18,7 +18,7 @@ MAX_TOOL_ITERATIONS: int
18
18
  async def async_setup_entry(hass: HomeAssistant, config_entry: OpenAIConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
19
  def _format_tool(tool: llm.Tool, custom_serializer: Callable[[Any], Any] | None) -> FunctionToolParam: ...
20
20
  def _convert_content_to_param(content: conversation.Content) -> ResponseInputParam: ...
21
- async def _transform_stream(chat_log: conversation.ChatLog, result: AsyncStream[ResponseStreamEvent]) -> AsyncGenerator[conversation.AssistantContentDeltaDict]: ...
21
+ async def _transform_stream(chat_log: conversation.ChatLog, result: AsyncStream[ResponseStreamEvent], messages: ResponseInputParam) -> AsyncGenerator[conversation.AssistantContentDeltaDict]: ...
22
22
 
23
23
  class OpenAIConversationEntity(conversation.ConversationEntity, conversation.AbstractConversationAgent):
24
24
  _attr_has_entity_name: bool
@@ -2,7 +2,7 @@ from ..const import DOMAIN as DOMAIN
2
2
  from ..coordinator import OverkizDataUpdateCoordinator as OverkizDataUpdateCoordinator
3
3
  from ..entity import OverkizEntity as OverkizEntity
4
4
  from _typeshed import Incomplete
5
- from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_NONE as PRESET_NONE
5
+ from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACAction as HVACAction, HVACMode as HVACMode, PRESET_BOOST as PRESET_BOOST, PRESET_COMFORT as PRESET_COMFORT, PRESET_ECO as PRESET_ECO, PRESET_NONE as PRESET_NONE
6
6
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemperature as UnitOfTemperature
7
7
  from typing import Any
8
8
 
@@ -15,6 +15,7 @@ PRESET_EXTERNAL: str
15
15
  OVERKIZ_TO_PRESET_MODE: dict[str, str]
16
16
  PRESET_MODE_TO_OVERKIZ: Incomplete
17
17
  OVERKIZ_TO_HVAC_MODE: dict[str, HVACMode]
18
+ OVERKIZ_TO_HVAC_ACTION: dict[str, HVACAction]
18
19
  HVAC_MODE_TO_OVERKIZ: Incomplete
19
20
  TEMPERATURE_SENSOR_DEVICE_INDEX: int
20
21
 
@@ -30,6 +31,8 @@ class AtlanticElectricalHeaterWithAdjustableTemperatureSetpoint(OverkizEntity, C
30
31
  def hvac_mode(self) -> HVACMode: ...
31
32
  async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: ...
32
33
  @property
34
+ def hvac_action(self) -> HVACAction: ...
35
+ @property
33
36
  def preset_mode(self) -> str | None: ...
34
37
  async def async_set_preset_mode(self, preset_mode: str) -> None: ...
35
38
  @property
@@ -7,6 +7,7 @@ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, UnitOfTemp
7
7
  from typing import Any
8
8
 
9
9
  PRESET_DRYING: str
10
+ PRESET_PROG: str
10
11
  OVERKIZ_TO_HVAC_MODE: dict[str, HVACMode]
11
12
  HVAC_MODE_TO_OVERKIZ: Incomplete
12
13
  OVERKIZ_TO_PRESET_MODE: dict[str, str]
@@ -18,8 +19,8 @@ class AtlanticElectricalTowelDryer(OverkizEntity, ClimateEntity):
18
19
  _attr_preset_modes: Incomplete
19
20
  _attr_temperature_unit: Incomplete
20
21
  _attr_translation_key = DOMAIN
21
- temperature_device: Incomplete
22
22
  _attr_supported_features: Incomplete
23
+ temperature_device: Incomplete
23
24
  def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator) -> None: ...
24
25
  @property
25
26
  def hvac_mode(self) -> HVACMode: ...
@@ -2,19 +2,15 @@ from .const import CONF_API_TYPE as CONF_API_TYPE, CONF_HUB as CONF_HUB, DEFAULT
2
2
  from collections.abc import Mapping
3
3
  from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH
4
4
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
5
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
6
5
  from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
7
6
  from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo as DhcpServiceInfo
8
7
  from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo as ZeroconfServiceInfo
9
- from pyoverkiz.client import OverkizClient
10
8
  from pyoverkiz.enums import APIType
11
- from pyoverkiz.models import OverkizServer as OverkizServer
12
9
  from typing import Any
13
10
 
14
- class DeveloperModeDisabled(HomeAssistantError): ...
15
-
16
11
  class OverkizConfigFlow(ConfigFlow, domain=DOMAIN):
17
12
  VERSION: int
13
+ _verify_ssl: bool
18
14
  _api_type: APIType
19
15
  _user: str | None
20
16
  _server: str
@@ -28,5 +24,3 @@ class OverkizConfigFlow(ConfigFlow, domain=DOMAIN):
28
24
  async def async_step_zeroconf(self, discovery_info: ZeroconfServiceInfo) -> ConfigFlowResult: ...
29
25
  async def _process_discovery(self, gateway_id: str) -> ConfigFlowResult: ...
30
26
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
31
- def _create_cloud_client(self, username: str, password: str, server: OverkizServer) -> OverkizClient: ...
32
- async def _create_local_api_token(self, cloud_client: OverkizClient, host: str, verify_ssl: bool) -> str: ...
@@ -15,11 +15,12 @@ class OverkizEntity(CoordinatorEntity[OverkizDataUpdateCoordinator]):
15
15
  index_device_url: Incomplete
16
16
  executor: Incomplete
17
17
  _attr_assumed_state: Incomplete
18
- _attr_available: Incomplete
19
18
  _attr_unique_id: Incomplete
20
19
  _attr_device_info: Incomplete
21
20
  def __init__(self, device_url: str, coordinator: OverkizDataUpdateCoordinator) -> None: ...
22
21
  @property
22
+ def available(self) -> bool: ...
23
+ @property
23
24
  def is_sub_device(self) -> bool: ...
24
25
  @property
25
26
  def device(self) -> Device: ...
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
6
6
  from collections.abc import Awaitable, Callable as Callable
7
7
  from dataclasses import dataclass
8
8
  from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
9
- from homeassistant.const import EntityCategory as EntityCategory, UnitOfTemperature as UnitOfTemperature
9
+ from homeassistant.const import EntityCategory as EntityCategory, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
12
 
@@ -6,7 +6,7 @@ from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable
7
7
  from dataclasses import dataclass
8
8
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
- from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
9
+ from homeassistant.const import CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
12
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -0,0 +1,13 @@
1
+ from .const import CONF_STATION as CONF_STATION
2
+ from .coordinator import PegelOnlineConfigEntry as PegelOnlineConfigEntry, PegelOnlineDataUpdateCoordinator as PegelOnlineDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.const import Platform as Platform
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
7
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+
9
+ _LOGGER: Incomplete
10
+ PLATFORMS: Incomplete
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, entry: PegelOnlineConfigEntry) -> bool: ...
13
+ async def async_unload_entry(hass: HomeAssistant, entry: PegelOnlineConfigEntry) -> bool: ...
@@ -0,0 +1,15 @@
1
+ from .const import CONF_STATION as CONF_STATION, DEFAULT_RADIUS as DEFAULT_RADIUS, DOMAIN as DOMAIN
2
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
3
+ from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LOCATION as CONF_LOCATION, CONF_LONGITUDE as CONF_LONGITUDE, CONF_RADIUS as CONF_RADIUS, UnitOfLength as UnitOfLength
4
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
5
+ from homeassistant.helpers.selector import LocationSelector as LocationSelector, NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig, SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode
6
+ from typing import Any
7
+
8
+ class FlowHandler(ConfigFlow, domain=DOMAIN):
9
+ VERSION: int
10
+ _data: dict[str, Any]
11
+ _stations: dict[str, str]
12
+ def __init__(self) -> None: ...
13
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
14
+ async def async_step_select_station(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
15
+ def _show_form_user(self, user_input: dict[str, Any] | None = None, errors: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,6 @@
1
+ from _typeshed import Incomplete
2
+
3
+ DOMAIN: str
4
+ DEFAULT_RADIUS: str
5
+ CONF_STATION: str
6
+ MIN_TIME_BETWEEN_UPDATES: Incomplete
@@ -0,0 +1,16 @@
1
+ from .const import DOMAIN as DOMAIN, MIN_TIME_BETWEEN_UPDATES as MIN_TIME_BETWEEN_UPDATES
2
+ from _typeshed import Incomplete
3
+ from aiopegelonline import PegelOnline as PegelOnline, Station as Station, StationMeasurements
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
7
+
8
+ _LOGGER: Incomplete
9
+ type PegelOnlineConfigEntry = ConfigEntry[PegelOnlineDataUpdateCoordinator]
10
+
11
+ class PegelOnlineDataUpdateCoordinator(DataUpdateCoordinator[StationMeasurements]):
12
+ config_entry: PegelOnlineConfigEntry
13
+ api: Incomplete
14
+ station: Incomplete
15
+ def __init__(self, hass: HomeAssistant, config_entry: PegelOnlineConfigEntry, api: PegelOnline, station: Station) -> None: ...
16
+ async def _async_update_data(self) -> StationMeasurements: ...
@@ -0,0 +1,5 @@
1
+ from .coordinator import PegelOnlineConfigEntry as PegelOnlineConfigEntry
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from typing import Any
4
+
5
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: PegelOnlineConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,12 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import PegelOnlineDataUpdateCoordinator as PegelOnlineDataUpdateCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
5
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
6
+
7
+ class PegelOnlineEntity(CoordinatorEntity[PegelOnlineDataUpdateCoordinator]):
8
+ _attr_has_entity_name: bool
9
+ station: Incomplete
10
+ _attr_extra_state_attributes: Incomplete
11
+ _attr_device_info: Incomplete
12
+ def __init__(self, coordinator: PegelOnlineDataUpdateCoordinator) -> None: ...
@@ -0,0 +1,28 @@
1
+ from .coordinator import PegelOnlineConfigEntry as PegelOnlineConfigEntry, PegelOnlineDataUpdateCoordinator as PegelOnlineDataUpdateCoordinator
2
+ from .entity import PegelOnlineEntity as PegelOnlineEntity
3
+ from _typeshed import Incomplete
4
+ from aiopegelonline.models import CurrentMeasurement as CurrentMeasurement, StationMeasurements as StationMeasurements
5
+ from collections.abc import Callable as Callable
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
+ from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+
12
+ @dataclass(frozen=True, kw_only=True)
13
+ class PegelOnlineSensorEntityDescription(SensorEntityDescription):
14
+ measurement_fn: Callable[[StationMeasurements], CurrentMeasurement | None]
15
+
16
+ SENSORS: tuple[PegelOnlineSensorEntityDescription, ...]
17
+
18
+ async def async_setup_entry(hass: HomeAssistant, entry: PegelOnlineConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
+
20
+ class PegelOnlineSensor(PegelOnlineEntity, SensorEntity):
21
+ entity_description: PegelOnlineSensorEntityDescription
22
+ _attr_unique_id: Incomplete
23
+ _attr_native_unit_of_measurement: Incomplete
24
+ def __init__(self, coordinator: PegelOnlineDataUpdateCoordinator, description: PegelOnlineSensorEntityDescription) -> None: ...
25
+ @property
26
+ def measurement(self) -> CurrentMeasurement: ...
27
+ @property
28
+ def native_value(self) -> float: ...
@@ -56,7 +56,6 @@ class PowerWallBackupReserveSensor(PowerWallEntity, SensorEntity):
56
56
  _attr_translation_key: str
57
57
  _attr_state_class: Incomplete
58
58
  _attr_native_unit_of_measurement = PERCENTAGE
59
- _attr_device_class: Incomplete
60
59
  @property
61
60
  def unique_id(self) -> str: ...
62
61
  @property
@@ -197,6 +197,8 @@ class Recorder(threading.Thread):
197
197
  def _open_event_session(self) -> None: ...
198
198
  def _send_keep_alive(self) -> None: ...
199
199
  async def async_block_till_done(self) -> None: ...
200
+ @callback
201
+ def async_get_commit_future(self) -> asyncio.Future[None] | None: ...
200
202
  def block_till_done(self) -> None: ...
201
203
  async def lock_database(self) -> bool: ...
202
204
  @callback
@@ -2,7 +2,8 @@ from .core import Recorder as Recorder
2
2
  from .util import filter_unique_constraint_integrity_error as filter_unique_constraint_integrity_error, get_instance as get_instance, session_scope as session_scope
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
5
- from homeassistant.helpers.start import async_at_start as async_at_start
5
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
6
+ from homeassistant.helpers.event import async_has_entity_registry_updated_listeners as async_has_entity_registry_updated_listeners
6
7
 
7
8
  _LOGGER: Incomplete
8
9
 
@@ -128,8 +128,9 @@ class AddRecorderPlatformTask(RecorderTask):
128
128
 
129
129
  @dataclass(slots=True)
130
130
  class SynchronizeTask(RecorderTask):
131
- event: asyncio.Event
131
+ future: asyncio.Future
132
132
  def run(self, instance: Recorder) -> None: ...
133
+ def _set_result_if_not_done(self) -> None: ...
133
134
 
134
135
  @dataclass(slots=True)
135
136
  class AdjustLRUSizeTask(RecorderTask):
@@ -1,18 +1,22 @@
1
1
  from . import RenaultConfigEntry as RenaultConfigEntry
2
2
  from .entity import RenaultDataEntity as RenaultDataEntity, RenaultDataEntityDescription as RenaultDataEntityDescription
3
+ from collections.abc import Callable as Callable
3
4
  from dataclasses import dataclass
4
5
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
6
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
8
  from homeassistant.helpers.typing import StateType as StateType
9
+ from renault_api.kamereon.enums import ChargeState
8
10
  from renault_api.kamereon.models import KamereonVehicleBatteryStatusData
9
11
 
10
12
  PARALLEL_UPDATES: int
13
+ _PLUG_FROM_CHARGE_STATUS: set[ChargeState]
11
14
 
12
15
  @dataclass(frozen=True, kw_only=True)
13
16
  class RenaultBinarySensorEntityDescription(BinarySensorEntityDescription, RenaultDataEntityDescription):
14
- on_key: str
15
- on_value: StateType | list[StateType]
17
+ on_key: str | None = ...
18
+ on_value: StateType | None = ...
19
+ value_lambda: Callable[[RenaultBinarySensor], bool | None] | None = ...
16
20
 
17
21
  async def async_setup_entry(hass: HomeAssistant, config_entry: RenaultConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
22
 
@@ -21,4 +25,6 @@ class RenaultBinarySensor(RenaultDataEntity[KamereonVehicleBatteryStatusData], B
21
25
  @property
22
26
  def is_on(self) -> bool | None: ...
23
27
 
28
+ def _plugged_in_value_lambda(self) -> bool | None: ...
29
+
24
30
  BINARY_SENSOR_TYPES: tuple[RenaultBinarySensorEntityDescription, ...]
@@ -2,7 +2,7 @@ from .const import CONF_KAMEREON_ACCOUNT_ID as CONF_KAMEREON_ACCOUNT_ID, CONF_LO
2
2
  from .renault_hub import RenaultHub as RenaultHub
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Mapping
5
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
6
6
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
7
7
  from typing import Any
8
8
 
@@ -18,3 +18,4 @@ class RenaultFlowHandler(ConfigFlow, domain=DOMAIN):
18
18
  async def async_step_kamereon(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
19
19
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
20
20
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
21
+ async def async_step_reconfigure(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
@@ -4,5 +4,6 @@ from homeassistant.const import Platform as Platform
4
4
  DOMAIN: str
5
5
  CONF_LOCALE: str
6
6
  CONF_KAMEREON_ACCOUNT_ID: str
7
- DEFAULT_SCAN_INTERVAL: int
7
+ MAX_CALLS_PER_HOURS: int
8
+ COOLING_UPDATES_SECONDS: Incomplete
8
9
  PLATFORMS: Incomplete