homeassistant-stubs 2025.7.4__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 (490) 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/generic_hygrostat/__init__.pyi +3 -1
  102. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  103. homeassistant-stubs/components/generic_hygrostat/humidifier.pyi +3 -3
  104. homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -1
  105. homeassistant-stubs/components/generic_thermostat/climate.pyi +3 -3
  106. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  107. homeassistant-stubs/components/geo_location/trigger.pyi +0 -1
  108. homeassistant-stubs/components/gios/const.pyi +2 -0
  109. homeassistant-stubs/components/gios/sensor.pyi +1 -1
  110. homeassistant-stubs/components/google_assistant_sdk/application_credentials.pyi +1 -0
  111. homeassistant-stubs/components/google_cloud/const.pyi +1 -0
  112. homeassistant-stubs/components/google_cloud/stt.pyi +3 -2
  113. homeassistant-stubs/components/guardian/__init__.pyi +1 -1
  114. homeassistant-stubs/components/guardian/services.pyi +2 -1
  115. homeassistant-stubs/components/habitica/button.pyi +3 -4
  116. homeassistant-stubs/components/habitica/coordinator.pyi +2 -3
  117. homeassistant-stubs/components/habitica/entity.pyi +1 -1
  118. homeassistant-stubs/components/habitica/sensor.pyi +3 -18
  119. homeassistant-stubs/components/habitica/switch.pyi +4 -3
  120. homeassistant-stubs/components/habitica/util.pyi +2 -1
  121. homeassistant-stubs/components/heos/__init__.pyi +1 -1
  122. homeassistant-stubs/components/heos/config_flow.pyi +3 -0
  123. homeassistant-stubs/components/heos/services.pyi +3 -2
  124. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  125. homeassistant-stubs/components/here_travel_time/config_flow.pyi +3 -2
  126. homeassistant-stubs/components/here_travel_time/const.pyi +1 -0
  127. homeassistant-stubs/components/here_travel_time/coordinator.pyi +1 -1
  128. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  129. homeassistant-stubs/components/history_stats/__init__.pyi +5 -1
  130. homeassistant-stubs/components/history_stats/config_flow.pyi +14 -0
  131. homeassistant-stubs/components/history_stats/coordinator.pyi +3 -1
  132. homeassistant-stubs/components/history_stats/data.pyi +2 -1
  133. homeassistant-stubs/components/history_stats/helpers.pyi +1 -1
  134. homeassistant-stubs/components/history_stats/sensor.pyi +7 -4
  135. homeassistant-stubs/components/holiday/__init__.pyi +0 -1
  136. homeassistant-stubs/components/holiday/config_flow.pyi +2 -2
  137. homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
  138. homeassistant-stubs/components/home_connect/services.pyi +3 -2
  139. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -1
  140. homeassistant-stubs/components/homeassistant/triggers/time.pyi +2 -1
  141. homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +2 -1
  142. homeassistant-stubs/components/homee/__init__.pyi +1 -1
  143. homeassistant-stubs/components/homee/config_flow.pyi +5 -0
  144. homeassistant-stubs/components/homekit/__init__.pyi +2 -1
  145. homeassistant-stubs/components/http/__init__.pyi +1 -2
  146. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -2
  147. homeassistant-stubs/components/huawei_lte/config_flow.pyi +5 -4
  148. homeassistant-stubs/components/huawei_lte/const.pyi +1 -1
  149. homeassistant-stubs/components/huawei_lte/diagnostics.pyi +18 -0
  150. homeassistant-stubs/components/husqvarna_automower/button.pyi +2 -2
  151. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +3 -0
  152. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +15 -13
  153. homeassistant-stubs/components/husqvarna_automower/entity.pyi +2 -6
  154. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -2
  155. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +5 -0
  156. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +1 -1
  157. homeassistant-stubs/components/hydrawise/const.pyi +1 -0
  158. homeassistant-stubs/components/hydrawise/coordinator.pyi +9 -2
  159. homeassistant-stubs/components/hydrawise/entity.pyi +1 -1
  160. homeassistant-stubs/components/hydrawise/sensor.pyi +1 -1
  161. homeassistant-stubs/components/hydrawise/switch.pyi +1 -1
  162. homeassistant-stubs/components/hydrawise/valve.pyi +1 -1
  163. homeassistant-stubs/components/hyperion/__init__.pyi +0 -1
  164. homeassistant-stubs/components/hyperion/config_flow.pyi +2 -2
  165. homeassistant-stubs/components/imgw_pib/sensor.pyi +7 -1
  166. homeassistant-stubs/components/immich/__init__.pyi +6 -0
  167. homeassistant-stubs/components/immich/media_source.pyi +1 -0
  168. homeassistant-stubs/components/immich/services.pyi +18 -0
  169. homeassistant-stubs/components/input_text/__init__.pyi +1 -1
  170. homeassistant-stubs/components/integration/__init__.pyi +5 -1
  171. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  172. homeassistant-stubs/components/integration/sensor.pyi +5 -6
  173. homeassistant-stubs/components/iron_os/__init__.pyi +0 -3
  174. homeassistant-stubs/components/iron_os/const.pyi +4 -0
  175. homeassistant-stubs/components/iron_os/coordinator.pyi +1 -1
  176. homeassistant-stubs/components/iron_os/number.pyi +20 -4
  177. homeassistant-stubs/components/iron_os/switch.pyi +2 -0
  178. homeassistant-stubs/components/isy994/__init__.pyi +0 -1
  179. homeassistant-stubs/components/isy994/config_flow.pyi +3 -3
  180. homeassistant-stubs/components/jellyfin/browse_media.pyi +2 -1
  181. homeassistant-stubs/components/jellyfin/media_player.pyi +5 -2
  182. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +5 -15
  183. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +2 -2
  184. homeassistant-stubs/components/jewish_calendar/entity.pyi +19 -5
  185. homeassistant-stubs/components/jewish_calendar/sensor.pyi +11 -7
  186. homeassistant-stubs/components/knx/__init__.pyi +6 -40
  187. homeassistant-stubs/components/knx/binary_sensor.pyi +3 -2
  188. homeassistant-stubs/components/knx/button.pyi +1 -1
  189. homeassistant-stubs/components/knx/climate.pyi +1 -1
  190. homeassistant-stubs/components/knx/config_flow.pyi +14 -21
  191. homeassistant-stubs/components/knx/const.pyi +1 -1
  192. homeassistant-stubs/components/knx/cover.pyi +3 -2
  193. homeassistant-stubs/components/knx/date.pyi +1 -1
  194. homeassistant-stubs/components/knx/datetime.pyi +1 -1
  195. homeassistant-stubs/components/knx/entity.pyi +1 -1
  196. homeassistant-stubs/components/knx/fan.pyi +1 -1
  197. homeassistant-stubs/components/knx/knx_module.pyi +43 -0
  198. homeassistant-stubs/components/knx/light.pyi +3 -2
  199. homeassistant-stubs/components/knx/notify.pyi +1 -1
  200. homeassistant-stubs/components/knx/number.pyi +1 -1
  201. homeassistant-stubs/components/knx/scene.pyi +1 -1
  202. homeassistant-stubs/components/knx/select.pyi +1 -1
  203. homeassistant-stubs/components/knx/sensor.pyi +1 -1
  204. homeassistant-stubs/components/knx/services.pyi +2 -2
  205. homeassistant-stubs/components/knx/storage/config_store.pyi +4 -0
  206. homeassistant-stubs/components/knx/storage/const.pyi +8 -7
  207. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +3 -10
  208. homeassistant-stubs/components/knx/storage/knx_selector.pyi +4 -0
  209. homeassistant-stubs/components/knx/storage/migration.pyi +5 -0
  210. homeassistant-stubs/components/knx/storage/util.pyi +16 -0
  211. homeassistant-stubs/components/knx/switch.pyi +3 -2
  212. homeassistant-stubs/components/knx/text.pyi +1 -1
  213. homeassistant-stubs/components/knx/time.pyi +1 -1
  214. homeassistant-stubs/components/knx/weather.pyi +1 -1
  215. homeassistant-stubs/components/knx/websocket.pyi +1 -1
  216. homeassistant-stubs/components/lamarzocco/config_flow.pyi +2 -2
  217. homeassistant-stubs/components/lcn/binary_sensor.pyi +1 -20
  218. homeassistant-stubs/components/lcn/helpers.pyi +1 -0
  219. homeassistant-stubs/components/lcn/light.pyi +2 -1
  220. homeassistant-stubs/components/letpot/coordinator.pyi +3 -4
  221. homeassistant-stubs/components/letpot/switch.pyi +1 -1
  222. homeassistant-stubs/components/letpot/time.pyi +1 -1
  223. homeassistant-stubs/components/lifx/const.pyi +1 -0
  224. homeassistant-stubs/components/lifx/coordinator.pyi +5 -1
  225. homeassistant-stubs/components/lifx/manager.pyi +1 -1
  226. homeassistant-stubs/components/linkplay/select.pyi +35 -0
  227. homeassistant-stubs/components/litterrobot/sensor.pyi +3 -0
  228. homeassistant-stubs/components/matrix/__init__.pyi +1 -1
  229. homeassistant-stubs/components/matrix/services.pyi +3 -2
  230. homeassistant-stubs/components/matter/entity.pyi +2 -2
  231. homeassistant-stubs/components/matter/number.pyi +29 -1
  232. homeassistant-stubs/components/matter/select.pyi +2 -2
  233. homeassistant-stubs/components/matter/vacuum.pyi +2 -1
  234. homeassistant-stubs/components/mcp_server/server.pyi +1 -1
  235. homeassistant-stubs/components/mealie/const.pyi +2 -0
  236. homeassistant-stubs/components/mealie/services.pyi +4 -1
  237. homeassistant-stubs/components/media_player/const.pyi +2 -2
  238. homeassistant-stubs/components/media_source/const.pyi +3 -0
  239. homeassistant-stubs/components/media_source/local_source.pyi +1 -1
  240. homeassistant-stubs/components/media_source/models.pyi +6 -2
  241. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -17
  242. homeassistant-stubs/components/met_eireann/coordinator.pyi +28 -0
  243. homeassistant-stubs/components/met_eireann/weather.pyi +1 -3
  244. homeassistant-stubs/components/miele/__init__.pyi +5 -0
  245. homeassistant-stubs/components/miele/coordinator.pyi +1 -1
  246. homeassistant-stubs/components/miele/entity.pyi +2 -0
  247. homeassistant-stubs/components/miele/sensor.pyi +7 -6
  248. homeassistant-stubs/components/miele/services.pyi +24 -0
  249. homeassistant-stubs/components/miele/vacuum.pyi +0 -2
  250. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  251. homeassistant-stubs/components/mold_indicator/__init__.pyi +8 -1
  252. homeassistant-stubs/components/mold_indicator/config_flow.pyi +2 -0
  253. homeassistant-stubs/components/mold_indicator/sensor.pyi +2 -2
  254. homeassistant-stubs/components/mqtt/climate.pyi +1 -37
  255. homeassistant-stubs/components/mqtt/config_flow.pyi +38 -6
  256. homeassistant-stubs/components/mqtt/const.pyi +33 -2
  257. homeassistant-stubs/components/mqtt/repairs.pyi +15 -0
  258. homeassistant-stubs/components/mqtt/vacuum.pyi +4 -3
  259. homeassistant-stubs/components/nasweb/const.pyi +1 -0
  260. homeassistant-stubs/components/nasweb/coordinator.pyi +3 -1
  261. homeassistant-stubs/components/nasweb/sensor.pyi +54 -0
  262. homeassistant-stubs/components/netatmo/climate.pyi +1 -1
  263. homeassistant-stubs/components/netatmo/const.pyi +1 -0
  264. homeassistant-stubs/components/nextdns/__init__.pyi +2 -3
  265. homeassistant-stubs/components/nextdns/coordinator.pyi +10 -2
  266. homeassistant-stubs/components/nordpool/const.pyi +1 -0
  267. homeassistant-stubs/components/nordpool/services.pyi +5 -1
  268. homeassistant-stubs/components/number/const.pyi +2 -1
  269. homeassistant-stubs/components/nut/__init__.pyi +0 -1
  270. homeassistant-stubs/components/onewire/__init__.pyi +0 -1
  271. homeassistant-stubs/components/onewire/config_flow.pyi +2 -2
  272. homeassistant-stubs/components/onkyo/__init__.pyi +2 -3
  273. homeassistant-stubs/components/onkyo/config_flow.pyi +9 -6
  274. homeassistant-stubs/components/onkyo/const.pyi +7 -65
  275. homeassistant-stubs/components/onkyo/media_player.pyi +16 -44
  276. homeassistant-stubs/components/onkyo/receiver.pyi +24 -25
  277. homeassistant-stubs/components/onkyo/services.pyi +3 -3
  278. homeassistant-stubs/components/onkyo/util.pyi +3 -0
  279. homeassistant-stubs/components/open_router/__init__.pyi +15 -0
  280. homeassistant-stubs/components/open_router/ai_task.pyi +17 -0
  281. homeassistant-stubs/components/open_router/config_flow.pyi +30 -0
  282. homeassistant-stubs/components/open_router/const.pyi +8 -0
  283. homeassistant-stubs/components/open_router/conversation.pyi +20 -0
  284. homeassistant-stubs/components/open_router/entity.pyi +33 -0
  285. homeassistant-stubs/components/openai_conversation/__init__.pyi +4 -2
  286. homeassistant-stubs/components/openai_conversation/ai_task.pyi +16 -0
  287. homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -3
  288. homeassistant-stubs/components/openai_conversation/const.pyi +9 -1
  289. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -22
  290. homeassistant-stubs/components/openai_conversation/entity.pyi +36 -0
  291. homeassistant-stubs/components/opower/__init__.pyi +8 -0
  292. homeassistant-stubs/components/opower/config_flow.pyi +30 -0
  293. homeassistant-stubs/components/opower/const.pyi +4 -0
  294. homeassistant-stubs/components/opower/coordinator.pyi +24 -0
  295. homeassistant-stubs/components/opower/sensor.pyi +35 -0
  296. homeassistant-stubs/components/pegel_online/__init__.pyi +1 -1
  297. homeassistant-stubs/components/pegel_online/sensor.pyi +2 -0
  298. homeassistant-stubs/components/pi_hole/__init__.pyi +6 -2
  299. homeassistant-stubs/components/pi_hole/config_flow.pyi +1 -2
  300. homeassistant-stubs/components/pi_hole/const.pyi +1 -0
  301. homeassistant-stubs/components/pi_hole/sensor.pyi +5 -0
  302. homeassistant-stubs/components/pi_hole/update.pyi +3 -3
  303. homeassistant-stubs/components/ping/__init__.pyi +0 -1
  304. homeassistant-stubs/components/ping/config_flow.pyi +3 -3
  305. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  306. homeassistant-stubs/components/proximity/__init__.pyi +0 -1
  307. homeassistant-stubs/components/proximity/config_flow.pyi +3 -3
  308. homeassistant-stubs/components/purpleair/__init__.pyi +0 -1
  309. homeassistant-stubs/components/purpleair/config_flow.pyi +2 -2
  310. homeassistant-stubs/components/pyload/config_flow.pyi +4 -0
  311. homeassistant-stubs/components/recorder/pool.pyi +2 -1
  312. homeassistant-stubs/components/renault/__init__.pyi +1 -1
  313. homeassistant-stubs/components/renault/services.pyi +3 -2
  314. homeassistant-stubs/components/reolink/__init__.pyi +0 -1
  315. homeassistant-stubs/components/reolink/config_flow.pyi +2 -2
  316. homeassistant-stubs/components/reolink/number.pyi +1 -1
  317. homeassistant-stubs/components/reolink/sensor.pyi +1 -1
  318. homeassistant-stubs/components/rest/sensor.pyi +1 -3
  319. homeassistant-stubs/components/roborock/__init__.pyi +0 -1
  320. homeassistant-stubs/components/roborock/config_flow.pyi +2 -2
  321. homeassistant-stubs/components/roborock/vacuum.pyi +0 -2
  322. homeassistant-stubs/components/roku/__init__.pyi +0 -1
  323. homeassistant-stubs/components/roku/config_flow.pyi +2 -2
  324. homeassistant-stubs/components/russound_rio/const.pyi +2 -0
  325. homeassistant-stubs/components/russound_rio/media_player.pyi +6 -0
  326. homeassistant-stubs/components/scrape/sensor.pyi +1 -2
  327. homeassistant-stubs/components/sensor/const.pyi +2 -1
  328. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  329. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  330. homeassistant-stubs/components/shelly/button.pyi +2 -2
  331. homeassistant-stubs/components/shelly/climate.pyi +2 -2
  332. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  333. homeassistant-stubs/components/shelly/entity.pyi +3 -0
  334. homeassistant-stubs/components/shelly/event.pyi +2 -2
  335. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  336. homeassistant-stubs/components/shelly/utils.pyi +2 -2
  337. homeassistant-stubs/components/sleepiq/const.pyi +2 -0
  338. homeassistant-stubs/components/sleepiq/number.pyi +7 -3
  339. homeassistant-stubs/components/sleepiq/select.pyi +15 -2
  340. homeassistant-stubs/components/smhi/coordinator.pyi +3 -0
  341. homeassistant-stubs/components/smhi/entity.pyi +3 -1
  342. homeassistant-stubs/components/smhi/sensor.pyi +30 -0
  343. homeassistant-stubs/components/smhi/weather.pyi +4 -2
  344. homeassistant-stubs/components/sonarr/__init__.pyi +0 -1
  345. homeassistant-stubs/components/sonarr/config_flow.pyi +2 -2
  346. homeassistant-stubs/components/speedtestdotnet/__init__.pyi +0 -1
  347. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +2 -2
  348. homeassistant-stubs/components/sql/__init__.pyi +0 -1
  349. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  350. homeassistant-stubs/components/squeezebox/__init__.pyi +3 -2
  351. homeassistant-stubs/components/squeezebox/browse_media.pyi +3 -1
  352. homeassistant-stubs/components/squeezebox/const.pyi +2 -3
  353. homeassistant-stubs/components/squeezebox/coordinator.pyi +2 -2
  354. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -2
  355. homeassistant-stubs/components/statistics/__init__.pyi +3 -1
  356. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  357. homeassistant-stubs/components/statistics/sensor.pyi +5 -5
  358. homeassistant-stubs/components/stookwijzer/__init__.pyi +4 -0
  359. homeassistant-stubs/components/stookwijzer/const.pyi +2 -0
  360. homeassistant-stubs/components/stookwijzer/services.pyi +17 -0
  361. homeassistant-stubs/components/switch_as_x/__init__.pyi +2 -2
  362. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -3
  363. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -0
  364. homeassistant-stubs/components/switchbot_cloud/const.pyi +1 -0
  365. homeassistant-stubs/components/switchbot_cloud/fan.pyi +26 -0
  366. homeassistant-stubs/components/switchbot_cloud/light.pyi +40 -0
  367. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +17 -1
  368. homeassistant-stubs/components/synology_dsm/__init__.pyi +0 -1
  369. homeassistant-stubs/components/synology_dsm/config_flow.pyi +2 -2
  370. homeassistant-stubs/components/tankerkoenig/__init__.pyi +10 -0
  371. homeassistant-stubs/components/tankerkoenig/binary_sensor.pyi +23 -0
  372. homeassistant-stubs/components/tankerkoenig/config_flow.pyi +33 -0
  373. homeassistant-stubs/components/tankerkoenig/const.pyi +13 -0
  374. homeassistant-stubs/components/tankerkoenig/coordinator.pyi +22 -0
  375. homeassistant-stubs/components/tankerkoenig/diagnostics.pyi +10 -0
  376. homeassistant-stubs/components/tankerkoenig/entity.pyi +11 -0
  377. homeassistant-stubs/components/tankerkoenig/sensor.pyi +28 -0
  378. homeassistant-stubs/components/threshold/__init__.pyi +5 -1
  379. homeassistant-stubs/components/threshold/binary_sensor.pyi +3 -4
  380. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  381. homeassistant-stubs/components/time_date/config_flow.pyi +1 -2
  382. homeassistant-stubs/components/trafikverket_train/__init__.pyi +0 -1
  383. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +2 -2
  384. homeassistant-stubs/components/trend/__init__.pyi +3 -1
  385. homeassistant-stubs/components/trend/binary_sensor.pyi +3 -4
  386. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  387. homeassistant-stubs/components/tts/entity.pyi +0 -2
  388. homeassistant-stubs/components/unifi/hub/entity_loader.pyi +3 -2
  389. homeassistant-stubs/components/unifiprotect/__init__.pyi +5 -5
  390. homeassistant-stubs/components/unifiprotect/config_flow.pyi +5 -5
  391. homeassistant-stubs/components/unifiprotect/repairs.pyi +0 -6
  392. homeassistant-stubs/components/unifiprotect/services.pyi +1 -1
  393. homeassistant-stubs/components/uptime_kuma/__init__.pyi +14 -0
  394. homeassistant-stubs/components/uptime_kuma/config_flow.pyi +26 -0
  395. homeassistant-stubs/components/uptime_kuma/const.pyi +7 -0
  396. homeassistant-stubs/components/uptime_kuma/coordinator.pyi +30 -0
  397. homeassistant-stubs/components/uptime_kuma/diagnostics.pyi +9 -0
  398. homeassistant-stubs/components/uptime_kuma/sensor.pyi +46 -0
  399. homeassistant-stubs/components/uptime_kuma/update.pyi +39 -0
  400. homeassistant-stubs/components/vacuum/__init__.pyi +8 -0
  401. homeassistant-stubs/components/velbus/__init__.pyi +1 -1
  402. homeassistant-stubs/components/velbus/const.pyi +0 -1
  403. homeassistant-stubs/components/velbus/services.pyi +4 -4
  404. homeassistant-stubs/components/vodafone_station/__init__.pyi +0 -1
  405. homeassistant-stubs/components/vodafone_station/config_flow.pyi +2 -2
  406. homeassistant-stubs/components/volvo/__init__.pyi +15 -0
  407. homeassistant-stubs/components/volvo/api.pyi +14 -0
  408. homeassistant-stubs/components/volvo/application_credentials.pyi +9 -0
  409. homeassistant-stubs/components/volvo/config_flow.pyi +36 -0
  410. homeassistant-stubs/components/volvo/const.pyi +8 -0
  411. homeassistant-stubs/components/volvo/coordinator.pyi +46 -0
  412. homeassistant-stubs/components/volvo/entity.pyi +33 -0
  413. homeassistant-stubs/components/volvo/sensor.pyi +35 -0
  414. homeassistant-stubs/components/wallbox/__init__.pyi +4 -5
  415. homeassistant-stubs/components/wallbox/coordinator.pyi +8 -2
  416. homeassistant-stubs/components/wallbox/lock.pyi +5 -4
  417. homeassistant-stubs/components/wallbox/number.pyi +6 -5
  418. homeassistant-stubs/components/wallbox/select.pyi +4 -3
  419. homeassistant-stubs/components/wallbox/sensor.pyi +5 -4
  420. homeassistant-stubs/components/wallbox/switch.pyi +5 -4
  421. homeassistant-stubs/components/waqi/__init__.pyi +3 -5
  422. homeassistant-stubs/components/waqi/coordinator.pyi +3 -2
  423. homeassistant-stubs/components/waqi/sensor.pyi +2 -13
  424. homeassistant-stubs/components/webostv/__init__.pyi +0 -1
  425. homeassistant-stubs/components/webostv/config_flow.pyi +3 -3
  426. homeassistant-stubs/components/websocket_api/commands.pyi +4 -0
  427. homeassistant-stubs/components/wiz/fan.pyi +34 -0
  428. homeassistant-stubs/components/wled/__init__.pyi +0 -1
  429. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  430. homeassistant-stubs/components/workday/__init__.pyi +0 -1
  431. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  432. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +0 -1
  433. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +2 -2
  434. homeassistant-stubs/components/yalexs_ble/lock.pyi +14 -2
  435. homeassistant-stubs/components/zone/condition.pyi +22 -0
  436. homeassistant-stubs/components/zone/trigger.pyi +2 -1
  437. homeassistant-stubs/components/zwave_js/__init__.pyi +12 -10
  438. homeassistant-stubs/components/zwave_js/api.pyi +36 -35
  439. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +7 -7
  440. homeassistant-stubs/components/zwave_js/button.pyi +5 -5
  441. homeassistant-stubs/components/zwave_js/climate.pyi +5 -5
  442. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -4
  443. homeassistant-stubs/components/zwave_js/const.pyi +0 -3
  444. homeassistant-stubs/components/zwave_js/cover.pyi +7 -7
  445. homeassistant-stubs/components/zwave_js/device_automation_helpers.pyi +1 -1
  446. homeassistant-stubs/components/zwave_js/diagnostics.pyi +5 -5
  447. homeassistant-stubs/components/zwave_js/event.pyi +4 -4
  448. homeassistant-stubs/components/zwave_js/fan.pyi +6 -6
  449. homeassistant-stubs/components/zwave_js/helpers.pyi +10 -6
  450. homeassistant-stubs/components/zwave_js/humidifier.pyi +4 -4
  451. homeassistant-stubs/components/zwave_js/light.pyi +15 -5
  452. homeassistant-stubs/components/zwave_js/lock.pyi +3 -3
  453. homeassistant-stubs/components/zwave_js/models.pyi +12 -0
  454. homeassistant-stubs/components/zwave_js/number.pyi +6 -6
  455. homeassistant-stubs/components/zwave_js/select.pyi +8 -8
  456. homeassistant-stubs/components/zwave_js/sensor.pyi +10 -10
  457. homeassistant-stubs/components/zwave_js/siren.pyi +4 -4
  458. homeassistant-stubs/components/zwave_js/switch.pyi +7 -7
  459. homeassistant-stubs/components/zwave_js/triggers/event.pyi +1 -2
  460. homeassistant-stubs/components/zwave_js/triggers/trigger_helpers.pyi +1 -1
  461. homeassistant-stubs/components/zwave_js/update.pyi +28 -18
  462. homeassistant-stubs/config.pyi +0 -2
  463. homeassistant-stubs/config_entries.pyi +3 -0
  464. homeassistant-stubs/const.pyi +2 -0
  465. homeassistant-stubs/core.pyi +12 -8
  466. homeassistant-stubs/helpers/condition.pyi +25 -6
  467. homeassistant-stubs/helpers/config_validation.pyi +0 -2
  468. homeassistant-stubs/helpers/device.pyi +2 -0
  469. homeassistant-stubs/helpers/device_registry.pyi +16 -8
  470. homeassistant-stubs/helpers/entity.pyi +3 -1
  471. homeassistant-stubs/helpers/entity_platform.pyi +30 -9
  472. homeassistant-stubs/helpers/frame.pyi +1 -1
  473. homeassistant-stubs/helpers/helper_integration.pyi +2 -1
  474. homeassistant-stubs/helpers/llm.pyi +5 -1
  475. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +1 -0
  476. homeassistant-stubs/helpers/selector.pyi +42 -37
  477. homeassistant-stubs/helpers/service.pyi +9 -26
  478. homeassistant-stubs/helpers/target.pyi +59 -0
  479. homeassistant-stubs/helpers/trigger.pyi +3 -1
  480. homeassistant-stubs/helpers/trigger_template_entity.pyi +5 -1
  481. homeassistant-stubs/loader.pyi +2 -9
  482. homeassistant-stubs/runner.pyi +1 -0
  483. homeassistant-stubs/util/resource.pyi +7 -0
  484. homeassistant-stubs/util/unit_conversion.pyi +1 -1
  485. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0.dist-info}/METADATA +2 -2
  486. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0.dist-info}/RECORD +488 -419
  487. homeassistant-stubs/components/backup/basic_websocket.pyi +0 -12
  488. homeassistant-stubs/helpers/backup.pyi +0 -24
  489. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0.dist-info}/WHEEL +0 -0
  490. {homeassistant_stubs-2025.7.4.dist-info → homeassistant_stubs-2025.8.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,54 @@
1
+ from . import NASwebConfigEntry as NASwebConfigEntry
2
+ from .const import DOMAIN as DOMAIN, KEY_TEMP_SENSOR as KEY_TEMP_SENSOR, STATUS_UPDATE_MAX_TIME_INTERVAL as STATUS_UPDATE_MAX_TIME_INTERVAL
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass, UnitOfTemperature as UnitOfTemperature
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
7
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
+ from homeassistant.helpers.typing import DiscoveryInfoType as DiscoveryInfoType
9
+ from homeassistant.helpers.update_coordinator import BaseCoordinatorEntity as BaseCoordinatorEntity, BaseDataUpdateCoordinatorProtocol as BaseDataUpdateCoordinatorProtocol
10
+ from webio_api import Input as NASwebInput, TempSensor as TempSensor
11
+
12
+ SENSOR_INPUT_TRANSLATION_KEY: str
13
+ STATE_UNDEFINED: str
14
+ STATE_TAMPER: str
15
+ STATE_ACTIVE: str
16
+ STATE_NORMAL: str
17
+ STATE_PROBLEM: str
18
+ _LOGGER: Incomplete
19
+
20
+ async def async_setup_entry(hass: HomeAssistant, config: NASwebConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
21
+
22
+ class BaseSensorEntity(SensorEntity, BaseCoordinatorEntity):
23
+ _attr_available: bool
24
+ _attr_has_entity_name: bool
25
+ _attr_should_poll: bool
26
+ def __init__(self, coordinator: BaseDataUpdateCoordinatorProtocol) -> None: ...
27
+ async def async_added_to_hass(self) -> None: ...
28
+ def _set_attr_available(self, entity_last_update: float, available: bool | None) -> None: ...
29
+ async def async_update(self) -> None: ...
30
+
31
+ class InputStateSensor(BaseSensorEntity):
32
+ _attr_device_class: Incomplete
33
+ _attr_options: list[str]
34
+ _attr_translation_key = SENSOR_INPUT_TRANSLATION_KEY
35
+ _input: Incomplete
36
+ _attr_native_value: str | None
37
+ _attr_translation_placeholders: Incomplete
38
+ _attr_unique_id: Incomplete
39
+ _attr_device_info: Incomplete
40
+ def __init__(self, coordinator: BaseDataUpdateCoordinatorProtocol, nasweb_input: NASwebInput) -> None: ...
41
+ @callback
42
+ def _handle_coordinator_update(self) -> None: ...
43
+
44
+ class TemperatureSensor(BaseSensorEntity):
45
+ _attr_device_class: Incomplete
46
+ _attr_state_class: Incomplete
47
+ _attr_native_unit_of_measurement: Incomplete
48
+ _temp_sensor: Incomplete
49
+ _attr_unique_id: Incomplete
50
+ _attr_device_info: Incomplete
51
+ def __init__(self, coordinator: BaseDataUpdateCoordinatorProtocol, nasweb_temp_sensor: TempSensor) -> None: ...
52
+ _attr_native_value: Incomplete
53
+ @callback
54
+ def _handle_coordinator_update(self) -> None: ...
@@ -1,4 +1,4 @@
1
- from .const import ATTR_END_DATETIME as ATTR_END_DATETIME, ATTR_HEATING_POWER_REQUEST as ATTR_HEATING_POWER_REQUEST, ATTR_SCHEDULE_NAME as ATTR_SCHEDULE_NAME, ATTR_SELECTED_SCHEDULE as ATTR_SELECTED_SCHEDULE, ATTR_TARGET_TEMPERATURE as ATTR_TARGET_TEMPERATURE, ATTR_TIME_PERIOD as ATTR_TIME_PERIOD, DATA_SCHEDULES as DATA_SCHEDULES, DOMAIN as DOMAIN, EVENT_TYPE_CANCEL_SET_POINT as EVENT_TYPE_CANCEL_SET_POINT, EVENT_TYPE_SCHEDULE as EVENT_TYPE_SCHEDULE, EVENT_TYPE_SET_POINT as EVENT_TYPE_SET_POINT, EVENT_TYPE_THERM_MODE as EVENT_TYPE_THERM_MODE, NETATMO_CREATE_CLIMATE as NETATMO_CREATE_CLIMATE, SERVICE_CLEAR_TEMPERATURE_SETTING as SERVICE_CLEAR_TEMPERATURE_SETTING, SERVICE_SET_PRESET_MODE_WITH_END_DATETIME as SERVICE_SET_PRESET_MODE_WITH_END_DATETIME, SERVICE_SET_SCHEDULE as SERVICE_SET_SCHEDULE, SERVICE_SET_TEMPERATURE_WITH_END_DATETIME as SERVICE_SET_TEMPERATURE_WITH_END_DATETIME, SERVICE_SET_TEMPERATURE_WITH_TIME_PERIOD as SERVICE_SET_TEMPERATURE_WITH_TIME_PERIOD
1
+ from .const import ATTR_END_DATETIME as ATTR_END_DATETIME, ATTR_HEATING_POWER_REQUEST as ATTR_HEATING_POWER_REQUEST, ATTR_SCHEDULE_NAME as ATTR_SCHEDULE_NAME, ATTR_SELECTED_SCHEDULE as ATTR_SELECTED_SCHEDULE, ATTR_SELECTED_SCHEDULE_ID as ATTR_SELECTED_SCHEDULE_ID, ATTR_TARGET_TEMPERATURE as ATTR_TARGET_TEMPERATURE, ATTR_TIME_PERIOD as ATTR_TIME_PERIOD, DATA_SCHEDULES as DATA_SCHEDULES, DOMAIN as DOMAIN, EVENT_TYPE_CANCEL_SET_POINT as EVENT_TYPE_CANCEL_SET_POINT, EVENT_TYPE_SCHEDULE as EVENT_TYPE_SCHEDULE, EVENT_TYPE_SET_POINT as EVENT_TYPE_SET_POINT, EVENT_TYPE_THERM_MODE as EVENT_TYPE_THERM_MODE, NETATMO_CREATE_CLIMATE as NETATMO_CREATE_CLIMATE, SERVICE_CLEAR_TEMPERATURE_SETTING as SERVICE_CLEAR_TEMPERATURE_SETTING, SERVICE_SET_PRESET_MODE_WITH_END_DATETIME as SERVICE_SET_PRESET_MODE_WITH_END_DATETIME, SERVICE_SET_SCHEDULE as SERVICE_SET_SCHEDULE, SERVICE_SET_TEMPERATURE_WITH_END_DATETIME as SERVICE_SET_TEMPERATURE_WITH_END_DATETIME, SERVICE_SET_TEMPERATURE_WITH_TIME_PERIOD as SERVICE_SET_TEMPERATURE_WITH_TIME_PERIOD
2
2
  from .data_handler import HOME as HOME, NetatmoRoom as NetatmoRoom, SIGNAL_NAME as SIGNAL_NAME
3
3
  from .entity import NetatmoRoomEntity as NetatmoRoomEntity
4
4
  from _typeshed import Incomplete
@@ -66,6 +66,7 @@ ATTR_PSEUDO: str
66
66
  ATTR_SCHEDULE_ID: str
67
67
  ATTR_SCHEDULE_NAME: str
68
68
  ATTR_SELECTED_SCHEDULE: str
69
+ ATTR_SELECTED_SCHEDULE_ID: str
69
70
  ATTR_TARGET_TEMPERATURE: str
70
71
  ATTR_TIME_PERIOD: str
71
72
  SERVICE_CLEAR_TEMPERATURE_SETTING: str
@@ -1,8 +1,7 @@
1
- from .const import ATTR_CONNECTION as ATTR_CONNECTION, ATTR_DNSSEC as ATTR_DNSSEC, ATTR_ENCRYPTION as ATTR_ENCRYPTION, ATTR_IP_VERSIONS as ATTR_IP_VERSIONS, ATTR_PROTOCOLS as ATTR_PROTOCOLS, ATTR_SETTINGS as ATTR_SETTINGS, ATTR_STATUS as ATTR_STATUS, CONF_PROFILE_ID as CONF_PROFILE_ID, DOMAIN as DOMAIN, UPDATE_INTERVAL_ANALYTICS as UPDATE_INTERVAL_ANALYTICS, UPDATE_INTERVAL_CONNECTION as UPDATE_INTERVAL_CONNECTION, UPDATE_INTERVAL_SETTINGS as UPDATE_INTERVAL_SETTINGS
1
+ from .const import ATTR_CONNECTION as ATTR_CONNECTION, ATTR_DNSSEC as ATTR_DNSSEC, ATTR_ENCRYPTION as ATTR_ENCRYPTION, ATTR_IP_VERSIONS as ATTR_IP_VERSIONS, ATTR_PROTOCOLS as ATTR_PROTOCOLS, ATTR_SETTINGS as ATTR_SETTINGS, ATTR_STATUS as ATTR_STATUS, CONF_PROFILE_ID as CONF_PROFILE_ID, DOMAIN as DOMAIN
2
2
  from .coordinator import NextDnsConnectionUpdateCoordinator as NextDnsConnectionUpdateCoordinator, NextDnsDnssecUpdateCoordinator as NextDnsDnssecUpdateCoordinator, NextDnsEncryptionUpdateCoordinator as NextDnsEncryptionUpdateCoordinator, NextDnsIpVersionsUpdateCoordinator as NextDnsIpVersionsUpdateCoordinator, NextDnsProtocolsUpdateCoordinator as NextDnsProtocolsUpdateCoordinator, NextDnsSettingsUpdateCoordinator as NextDnsSettingsUpdateCoordinator, NextDnsStatusUpdateCoordinator as NextDnsStatusUpdateCoordinator, NextDnsUpdateCoordinator as NextDnsUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from dataclasses import dataclass
5
- from datetime import timedelta
6
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -22,7 +21,7 @@ class NextDnsData:
22
21
  status: NextDnsUpdateCoordinator[AnalyticsStatus]
23
22
 
24
23
  PLATFORMS: Incomplete
25
- COORDINATORS: list[tuple[str, type[NextDnsUpdateCoordinator], timedelta]]
24
+ COORDINATORS: list[tuple[str, type[NextDnsUpdateCoordinator]]]
26
25
 
27
26
  async def async_setup_entry(hass: HomeAssistant, entry: NextDnsConfigEntry) -> bool: ...
28
27
  async def async_unload_entry(hass: HomeAssistant, entry: NextDnsConfigEntry) -> bool: ...
@@ -1,5 +1,5 @@
1
1
  from . import NextDnsConfigEntry as NextDnsConfigEntry
2
- from .const import DOMAIN as DOMAIN
2
+ from .const import DOMAIN as DOMAIN, UPDATE_INTERVAL_ANALYTICS as UPDATE_INTERVAL_ANALYTICS, UPDATE_INTERVAL_CONNECTION as UPDATE_INTERVAL_CONNECTION, UPDATE_INTERVAL_SETTINGS as UPDATE_INTERVAL_SETTINGS
3
3
  from _typeshed import Incomplete
4
4
  from datetime import timedelta
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -12,29 +12,37 @@ _LOGGER: Incomplete
12
12
 
13
13
  class NextDnsUpdateCoordinator[CoordinatorDataT: NextDnsData](DataUpdateCoordinator[CoordinatorDataT]):
14
14
  config_entry: NextDnsConfigEntry
15
+ _update_interval: timedelta
15
16
  nextdns: Incomplete
16
17
  profile_id: Incomplete
17
- def __init__(self, hass: HomeAssistant, config_entry: NextDnsConfigEntry, nextdns: NextDns, profile_id: str, update_interval: timedelta) -> None: ...
18
+ def __init__(self, hass: HomeAssistant, config_entry: NextDnsConfigEntry, nextdns: NextDns, profile_id: str) -> None: ...
18
19
  async def _async_update_data(self) -> CoordinatorDataT: ...
19
20
  async def _async_update_data_internal(self) -> CoordinatorDataT: ...
20
21
 
21
22
  class NextDnsStatusUpdateCoordinator(NextDnsUpdateCoordinator[AnalyticsStatus]):
23
+ _update_interval = UPDATE_INTERVAL_ANALYTICS
22
24
  async def _async_update_data_internal(self) -> AnalyticsStatus: ...
23
25
 
24
26
  class NextDnsDnssecUpdateCoordinator(NextDnsUpdateCoordinator[AnalyticsDnssec]):
27
+ _update_interval = UPDATE_INTERVAL_ANALYTICS
25
28
  async def _async_update_data_internal(self) -> AnalyticsDnssec: ...
26
29
 
27
30
  class NextDnsEncryptionUpdateCoordinator(NextDnsUpdateCoordinator[AnalyticsEncryption]):
31
+ _update_interval = UPDATE_INTERVAL_ANALYTICS
28
32
  async def _async_update_data_internal(self) -> AnalyticsEncryption: ...
29
33
 
30
34
  class NextDnsIpVersionsUpdateCoordinator(NextDnsUpdateCoordinator[AnalyticsIpVersions]):
35
+ _update_interval = UPDATE_INTERVAL_ANALYTICS
31
36
  async def _async_update_data_internal(self) -> AnalyticsIpVersions: ...
32
37
 
33
38
  class NextDnsProtocolsUpdateCoordinator(NextDnsUpdateCoordinator[AnalyticsProtocols]):
39
+ _update_interval = UPDATE_INTERVAL_ANALYTICS
34
40
  async def _async_update_data_internal(self) -> AnalyticsProtocols: ...
35
41
 
36
42
  class NextDnsSettingsUpdateCoordinator(NextDnsUpdateCoordinator[Settings]):
43
+ _update_interval = UPDATE_INTERVAL_SETTINGS
37
44
  async def _async_update_data_internal(self) -> Settings: ...
38
45
 
39
46
  class NextDnsConnectionUpdateCoordinator(NextDnsUpdateCoordinator[ConnectionStatus]):
47
+ _update_interval = UPDATE_INTERVAL_CONNECTION
40
48
  async def _async_update_data_internal(self) -> ConnectionStatus: ...
@@ -7,3 +7,4 @@ DOMAIN: str
7
7
  PLATFORMS: Incomplete
8
8
  DEFAULT_NAME: str
9
9
  CONF_AREAS: str
10
+ ATTR_RESOLUTION: str
@@ -1,19 +1,23 @@
1
1
  from . import NordPoolConfigEntry as NordPoolConfigEntry
2
- from .const import DOMAIN as DOMAIN
2
+ from .const import ATTR_RESOLUTION as ATTR_RESOLUTION, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
4
5
  from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
5
6
  from homeassistant.const import ATTR_DATE as ATTR_DATE
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse, callback as callback
7
8
  from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
8
9
  from homeassistant.helpers.selector import ConfigEntrySelector as ConfigEntrySelector
9
10
  from homeassistant.util.json import JsonValueType as JsonValueType
11
+ from pynordpool import DeliveryPeriodData as DeliveryPeriodData, NordPoolClient as NordPoolClient, PriceIndicesData as PriceIndicesData
10
12
 
11
13
  _LOGGER: Incomplete
12
14
  ATTR_CONFIG_ENTRY: str
13
15
  ATTR_AREAS: str
14
16
  ATTR_CURRENCY: str
15
17
  SERVICE_GET_PRICES_FOR_DATE: str
18
+ SERVICE_GET_PRICE_INDICES_FOR_DATE: str
16
19
  SERVICE_GET_PRICES_SCHEMA: Incomplete
20
+ SERVICE_GET_PRICE_INDICES_SCHEMA: Incomplete
17
21
 
18
22
  def get_config_entry(hass: HomeAssistant, entry_id: str) -> NordPoolConfigEntry: ...
19
23
  @callback
@@ -1,6 +1,6 @@
1
1
  from _typeshed import Incomplete
2
2
  from enum import StrEnum
3
- from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER as CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactiveEnergy as UnitOfReactiveEnergy, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
3
+ from homeassistant.const import CONCENTRATION_GRAMS_PER_CUBIC_METER as CONCENTRATION_GRAMS_PER_CUBIC_METER, CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER as CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION as CONCENTRATION_PARTS_PER_BILLION, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, DEGREE as DEGREE, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS as SIGNAL_STRENGTH_DECIBELS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfApparentPower as UnitOfApparentPower, UnitOfArea as UnitOfArea, UnitOfBloodGlucoseConcentration as UnitOfBloodGlucoseConcentration, UnitOfConductivity as UnitOfConductivity, UnitOfDataRate as UnitOfDataRate, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfEnergyDistance as UnitOfEnergyDistance, UnitOfFrequency as UnitOfFrequency, UnitOfInformation as UnitOfInformation, UnitOfIrradiance as UnitOfIrradiance, UnitOfLength as UnitOfLength, UnitOfMass as UnitOfMass, UnitOfPower as UnitOfPower, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfReactiveEnergy as UnitOfReactiveEnergy, UnitOfReactivePower as UnitOfReactivePower, UnitOfSoundPressure as UnitOfSoundPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate, UnitOfVolumetricFlux as UnitOfVolumetricFlux
4
4
  from homeassistant.util.unit_conversion import BaseUnitConverter as BaseUnitConverter, ReactiveEnergyConverter as ReactiveEnergyConverter, TemperatureConverter as TemperatureConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
5
5
  from typing import Final
6
6
 
@@ -21,6 +21,7 @@ class NumberMode(StrEnum):
21
21
  SLIDER = 'slider'
22
22
 
23
23
  class NumberDeviceClass(StrEnum):
24
+ ABSOLUTE_HUMIDITY = 'absolute_humidity'
24
25
  APPARENT_POWER = 'apparent_power'
25
26
  AQI = 'aqi'
26
27
  AREA = 'area'
@@ -23,7 +23,6 @@ class NutRuntimeData:
23
23
  async def async_setup_entry(hass: HomeAssistant, entry: NutConfigEntry) -> bool: ...
24
24
  async def async_unload_entry(hass: HomeAssistant, entry: NutConfigEntry) -> bool: ...
25
25
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: NutConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
26
- async def _async_update_listener(hass: HomeAssistant, entry: NutConfigEntry) -> None: ...
27
26
  def _manufacturer_from_status(status: dict[str, str]) -> str | None: ...
28
27
  def _model_from_status(status: dict[str, str]) -> str | None: ...
29
28
  def _firmware_from_status(status: dict[str, str]) -> str | None: ...
@@ -12,4 +12,3 @@ _PLATFORMS: Incomplete
12
12
  async def async_setup_entry(hass: HomeAssistant, entry: OneWireConfigEntry) -> bool: ...
13
13
  async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: OneWireConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
14
14
  async def async_unload_entry(hass: HomeAssistant, config_entry: OneWireConfigEntry) -> bool: ...
15
- async def options_update_listener(hass: HomeAssistant, entry: OneWireConfigEntry) -> None: ...
@@ -1,7 +1,7 @@
1
1
  from .const import DEFAULT_HOST as DEFAULT_HOST, DEFAULT_PORT as DEFAULT_PORT, DEVICE_SUPPORT_OPTIONS as DEVICE_SUPPORT_OPTIONS, DOMAIN as DOMAIN, INPUT_ENTRY_CLEAR_OPTIONS as INPUT_ENTRY_CLEAR_OPTIONS, INPUT_ENTRY_DEVICE_SELECTION as INPUT_ENTRY_DEVICE_SELECTION, OPTION_ENTRY_DEVICE_OPTIONS as OPTION_ENTRY_DEVICE_OPTIONS, OPTION_ENTRY_SENSOR_PRECISION as OPTION_ENTRY_SENSOR_PRECISION, PRECISION_MAPPING_FAMILY_28 as PRECISION_MAPPING_FAMILY_28
2
2
  from .onewirehub import OneWireConfigEntry as OneWireConfigEntry
3
3
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
4
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload
5
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
@@ -25,7 +25,7 @@ class OneWireFlowHandler(ConfigFlow, domain=DOMAIN):
25
25
  @callback
26
26
  def async_get_options_flow(config_entry: OneWireConfigEntry) -> OnewireOptionsFlowHandler: ...
27
27
 
28
- class OnewireOptionsFlowHandler(OptionsFlow):
28
+ class OnewireOptionsFlowHandler(OptionsFlowWithReload):
29
29
  configurable_devices: dict[str, str]
30
30
  devices_to_configure: dict[str, str]
31
31
  current_device: str
@@ -1,5 +1,5 @@
1
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
2
- from .receiver import Receiver as Receiver, async_interview as async_interview
2
+ from .receiver import ReceiverManager as ReceiverManager, async_interview as async_interview
3
3
  from .services import DATA_MP_ENTITIES as DATA_MP_ENTITIES, async_setup_services as async_setup_services
4
4
  from _typeshed import Incomplete
5
5
  from dataclasses import dataclass
@@ -15,7 +15,7 @@ CONFIG_SCHEMA: Incomplete
15
15
 
16
16
  @dataclass
17
17
  class OnkyoData:
18
- receiver: Receiver
18
+ manager: ReceiverManager
19
19
  sources: dict[InputSource, str]
20
20
  sound_modes: dict[ListeningMode, str]
21
21
  type OnkyoConfigEntry = ConfigEntry[OnkyoData]
@@ -23,4 +23,3 @@ type OnkyoConfigEntry = ConfigEntry[OnkyoData]
23
23
  async def async_setup(hass: HomeAssistant, _: ConfigType) -> bool: ...
24
24
  async def async_setup_entry(hass: HomeAssistant, entry: OnkyoConfigEntry) -> bool: ...
25
25
  async def async_unload_entry(hass: HomeAssistant, entry: OnkyoConfigEntry) -> bool: ...
26
- async def update_listener(hass: HomeAssistant, entry: OnkyoConfigEntry) -> None: ...
@@ -1,7 +1,10 @@
1
+ from . import OnkyoConfigEntry as OnkyoConfigEntry
1
2
  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
- from .receiver import ReceiverInfo as ReceiverInfo, async_discover as async_discover, async_interview as async_interview
3
+ from .receiver import async_discover as async_discover, async_interview as async_interview
4
+ from .util import get_meaning as get_meaning
3
5
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
6
+ from aioonkyo import ReceiverInfo as ReceiverInfo
7
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlowWithReload as OptionsFlowWithReload, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
5
8
  from homeassistant.const import CONF_HOST as CONF_HOST
6
9
  from homeassistant.core import callback as callback
7
10
  from homeassistant.data_entry_flow import section as section
@@ -11,8 +14,8 @@ from typing import Any
11
14
 
12
15
  _LOGGER: Incomplete
13
16
  CONF_DEVICE: str
14
- INPUT_SOURCES_DEFAULT: dict[str, str]
15
- LISTENING_MODES_DEFAULT: dict[str, str]
17
+ INPUT_SOURCES_DEFAULT: list[InputSource]
18
+ LISTENING_MODES_DEFAULT: list[ListeningMode]
16
19
  INPUT_SOURCES_ALL_MEANINGS: Incomplete
17
20
  LISTENING_MODES_ALL_MEANINGS: Incomplete
18
21
  STEP_MANUAL_SCHEMA: Incomplete
@@ -30,11 +33,11 @@ class OnkyoConfigFlow(ConfigFlow, domain=DOMAIN):
30
33
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
31
34
  @staticmethod
32
35
  @callback
33
- def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
36
+ def async_get_options_flow(config_entry: OnkyoConfigEntry) -> OptionsFlowWithReload: ...
34
37
 
35
38
  OPTIONS_STEP_INIT_SCHEMA: Incomplete
36
39
 
37
- class OnkyoOptionsFlowHandler(OptionsFlow):
40
+ class OnkyoOptionsFlowHandler(OptionsFlowWithReload):
38
41
  _data: dict[str, Any]
39
42
  _input_sources: dict[InputSource, str]
40
43
  _listening_modes: dict[ListeningMode, str]
@@ -1,6 +1,6 @@
1
1
  from _typeshed import Incomplete
2
- from enum import Enum
3
- from typing import Literal, Self
2
+ from aioonkyo import HDMIOutputParam, InputSourceParam, ListeningModeParam
3
+ from typing import Literal
4
4
 
5
5
  DOMAIN: str
6
6
  DEVICE_INTERVIEW_TIMEOUT: int
@@ -11,69 +11,11 @@ OPTION_VOLUME_RESOLUTION_DEFAULT: VolumeResolution
11
11
  VOLUME_RESOLUTION_ALLOWED: tuple[VolumeResolution, ...]
12
12
  OPTION_MAX_VOLUME: str
13
13
  OPTION_MAX_VOLUME_DEFAULT: float
14
-
15
- class EnumWithMeaning(Enum):
16
- value_meaning: str
17
- def __new__(cls, value: str) -> Self: ...
18
- @staticmethod
19
- def _get_meanings() -> dict[str, str]: ...
20
-
21
14
  OPTION_INPUT_SOURCES: str
22
15
  OPTION_LISTENING_MODES: str
23
- _INPUT_SOURCE_MEANINGS: Incomplete
24
-
25
- class InputSource(EnumWithMeaning):
26
- DVR = '00'
27
- CBL = '01'
28
- GAME = '02'
29
- AUX = '03'
30
- GAME2 = '04'
31
- PC = '05'
32
- VIDEO7 = '06'
33
- EXTRA1 = '07'
34
- EXTRA2 = '08'
35
- EXTRA3 = '09'
36
- DVD = '10'
37
- STRM_BOX = '11'
38
- TV = '12'
39
- TAPE = '20'
40
- TAPE2 = '21'
41
- PHONO = '22'
42
- CD = '23'
43
- FM = '24'
44
- AM = '25'
45
- TUNER = '26'
46
- MUSIC_SERVER = '27'
47
- INTERNET_RADIO = '28'
48
- USB = '29'
49
- USB_REAR = '2A'
50
- NETWORK = '2B'
51
- AIRPLAY = '2D'
52
- BLUETOOTH = '2E'
53
- USB_DAC_IN = '2F'
54
- MULTI_CH = '30'
55
- XM = '31'
56
- SIRIUS = '32'
57
- DAB = '33'
58
- UNIVERSAL_PORT = '40'
59
- LINE = '41'
60
- LINE2 = '42'
61
- OPTICAL = '44'
62
- COAXIAL = '45'
63
- HDMI_5 = '55'
64
- HDMI_6 = '56'
65
- HDMI_7 = '57'
66
- MAIN_SOURCE = '80'
67
- @staticmethod
68
- def _get_meanings() -> dict[str, str]: ...
69
-
70
- _LISTENING_MODE_MEANINGS: Incomplete
71
-
72
- class ListeningMode(EnumWithMeaning):
73
- _ignore_ = 'ListeningMode _k _v _meaning'
74
- ListeningMode = ...
75
- @staticmethod
76
- def _get_meanings() -> dict[str, str]: ...
77
-
16
+ InputSource = InputSourceParam
17
+ ListeningMode = ListeningModeParam
18
+ HDMIOutput = HDMIOutputParam
78
19
  ZONES: Incomplete
79
- PYEISCP_COMMANDS: Incomplete
20
+ LEGACY_HDMI_OUTPUT_MAPPING: Incomplete
21
+ LEGACY_REV_HDMI_OUTPUT_MAPPING: Incomplete
@@ -1,16 +1,16 @@
1
1
  import asyncio
2
2
  from . import OnkyoConfigEntry as OnkyoConfigEntry
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
3
+ from .const import DOMAIN as DOMAIN, InputSource as InputSource, LEGACY_HDMI_OUTPUT_MAPPING as LEGACY_HDMI_OUTPUT_MAPPING, LEGACY_REV_HDMI_OUTPUT_MAPPING as LEGACY_REV_HDMI_OUTPUT_MAPPING, ListeningMode as ListeningMode, OPTION_MAX_VOLUME as OPTION_MAX_VOLUME, OPTION_VOLUME_RESOLUTION as OPTION_VOLUME_RESOLUTION, VolumeResolution as VolumeResolution, ZONES as ZONES
4
+ from .receiver import ReceiverManager as ReceiverManager
5
5
  from .services import DATA_MP_ENTITIES as DATA_MP_ENTITIES
6
+ from .util import get_meaning as get_meaning
6
7
  from _typeshed import Incomplete
7
- from enum import Enum as Enum
8
- from functools import cache
8
+ from aioonkyo import Status as Status, Zone, status
9
9
  from homeassistant.components.media_player import MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
10
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
12
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
- from typing import Any, Literal
13
+ from typing import Any
14
14
 
15
15
  _LOGGER: Incomplete
16
16
  SUPPORTED_FEATURES_BASE: Incomplete
@@ -23,54 +23,37 @@ ATTR_VIDEO_OUT: str
23
23
  AUDIO_VIDEO_INFORMATION_UPDATE_WAIT_TIME: int
24
24
  AUDIO_INFORMATION_MAPPING: Incomplete
25
25
  VIDEO_INFORMATION_MAPPING: Incomplete
26
- type LibValue = str | tuple[str, ...]
27
26
 
28
- def _get_single_lib_value(value: LibValue) -> str: ...
29
- def _get_lib_mapping[T: Enum](cmds: Any, cls: type[T]) -> dict[T, LibValue]: ...
30
- @cache
31
- def _input_source_lib_mappings(zone: str) -> dict[InputSource, LibValue]: ...
32
- @cache
33
- def _rev_input_source_lib_mappings(zone: str) -> dict[LibValue, InputSource]: ...
34
- @cache
35
- def _listening_mode_lib_mappings(zone: str) -> dict[ListeningMode, LibValue]: ...
36
- @cache
37
- def _rev_listening_mode_lib_mappings(zone: str) -> dict[LibValue, ListeningMode]: ...
38
27
  async def async_setup_entry(hass: HomeAssistant, entry: OnkyoConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
39
28
 
40
29
  class OnkyoMediaPlayer(MediaPlayerEntity):
41
30
  _attr_should_poll: bool
31
+ _attr_has_entity_name: bool
42
32
  _supports_volume: bool
43
- _supports_sound_mode: bool
33
+ _supports_sound_mode: bool | None
44
34
  _supports_audio_info: bool
45
35
  _supports_video_info: bool
46
- _query_timer: asyncio.TimerHandle | None
47
- _receiver: Incomplete
36
+ _query_task: asyncio.Task | None
37
+ _manager: Incomplete
38
+ _zone: Incomplete
48
39
  _attr_name: Incomplete
49
40
  _attr_unique_id: Incomplete
50
- _zone: Incomplete
51
41
  _volume_resolution: Incomplete
52
42
  _max_volume: Incomplete
53
- _options_sources: Incomplete
54
- _source_lib_mapping: Incomplete
55
- _rev_source_lib_mapping: Incomplete
56
43
  _source_mapping: Incomplete
57
44
  _rev_source_mapping: Incomplete
58
- _options_sound_modes: Incomplete
59
- _sound_mode_lib_mapping: Incomplete
60
- _rev_sound_mode_lib_mapping: Incomplete
61
45
  _sound_mode_mapping: Incomplete
62
46
  _rev_sound_mode_mapping: Incomplete
47
+ _hdmi_output_mapping: Incomplete
48
+ _rev_hdmi_output_mapping: Incomplete
63
49
  _attr_source_list: Incomplete
64
50
  _attr_sound_mode_list: Incomplete
65
51
  _attr_supported_features: Incomplete
66
52
  _attr_extra_state_attributes: Incomplete
67
- def __init__(self, receiver: Receiver, zone: str, *, volume_resolution: VolumeResolution, max_volume: float, sources: dict[InputSource, str], sound_modes: dict[ListeningMode, str]) -> None: ...
53
+ def __init__(self, manager: ReceiverManager, zone: Zone, *, volume_resolution: VolumeResolution, max_volume: float, sources: dict[InputSource, str], sound_modes: dict[ListeningMode, str]) -> None: ...
68
54
  async def async_added_to_hass(self) -> None: ...
69
55
  async def async_will_remove_from_hass(self) -> None: ...
70
- @callback
71
- def _update_receiver(self, propname: str, value: Any) -> None: ...
72
- @callback
73
- def _query_receiver(self, propname: str) -> None: ...
56
+ async def backfill_state(self) -> None: ...
74
57
  async def async_turn_on(self) -> None: ...
75
58
  async def async_turn_off(self) -> None: ...
76
59
  async def async_set_volume_level(self, volume: float) -> None: ...
@@ -81,21 +64,10 @@ class OnkyoMediaPlayer(MediaPlayerEntity):
81
64
  async def async_select_sound_mode(self, sound_mode: str) -> None: ...
82
65
  async def async_select_output(self, hdmi_output: str) -> None: ...
83
66
  async def async_play_media(self, media_type: MediaType | str, media_id: str, **kwargs: Any) -> None: ...
84
- @callback
85
- def backfill_state(self) -> None: ...
86
67
  _attr_state: Incomplete
87
68
  _attr_volume_level: Incomplete
88
69
  _attr_is_volume_muted: Incomplete
89
- @callback
90
- def process_update(self, update: tuple[str, str, Any]) -> None: ...
91
70
  _attr_source: Incomplete
92
- @callback
93
- def _parse_source(self, source_lib: LibValue) -> None: ...
94
71
  _attr_sound_mode: Incomplete
95
- @callback
96
- def _parse_sound_mode(self, mode_lib: LibValue) -> None: ...
97
- @callback
98
- def _parse_audio_information(self, audio_information: tuple[str] | Literal['N/A']) -> None: ...
99
- @callback
100
- def _parse_video_information(self, video_information: tuple[str] | Literal['N/A']) -> None: ...
72
+ def process_update(self, message: status.Known) -> None: ...
101
73
  def _query_av_info_delayed(self) -> None: ...
@@ -1,36 +1,35 @@
1
- import pyeiscp
1
+ import asyncio
2
+ from . import OnkyoConfigEntry as OnkyoConfigEntry
2
3
  from .const import DEVICE_DISCOVERY_TIMEOUT as DEVICE_DISCOVERY_TIMEOUT, DEVICE_INTERVIEW_TIMEOUT as DEVICE_INTERVIEW_TIMEOUT, ZONES as ZONES
3
4
  from _typeshed import Incomplete
4
- from collections.abc import Callable as Callable, Iterable
5
+ from aioonkyo import Instruction as Instruction, Receiver as Receiver, ReceiverInfo as ReceiverInfo, Status as Status
6
+ from collections.abc import Awaitable, Callable as Callable, Iterable
5
7
  from dataclasses import dataclass, field
6
- from typing import Any
8
+ from homeassistant.components import network as network
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
10
 
8
11
  _LOGGER: Incomplete
9
12
 
10
13
  @dataclass
11
14
  class Callbacks:
12
- connect: list[Callable[[Receiver], None]] = field(default_factory=list)
13
- update: list[Callable[[Receiver, tuple[str, str, Any]], None]] = field(default_factory=list)
15
+ connect: list[Callable[[bool], Awaitable[None]]] = field(default_factory=list)
16
+ update: list[Callable[[Status], Awaitable[None]]] = field(default_factory=list)
17
+ def clear(self) -> None: ...
14
18
 
15
- @dataclass
16
- class Receiver:
17
- conn: pyeiscp.Connection
18
- model_name: str
19
- identifier: str
20
- host: str
21
- first_connect: bool = ...
22
- callbacks: Callbacks = field(default_factory=Callbacks)
23
- @classmethod
24
- async def async_create(cls, info: ReceiverInfo) -> Receiver: ...
25
- def on_connect(self) -> None: ...
26
- def on_update(self, message: tuple[str, str, Any]) -> None: ...
27
-
28
- @dataclass
29
- class ReceiverInfo:
30
- host: str
31
- port: int
32
- model_name: str
33
- identifier: str
19
+ class ReceiverManager:
20
+ hass: HomeAssistant
21
+ entry: OnkyoConfigEntry
22
+ info: ReceiverInfo
23
+ receiver: Receiver | None
24
+ callbacks: Callbacks
25
+ _started: asyncio.Event
26
+ def __init__(self, hass: HomeAssistant, entry: OnkyoConfigEntry, info: ReceiverInfo) -> None: ...
27
+ async def start(self) -> Awaitable[None] | None: ...
28
+ async def _run(self) -> None: ...
29
+ async def on_connect(self, reconnect: bool) -> None: ...
30
+ async def on_update(self, message: Status) -> None: ...
31
+ async def write(self, message: Instruction) -> None: ...
32
+ def start_unloading(self) -> None: ...
34
33
 
35
34
  async def async_interview(host: str) -> ReceiverInfo | None: ...
36
- async def async_discover() -> Iterable[ReceiverInfo]: ...
35
+ async def async_discover(hass: HomeAssistant) -> Iterable[ReceiverInfo]: ...
@@ -1,13 +1,13 @@
1
- from .const import DOMAIN as DOMAIN
1
+ from .const import DOMAIN as DOMAIN, LEGACY_REV_HDMI_OUTPUT_MAPPING as LEGACY_REV_HDMI_OUTPUT_MAPPING
2
2
  from .media_player import OnkyoMediaPlayer as OnkyoMediaPlayer
3
3
  from _typeshed import Incomplete
4
+ from aioonkyo import Zone as Zone
4
5
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
6
7
  from homeassistant.util.hass_dict import HassKey as HassKey
7
8
 
8
- DATA_MP_ENTITIES: HassKey[dict[str, dict[str, OnkyoMediaPlayer]]]
9
+ DATA_MP_ENTITIES: HassKey[dict[str, dict[Zone, OnkyoMediaPlayer]]]
9
10
  ATTR_HDMI_OUTPUT: str
10
- ACCEPTED_VALUES: Incomplete
11
11
  ONKYO_SELECT_OUTPUT_SCHEMA: Incomplete
12
12
  SERVICE_SELECT_HDMI_OUTPUT: str
13
13
 
@@ -0,0 +1,3 @@
1
+ from .const import InputSource as InputSource, ListeningMode as ListeningMode
2
+
3
+ def get_meaning(param: InputSource | ListeningMode) -> str: ...
@@ -0,0 +1,15 @@
1
+ from .const import LOGGER as LOGGER
2
+ from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, Platform as Platform
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.exceptions import ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
7
+ from homeassistant.helpers.httpx_client import get_async_client as get_async_client
8
+ from openai import AsyncOpenAI
9
+
10
+ PLATFORMS: Incomplete
11
+ type OpenRouterConfigEntry = ConfigEntry[AsyncOpenAI]
12
+
13
+ async def async_setup_entry(hass: HomeAssistant, entry: OpenRouterConfigEntry) -> bool: ...
14
+ async def _async_update_listener(hass: HomeAssistant, entry: OpenRouterConfigEntry) -> None: ...
15
+ async def async_unload_entry(hass: HomeAssistant, entry: OpenRouterConfigEntry) -> bool: ...
@@ -0,0 +1,17 @@
1
+ from . import OpenRouterConfigEntry as OpenRouterConfigEntry
2
+ from .entity import OpenRouterEntity as OpenRouterEntity
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components import ai_task as ai_task, conversation as conversation
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
7
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
+ from homeassistant.util.json import json_loads as json_loads
9
+
10
+ _LOGGER: Incomplete
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, config_entry: OpenRouterConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
+
14
+ class OpenRouterAITaskEntity(ai_task.AITaskEntity, OpenRouterEntity):
15
+ _attr_name: Incomplete
16
+ _attr_supported_features: Incomplete
17
+ async def _async_generate_data(self, task: ai_task.GenDataTask, chat_log: conversation.ChatLog) -> ai_task.GenDataTaskResult: ...
@@ -0,0 +1,30 @@
1
+ from .const import CONF_PROMPT as CONF_PROMPT, DOMAIN as DOMAIN, RECOMMENDED_CONVERSATION_OPTIONS as RECOMMENDED_CONVERSATION_OPTIONS
2
+ from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, ConfigSubentryFlow as ConfigSubentryFlow, SubentryFlowResult as SubentryFlowResult
4
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LLM_HASS_API as CONF_LLM_HASS_API, CONF_MODEL as CONF_MODEL
5
+ from homeassistant.core import callback as callback
6
+ from homeassistant.helpers import llm as llm
7
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
8
+ from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TemplateSelector as TemplateSelector
9
+ from python_open_router import Model as Model
10
+ from typing import Any
11
+
12
+ _LOGGER: Incomplete
13
+
14
+ class OpenRouterConfigFlow(ConfigFlow, domain=DOMAIN):
15
+ VERSION: int
16
+ @classmethod
17
+ @callback
18
+ def async_get_supported_subentry_types(cls, config_entry: ConfigEntry) -> dict[str, type[ConfigSubentryFlow]]: ...
19
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
20
+
21
+ class OpenRouterSubentryFlowHandler(ConfigSubentryFlow):
22
+ models: dict[str, Model]
23
+ def __init__(self) -> None: ...
24
+ async def _get_models(self) -> None: ...
25
+
26
+ class ConversationFlowHandler(OpenRouterSubentryFlowHandler):
27
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
28
+
29
+ class AITaskDataFlowHandler(OpenRouterSubentryFlowHandler):
30
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
@@ -0,0 +1,8 @@
1
+ from _typeshed import Incomplete
2
+ from homeassistant.const import CONF_LLM_HASS_API as CONF_LLM_HASS_API, CONF_PROMPT as CONF_PROMPT
3
+ from homeassistant.helpers import llm as llm
4
+
5
+ DOMAIN: str
6
+ LOGGER: Incomplete
7
+ CONF_RECOMMENDED: str
8
+ RECOMMENDED_CONVERSATION_OPTIONS: Incomplete