homeassistant-stubs 2025.5.2__py3-none-any.whl → 2025.6.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.
Files changed (423) hide show
  1. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  2. homeassistant-stubs/components/alexa_devices/__init__.pyi +9 -0
  3. homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +26 -0
  4. homeassistant-stubs/components/alexa_devices/config_flow.pyi +8 -0
  5. homeassistant-stubs/components/alexa_devices/const.pyi +5 -0
  6. homeassistant-stubs/components/alexa_devices/coordinator.pyi +17 -0
  7. homeassistant-stubs/components/alexa_devices/diagnostics.pyi +14 -0
  8. homeassistant-stubs/components/alexa_devices/entity.pyi +19 -0
  9. homeassistant-stubs/components/alexa_devices/notify.pyi +25 -0
  10. homeassistant-stubs/components/alexa_devices/switch.pyi +30 -0
  11. homeassistant-stubs/components/apcupsd/config_flow.pyi +1 -0
  12. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +3 -1
  13. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  14. homeassistant-stubs/components/axis/entity.pyi +1 -0
  15. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  16. homeassistant-stubs/components/backup/coordinator.pyi +3 -0
  17. homeassistant-stubs/components/backup/entity.pyi +5 -2
  18. homeassistant-stubs/components/backup/event.pyi +23 -0
  19. homeassistant-stubs/components/backup/manager.pyi +22 -3
  20. homeassistant-stubs/components/backup/models.pyi +2 -2
  21. homeassistant-stubs/components/blue_current/button.pyi +25 -0
  22. homeassistant-stubs/components/blue_current/entity.pyi +3 -6
  23. homeassistant-stubs/components/bluesound/button.pyi +35 -0
  24. homeassistant-stubs/components/bluesound/media_player.pyi +1 -0
  25. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -1
  26. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -1
  27. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -1
  28. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +1 -1
  29. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -1
  30. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
  31. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -1
  32. homeassistant-stubs/components/bosch_alarm/__init__.pyi +8 -4
  33. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +3 -1
  34. homeassistant-stubs/components/bosch_alarm/binary_sensor.pyi +45 -0
  35. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +9 -3
  36. homeassistant-stubs/components/bosch_alarm/const.pyi +4 -1
  37. homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +1 -1
  38. homeassistant-stubs/components/bosch_alarm/entity.pyi +30 -1
  39. homeassistant-stubs/components/bosch_alarm/sensor.pyi +6 -2
  40. homeassistant-stubs/components/bosch_alarm/services.pyi +15 -0
  41. homeassistant-stubs/components/bosch_alarm/switch.pyi +43 -0
  42. homeassistant-stubs/components/bosch_alarm/types.pyi +4 -0
  43. homeassistant-stubs/components/bring/__init__.pyi +1 -1
  44. homeassistant-stubs/components/bring/coordinator.pyi +21 -3
  45. homeassistant-stubs/components/bring/entity.pyi +3 -3
  46. homeassistant-stubs/components/bring/event.pyi +3 -2
  47. homeassistant-stubs/components/bring/sensor.pyi +1 -0
  48. homeassistant-stubs/components/bring/todo.pyi +1 -0
  49. homeassistant-stubs/components/camera/__init__.pyi +2 -10
  50. homeassistant-stubs/components/camera/webrtc.pyi +1 -22
  51. homeassistant-stubs/components/climate/__init__.pyi +3 -13
  52. homeassistant-stubs/components/climate/const.pyi +0 -3
  53. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  54. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  55. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  56. homeassistant-stubs/components/cloud/client.pyi +2 -1
  57. homeassistant-stubs/components/cloud/const.pyi +0 -1
  58. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  59. homeassistant-stubs/components/cloud/http_api.pyi +0 -2
  60. homeassistant-stubs/components/comelit/climate.pyi +14 -5
  61. homeassistant-stubs/components/comelit/config_flow.pyi +3 -4
  62. homeassistant-stubs/components/comelit/const.pyi +3 -0
  63. homeassistant-stubs/components/comelit/cover.pyi +3 -1
  64. homeassistant-stubs/components/comelit/humidifier.pyi +6 -1
  65. homeassistant-stubs/components/comelit/light.pyi +2 -0
  66. homeassistant-stubs/components/comelit/switch.pyi +2 -0
  67. homeassistant-stubs/components/comelit/utils.pyi +11 -0
  68. homeassistant-stubs/components/command_line/notify.pyi +3 -1
  69. homeassistant-stubs/components/config/entity_registry.pyi +6 -0
  70. homeassistant-stubs/components/deconz/entity.pyi +1 -0
  71. homeassistant-stubs/components/deconz/hub/hub.pyi +1 -1
  72. homeassistant-stubs/components/deconz/light.pyi +1 -1
  73. homeassistant-stubs/components/demo/media_player.pyi +2 -1
  74. homeassistant-stubs/components/derivative/__init__.pyi +2 -1
  75. homeassistant-stubs/components/device_automation/trigger.pyi +5 -2
  76. homeassistant-stubs/components/devolo_home_network/__init__.pyi +3 -18
  77. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +1 -2
  78. homeassistant-stubs/components/devolo_home_network/button.pyi +1 -1
  79. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
  80. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +56 -6
  81. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
  82. homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +1 -1
  83. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -2
  84. homeassistant-stubs/components/devolo_home_network/image.pyi +1 -2
  85. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -2
  86. homeassistant-stubs/components/devolo_home_network/switch.pyi +1 -2
  87. homeassistant-stubs/components/devolo_home_network/update.pyi +1 -2
  88. homeassistant-stubs/components/dhcp/__init__.pyi +2 -0
  89. homeassistant-stubs/components/downloader/__init__.pyi +3 -4
  90. homeassistant-stubs/components/downloader/services.pyi +7 -0
  91. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
  92. homeassistant-stubs/components/ecovacs/button.pyi +2 -2
  93. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  94. homeassistant-stubs/components/ecovacs/select.pyi +1 -1
  95. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  96. homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
  97. homeassistant-stubs/components/ecovacs/util.pyi +1 -1
  98. homeassistant-stubs/components/eheimdigital/climate.pyi +4 -2
  99. homeassistant-stubs/components/eheimdigital/diagnostics.pyi +9 -0
  100. homeassistant-stubs/components/eheimdigital/entity.pyi +5 -0
  101. homeassistant-stubs/components/eheimdigital/light.pyi +3 -2
  102. homeassistant-stubs/components/eheimdigital/number.pyi +3 -1
  103. homeassistant-stubs/components/eheimdigital/select.pyi +34 -0
  104. homeassistant-stubs/components/eheimdigital/switch.pyi +3 -1
  105. homeassistant-stubs/components/eheimdigital/time.pyi +2 -1
  106. homeassistant-stubs/components/elkm1/climate.pyi +0 -6
  107. homeassistant-stubs/components/esphome/entity.pyi +2 -0
  108. homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
  109. homeassistant-stubs/components/esphome/light.pyi +4 -4
  110. homeassistant-stubs/components/esphome/manager.pyi +0 -1
  111. homeassistant-stubs/components/esphome/update.pyi +8 -4
  112. homeassistant-stubs/components/feedreader/event.pyi +1 -2
  113. homeassistant-stubs/components/fritz/__init__.pyi +1 -1
  114. homeassistant-stubs/components/fritz/config_flow.pyi +2 -1
  115. homeassistant-stubs/components/fritz/const.pyi +2 -0
  116. homeassistant-stubs/components/fritz/coordinator.pyi +5 -3
  117. homeassistant-stubs/components/frontend/storage.pyi +25 -9
  118. homeassistant-stubs/components/fyta/image.pyi +18 -4
  119. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +4 -2
  120. homeassistant-stubs/components/generic_thermostat/__init__.pyi +5 -3
  121. homeassistant-stubs/components/geocaching/__init__.pyi +3 -5
  122. homeassistant-stubs/components/geocaching/coordinator.pyi +3 -2
  123. homeassistant-stubs/components/geocaching/sensor.pyi +2 -3
  124. homeassistant-stubs/components/google/__init__.pyi +7 -8
  125. homeassistant-stubs/components/google/api.pyi +2 -2
  126. homeassistant-stubs/components/google/calendar.pyi +5 -5
  127. homeassistant-stubs/components/google/config_flow.pyi +3 -2
  128. homeassistant-stubs/components/google/const.pyi +0 -2
  129. homeassistant-stubs/components/google/coordinator.pyi +5 -5
  130. homeassistant-stubs/components/google/diagnostics.pyi +2 -3
  131. homeassistant-stubs/components/google/store.pyi +9 -0
  132. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +5 -6
  133. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +3 -3
  134. homeassistant-stubs/components/google_assistant_sdk/const.pyi +0 -2
  135. homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +2 -2
  136. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +8 -1
  137. homeassistant-stubs/components/google_assistant_sdk/notify.pyi +1 -2
  138. homeassistant-stubs/components/greeneye_monitor/const.pyi +4 -1
  139. homeassistant-stubs/components/guardian/__init__.pyi +11 -18
  140. homeassistant-stubs/components/guardian/binary_sensor.pyi +5 -6
  141. homeassistant-stubs/components/guardian/button.pyi +4 -5
  142. homeassistant-stubs/components/guardian/coordinator.pyi +3 -3
  143. homeassistant-stubs/components/guardian/diagnostics.pyi +3 -4
  144. homeassistant-stubs/components/guardian/entity.pyi +3 -3
  145. homeassistant-stubs/components/guardian/sensor.pyi +3 -4
  146. homeassistant-stubs/components/guardian/services.pyi +28 -0
  147. homeassistant-stubs/components/guardian/switch.pyi +4 -5
  148. homeassistant-stubs/components/guardian/util.pyi +2 -2
  149. homeassistant-stubs/components/guardian/valve.pyi +4 -5
  150. homeassistant-stubs/components/habitica/const.pyi +1 -6
  151. homeassistant-stubs/components/habitica/coordinator.pyi +2 -2
  152. homeassistant-stubs/components/habitica/sensor.pyi +3 -1
  153. homeassistant-stubs/components/habitica/services.pyi +2 -4
  154. homeassistant-stubs/components/habitica/util.pyi +2 -0
  155. homeassistant-stubs/components/hardware/__init__.pyi +3 -1
  156. homeassistant-stubs/components/hardware/const.pyi +4 -0
  157. homeassistant-stubs/components/hardware/hardware.pyi +1 -1
  158. homeassistant-stubs/components/hardware/models.pyi +14 -1
  159. homeassistant-stubs/components/hardware/websocket_api.pyi +2 -12
  160. homeassistant-stubs/components/heos/media_player.pyi +1 -0
  161. homeassistant-stubs/components/here_travel_time/__init__.pyi +4 -6
  162. homeassistant-stubs/components/here_travel_time/coordinator.pyi +9 -10
  163. homeassistant-stubs/components/here_travel_time/model.pyi +6 -10
  164. homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
  165. homeassistant-stubs/components/history_stats/__init__.pyi +2 -1
  166. homeassistant-stubs/components/history_stats/config_flow.pyi +2 -2
  167. homeassistant-stubs/components/history_stats/data.pyi +2 -0
  168. homeassistant-stubs/components/home_connect/application_credentials.pyi +1 -0
  169. homeassistant-stubs/components/home_connect/config_flow.pyi +2 -0
  170. homeassistant-stubs/components/home_connect/diagnostics.pyi +1 -2
  171. homeassistant-stubs/components/home_connect/entity.pyi +0 -1
  172. homeassistant-stubs/components/home_connect/light.pyi +2 -2
  173. homeassistant-stubs/components/home_connect/number.pyi +1 -0
  174. homeassistant-stubs/components/home_connect/sensor.pyi +4 -5
  175. homeassistant-stubs/components/home_connect/switch.pyi +1 -19
  176. homeassistant-stubs/components/homeassistant/__init__.pyi +5 -0
  177. homeassistant-stubs/components/homee/alarm_control_panel.pyi +39 -0
  178. homeassistant-stubs/components/homee/const.pyi +2 -0
  179. homeassistant-stubs/components/homee/event.pyi +19 -0
  180. homeassistant-stubs/components/homee/fan.pyi +38 -0
  181. homeassistant-stubs/components/homee/sensor.pyi +5 -1
  182. homeassistant-stubs/components/homekit/const.pyi +1 -0
  183. homeassistant-stubs/components/homekit/util.pyi +1 -1
  184. homeassistant-stubs/components/homeworks/__init__.pyi +5 -5
  185. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -3
  186. homeassistant-stubs/components/homeworks/button.pyi +2 -3
  187. homeassistant-stubs/components/homeworks/light.pyi +2 -3
  188. homeassistant-stubs/components/http/decorators.pyi +1 -1
  189. homeassistant-stubs/components/huawei_lte/__init__.pyi +0 -1
  190. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +0 -7
  191. homeassistant-stubs/components/hydrawise/__init__.pyi +4 -5
  192. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +3 -4
  193. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -3
  194. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
  195. homeassistant-stubs/components/hydrawise/switch.pyi +3 -4
  196. homeassistant-stubs/components/hydrawise/valve.pyi +2 -4
  197. homeassistant-stubs/components/immich/__init__.pyi +10 -0
  198. homeassistant-stubs/components/immich/config_flow.pyi +27 -0
  199. homeassistant-stubs/components/immich/const.pyi +4 -0
  200. homeassistant-stubs/components/immich/coordinator.pyi +27 -0
  201. homeassistant-stubs/components/immich/diagnostics.pyi +10 -0
  202. homeassistant-stubs/components/immich/entity.pyi +10 -0
  203. homeassistant-stubs/components/immich/media_source.pyi +38 -0
  204. homeassistant-stubs/components/immich/sensor.pyi +28 -0
  205. homeassistant-stubs/components/integration/__init__.pyi +2 -1
  206. homeassistant-stubs/components/iqvia/__init__.pyi +4 -7
  207. homeassistant-stubs/components/iqvia/coordinator.pyi +16 -0
  208. homeassistant-stubs/components/iqvia/diagnostics.pyi +3 -4
  209. homeassistant-stubs/components/iqvia/entity.pyi +5 -6
  210. homeassistant-stubs/components/iqvia/sensor.pyi +3 -3
  211. homeassistant-stubs/components/isy994/__init__.pyi +6 -7
  212. homeassistant-stubs/components/isy994/binary_sensor.pyi +3 -4
  213. homeassistant-stubs/components/isy994/button.pyi +2 -3
  214. homeassistant-stubs/components/isy994/climate.pyi +3 -4
  215. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  216. homeassistant-stubs/components/isy994/cover.pyi +3 -5
  217. homeassistant-stubs/components/isy994/fan.pyi +3 -5
  218. homeassistant-stubs/components/isy994/light.pyi +3 -4
  219. homeassistant-stubs/components/isy994/lock.pyi +2 -5
  220. homeassistant-stubs/components/isy994/models.pyi +2 -0
  221. homeassistant-stubs/components/isy994/number.pyi +3 -4
  222. homeassistant-stubs/components/isy994/select.pyi +3 -4
  223. homeassistant-stubs/components/isy994/sensor.pyi +3 -4
  224. homeassistant-stubs/components/isy994/services.pyi +1 -1
  225. homeassistant-stubs/components/isy994/switch.pyi +2 -4
  226. homeassistant-stubs/components/isy994/system_health.pyi +1 -3
  227. homeassistant-stubs/components/isy994/util.pyi +3 -2
  228. homeassistant-stubs/components/jellyfin/__init__.pyi +1 -1
  229. homeassistant-stubs/components/jellyfin/entity.pyi +2 -2
  230. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +3 -2
  231. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -2
  232. homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
  233. homeassistant-stubs/components/jewish_calendar/diagnostics.pyi +11 -0
  234. homeassistant-stubs/components/jewish_calendar/entity.pyi +12 -5
  235. homeassistant-stubs/components/jewish_calendar/sensor.pyi +34 -15
  236. homeassistant-stubs/components/jewish_calendar/service.pyi +1 -0
  237. homeassistant-stubs/components/kaleidescape/entity.pyi +1 -0
  238. homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
  239. homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
  240. homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -0
  241. homeassistant-stubs/components/knocki/config_flow.pyi +2 -0
  242. homeassistant-stubs/components/knx/const.pyi +7 -0
  243. homeassistant-stubs/components/knx/cover.pyi +20 -9
  244. homeassistant-stubs/components/knx/schema.pyi +1 -6
  245. homeassistant-stubs/components/knx/storage/const.pyi +6 -0
  246. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -3
  247. homeassistant-stubs/components/lcn/config_flow.pyi +0 -2
  248. homeassistant-stubs/components/lcn/const.pyi +3 -1
  249. homeassistant-stubs/components/lcn/cover.pyi +7 -2
  250. homeassistant-stubs/components/lcn/entity.pyi +1 -0
  251. homeassistant-stubs/components/lcn/helpers.pyi +0 -1
  252. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  253. homeassistant-stubs/components/lcn/services.pyi +2 -3
  254. homeassistant-stubs/components/litterrobot/entity.pyi +1 -1
  255. homeassistant-stubs/components/matter/select.pyi +2 -0
  256. homeassistant-stubs/components/matter/sensor.pyi +3 -1
  257. homeassistant-stubs/components/media_player/intent.pyi +11 -1
  258. homeassistant-stubs/components/metoffice/__init__.pyi +3 -5
  259. homeassistant-stubs/components/metoffice/config_flow.pyi +4 -2
  260. homeassistant-stubs/components/metoffice/const.pyi +7 -6
  261. homeassistant-stubs/components/metoffice/helpers.pyi +5 -6
  262. homeassistant-stubs/components/metoffice/sensor.pyi +15 -13
  263. homeassistant-stubs/components/metoffice/weather.pyi +23 -11
  264. homeassistant-stubs/components/miele/__init__.pyi +15 -0
  265. homeassistant-stubs/components/miele/api.pyi +9 -0
  266. homeassistant-stubs/components/miele/application_credentials.pyi +5 -0
  267. homeassistant-stubs/components/miele/binary_sensor.pyi +34 -0
  268. homeassistant-stubs/components/miele/button.pyi +32 -0
  269. homeassistant-stubs/components/miele/climate.pyi +55 -0
  270. homeassistant-stubs/components/miele/config_flow.pyi +17 -0
  271. homeassistant-stubs/components/miele/const.pyi +127 -0
  272. homeassistant-stubs/components/miele/coordinator.pyi +29 -0
  273. homeassistant-stubs/components/miele/diagnostics.pyi +13 -0
  274. homeassistant-stubs/components/miele/entity.pyi +24 -0
  275. homeassistant-stubs/components/miele/fan.pyi +39 -0
  276. homeassistant-stubs/components/miele/light.pyi +39 -0
  277. homeassistant-stubs/components/miele/sensor.pyi +72 -0
  278. homeassistant-stubs/components/miele/switch.pyi +52 -0
  279. homeassistant-stubs/components/miele/vacuum.pyi +84 -0
  280. homeassistant-stubs/components/minecraft_server/api.pyi +1 -1
  281. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  282. homeassistant-stubs/components/modbus/const.pyi +9 -0
  283. homeassistant-stubs/components/modbus/light.pyi +24 -1
  284. homeassistant-stubs/components/modbus/sensor.pyi +5 -3
  285. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -2
  286. homeassistant-stubs/components/mqtt/button.pyi +1 -3
  287. homeassistant-stubs/components/mqtt/config_flow.pyi +26 -9
  288. homeassistant-stubs/components/mqtt/const.pyi +57 -0
  289. homeassistant-stubs/components/mqtt/cover.pyi +1 -25
  290. homeassistant-stubs/components/mqtt/fan.pyi +1 -31
  291. homeassistant-stubs/components/mqtt/sensor.pyi +1 -1
  292. homeassistant-stubs/components/mqtt/switch.pyi +1 -5
  293. homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
  294. homeassistant-stubs/components/number/const.pyi +3 -2
  295. homeassistant-stubs/components/nut/__init__.pyi +1 -1
  296. homeassistant-stubs/components/openai_conversation/conversation.pyi +2 -0
  297. homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -1
  298. homeassistant-stubs/components/openuv/entity.pyi +1 -0
  299. homeassistant-stubs/components/otbr/util.pyi +1 -3
  300. homeassistant-stubs/components/pandora/__init__.pyi +1 -0
  301. homeassistant-stubs/components/pandora/media_player.pyi +14 -13
  302. homeassistant-stubs/components/paperless_ngx/__init__.pyi +13 -0
  303. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +16 -0
  304. homeassistant-stubs/components/paperless_ngx/const.pyi +4 -0
  305. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +39 -0
  306. homeassistant-stubs/components/{rtsp_to_webrtc → paperless_ngx}/diagnostics.pyi +2 -2
  307. homeassistant-stubs/components/paperless_ngx/entity.pyi +16 -0
  308. homeassistant-stubs/components/paperless_ngx/sensor.pyi +27 -0
  309. homeassistant-stubs/components/plugwise/coordinator.pyi +2 -2
  310. homeassistant-stubs/components/qbus/climate.pyi +1 -0
  311. homeassistant-stubs/components/qbus/entity.pyi +3 -3
  312. homeassistant-stubs/components/qbus/light.pyi +1 -0
  313. homeassistant-stubs/components/qbus/scene.pyi +21 -0
  314. homeassistant-stubs/components/qbus/switch.pyi +1 -0
  315. homeassistant-stubs/components/recorder/services.pyi +7 -1
  316. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  317. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  318. homeassistant-stubs/components/reolink/__init__.pyi +3 -1
  319. homeassistant-stubs/components/reolink/const.pyi +5 -0
  320. homeassistant-stubs/components/reolink/host.pyi +3 -3
  321. homeassistant-stubs/components/reolink/media_source.pyi +2 -1
  322. homeassistant-stubs/components/reolink/views.pyi +1 -0
  323. homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
  324. homeassistant-stubs/components/samsungtv/__init__.pyi +5 -5
  325. homeassistant-stubs/components/samsungtv/bridge.pyi +2 -1
  326. homeassistant-stubs/components/samsungtv/config_flow.pyi +4 -4
  327. homeassistant-stubs/components/samsungtv/entity.pyi +1 -1
  328. homeassistant-stubs/components/samsungtv/media_player.pyi +2 -1
  329. homeassistant-stubs/components/sensor/__init__.pyi +1 -0
  330. homeassistant-stubs/components/sensor/const.pyi +5 -2
  331. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  332. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  333. homeassistant-stubs/components/shelly/__init__.pyi +1 -1
  334. homeassistant-stubs/components/shelly/binary_sensor.pyi +3 -2
  335. homeassistant-stubs/components/shelly/button.pyi +5 -4
  336. homeassistant-stubs/components/shelly/climate.pyi +5 -5
  337. homeassistant-stubs/components/shelly/const.pyi +2 -0
  338. homeassistant-stubs/components/shelly/cover.pyi +2 -0
  339. homeassistant-stubs/components/shelly/entity.pyi +4 -2
  340. homeassistant-stubs/components/shelly/event.pyi +4 -2
  341. homeassistant-stubs/components/shelly/light.pyi +2 -0
  342. homeassistant-stubs/components/shelly/number.pyi +3 -2
  343. homeassistant-stubs/components/shelly/select.pyi +2 -0
  344. homeassistant-stubs/components/shelly/sensor.pyi +9 -2
  345. homeassistant-stubs/components/shelly/switch.pyi +2 -2
  346. homeassistant-stubs/components/shelly/text.pyi +2 -0
  347. homeassistant-stubs/components/shelly/update.pyi +1 -0
  348. homeassistant-stubs/components/shelly/utils.pyi +14 -7
  349. homeassistant-stubs/components/shelly/valve.pyi +2 -0
  350. homeassistant-stubs/components/smlight/button.pyi +3 -2
  351. homeassistant-stubs/components/squeezebox/__init__.pyi +1 -1
  352. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +1 -0
  353. homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
  354. homeassistant-stubs/components/squeezebox/button.pyi +3 -0
  355. homeassistant-stubs/components/squeezebox/const.pyi +12 -2
  356. homeassistant-stubs/components/squeezebox/coordinator.pyi +7 -3
  357. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -1
  358. homeassistant-stubs/components/squeezebox/sensor.pyi +1 -0
  359. homeassistant-stubs/components/squeezebox/switch.pyi +47 -0
  360. homeassistant-stubs/components/squeezebox/update.pyi +50 -0
  361. homeassistant-stubs/components/statistics/__init__.pyi +2 -1
  362. homeassistant-stubs/components/suez_water/coordinator.pyi +19 -4
  363. homeassistant-stubs/components/suez_water/sensor.pyi +2 -0
  364. homeassistant-stubs/components/sun/condition.pyi +13 -0
  365. homeassistant-stubs/components/switch_as_x/__init__.pyi +16 -3
  366. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +15 -9
  367. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +29 -0
  368. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +6 -1
  369. homeassistant-stubs/components/threshold/__init__.pyi +2 -1
  370. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  371. homeassistant-stubs/components/tibber/notify.pyi +2 -2
  372. homeassistant-stubs/components/tibber/sensor.pyi +1 -1
  373. homeassistant-stubs/components/trend/__init__.pyi +2 -1
  374. homeassistant-stubs/components/tts/__init__.pyi +4 -1
  375. homeassistant-stubs/components/tts/const.pyi +1 -0
  376. homeassistant-stubs/components/tts/entity.pyi +4 -0
  377. homeassistant-stubs/components/tts/legacy.pyi +3 -1
  378. homeassistant-stubs/components/tts/media_source.pyi +5 -2
  379. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  380. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  381. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -0
  382. homeassistant-stubs/components/unifi/services.pyi +1 -0
  383. homeassistant-stubs/components/uptimerobot/coordinator.pyi +0 -1
  384. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -1
  385. homeassistant-stubs/components/wallbox/const.pyi +10 -0
  386. homeassistant-stubs/components/wallbox/coordinator.pyi +4 -1
  387. homeassistant-stubs/components/wallbox/select.pyi +29 -0
  388. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  389. homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
  390. homeassistant-stubs/components/wemo/light.pyi +1 -0
  391. homeassistant-stubs/components/whois/const.pyi +1 -0
  392. homeassistant-stubs/components/whois/sensor.pyi +2 -1
  393. homeassistant-stubs/components/withings/application_credentials.pyi +2 -0
  394. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  395. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -3
  396. homeassistant-stubs/components/zwave_js/api.pyi +1 -2
  397. homeassistant-stubs/components/zwave_js/config_flow.pyi +8 -8
  398. homeassistant-stubs/components/zwave_js/const.pyi +2 -3
  399. homeassistant-stubs/config_entries.pyi +0 -1
  400. homeassistant-stubs/const.pyi +5 -0
  401. homeassistant-stubs/core_config.pyi +0 -2
  402. homeassistant-stubs/helpers/condition.pyi +1 -6
  403. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +10 -0
  404. homeassistant-stubs/helpers/config_validation.pyi +7 -2
  405. homeassistant-stubs/helpers/device.pyi +1 -1
  406. homeassistant-stubs/helpers/device_registry.pyi +4 -4
  407. homeassistant-stubs/helpers/entity_component.pyi +5 -2
  408. homeassistant-stubs/helpers/entity_platform.pyi +4 -1
  409. homeassistant-stubs/helpers/entity_registry.pyi +7 -6
  410. homeassistant-stubs/helpers/helper_integration.pyi +6 -0
  411. homeassistant-stubs/helpers/selector.pyi +55 -50
  412. homeassistant-stubs/helpers/service.pyi +3 -3
  413. homeassistant-stubs/helpers/template.pyi +4 -1
  414. homeassistant-stubs/scripts/check_config.pyi +1 -1
  415. homeassistant-stubs/util/aiohttp.pyi +5 -0
  416. homeassistant-stubs/util/unit_conversion.pyi +11 -1
  417. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0.dist-info}/METADATA +2 -2
  418. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0.dist-info}/RECORD +420 -361
  419. homeassistant-stubs/components/metoffice/data.pyi +0 -10
  420. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +0 -19
  421. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -24
  422. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0.dist-info}/WHEEL +0 -0
  423. {homeassistant_stubs-2025.5.2.dist-info → homeassistant_stubs-2025.6.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,7 +2,7 @@ import asyncio
2
2
  import voluptuous as vol
3
3
  from .addon import get_addon_manager as get_addon_manager
4
4
  from .client import MqttClientSetup as MqttClientSetup
5
- from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONFIG_ENTRY_MINOR_VERSION as CONFIG_ENTRY_MINOR_VERSION, CONFIG_ENTRY_VERSION as CONFIG_ENTRY_VERSION, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BLUE_TEMPLATE as CONF_BLUE_TEMPLATE, CONF_BRIGHTNESS_COMMAND_TEMPLATE as CONF_BRIGHTNESS_COMMAND_TEMPLATE, CONF_BRIGHTNESS_COMMAND_TOPIC as CONF_BRIGHTNESS_COMMAND_TOPIC, CONF_BRIGHTNESS_SCALE as CONF_BRIGHTNESS_SCALE, CONF_BRIGHTNESS_STATE_TOPIC as CONF_BRIGHTNESS_STATE_TOPIC, CONF_BRIGHTNESS_TEMPLATE as CONF_BRIGHTNESS_TEMPLATE, CONF_BRIGHTNESS_VALUE_TEMPLATE as CONF_BRIGHTNESS_VALUE_TEMPLATE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_COLOR_MODE_STATE_TOPIC as CONF_COLOR_MODE_STATE_TOPIC, CONF_COLOR_MODE_VALUE_TEMPLATE as CONF_COLOR_MODE_VALUE_TEMPLATE, CONF_COLOR_TEMP_COMMAND_TEMPLATE as CONF_COLOR_TEMP_COMMAND_TEMPLATE, CONF_COLOR_TEMP_COMMAND_TOPIC as CONF_COLOR_TEMP_COMMAND_TOPIC, CONF_COLOR_TEMP_KELVIN as CONF_COLOR_TEMP_KELVIN, CONF_COLOR_TEMP_STATE_TOPIC as CONF_COLOR_TEMP_STATE_TOPIC, CONF_COLOR_TEMP_TEMPLATE as CONF_COLOR_TEMP_TEMPLATE, CONF_COLOR_TEMP_VALUE_TEMPLATE as CONF_COLOR_TEMP_VALUE_TEMPLATE, CONF_COMMAND_OFF_TEMPLATE as CONF_COMMAND_OFF_TEMPLATE, CONF_COMMAND_ON_TEMPLATE as CONF_COMMAND_ON_TEMPLATE, CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_EFFECT_COMMAND_TEMPLATE as CONF_EFFECT_COMMAND_TEMPLATE, CONF_EFFECT_COMMAND_TOPIC as CONF_EFFECT_COMMAND_TOPIC, CONF_EFFECT_LIST as CONF_EFFECT_LIST, CONF_EFFECT_STATE_TOPIC as CONF_EFFECT_STATE_TOPIC, CONF_EFFECT_TEMPLATE as CONF_EFFECT_TEMPLATE, CONF_EFFECT_VALUE_TEMPLATE as CONF_EFFECT_VALUE_TEMPLATE, CONF_ENTITY_PICTURE as CONF_ENTITY_PICTURE, CONF_EXPIRE_AFTER as CONF_EXPIRE_AFTER, CONF_FLASH as CONF_FLASH, CONF_FLASH_TIME_LONG as CONF_FLASH_TIME_LONG, CONF_FLASH_TIME_SHORT as CONF_FLASH_TIME_SHORT, CONF_GREEN_TEMPLATE as CONF_GREEN_TEMPLATE, CONF_HS_COMMAND_TEMPLATE as CONF_HS_COMMAND_TEMPLATE, CONF_HS_COMMAND_TOPIC as CONF_HS_COMMAND_TOPIC, CONF_HS_STATE_TOPIC as CONF_HS_STATE_TOPIC, CONF_HS_VALUE_TEMPLATE as CONF_HS_VALUE_TEMPLATE, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_LAST_RESET_VALUE_TEMPLATE as CONF_LAST_RESET_VALUE_TEMPLATE, CONF_MAX_KELVIN as CONF_MAX_KELVIN, CONF_MIN_KELVIN as CONF_MIN_KELVIN, CONF_ON_COMMAND_TYPE as CONF_ON_COMMAND_TYPE, CONF_OPTIONS as CONF_OPTIONS, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_QOS as CONF_QOS, CONF_RED_TEMPLATE as CONF_RED_TEMPLATE, CONF_RETAIN as CONF_RETAIN, CONF_RGBWW_COMMAND_TEMPLATE as CONF_RGBWW_COMMAND_TEMPLATE, CONF_RGBWW_COMMAND_TOPIC as CONF_RGBWW_COMMAND_TOPIC, CONF_RGBWW_STATE_TOPIC as CONF_RGBWW_STATE_TOPIC, CONF_RGBWW_VALUE_TEMPLATE as CONF_RGBWW_VALUE_TEMPLATE, CONF_RGBW_COMMAND_TEMPLATE as CONF_RGBW_COMMAND_TEMPLATE, CONF_RGBW_COMMAND_TOPIC as CONF_RGBW_COMMAND_TOPIC, CONF_RGBW_STATE_TOPIC as CONF_RGBW_STATE_TOPIC, CONF_RGBW_VALUE_TEMPLATE as CONF_RGBW_VALUE_TEMPLATE, CONF_RGB_COMMAND_TEMPLATE as CONF_RGB_COMMAND_TEMPLATE, CONF_RGB_COMMAND_TOPIC as CONF_RGB_COMMAND_TOPIC, CONF_RGB_STATE_TOPIC as CONF_RGB_STATE_TOPIC, CONF_RGB_VALUE_TEMPLATE as CONF_RGB_VALUE_TEMPLATE, CONF_SCHEMA as CONF_SCHEMA, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_STATE_VALUE_TEMPLATE as CONF_STATE_VALUE_TEMPLATE, CONF_SUGGESTED_DISPLAY_PRECISION as CONF_SUGGESTED_DISPLAY_PRECISION, CONF_SUPPORTED_COLOR_MODES as CONF_SUPPORTED_COLOR_MODES, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TRANSITION as CONF_TRANSITION, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WHITE_COMMAND_TOPIC as CONF_WHITE_COMMAND_TOPIC, CONF_WHITE_SCALE as CONF_WHITE_SCALE, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, CONF_XY_COMMAND_TEMPLATE as CONF_XY_COMMAND_TEMPLATE, CONF_XY_COMMAND_TOPIC as CONF_XY_COMMAND_TOPIC, CONF_XY_STATE_TOPIC as CONF_XY_STATE_TOPIC, CONF_XY_VALUE_TEMPLATE as CONF_XY_VALUE_TEMPLATE, DEFAULT_BIRTH as DEFAULT_BIRTH, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_KEEPALIVE as DEFAULT_KEEPALIVE, DEFAULT_ON_COMMAND_TYPE as DEFAULT_ON_COMMAND_TYPE, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE, DEFAULT_PAYLOAD_OFF as DEFAULT_PAYLOAD_OFF, DEFAULT_PAYLOAD_ON as DEFAULT_PAYLOAD_ON, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_PROTOCOL as DEFAULT_PROTOCOL, DEFAULT_QOS as DEFAULT_QOS, DEFAULT_TRANSPORT as DEFAULT_TRANSPORT, DEFAULT_WILL as DEFAULT_WILL, DEFAULT_WS_PATH as DEFAULT_WS_PATH, DOMAIN as DOMAIN, Platform as Platform, SUPPORTED_PROTOCOLS as SUPPORTED_PROTOCOLS, TRANSPORT_TCP as TRANSPORT_TCP, TRANSPORT_WEBSOCKETS as TRANSPORT_WEBSOCKETS, VALUES_ON_COMMAND_TYPE as VALUES_ON_COMMAND_TYPE
5
+ from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONFIG_ENTRY_MINOR_VERSION as CONFIG_ENTRY_MINOR_VERSION, CONFIG_ENTRY_VERSION as CONFIG_ENTRY_VERSION, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BLUE_TEMPLATE as CONF_BLUE_TEMPLATE, CONF_BRIGHTNESS_COMMAND_TEMPLATE as CONF_BRIGHTNESS_COMMAND_TEMPLATE, CONF_BRIGHTNESS_COMMAND_TOPIC as CONF_BRIGHTNESS_COMMAND_TOPIC, CONF_BRIGHTNESS_SCALE as CONF_BRIGHTNESS_SCALE, CONF_BRIGHTNESS_STATE_TOPIC as CONF_BRIGHTNESS_STATE_TOPIC, CONF_BRIGHTNESS_TEMPLATE as CONF_BRIGHTNESS_TEMPLATE, CONF_BRIGHTNESS_VALUE_TEMPLATE as CONF_BRIGHTNESS_VALUE_TEMPLATE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_COLOR_MODE_STATE_TOPIC as CONF_COLOR_MODE_STATE_TOPIC, CONF_COLOR_MODE_VALUE_TEMPLATE as CONF_COLOR_MODE_VALUE_TEMPLATE, CONF_COLOR_TEMP_COMMAND_TEMPLATE as CONF_COLOR_TEMP_COMMAND_TEMPLATE, CONF_COLOR_TEMP_COMMAND_TOPIC as CONF_COLOR_TEMP_COMMAND_TOPIC, CONF_COLOR_TEMP_KELVIN as CONF_COLOR_TEMP_KELVIN, CONF_COLOR_TEMP_STATE_TOPIC as CONF_COLOR_TEMP_STATE_TOPIC, CONF_COLOR_TEMP_TEMPLATE as CONF_COLOR_TEMP_TEMPLATE, CONF_COLOR_TEMP_VALUE_TEMPLATE as CONF_COLOR_TEMP_VALUE_TEMPLATE, CONF_COMMAND_OFF_TEMPLATE as CONF_COMMAND_OFF_TEMPLATE, CONF_COMMAND_ON_TEMPLATE as CONF_COMMAND_ON_TEMPLATE, CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_DIRECTION_COMMAND_TEMPLATE as CONF_DIRECTION_COMMAND_TEMPLATE, CONF_DIRECTION_COMMAND_TOPIC as CONF_DIRECTION_COMMAND_TOPIC, CONF_DIRECTION_STATE_TOPIC as CONF_DIRECTION_STATE_TOPIC, CONF_DIRECTION_VALUE_TEMPLATE as CONF_DIRECTION_VALUE_TEMPLATE, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_EFFECT_COMMAND_TEMPLATE as CONF_EFFECT_COMMAND_TEMPLATE, CONF_EFFECT_COMMAND_TOPIC as CONF_EFFECT_COMMAND_TOPIC, CONF_EFFECT_LIST as CONF_EFFECT_LIST, CONF_EFFECT_STATE_TOPIC as CONF_EFFECT_STATE_TOPIC, CONF_EFFECT_TEMPLATE as CONF_EFFECT_TEMPLATE, CONF_EFFECT_VALUE_TEMPLATE as CONF_EFFECT_VALUE_TEMPLATE, CONF_ENTITY_PICTURE as CONF_ENTITY_PICTURE, CONF_EXPIRE_AFTER as CONF_EXPIRE_AFTER, CONF_FLASH as CONF_FLASH, CONF_FLASH_TIME_LONG as CONF_FLASH_TIME_LONG, CONF_FLASH_TIME_SHORT as CONF_FLASH_TIME_SHORT, CONF_GET_POSITION_TEMPLATE as CONF_GET_POSITION_TEMPLATE, CONF_GET_POSITION_TOPIC as CONF_GET_POSITION_TOPIC, CONF_GREEN_TEMPLATE as CONF_GREEN_TEMPLATE, CONF_HS_COMMAND_TEMPLATE as CONF_HS_COMMAND_TEMPLATE, CONF_HS_COMMAND_TOPIC as CONF_HS_COMMAND_TOPIC, CONF_HS_STATE_TOPIC as CONF_HS_STATE_TOPIC, CONF_HS_VALUE_TEMPLATE as CONF_HS_VALUE_TEMPLATE, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_LAST_RESET_VALUE_TEMPLATE as CONF_LAST_RESET_VALUE_TEMPLATE, CONF_MAX_KELVIN as CONF_MAX_KELVIN, CONF_MIN_KELVIN as CONF_MIN_KELVIN, CONF_OFF_DELAY as CONF_OFF_DELAY, CONF_ON_COMMAND_TYPE as CONF_ON_COMMAND_TYPE, CONF_OPTIONS as CONF_OPTIONS, CONF_OSCILLATION_COMMAND_TEMPLATE as CONF_OSCILLATION_COMMAND_TEMPLATE, CONF_OSCILLATION_COMMAND_TOPIC as CONF_OSCILLATION_COMMAND_TOPIC, CONF_OSCILLATION_STATE_TOPIC as CONF_OSCILLATION_STATE_TOPIC, CONF_OSCILLATION_VALUE_TEMPLATE as CONF_OSCILLATION_VALUE_TEMPLATE, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_CLOSE as CONF_PAYLOAD_CLOSE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_PAYLOAD_OPEN as CONF_PAYLOAD_OPEN, CONF_PAYLOAD_OSCILLATION_OFF as CONF_PAYLOAD_OSCILLATION_OFF, CONF_PAYLOAD_OSCILLATION_ON as CONF_PAYLOAD_OSCILLATION_ON, CONF_PAYLOAD_PRESS as CONF_PAYLOAD_PRESS, CONF_PAYLOAD_RESET_PERCENTAGE as CONF_PAYLOAD_RESET_PERCENTAGE, CONF_PAYLOAD_RESET_PRESET_MODE as CONF_PAYLOAD_RESET_PRESET_MODE, CONF_PAYLOAD_STOP as CONF_PAYLOAD_STOP, CONF_PAYLOAD_STOP_TILT as CONF_PAYLOAD_STOP_TILT, CONF_PERCENTAGE_COMMAND_TEMPLATE as CONF_PERCENTAGE_COMMAND_TEMPLATE, CONF_PERCENTAGE_COMMAND_TOPIC as CONF_PERCENTAGE_COMMAND_TOPIC, CONF_PERCENTAGE_STATE_TOPIC as CONF_PERCENTAGE_STATE_TOPIC, CONF_PERCENTAGE_VALUE_TEMPLATE as CONF_PERCENTAGE_VALUE_TEMPLATE, CONF_POSITION_CLOSED as CONF_POSITION_CLOSED, CONF_POSITION_OPEN as CONF_POSITION_OPEN, CONF_PRESET_MODES_LIST as CONF_PRESET_MODES_LIST, CONF_PRESET_MODE_COMMAND_TEMPLATE as CONF_PRESET_MODE_COMMAND_TEMPLATE, CONF_PRESET_MODE_COMMAND_TOPIC as CONF_PRESET_MODE_COMMAND_TOPIC, CONF_PRESET_MODE_STATE_TOPIC as CONF_PRESET_MODE_STATE_TOPIC, CONF_PRESET_MODE_VALUE_TEMPLATE as CONF_PRESET_MODE_VALUE_TEMPLATE, CONF_QOS as CONF_QOS, CONF_RED_TEMPLATE as CONF_RED_TEMPLATE, CONF_RETAIN as CONF_RETAIN, CONF_RGBWW_COMMAND_TEMPLATE as CONF_RGBWW_COMMAND_TEMPLATE, CONF_RGBWW_COMMAND_TOPIC as CONF_RGBWW_COMMAND_TOPIC, CONF_RGBWW_STATE_TOPIC as CONF_RGBWW_STATE_TOPIC, CONF_RGBWW_VALUE_TEMPLATE as CONF_RGBWW_VALUE_TEMPLATE, CONF_RGBW_COMMAND_TEMPLATE as CONF_RGBW_COMMAND_TEMPLATE, CONF_RGBW_COMMAND_TOPIC as CONF_RGBW_COMMAND_TOPIC, CONF_RGBW_STATE_TOPIC as CONF_RGBW_STATE_TOPIC, CONF_RGBW_VALUE_TEMPLATE as CONF_RGBW_VALUE_TEMPLATE, CONF_RGB_COMMAND_TEMPLATE as CONF_RGB_COMMAND_TEMPLATE, CONF_RGB_COMMAND_TOPIC as CONF_RGB_COMMAND_TOPIC, CONF_RGB_STATE_TOPIC as CONF_RGB_STATE_TOPIC, CONF_RGB_VALUE_TEMPLATE as CONF_RGB_VALUE_TEMPLATE, CONF_SCHEMA as CONF_SCHEMA, CONF_SET_POSITION_TEMPLATE as CONF_SET_POSITION_TEMPLATE, CONF_SET_POSITION_TOPIC as CONF_SET_POSITION_TOPIC, CONF_SPEED_RANGE_MAX as CONF_SPEED_RANGE_MAX, CONF_SPEED_RANGE_MIN as CONF_SPEED_RANGE_MIN, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OFF as CONF_STATE_OFF, CONF_STATE_ON as CONF_STATE_ON, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATE_STOPPED as CONF_STATE_STOPPED, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_STATE_VALUE_TEMPLATE as CONF_STATE_VALUE_TEMPLATE, CONF_SUGGESTED_DISPLAY_PRECISION as CONF_SUGGESTED_DISPLAY_PRECISION, CONF_SUPPORTED_COLOR_MODES as CONF_SUPPORTED_COLOR_MODES, CONF_TILT_CLOSED_POSITION as CONF_TILT_CLOSED_POSITION, CONF_TILT_COMMAND_TEMPLATE as CONF_TILT_COMMAND_TEMPLATE, CONF_TILT_COMMAND_TOPIC as CONF_TILT_COMMAND_TOPIC, CONF_TILT_MAX as CONF_TILT_MAX, CONF_TILT_MIN as CONF_TILT_MIN, CONF_TILT_OPEN_POSITION as CONF_TILT_OPEN_POSITION, CONF_TILT_STATE_OPTIMISTIC as CONF_TILT_STATE_OPTIMISTIC, CONF_TILT_STATUS_TEMPLATE as CONF_TILT_STATUS_TEMPLATE, CONF_TILT_STATUS_TOPIC as CONF_TILT_STATUS_TOPIC, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TRANSITION as CONF_TRANSITION, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WHITE_COMMAND_TOPIC as CONF_WHITE_COMMAND_TOPIC, CONF_WHITE_SCALE as CONF_WHITE_SCALE, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, CONF_XY_COMMAND_TEMPLATE as CONF_XY_COMMAND_TEMPLATE, CONF_XY_COMMAND_TOPIC as CONF_XY_COMMAND_TOPIC, CONF_XY_STATE_TOPIC as CONF_XY_STATE_TOPIC, CONF_XY_VALUE_TEMPLATE as CONF_XY_VALUE_TEMPLATE, DEFAULT_BIRTH as DEFAULT_BIRTH, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_KEEPALIVE as DEFAULT_KEEPALIVE, DEFAULT_ON_COMMAND_TYPE as DEFAULT_ON_COMMAND_TYPE, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_CLOSE as DEFAULT_PAYLOAD_CLOSE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE, DEFAULT_PAYLOAD_OFF as DEFAULT_PAYLOAD_OFF, DEFAULT_PAYLOAD_ON as DEFAULT_PAYLOAD_ON, DEFAULT_PAYLOAD_OPEN as DEFAULT_PAYLOAD_OPEN, DEFAULT_PAYLOAD_OSCILLATE_OFF as DEFAULT_PAYLOAD_OSCILLATE_OFF, DEFAULT_PAYLOAD_OSCILLATE_ON as DEFAULT_PAYLOAD_OSCILLATE_ON, DEFAULT_PAYLOAD_PRESS as DEFAULT_PAYLOAD_PRESS, DEFAULT_PAYLOAD_RESET as DEFAULT_PAYLOAD_RESET, DEFAULT_PAYLOAD_STOP as DEFAULT_PAYLOAD_STOP, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_POSITION_CLOSED as DEFAULT_POSITION_CLOSED, DEFAULT_POSITION_OPEN as DEFAULT_POSITION_OPEN, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_PROTOCOL as DEFAULT_PROTOCOL, DEFAULT_QOS as DEFAULT_QOS, DEFAULT_SPEED_RANGE_MAX as DEFAULT_SPEED_RANGE_MAX, DEFAULT_SPEED_RANGE_MIN as DEFAULT_SPEED_RANGE_MIN, DEFAULT_STATE_STOPPED as DEFAULT_STATE_STOPPED, DEFAULT_TILT_CLOSED_POSITION as DEFAULT_TILT_CLOSED_POSITION, DEFAULT_TILT_MAX as DEFAULT_TILT_MAX, DEFAULT_TILT_MIN as DEFAULT_TILT_MIN, DEFAULT_TILT_OPEN_POSITION as DEFAULT_TILT_OPEN_POSITION, DEFAULT_TRANSPORT as DEFAULT_TRANSPORT, DEFAULT_WILL as DEFAULT_WILL, DEFAULT_WS_PATH as DEFAULT_WS_PATH, DOMAIN as DOMAIN, Platform as Platform, SUPPORTED_PROTOCOLS as SUPPORTED_PROTOCOLS, TRANSPORT_TCP as TRANSPORT_TCP, TRANSPORT_WEBSOCKETS as TRANSPORT_WEBSOCKETS, VALUES_ON_COMMAND_TYPE as VALUES_ON_COMMAND_TYPE
6
6
  from .models import MqttAvailabilityData as MqttAvailabilityData, MqttDeviceData as MqttDeviceData, MqttSubentryData as MqttSubentryData
7
7
  from .util import async_create_certificate_temp_files as async_create_certificate_temp_files, get_file_path as get_file_path, learn_more_url as learn_more_url, valid_birth_will as valid_birth_will, valid_publish_topic as valid_publish_topic, valid_subscribe_topic as valid_subscribe_topic, valid_subscribe_topic_template as valid_subscribe_topic_template
8
8
  from _typeshed import Incomplete
@@ -10,13 +10,16 @@ from collections import OrderedDict
10
10
  from collections.abc import Callable as Callable, Mapping
11
11
  from dataclasses import dataclass
12
12
  from enum import IntEnum
13
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass
14
+ from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass
15
+ from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass
13
16
  from homeassistant.components.file_upload import process_uploaded_file as process_uploaded_file
14
17
  from homeassistant.components.hassio import AddonError as AddonError, AddonManager as AddonManager, AddonState as AddonState
15
18
  from homeassistant.components.light import DEFAULT_MAX_KELVIN as DEFAULT_MAX_KELVIN, DEFAULT_MIN_KELVIN as DEFAULT_MIN_KELVIN, VALID_COLOR_MODES as VALID_COLOR_MODES, valid_supported_color_modes as valid_supported_color_modes
16
- from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, DEVICE_CLASS_UNITS as DEVICE_CLASS_UNITS, SensorDeviceClass as SensorDeviceClass, SensorStateClass as SensorStateClass
19
+ from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, DEVICE_CLASS_UNITS as DEVICE_CLASS_UNITS, STATE_CLASS_UNITS as STATE_CLASS_UNITS, SensorDeviceClass as SensorDeviceClass, SensorStateClass as SensorStateClass
17
20
  from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass
18
21
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, ConfigSubentryFlow as ConfigSubentryFlow, OptionsFlow as OptionsFlow, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE, SubentryFlowResult as SubentryFlowResult
19
- from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MODEL as ATTR_MODEL, ATTR_MODEL_ID as ATTR_MODEL_ID, ATTR_NAME as ATTR_NAME, ATTR_SW_VERSION as ATTR_SW_VERSION, CONF_BRIGHTNESS as CONF_BRIGHTNESS, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_DEVICE as CONF_DEVICE, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_DISCOVERY as CONF_DISCOVERY, CONF_EFFECT as CONF_EFFECT, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC, CONF_PASSWORD as CONF_PASSWORD, CONF_PAYLOAD as CONF_PAYLOAD, CONF_PAYLOAD_OFF as CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_PLATFORM as CONF_PLATFORM, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_STATE_TEMPLATE as CONF_STATE_TEMPLATE, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_USERNAME as CONF_USERNAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
22
+ from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MODEL as ATTR_MODEL, ATTR_MODEL_ID as ATTR_MODEL_ID, ATTR_NAME as ATTR_NAME, ATTR_SW_VERSION as ATTR_SW_VERSION, CONF_BRIGHTNESS as CONF_BRIGHTNESS, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_DEVICE as CONF_DEVICE, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_DISCOVERY as CONF_DISCOVERY, CONF_EFFECT as CONF_EFFECT, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC, CONF_PASSWORD as CONF_PASSWORD, CONF_PAYLOAD as CONF_PAYLOAD, CONF_PAYLOAD_OFF as CONF_PAYLOAD_OFF, CONF_PAYLOAD_ON as CONF_PAYLOAD_ON, CONF_PLATFORM as CONF_PLATFORM, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_STATE_TEMPLATE as CONF_STATE_TEMPLATE, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_USERNAME as CONF_USERNAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, STATE_CLOSED as STATE_CLOSED, STATE_CLOSING as STATE_CLOSING, STATE_OPEN as STATE_OPEN, STATE_OPENING as STATE_OPENING
20
23
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
21
24
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow, SectionConfig as SectionConfig, section as section
22
25
  from homeassistant.helpers.hassio import is_hassio as is_hassio
@@ -56,10 +59,17 @@ SUBENTRY_PLATFORM_SELECTOR: Incomplete
56
59
  TEMPLATE_SELECTOR: Incomplete
57
60
  SUBENTRY_AVAILABILITY_SCHEMA: Incomplete
58
61
  SENSOR_DEVICE_CLASS_SELECTOR: Incomplete
62
+ BINARY_SENSOR_DEVICE_CLASS_SELECTOR: Incomplete
63
+ BUTTON_DEVICE_CLASS_SELECTOR: Incomplete
64
+ COVER_DEVICE_CLASS_SELECTOR: Incomplete
59
65
  SENSOR_STATE_CLASS_SELECTOR: Incomplete
60
66
  OPTIONS_SELECTOR: Incomplete
61
67
  SUGGESTED_DISPLAY_PRECISION_SELECTOR: Incomplete
62
- EXPIRE_AFTER_SELECTOR: Incomplete
68
+ TIMEOUT_SELECTOR: Incomplete
69
+ POSITION_SELECTOR: Incomplete
70
+ FAN_SPEED_RANGE_MIN_SELECTOR: Incomplete
71
+ FAN_SPEED_RANGE_MAX_SELECTOR: Incomplete
72
+ PRESET_MODES_SELECTOR = OPTIONS_SELECTOR
63
73
  SWITCH_DEVICE_CLASS_SELECTOR: Incomplete
64
74
  LIGHT_SCHEMA_SELECTOR: Incomplete
65
75
  KELVIN_SELECTOR: Incomplete
@@ -68,18 +78,25 @@ FLASH_TIME_SELECTOR: Incomplete
68
78
  ON_COMMAND_TYPE_SELECTOR: Incomplete
69
79
  SUPPORTED_COLOR_MODES_SELECTOR: Incomplete
70
80
 
81
+ @callback
82
+ def validate_cover_platform_config(config: dict[str, Any]) -> dict[str, str]: ...
83
+ @callback
84
+ def validate_fan_platform_config(config: dict[str, Any]) -> dict[str, str]: ...
71
85
  @callback
72
86
  def validate_sensor_platform_config(config: dict[str, Any]) -> dict[str, str]: ...
87
+ @callback
88
+ def validate(validator: Callable[[Any], Any]) -> Callable[[Any], Any]: ...
73
89
 
74
90
  @dataclass(frozen=True, kw_only=True)
75
91
  class PlatformField:
76
92
  selector: Selector[Any] | Callable[..., Selector[Any]]
77
93
  required: bool
78
- validator: Callable[..., Any]
94
+ validator: Callable[..., Any] | None = ...
79
95
  error: str | None = ...
80
- default: str | int | bool | None | vol.Undefined = ...
96
+ default: str | int | bool | None | Callable[[dict[str, Any]], Any] | vol.Undefined = ...
81
97
  is_schema_default: bool = ...
82
98
  exclude_from_reconfig: bool = ...
99
+ exclude_from_config: bool = ...
83
100
  conditions: tuple[dict[str, Any], ...] | None = ...
84
101
  custom_filtering: bool = ...
85
102
  section: str | None = ...
@@ -89,9 +106,9 @@ def unit_of_measurement_selector(user_data: dict[str, Any | None]) -> Selector:
89
106
  @callback
90
107
  def validate_light_platform_config(user_data: dict[str, Any]) -> dict[str, str]: ...
91
108
 
92
- COMMON_ENTITY_FIELDS: Incomplete
93
- PLATFORM_ENTITY_FIELDS: Incomplete
94
- PLATFORM_MQTT_FIELDS: Incomplete
109
+ COMMON_ENTITY_FIELDS: dict[str, PlatformField]
110
+ PLATFORM_ENTITY_FIELDS: dict[str, dict[str, PlatformField]]
111
+ PLATFORM_MQTT_FIELDS: dict[str, dict[str, PlatformField]]
95
112
  ENTITY_CONFIG_VALIDATOR: dict[str, Callable[[dict[str, Any]], dict[str, str]] | None]
96
113
  MQTT_DEVICE_PLATFORM_FIELDS: Incomplete
97
114
  REAUTH_SCHEMA: Incomplete
@@ -67,6 +67,10 @@ CONF_CURRENT_HUMIDITY_TEMPLATE: str
67
67
  CONF_CURRENT_HUMIDITY_TOPIC: str
68
68
  CONF_CURRENT_TEMP_TEMPLATE: str
69
69
  CONF_CURRENT_TEMP_TOPIC: str
70
+ CONF_DIRECTION_COMMAND_TEMPLATE: str
71
+ CONF_DIRECTION_COMMAND_TOPIC: str
72
+ CONF_DIRECTION_STATE_TOPIC: str
73
+ CONF_DIRECTION_VALUE_TEMPLATE: str
70
74
  CONF_ENABLED_BY_DEFAULT: str
71
75
  CONF_EFFECT_COMMAND_TEMPLATE: str
72
76
  CONF_EFFECT_COMMAND_TOPIC: str
@@ -79,6 +83,8 @@ CONF_EXPIRE_AFTER: str
79
83
  CONF_FLASH: str
80
84
  CONF_FLASH_TIME_LONG: str
81
85
  CONF_FLASH_TIME_SHORT: str
86
+ CONF_GET_POSITION_TEMPLATE: str
87
+ CONF_GET_POSITION_TOPIC: str
82
88
  CONF_GREEN_TEMPLATE: str
83
89
  CONF_HS_COMMAND_TEMPLATE: str
84
90
  CONF_HS_COMMAND_TOPIC: str
@@ -94,15 +100,35 @@ CONF_MODE_COMMAND_TOPIC: str
94
100
  CONF_MODE_LIST: str
95
101
  CONF_MODE_STATE_TEMPLATE: str
96
102
  CONF_MODE_STATE_TOPIC: str
103
+ CONF_OFF_DELAY: str
97
104
  CONF_ON_COMMAND_TYPE: str
105
+ CONF_OSCILLATION_COMMAND_TOPIC: str
106
+ CONF_OSCILLATION_COMMAND_TEMPLATE: str
107
+ CONF_OSCILLATION_STATE_TOPIC: str
108
+ CONF_OSCILLATION_VALUE_TEMPLATE: str
98
109
  CONF_PAYLOAD_CLOSE: str
99
110
  CONF_PAYLOAD_OPEN: str
111
+ CONF_PAYLOAD_OSCILLATION_OFF: str
112
+ CONF_PAYLOAD_OSCILLATION_ON: str
113
+ CONF_PAYLOAD_PRESS: str
114
+ CONF_PAYLOAD_RESET_PERCENTAGE: str
115
+ CONF_PAYLOAD_RESET_PRESET_MODE: str
100
116
  CONF_PAYLOAD_STOP: str
117
+ CONF_PAYLOAD_STOP_TILT: str
118
+ CONF_PERCENTAGE_COMMAND_TEMPLATE: str
119
+ CONF_PERCENTAGE_COMMAND_TOPIC: str
120
+ CONF_PERCENTAGE_STATE_TOPIC: str
121
+ CONF_PERCENTAGE_VALUE_TEMPLATE: str
101
122
  CONF_POSITION_CLOSED: str
102
123
  CONF_POSITION_OPEN: str
103
124
  CONF_POWER_COMMAND_TOPIC: str
104
125
  CONF_POWER_COMMAND_TEMPLATE: str
105
126
  CONF_PRECISION: str
127
+ CONF_PRESET_MODE_COMMAND_TEMPLATE: str
128
+ CONF_PRESET_MODE_COMMAND_TOPIC: str
129
+ CONF_PRESET_MODES_LIST: str
130
+ CONF_PRESET_MODE_STATE_TOPIC: str
131
+ CONF_PRESET_MODE_VALUE_TEMPLATE: str
106
132
  CONF_RED_TEMPLATE: str
107
133
  CONF_RGB_COMMAND_TEMPLATE: str
108
134
  CONF_RGB_COMMAND_TOPIC: str
@@ -116,10 +142,17 @@ CONF_RGBWW_COMMAND_TEMPLATE: str
116
142
  CONF_RGBWW_COMMAND_TOPIC: str
117
143
  CONF_RGBWW_STATE_TOPIC: str
118
144
  CONF_RGBWW_VALUE_TEMPLATE: str
145
+ CONF_SET_POSITION_TEMPLATE: str
146
+ CONF_SET_POSITION_TOPIC: str
147
+ CONF_SPEED_RANGE_MAX: str
148
+ CONF_SPEED_RANGE_MIN: str
119
149
  CONF_STATE_CLOSED: str
120
150
  CONF_STATE_CLOSING: str
151
+ CONF_STATE_OFF: str
152
+ CONF_STATE_ON: str
121
153
  CONF_STATE_OPEN: str
122
154
  CONF_STATE_OPENING: str
155
+ CONF_STATE_STOPPED: str
123
156
  CONF_SUGGESTED_DISPLAY_PRECISION: str
124
157
  CONF_SUPPORTED_COLOR_MODES: str
125
158
  CONF_TEMP_COMMAND_TEMPLATE: str
@@ -129,6 +162,15 @@ CONF_TEMP_STATE_TOPIC: str
129
162
  CONF_TEMP_INITIAL: str
130
163
  CONF_TEMP_MAX: str
131
164
  CONF_TEMP_MIN: str
165
+ CONF_TILT_COMMAND_TEMPLATE: str
166
+ CONF_TILT_COMMAND_TOPIC: str
167
+ CONF_TILT_STATUS_TOPIC: str
168
+ CONF_TILT_STATUS_TEMPLATE: str
169
+ CONF_TILT_CLOSED_POSITION: str
170
+ CONF_TILT_MAX: str
171
+ CONF_TILT_MIN: str
172
+ CONF_TILT_OPEN_POSITION: str
173
+ CONF_TILT_STATE_OPTIMISTIC: str
132
174
  CONF_TRANSITION: str
133
175
  CONF_XY_COMMAND_TEMPLATE: str
134
176
  CONF_XY_COMMAND_TOPIC: str
@@ -171,13 +213,28 @@ DEFAULT_PAYLOAD_NOT_AVAILABLE: str
171
213
  DEFAULT_PAYLOAD_OFF: str
172
214
  DEFAULT_PAYLOAD_ON: str
173
215
  DEFAULT_PAYLOAD_OPEN: str
216
+ DEFAULT_PAYLOAD_OSCILLATE_OFF: str
217
+ DEFAULT_PAYLOAD_OSCILLATE_ON: str
218
+ DEFAULT_PAYLOAD_PRESS: str
219
+ DEFAULT_PAYLOAD_STOP: str
220
+ DEFAULT_PAYLOAD_RESET: str
174
221
  DEFAULT_PORT: int
175
222
  DEFAULT_RETAIN: bool
223
+ DEFAULT_TILT_CLOSED_POSITION: int
224
+ DEFAULT_TILT_MAX: int
225
+ DEFAULT_TILT_MIN: int
226
+ DEFAULT_TILT_OPEN_POSITION: int
227
+ DEFAULT_TILT_OPTIMISTIC: bool
176
228
  DEFAULT_WS_HEADERS: dict[str, str]
177
229
  DEFAULT_WS_PATH: str
178
230
  DEFAULT_POSITION_CLOSED: int
179
231
  DEFAULT_POSITION_OPEN: int
232
+ DEFAULT_SPEED_RANGE_MAX: int
233
+ DEFAULT_SPEED_RANGE_MIN: int
234
+ DEFAULT_STATE_STOPPED: str
180
235
  DEFAULT_WHITE_SCALE: int
236
+ COVER_PAYLOAD: str
237
+ TILT_PAYLOAD: str
181
238
  VALUES_ON_COMMAND_TYPE: Incomplete
182
239
  PROTOCOL_31: str
183
240
  PROTOCOL_311: str
@@ -1,6 +1,6 @@
1
1
  from . import subscription as subscription
2
2
  from .config import MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
3
- from .const import CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_PAYLOAD_CLOSE as CONF_PAYLOAD_CLOSE, CONF_PAYLOAD_OPEN as CONF_PAYLOAD_OPEN, CONF_PAYLOAD_STOP as CONF_PAYLOAD_STOP, CONF_POSITION_CLOSED as CONF_POSITION_CLOSED, CONF_POSITION_OPEN as CONF_POSITION_OPEN, CONF_RETAIN as CONF_RETAIN, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATE_TOPIC as CONF_STATE_TOPIC, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC, DEFAULT_PAYLOAD_CLOSE as DEFAULT_PAYLOAD_CLOSE, DEFAULT_PAYLOAD_OPEN as DEFAULT_PAYLOAD_OPEN, DEFAULT_POSITION_CLOSED as DEFAULT_POSITION_CLOSED, DEFAULT_POSITION_OPEN as DEFAULT_POSITION_OPEN, DEFAULT_RETAIN as DEFAULT_RETAIN, PAYLOAD_NONE as PAYLOAD_NONE
3
+ from .const import CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_GET_POSITION_TEMPLATE as CONF_GET_POSITION_TEMPLATE, CONF_GET_POSITION_TOPIC as CONF_GET_POSITION_TOPIC, CONF_PAYLOAD_CLOSE as CONF_PAYLOAD_CLOSE, CONF_PAYLOAD_OPEN as CONF_PAYLOAD_OPEN, CONF_PAYLOAD_STOP as CONF_PAYLOAD_STOP, CONF_PAYLOAD_STOP_TILT as CONF_PAYLOAD_STOP_TILT, CONF_POSITION_CLOSED as CONF_POSITION_CLOSED, CONF_POSITION_OPEN as CONF_POSITION_OPEN, CONF_RETAIN as CONF_RETAIN, CONF_SET_POSITION_TEMPLATE as CONF_SET_POSITION_TEMPLATE, CONF_SET_POSITION_TOPIC as CONF_SET_POSITION_TOPIC, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATE_STOPPED as CONF_STATE_STOPPED, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_TILT_CLOSED_POSITION as CONF_TILT_CLOSED_POSITION, CONF_TILT_COMMAND_TEMPLATE as CONF_TILT_COMMAND_TEMPLATE, CONF_TILT_COMMAND_TOPIC as CONF_TILT_COMMAND_TOPIC, CONF_TILT_MAX as CONF_TILT_MAX, CONF_TILT_MIN as CONF_TILT_MIN, CONF_TILT_OPEN_POSITION as CONF_TILT_OPEN_POSITION, CONF_TILT_STATE_OPTIMISTIC as CONF_TILT_STATE_OPTIMISTIC, CONF_TILT_STATUS_TEMPLATE as CONF_TILT_STATUS_TEMPLATE, CONF_TILT_STATUS_TOPIC as CONF_TILT_STATUS_TOPIC, DEFAULT_OPTIMISTIC as DEFAULT_OPTIMISTIC, DEFAULT_PAYLOAD_CLOSE as DEFAULT_PAYLOAD_CLOSE, DEFAULT_PAYLOAD_OPEN as DEFAULT_PAYLOAD_OPEN, DEFAULT_PAYLOAD_STOP as DEFAULT_PAYLOAD_STOP, DEFAULT_POSITION_CLOSED as DEFAULT_POSITION_CLOSED, DEFAULT_POSITION_OPEN as DEFAULT_POSITION_OPEN, DEFAULT_RETAIN as DEFAULT_RETAIN, DEFAULT_STATE_STOPPED as DEFAULT_STATE_STOPPED, DEFAULT_TILT_CLOSED_POSITION as DEFAULT_TILT_CLOSED_POSITION, DEFAULT_TILT_MAX as DEFAULT_TILT_MAX, DEFAULT_TILT_MIN as DEFAULT_TILT_MIN, DEFAULT_TILT_OPEN_POSITION as DEFAULT_TILT_OPEN_POSITION, DEFAULT_TILT_OPTIMISTIC as DEFAULT_TILT_OPTIMISTIC, PAYLOAD_NONE as PAYLOAD_NONE
4
4
  from .entity import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
5
5
  from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage
6
6
  from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
@@ -20,31 +20,7 @@ from typing import Any
20
20
 
21
21
  _LOGGER: Incomplete
22
22
  PARALLEL_UPDATES: int
23
- CONF_GET_POSITION_TOPIC: str
24
- CONF_GET_POSITION_TEMPLATE: str
25
- CONF_SET_POSITION_TOPIC: str
26
- CONF_SET_POSITION_TEMPLATE: str
27
- CONF_TILT_COMMAND_TOPIC: str
28
- CONF_TILT_COMMAND_TEMPLATE: str
29
- CONF_TILT_STATUS_TOPIC: str
30
- CONF_TILT_STATUS_TEMPLATE: str
31
- CONF_STATE_STOPPED: str
32
- CONF_PAYLOAD_STOP_TILT: str
33
- CONF_TILT_CLOSED_POSITION: str
34
- CONF_TILT_MAX: str
35
- CONF_TILT_MIN: str
36
- CONF_TILT_OPEN_POSITION: str
37
- CONF_TILT_STATE_OPTIMISTIC: str
38
- TILT_PAYLOAD: str
39
- COVER_PAYLOAD: str
40
23
  DEFAULT_NAME: str
41
- DEFAULT_STATE_STOPPED: str
42
- DEFAULT_PAYLOAD_STOP: str
43
- DEFAULT_TILT_CLOSED_POSITION: int
44
- DEFAULT_TILT_MAX: int
45
- DEFAULT_TILT_MIN: int
46
- DEFAULT_TILT_OPEN_POSITION: int
47
- DEFAULT_TILT_OPTIMISTIC: bool
48
24
  TILT_FEATURES: Incomplete
49
25
  MQTT_COVER_ATTRIBUTES_BLOCKED: Incomplete
50
26
 
@@ -1,6 +1,6 @@
1
1
  from . import subscription as subscription
2
2
  from .config import MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
3
- from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_STATE_VALUE_TEMPLATE as CONF_STATE_VALUE_TEMPLATE, PAYLOAD_NONE as PAYLOAD_NONE
3
+ from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_DIRECTION_COMMAND_TEMPLATE as CONF_DIRECTION_COMMAND_TEMPLATE, CONF_DIRECTION_COMMAND_TOPIC as CONF_DIRECTION_COMMAND_TOPIC, CONF_DIRECTION_STATE_TOPIC as CONF_DIRECTION_STATE_TOPIC, CONF_DIRECTION_VALUE_TEMPLATE as CONF_DIRECTION_VALUE_TEMPLATE, CONF_OSCILLATION_COMMAND_TEMPLATE as CONF_OSCILLATION_COMMAND_TEMPLATE, CONF_OSCILLATION_COMMAND_TOPIC as CONF_OSCILLATION_COMMAND_TOPIC, CONF_OSCILLATION_STATE_TOPIC as CONF_OSCILLATION_STATE_TOPIC, CONF_OSCILLATION_VALUE_TEMPLATE as CONF_OSCILLATION_VALUE_TEMPLATE, CONF_PAYLOAD_OSCILLATION_OFF as CONF_PAYLOAD_OSCILLATION_OFF, CONF_PAYLOAD_OSCILLATION_ON as CONF_PAYLOAD_OSCILLATION_ON, CONF_PAYLOAD_RESET_PERCENTAGE as CONF_PAYLOAD_RESET_PERCENTAGE, CONF_PAYLOAD_RESET_PRESET_MODE as CONF_PAYLOAD_RESET_PRESET_MODE, CONF_PERCENTAGE_COMMAND_TEMPLATE as CONF_PERCENTAGE_COMMAND_TEMPLATE, CONF_PERCENTAGE_COMMAND_TOPIC as CONF_PERCENTAGE_COMMAND_TOPIC, CONF_PERCENTAGE_STATE_TOPIC as CONF_PERCENTAGE_STATE_TOPIC, CONF_PERCENTAGE_VALUE_TEMPLATE as CONF_PERCENTAGE_VALUE_TEMPLATE, CONF_PRESET_MODES_LIST as CONF_PRESET_MODES_LIST, CONF_PRESET_MODE_COMMAND_TEMPLATE as CONF_PRESET_MODE_COMMAND_TEMPLATE, CONF_PRESET_MODE_COMMAND_TOPIC as CONF_PRESET_MODE_COMMAND_TOPIC, CONF_PRESET_MODE_STATE_TOPIC as CONF_PRESET_MODE_STATE_TOPIC, CONF_PRESET_MODE_VALUE_TEMPLATE as CONF_PRESET_MODE_VALUE_TEMPLATE, CONF_SPEED_RANGE_MAX as CONF_SPEED_RANGE_MAX, CONF_SPEED_RANGE_MIN as CONF_SPEED_RANGE_MIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_STATE_VALUE_TEMPLATE as CONF_STATE_VALUE_TEMPLATE, DEFAULT_PAYLOAD_OFF as DEFAULT_PAYLOAD_OFF, DEFAULT_PAYLOAD_ON as DEFAULT_PAYLOAD_ON, DEFAULT_PAYLOAD_OSCILLATE_OFF as DEFAULT_PAYLOAD_OSCILLATE_OFF, DEFAULT_PAYLOAD_OSCILLATE_ON as DEFAULT_PAYLOAD_OSCILLATE_ON, DEFAULT_PAYLOAD_RESET as DEFAULT_PAYLOAD_RESET, DEFAULT_SPEED_RANGE_MAX as DEFAULT_SPEED_RANGE_MAX, DEFAULT_SPEED_RANGE_MIN as DEFAULT_SPEED_RANGE_MIN, PAYLOAD_NONE as PAYLOAD_NONE
4
4
  from .entity import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
5
5
  from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
6
6
  from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
@@ -21,37 +21,7 @@ from homeassistant.util.scaling import int_states_in_range as int_states_in_rang
21
21
  from typing import Any
22
22
 
23
23
  PARALLEL_UPDATES: int
24
- CONF_DIRECTION_STATE_TOPIC: str
25
- CONF_DIRECTION_COMMAND_TOPIC: str
26
- CONF_DIRECTION_VALUE_TEMPLATE: str
27
- CONF_DIRECTION_COMMAND_TEMPLATE: str
28
- CONF_PERCENTAGE_STATE_TOPIC: str
29
- CONF_PERCENTAGE_COMMAND_TOPIC: str
30
- CONF_PERCENTAGE_VALUE_TEMPLATE: str
31
- CONF_PERCENTAGE_COMMAND_TEMPLATE: str
32
- CONF_PAYLOAD_RESET_PERCENTAGE: str
33
- CONF_SPEED_RANGE_MIN: str
34
- CONF_SPEED_RANGE_MAX: str
35
- CONF_PRESET_MODE_STATE_TOPIC: str
36
- CONF_PRESET_MODE_COMMAND_TOPIC: str
37
- CONF_PRESET_MODE_VALUE_TEMPLATE: str
38
- CONF_PRESET_MODE_COMMAND_TEMPLATE: str
39
- CONF_PRESET_MODES_LIST: str
40
- CONF_PAYLOAD_RESET_PRESET_MODE: str
41
- CONF_OSCILLATION_STATE_TOPIC: str
42
- CONF_OSCILLATION_COMMAND_TOPIC: str
43
- CONF_OSCILLATION_VALUE_TEMPLATE: str
44
- CONF_OSCILLATION_COMMAND_TEMPLATE: str
45
- CONF_PAYLOAD_OSCILLATION_ON: str
46
- CONF_PAYLOAD_OSCILLATION_OFF: str
47
24
  DEFAULT_NAME: str
48
- DEFAULT_PAYLOAD_ON: str
49
- DEFAULT_PAYLOAD_OFF: str
50
- DEFAULT_PAYLOAD_RESET: str
51
- DEFAULT_SPEED_RANGE_MIN: int
52
- DEFAULT_SPEED_RANGE_MAX: int
53
- OSCILLATE_ON_PAYLOAD: str
54
- OSCILLATE_OFF_PAYLOAD: str
55
25
  MQTT_FAN_ATTRIBUTES_BLOCKED: Incomplete
56
26
  _LOGGER: Incomplete
57
27
 
@@ -9,7 +9,7 @@ from _typeshed import Incomplete
9
9
  from collections.abc import Callable as Callable
10
10
  from datetime import datetime
11
11
  from homeassistant.components import sensor as sensor
12
- from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, DEVICE_CLASS_UNITS as DEVICE_CLASS_UNITS, ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, RestoreSensor as RestoreSensor, STATE_CLASSES_SCHEMA as STATE_CLASSES_SCHEMA, SensorDeviceClass as SensorDeviceClass, SensorExtraStoredData as SensorExtraStoredData, SensorStateClass as SensorStateClass
12
+ from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, DEVICE_CLASS_UNITS as DEVICE_CLASS_UNITS, ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, RestoreSensor as RestoreSensor, STATE_CLASSES_SCHEMA as STATE_CLASSES_SCHEMA, STATE_CLASS_UNITS as STATE_CLASS_UNITS, SensorDeviceClass as SensorDeviceClass, SensorExtraStoredData as SensorExtraStoredData, SensorStateClass as SensorStateClass
13
13
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
14
14
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_FORCE_UPDATE as CONF_FORCE_UPDATE, CONF_NAME as CONF_NAME, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
15
15
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, State as State, callback as callback
@@ -1,7 +1,7 @@
1
1
  import voluptuous as vol
2
2
  from . import subscription as subscription
3
3
  from .config import MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
4
- from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_NONE as PAYLOAD_NONE
4
+ from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_STATE_OFF as CONF_STATE_OFF, CONF_STATE_ON as CONF_STATE_ON, CONF_STATE_TOPIC as CONF_STATE_TOPIC, DEFAULT_PAYLOAD_OFF as DEFAULT_PAYLOAD_OFF, DEFAULT_PAYLOAD_ON as DEFAULT_PAYLOAD_ON, PAYLOAD_NONE as PAYLOAD_NONE
5
5
  from .entity import MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
6
6
  from .models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
7
7
  from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
@@ -20,10 +20,6 @@ from typing import Any
20
20
 
21
21
  PARALLEL_UPDATES: int
22
22
  DEFAULT_NAME: str
23
- DEFAULT_PAYLOAD_ON: str
24
- DEFAULT_PAYLOAD_OFF: str
25
- CONF_STATE_ON: str
26
- CONF_STATE_OFF: str
27
23
  PLATFORM_SCHEMA_MODERN: Incomplete
28
24
  DISCOVERY_SCHEMA: Incomplete
29
25
 
@@ -9,7 +9,7 @@ from homeassistant.components import media_source as media_source
9
9
  from homeassistant.components.media_player import ATTR_MEDIA_ENQUEUE as ATTR_MEDIA_ENQUEUE, ATTR_MEDIA_EXTRA as ATTR_MEDIA_EXTRA, BrowseMedia as BrowseMedia, MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEnqueue as MediaPlayerEnqueue, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, RepeatMode as RepeatMode, SearchMedia as SearchMedia, SearchMediaQuery as SearchMediaQuery, async_process_play_media_url as async_process_play_media_url
10
10
  from homeassistant.const import ATTR_NAME as ATTR_NAME, STATE_OFF as STATE_OFF
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceResponse as ServiceResponse, SupportsResponse as SupportsResponse
12
- from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
12
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
13
13
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, async_get_current_platform as async_get_current_platform
14
14
  from homeassistant.util.dt import utc_from_timestamp as utc_from_timestamp
15
15
  from music_assistant_client import MusicAssistantClient as MusicAssistantClient
@@ -36,6 +36,7 @@ class MusicAssistantPlayer(MusicAssistantEntity, MediaPlayerEntity):
36
36
  _attr_icon: Incomplete
37
37
  _attr_device_class: Incomplete
38
38
  _prev_time: float
39
+ _source_list_mapping: dict[str, str]
39
40
  def __init__(self, mass: MusicAssistantClient, player_id: str) -> None: ...
40
41
  async def async_added_to_hass(self) -> None: ...
41
42
  @property
@@ -43,6 +44,8 @@ class MusicAssistantPlayer(MusicAssistantEntity, MediaPlayerEntity):
43
44
  @property
44
45
  def extra_state_attributes(self) -> Mapping[str, Any]: ...
45
46
  _attr_state: Incomplete
47
+ _attr_source_list: Incomplete
48
+ _attr_source: Incomplete
46
49
  _attr_group_members: Incomplete
47
50
  _attr_volume_level: Incomplete
48
51
  _attr_is_volume_muted: Incomplete
@@ -84,6 +87,8 @@ class MusicAssistantPlayer(MusicAssistantEntity, MediaPlayerEntity):
84
87
  @catch_musicassistant_error
85
88
  async def async_unjoin_player(self) -> None: ...
86
89
  @catch_musicassistant_error
90
+ async def async_select_source(self, source: str) -> None: ...
91
+ @catch_musicassistant_error
87
92
  async def _async_handle_play_media(self, media_id: list[str], artist: str | None = None, album: str | None = None, enqueue: MediaPlayerEnqueue | QueueOption | None = None, radio_mode: bool | None = None, media_type: str | None = None) -> None: ...
88
93
  @catch_musicassistant_error
89
94
  async def _async_handle_play_announcement(self, url: str, use_pre_announce: bool | None = None, announce_volume: int | None = None) -> None: ...
@@ -106,7 +111,6 @@ class MusicAssistantPlayer(MusicAssistantEntity, MediaPlayerEntity):
106
111
  _attr_app_id: Incomplete
107
112
  _attr_shuffle: Incomplete
108
113
  _attr_repeat: Incomplete
109
- _attr_source: Incomplete
110
114
  def _update_media_attributes(self, player: Player, queue: PlayerQueue | None) -> None: ...
111
115
  def _convert_queueoption_to_media_player_enqueue(self, queue_option: MediaPlayerEnqueue | QueueOption | None) -> QueueOption | None: ...
112
116
  _attr_supported_features: Incomplete
@@ -1,7 +1,7 @@
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_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, 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
- from homeassistant.util.unit_conversion import BaseUnitConverter as BaseUnitConverter, TemperatureConverter as TemperatureConverter, VolumeFlowRateConverter as VolumeFlowRateConverter
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
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
 
7
7
  ATTR_VALUE: str
@@ -58,6 +58,7 @@ class NumberDeviceClass(StrEnum):
58
58
  PRECIPITATION = 'precipitation'
59
59
  PRECIPITATION_INTENSITY = 'precipitation_intensity'
60
60
  PRESSURE = 'pressure'
61
+ REACTIVE_ENERGY = 'reactive_energy'
61
62
  REACTIVE_POWER = 'reactive_power'
62
63
  SIGNAL_STRENGTH = 'signal_strength'
63
64
  SOUND_PRESSURE = 'sound_pressure'
@@ -22,7 +22,7 @@ class NutRuntimeData:
22
22
 
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
- async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: ConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
25
+ async def async_remove_config_entry_device(hass: HomeAssistant, config_entry: NutConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
26
26
  async def _async_update_listener(hass: HomeAssistant, entry: NutConfigEntry) -> None: ...
27
27
  def _manufacturer_from_status(status: dict[str, str]) -> str | None: ...
28
28
  def _model_from_status(status: dict[str, str]) -> str | None: ...
@@ -23,6 +23,7 @@ async def _transform_stream(chat_log: conversation.ChatLog, result: AsyncStream[
23
23
  class OpenAIConversationEntity(conversation.ConversationEntity, conversation.AbstractConversationAgent):
24
24
  _attr_has_entity_name: bool
25
25
  _attr_name: Incomplete
26
+ _attr_supports_streaming: bool
26
27
  entry: Incomplete
27
28
  _attr_unique_id: Incomplete
28
29
  _attr_device_info: Incomplete
@@ -33,4 +34,5 @@ class OpenAIConversationEntity(conversation.ConversationEntity, conversation.Abs
33
34
  async def async_added_to_hass(self) -> None: ...
34
35
  async def async_will_remove_from_hass(self) -> None: ...
35
36
  async def _async_handle_message(self, user_input: conversation.ConversationInput, chat_log: conversation.ChatLog) -> conversation.ConversationResult: ...
37
+ async def _async_handle_chat_log(self, chat_log: conversation.ChatLog) -> None: ...
36
38
  async def _async_entry_update_listener(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
@@ -17,6 +17,7 @@ BINARY_SENSOR_DESCRIPTION_PROTECTION_WINDOW: Incomplete
17
17
  async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
18
 
19
19
  class OpenUvBinarySensor(OpenUvEntity, BinarySensorEntity):
20
- _attr_is_on: bool
21
20
  @callback
22
21
  def _handle_coordinator_update(self) -> None: ...
22
+ _attr_is_on: bool
23
+ def _update_attrs(self) -> None: ...
@@ -12,3 +12,4 @@ class OpenUvEntity(CoordinatorEntity):
12
12
  entity_description: Incomplete
13
13
  _attr_device_info: Incomplete
14
14
  def __init__(self, coordinator: OpenUvCoordinator, description: EntityDescription) -> None: ...
15
+ def _update_attrs(self) -> None: ...
@@ -4,15 +4,13 @@ from . import OTBRConfigEntry as OTBRConfigEntry
4
4
  from .const import DOMAIN as DOMAIN
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Callable as Callable, Coroutine
7
- from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import MultiprotocolAddonManager as MultiprotocolAddonManager, get_multiprotocol_addon_manager as get_multiprotocol_addon_manager, is_multiprotocol_url as is_multiprotocol_url, multi_pan_addon_using_device as multi_pan_addon_using_device
7
+ from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import MultiprotocolAddonManager as MultiprotocolAddonManager, get_multiprotocol_addon_manager as get_multiprotocol_addon_manager, is_multiprotocol_url as is_multiprotocol_url
8
8
  from homeassistant.config_entries import SOURCE_USER as SOURCE_USER
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
11
  from typing import Any, Concatenate
12
12
 
13
13
  _LOGGER: Incomplete
14
- INFO_URL_SKY_CONNECT: str
15
- INFO_URL_YELLOW: str
16
14
  INSECURE_NETWORK_KEYS: Incomplete
17
15
  INSECURE_PASSPHRASES: Incomplete
18
16
 
@@ -0,0 +1 @@
1
+ DOMAIN: str
@@ -1,10 +1,12 @@
1
1
  import pexpect
2
+ from . import DOMAIN as DOMAIN
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant import util as util
4
5
  from homeassistant.components.media_player import MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType
5
6
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP, SERVICE_MEDIA_NEXT_TRACK as SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PLAY as SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PLAY_PAUSE as SERVICE_MEDIA_PLAY_PAUSE, SERVICE_VOLUME_DOWN as SERVICE_VOLUME_DOWN, SERVICE_VOLUME_UP as SERVICE_VOLUME_UP
6
7
  from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant
7
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, create_issue as create_issue
8
10
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
9
11
 
10
12
  _LOGGER: Incomplete
@@ -29,23 +31,22 @@ class PandoraMediaPlayer(MediaPlayerEntity):
29
31
  _attr_media_duration: int
30
32
  _pianobar: pexpect.spawn[str] | None
31
33
  def __init__(self, name: str) -> None: ...
32
- def turn_on(self) -> None: ...
34
+ async def _start_pianobar(self) -> bool: ...
35
+ async def async_turn_on(self) -> None: ...
33
36
  def turn_off(self) -> None: ...
34
- def media_play(self) -> None: ...
35
- def media_pause(self) -> None: ...
36
- def media_next_track(self) -> None: ...
37
- @property
38
- def media_title(self) -> str | None: ...
39
- def select_source(self, source: str) -> None: ...
40
- def _send_station_list_command(self) -> None: ...
41
- def update_playing_status(self) -> None: ...
42
- def _query_for_playing_status(self) -> str | None: ...
37
+ async def async_media_play(self) -> None: ...
38
+ async def async_media_pause(self) -> None: ...
39
+ async def async_media_next_track(self) -> None: ...
40
+ async def async_select_source(self, source: str) -> None: ...
41
+ async def _send_station_list_command(self) -> None: ...
42
+ async def update_playing_status(self) -> None: ...
43
+ async def _query_for_playing_status(self) -> str | None: ...
43
44
  def _update_current_station(self, response: str) -> None: ...
44
45
  def _update_current_song(self, response: str) -> None: ...
45
46
  def _update_song_position(self) -> None: ...
46
47
  def _log_match(self) -> None: ...
47
- def _send_pianobar_command(self, service_cmd: str) -> None: ...
48
- def _update_stations(self) -> None: ...
49
- def _clear_buffer(self) -> None: ...
48
+ async def _send_pianobar_command(self, service_cmd: str) -> None: ...
49
+ async def _update_stations(self) -> None: ...
50
+ async def _clear_buffer(self) -> None: ...
50
51
 
51
52
  def _pianobar_exists() -> bool: ...
@@ -0,0 +1,13 @@
1
+ from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
2
+ from .coordinator import PaperlessConfigEntry as PaperlessConfigEntry, PaperlessData as PaperlessData, PaperlessStatisticCoordinator as PaperlessStatisticCoordinator, PaperlessStatusCoordinator as PaperlessStatusCoordinator
3
+ from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_URL as CONF_URL, Platform as Platform
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, ConfigEntryNotReady as ConfigEntryNotReady
6
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
+ from pypaperless import Paperless
8
+
9
+ PLATFORMS: list[Platform]
10
+
11
+ async def async_setup_entry(hass: HomeAssistant, entry: PaperlessConfigEntry) -> bool: ...
12
+ async def async_unload_entry(hass: HomeAssistant, entry: PaperlessConfigEntry) -> bool: ...
13
+ async def _get_paperless_api(hass: HomeAssistant, entry: PaperlessConfigEntry) -> Paperless: ...
@@ -0,0 +1,16 @@
1
+ from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
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_API_KEY as CONF_API_KEY, CONF_URL as CONF_URL
6
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
7
+ from typing import Any
8
+
9
+ STEP_USER_DATA_SCHEMA: Incomplete
10
+
11
+ class PaperlessConfigFlow(ConfigFlow, domain=DOMAIN):
12
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
13
+ async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
14
+ async def async_step_reauth(self, user_input: Mapping[str, Any]) -> ConfigFlowResult: ...
15
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
16
+ async def _validate_input(self, user_input: dict[str, str]) -> dict[str, str]: ...
@@ -0,0 +1,4 @@
1
+ from _typeshed import Incomplete
2
+
3
+ DOMAIN: str
4
+ LOGGER: Incomplete
@@ -0,0 +1,39 @@
1
+ import abc
2
+ from .const import DOMAIN as DOMAIN, LOGGER as LOGGER
3
+ from _typeshed import Incomplete
4
+ from abc import abstractmethod
5
+ from dataclasses import dataclass
6
+ from datetime import timedelta
7
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
10
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
11
+ from pypaperless import Paperless as Paperless
12
+ from pypaperless.models import Statistic, Status
13
+ from typing import TypeVar
14
+
15
+ type PaperlessConfigEntry = ConfigEntry[PaperlessData]
16
+ TData = TypeVar('TData')
17
+ UPDATE_INTERVAL_STATISTICS: Incomplete
18
+ UPDATE_INTERVAL_STATUS: Incomplete
19
+
20
+ @dataclass
21
+ class PaperlessData:
22
+ statistics: PaperlessStatisticCoordinator
23
+ status: PaperlessStatusCoordinator
24
+
25
+ class PaperlessCoordinator(DataUpdateCoordinator[TData], metaclass=abc.ABCMeta):
26
+ config_entry: PaperlessConfigEntry
27
+ api: Incomplete
28
+ def __init__(self, hass: HomeAssistant, entry: PaperlessConfigEntry, api: Paperless, name: str, update_interval: timedelta) -> None: ...
29
+ async def _async_update_data(self) -> TData: ...
30
+ @abstractmethod
31
+ async def _async_update_data_internal(self) -> TData: ...
32
+
33
+ class PaperlessStatisticCoordinator(PaperlessCoordinator[Statistic]):
34
+ def __init__(self, hass: HomeAssistant, entry: PaperlessConfigEntry, api: Paperless) -> None: ...
35
+ async def _async_update_data_internal(self) -> Statistic: ...
36
+
37
+ class PaperlessStatusCoordinator(PaperlessCoordinator[Status]):
38
+ def __init__(self, hass: HomeAssistant, entry: PaperlessConfigEntry, api: Paperless) -> None: ...
39
+ async def _async_update_data_internal(self) -> Status: ...
@@ -1,5 +1,5 @@
1
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
1
+ from . import PaperlessConfigEntry as PaperlessConfigEntry
2
2
  from homeassistant.core import HomeAssistant as HomeAssistant
3
3
  from typing import Any
4
4
 
5
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: ConfigEntry) -> dict[str, Any]: ...
5
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: PaperlessConfigEntry) -> dict[str, Any]: ...