homeassistant-stubs 2025.5.3__py3-none-any.whl → 2025.6.0b1__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 (391) hide show
  1. homeassistant-stubs/components/airthings/sensor.pyi +1 -1
  2. homeassistant-stubs/components/amazon_devices/__init__.pyi +9 -0
  3. homeassistant-stubs/components/amazon_devices/binary_sensor.pyi +25 -0
  4. homeassistant-stubs/components/amazon_devices/config_flow.pyi +8 -0
  5. homeassistant-stubs/components/amazon_devices/const.pyi +5 -0
  6. homeassistant-stubs/components/amazon_devices/coordinator.pyi +17 -0
  7. homeassistant-stubs/components/amazon_devices/entity.pyi +19 -0
  8. homeassistant-stubs/components/amazon_devices/notify.pyi +25 -0
  9. homeassistant-stubs/components/amazon_devices/switch.pyi +30 -0
  10. homeassistant-stubs/components/apcupsd/config_flow.pyi +1 -0
  11. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +3 -1
  12. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  13. homeassistant-stubs/components/axis/entity.pyi +1 -0
  14. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  15. homeassistant-stubs/components/backup/coordinator.pyi +3 -0
  16. homeassistant-stubs/components/backup/entity.pyi +5 -2
  17. homeassistant-stubs/components/backup/event.pyi +23 -0
  18. homeassistant-stubs/components/backup/manager.pyi +22 -3
  19. homeassistant-stubs/components/backup/models.pyi +2 -2
  20. homeassistant-stubs/components/blue_current/button.pyi +25 -0
  21. homeassistant-stubs/components/blue_current/entity.pyi +3 -6
  22. homeassistant-stubs/components/bluesound/button.pyi +35 -0
  23. homeassistant-stubs/components/bluesound/media_player.pyi +1 -0
  24. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -1
  25. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -1
  26. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -1
  27. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +1 -1
  28. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -1
  29. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -1
  30. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -1
  31. homeassistant-stubs/components/bosch_alarm/__init__.pyi +8 -4
  32. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +3 -1
  33. homeassistant-stubs/components/bosch_alarm/binary_sensor.pyi +45 -0
  34. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +9 -3
  35. homeassistant-stubs/components/bosch_alarm/const.pyi +4 -1
  36. homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +1 -1
  37. homeassistant-stubs/components/bosch_alarm/entity.pyi +30 -1
  38. homeassistant-stubs/components/bosch_alarm/sensor.pyi +6 -2
  39. homeassistant-stubs/components/bosch_alarm/services.pyi +15 -0
  40. homeassistant-stubs/components/bosch_alarm/switch.pyi +43 -0
  41. homeassistant-stubs/components/bosch_alarm/types.pyi +4 -0
  42. homeassistant-stubs/components/bring/__init__.pyi +1 -1
  43. homeassistant-stubs/components/bring/coordinator.pyi +21 -3
  44. homeassistant-stubs/components/bring/entity.pyi +3 -3
  45. homeassistant-stubs/components/bring/event.pyi +3 -2
  46. homeassistant-stubs/components/bring/sensor.pyi +1 -0
  47. homeassistant-stubs/components/bring/todo.pyi +1 -0
  48. homeassistant-stubs/components/camera/__init__.pyi +2 -10
  49. homeassistant-stubs/components/camera/webrtc.pyi +1 -22
  50. homeassistant-stubs/components/climate/__init__.pyi +3 -13
  51. homeassistant-stubs/components/climate/const.pyi +0 -3
  52. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  53. homeassistant-stubs/components/cloud/__init__.pyi +1 -1
  54. homeassistant-stubs/components/cloud/alexa_config.pyi +1 -1
  55. homeassistant-stubs/components/cloud/client.pyi +2 -1
  56. homeassistant-stubs/components/cloud/const.pyi +0 -1
  57. homeassistant-stubs/components/cloud/google_config.pyi +1 -1
  58. homeassistant-stubs/components/cloud/http_api.pyi +0 -2
  59. homeassistant-stubs/components/comelit/climate.pyi +14 -5
  60. homeassistant-stubs/components/comelit/config_flow.pyi +3 -4
  61. homeassistant-stubs/components/comelit/const.pyi +3 -0
  62. homeassistant-stubs/components/comelit/cover.pyi +3 -1
  63. homeassistant-stubs/components/comelit/humidifier.pyi +6 -1
  64. homeassistant-stubs/components/comelit/light.pyi +2 -0
  65. homeassistant-stubs/components/comelit/switch.pyi +2 -0
  66. homeassistant-stubs/components/comelit/utils.pyi +11 -0
  67. homeassistant-stubs/components/command_line/notify.pyi +3 -1
  68. homeassistant-stubs/components/config/entity_registry.pyi +6 -0
  69. homeassistant-stubs/components/deconz/entity.pyi +1 -0
  70. homeassistant-stubs/components/deconz/hub/hub.pyi +1 -1
  71. homeassistant-stubs/components/deconz/light.pyi +1 -1
  72. homeassistant-stubs/components/demo/media_player.pyi +2 -1
  73. homeassistant-stubs/components/device_automation/trigger.pyi +5 -2
  74. homeassistant-stubs/components/devolo_home_network/__init__.pyi +3 -18
  75. homeassistant-stubs/components/devolo_home_network/binary_sensor.pyi +1 -2
  76. homeassistant-stubs/components/devolo_home_network/button.pyi +1 -1
  77. homeassistant-stubs/components/devolo_home_network/config_flow.pyi +1 -1
  78. homeassistant-stubs/components/devolo_home_network/coordinator.pyi +56 -6
  79. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
  80. homeassistant-stubs/components/devolo_home_network/diagnostics.pyi +1 -1
  81. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -2
  82. homeassistant-stubs/components/devolo_home_network/image.pyi +1 -2
  83. homeassistant-stubs/components/devolo_home_network/sensor.pyi +1 -2
  84. homeassistant-stubs/components/devolo_home_network/switch.pyi +1 -2
  85. homeassistant-stubs/components/devolo_home_network/update.pyi +1 -2
  86. homeassistant-stubs/components/dhcp/__init__.pyi +2 -0
  87. homeassistant-stubs/components/downloader/__init__.pyi +3 -4
  88. homeassistant-stubs/components/downloader/services.pyi +7 -0
  89. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +1 -1
  90. homeassistant-stubs/components/ecovacs/button.pyi +2 -2
  91. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  92. homeassistant-stubs/components/ecovacs/select.pyi +1 -1
  93. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  94. homeassistant-stubs/components/ecovacs/switch.pyi +1 -1
  95. homeassistant-stubs/components/ecovacs/util.pyi +1 -1
  96. homeassistant-stubs/components/eheimdigital/climate.pyi +4 -2
  97. homeassistant-stubs/components/eheimdigital/diagnostics.pyi +9 -0
  98. homeassistant-stubs/components/eheimdigital/entity.pyi +5 -0
  99. homeassistant-stubs/components/eheimdigital/light.pyi +3 -2
  100. homeassistant-stubs/components/eheimdigital/number.pyi +3 -1
  101. homeassistant-stubs/components/eheimdigital/select.pyi +34 -0
  102. homeassistant-stubs/components/eheimdigital/switch.pyi +3 -1
  103. homeassistant-stubs/components/eheimdigital/time.pyi +2 -1
  104. homeassistant-stubs/components/elkm1/climate.pyi +0 -6
  105. homeassistant-stubs/components/esphome/entity.pyi +1 -0
  106. homeassistant-stubs/components/esphome/entry_data.pyi +0 -12
  107. homeassistant-stubs/components/esphome/light.pyi +4 -4
  108. homeassistant-stubs/components/esphome/update.pyi +8 -4
  109. homeassistant-stubs/components/feedreader/event.pyi +1 -2
  110. homeassistant-stubs/components/fritz/__init__.pyi +1 -1
  111. homeassistant-stubs/components/fritz/config_flow.pyi +2 -1
  112. homeassistant-stubs/components/fritz/const.pyi +2 -0
  113. homeassistant-stubs/components/fritz/coordinator.pyi +5 -3
  114. homeassistant-stubs/components/frontend/storage.pyi +25 -9
  115. homeassistant-stubs/components/fyta/image.pyi +18 -4
  116. homeassistant-stubs/components/geocaching/__init__.pyi +3 -5
  117. homeassistant-stubs/components/geocaching/coordinator.pyi +3 -2
  118. homeassistant-stubs/components/geocaching/sensor.pyi +2 -3
  119. homeassistant-stubs/components/google/__init__.pyi +7 -8
  120. homeassistant-stubs/components/google/api.pyi +2 -2
  121. homeassistant-stubs/components/google/calendar.pyi +5 -5
  122. homeassistant-stubs/components/google/config_flow.pyi +3 -2
  123. homeassistant-stubs/components/google/const.pyi +0 -2
  124. homeassistant-stubs/components/google/coordinator.pyi +5 -5
  125. homeassistant-stubs/components/google/diagnostics.pyi +2 -3
  126. homeassistant-stubs/components/google/store.pyi +9 -0
  127. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +5 -6
  128. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +3 -3
  129. homeassistant-stubs/components/google_assistant_sdk/const.pyi +0 -2
  130. homeassistant-stubs/components/google_assistant_sdk/diagnostics.pyi +2 -2
  131. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +7 -1
  132. homeassistant-stubs/components/google_assistant_sdk/notify.pyi +1 -2
  133. homeassistant-stubs/components/greeneye_monitor/const.pyi +4 -1
  134. homeassistant-stubs/components/guardian/__init__.pyi +11 -18
  135. homeassistant-stubs/components/guardian/binary_sensor.pyi +5 -6
  136. homeassistant-stubs/components/guardian/button.pyi +4 -5
  137. homeassistant-stubs/components/guardian/coordinator.pyi +3 -3
  138. homeassistant-stubs/components/guardian/diagnostics.pyi +3 -4
  139. homeassistant-stubs/components/guardian/entity.pyi +3 -3
  140. homeassistant-stubs/components/guardian/sensor.pyi +3 -4
  141. homeassistant-stubs/components/guardian/services.pyi +28 -0
  142. homeassistant-stubs/components/guardian/switch.pyi +4 -5
  143. homeassistant-stubs/components/guardian/util.pyi +2 -2
  144. homeassistant-stubs/components/guardian/valve.pyi +4 -5
  145. homeassistant-stubs/components/habitica/const.pyi +1 -6
  146. homeassistant-stubs/components/habitica/coordinator.pyi +2 -2
  147. homeassistant-stubs/components/habitica/sensor.pyi +3 -1
  148. homeassistant-stubs/components/habitica/services.pyi +2 -4
  149. homeassistant-stubs/components/habitica/util.pyi +2 -0
  150. homeassistant-stubs/components/hardware/__init__.pyi +3 -1
  151. homeassistant-stubs/components/hardware/const.pyi +4 -0
  152. homeassistant-stubs/components/hardware/hardware.pyi +1 -1
  153. homeassistant-stubs/components/hardware/models.pyi +14 -1
  154. homeassistant-stubs/components/hardware/websocket_api.pyi +2 -12
  155. homeassistant-stubs/components/heos/media_player.pyi +1 -0
  156. homeassistant-stubs/components/here_travel_time/__init__.pyi +4 -5
  157. homeassistant-stubs/components/here_travel_time/coordinator.pyi +5 -4
  158. homeassistant-stubs/components/here_travel_time/sensor.pyi +4 -5
  159. homeassistant-stubs/components/history_stats/config_flow.pyi +1 -1
  160. homeassistant-stubs/components/home_connect/config_flow.pyi +2 -0
  161. homeassistant-stubs/components/home_connect/diagnostics.pyi +1 -2
  162. homeassistant-stubs/components/home_connect/entity.pyi +0 -1
  163. homeassistant-stubs/components/home_connect/light.pyi +2 -2
  164. homeassistant-stubs/components/home_connect/number.pyi +1 -0
  165. homeassistant-stubs/components/home_connect/sensor.pyi +4 -5
  166. homeassistant-stubs/components/home_connect/switch.pyi +1 -19
  167. homeassistant-stubs/components/homeassistant/__init__.pyi +4 -0
  168. homeassistant-stubs/components/homee/alarm_control_panel.pyi +39 -0
  169. homeassistant-stubs/components/homee/const.pyi +2 -0
  170. homeassistant-stubs/components/homee/event.pyi +19 -0
  171. homeassistant-stubs/components/homee/fan.pyi +38 -0
  172. homeassistant-stubs/components/homee/sensor.pyi +5 -1
  173. homeassistant-stubs/components/homekit/const.pyi +1 -0
  174. homeassistant-stubs/components/homekit/util.pyi +1 -1
  175. homeassistant-stubs/components/homeworks/__init__.pyi +5 -5
  176. homeassistant-stubs/components/homeworks/binary_sensor.pyi +2 -3
  177. homeassistant-stubs/components/homeworks/button.pyi +2 -3
  178. homeassistant-stubs/components/homeworks/light.pyi +2 -3
  179. homeassistant-stubs/components/http/decorators.pyi +1 -1
  180. homeassistant-stubs/components/huawei_lte/__init__.pyi +0 -1
  181. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +0 -7
  182. homeassistant-stubs/components/hydrawise/__init__.pyi +4 -5
  183. homeassistant-stubs/components/hydrawise/binary_sensor.pyi +3 -4
  184. homeassistant-stubs/components/hydrawise/coordinator.pyi +4 -3
  185. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -4
  186. homeassistant-stubs/components/hydrawise/switch.pyi +3 -4
  187. homeassistant-stubs/components/hydrawise/valve.pyi +2 -4
  188. homeassistant-stubs/components/immich/__init__.pyi +10 -0
  189. homeassistant-stubs/components/immich/config_flow.pyi +27 -0
  190. homeassistant-stubs/components/immich/const.pyi +4 -0
  191. homeassistant-stubs/components/immich/coordinator.pyi +27 -0
  192. homeassistant-stubs/components/immich/diagnostics.pyi +10 -0
  193. homeassistant-stubs/components/immich/entity.pyi +10 -0
  194. homeassistant-stubs/components/immich/media_source.pyi +37 -0
  195. homeassistant-stubs/components/immich/sensor.pyi +28 -0
  196. homeassistant-stubs/components/iqvia/__init__.pyi +4 -7
  197. homeassistant-stubs/components/iqvia/coordinator.pyi +16 -0
  198. homeassistant-stubs/components/iqvia/diagnostics.pyi +3 -4
  199. homeassistant-stubs/components/iqvia/entity.pyi +5 -6
  200. homeassistant-stubs/components/iqvia/sensor.pyi +3 -3
  201. homeassistant-stubs/components/isy994/__init__.pyi +6 -7
  202. homeassistant-stubs/components/isy994/binary_sensor.pyi +3 -4
  203. homeassistant-stubs/components/isy994/button.pyi +2 -3
  204. homeassistant-stubs/components/isy994/climate.pyi +3 -4
  205. homeassistant-stubs/components/isy994/config_flow.pyi +4 -3
  206. homeassistant-stubs/components/isy994/cover.pyi +3 -5
  207. homeassistant-stubs/components/isy994/fan.pyi +3 -5
  208. homeassistant-stubs/components/isy994/light.pyi +3 -4
  209. homeassistant-stubs/components/isy994/lock.pyi +2 -5
  210. homeassistant-stubs/components/isy994/models.pyi +2 -0
  211. homeassistant-stubs/components/isy994/number.pyi +3 -4
  212. homeassistant-stubs/components/isy994/select.pyi +3 -4
  213. homeassistant-stubs/components/isy994/sensor.pyi +3 -4
  214. homeassistant-stubs/components/isy994/services.pyi +1 -1
  215. homeassistant-stubs/components/isy994/switch.pyi +2 -4
  216. homeassistant-stubs/components/isy994/system_health.pyi +1 -3
  217. homeassistant-stubs/components/isy994/util.pyi +3 -2
  218. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +3 -2
  219. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -2
  220. homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
  221. homeassistant-stubs/components/jewish_calendar/diagnostics.pyi +11 -0
  222. homeassistant-stubs/components/jewish_calendar/entity.pyi +12 -5
  223. homeassistant-stubs/components/jewish_calendar/sensor.pyi +35 -15
  224. homeassistant-stubs/components/jewish_calendar/service.pyi +1 -0
  225. homeassistant-stubs/components/kaleidescape/entity.pyi +1 -0
  226. homeassistant-stubs/components/kaleidescape/media_player.pyi +1 -0
  227. homeassistant-stubs/components/kaleidescape/remote.pyi +1 -0
  228. homeassistant-stubs/components/kaleidescape/sensor.pyi +1 -0
  229. homeassistant-stubs/components/knocki/config_flow.pyi +2 -0
  230. homeassistant-stubs/components/knx/const.pyi +7 -0
  231. homeassistant-stubs/components/knx/cover.pyi +20 -9
  232. homeassistant-stubs/components/knx/schema.pyi +1 -6
  233. homeassistant-stubs/components/knx/storage/const.pyi +6 -0
  234. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +4 -3
  235. homeassistant-stubs/components/lcn/config_flow.pyi +0 -2
  236. homeassistant-stubs/components/lcn/const.pyi +3 -1
  237. homeassistant-stubs/components/lcn/cover.pyi +7 -2
  238. homeassistant-stubs/components/lcn/entity.pyi +1 -0
  239. homeassistant-stubs/components/lcn/helpers.pyi +0 -1
  240. homeassistant-stubs/components/lcn/schemas.pyi +1 -1
  241. homeassistant-stubs/components/lcn/services.pyi +2 -3
  242. homeassistant-stubs/components/litterrobot/entity.pyi +1 -1
  243. homeassistant-stubs/components/matter/select.pyi +2 -0
  244. homeassistant-stubs/components/matter/sensor.pyi +3 -1
  245. homeassistant-stubs/components/media_player/intent.pyi +11 -1
  246. homeassistant-stubs/components/metoffice/__init__.pyi +3 -5
  247. homeassistant-stubs/components/metoffice/config_flow.pyi +4 -2
  248. homeassistant-stubs/components/metoffice/const.pyi +7 -6
  249. homeassistant-stubs/components/metoffice/helpers.pyi +5 -6
  250. homeassistant-stubs/components/metoffice/sensor.pyi +15 -13
  251. homeassistant-stubs/components/metoffice/weather.pyi +23 -11
  252. homeassistant-stubs/components/miele/__init__.pyi +15 -0
  253. homeassistant-stubs/components/miele/api.pyi +9 -0
  254. homeassistant-stubs/components/miele/application_credentials.pyi +5 -0
  255. homeassistant-stubs/components/miele/binary_sensor.pyi +34 -0
  256. homeassistant-stubs/components/miele/button.pyi +32 -0
  257. homeassistant-stubs/components/miele/climate.pyi +55 -0
  258. homeassistant-stubs/components/miele/config_flow.pyi +17 -0
  259. homeassistant-stubs/components/miele/const.pyi +127 -0
  260. homeassistant-stubs/components/miele/coordinator.pyi +29 -0
  261. homeassistant-stubs/components/miele/diagnostics.pyi +13 -0
  262. homeassistant-stubs/components/miele/entity.pyi +24 -0
  263. homeassistant-stubs/components/miele/fan.pyi +39 -0
  264. homeassistant-stubs/components/miele/light.pyi +39 -0
  265. homeassistant-stubs/components/miele/sensor.pyi +72 -0
  266. homeassistant-stubs/components/miele/switch.pyi +52 -0
  267. homeassistant-stubs/components/miele/vacuum.pyi +84 -0
  268. homeassistant-stubs/components/minecraft_server/api.pyi +1 -1
  269. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  270. homeassistant-stubs/components/modbus/const.pyi +9 -0
  271. homeassistant-stubs/components/modbus/light.pyi +24 -1
  272. homeassistant-stubs/components/modbus/sensor.pyi +5 -3
  273. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -2
  274. homeassistant-stubs/components/mqtt/button.pyi +1 -3
  275. homeassistant-stubs/components/mqtt/config_flow.pyi +25 -8
  276. homeassistant-stubs/components/mqtt/const.pyi +57 -0
  277. homeassistant-stubs/components/mqtt/cover.pyi +1 -25
  278. homeassistant-stubs/components/mqtt/fan.pyi +1 -31
  279. homeassistant-stubs/components/mqtt/switch.pyi +1 -5
  280. homeassistant-stubs/components/music_assistant/media_player.pyi +6 -2
  281. homeassistant-stubs/components/nest/config_flow.pyi +2 -0
  282. homeassistant-stubs/components/number/const.pyi +3 -2
  283. homeassistant-stubs/components/nut/__init__.pyi +1 -1
  284. homeassistant-stubs/components/openai_conversation/conversation.pyi +2 -0
  285. homeassistant-stubs/components/pandora/media_player.pyi +12 -13
  286. homeassistant-stubs/components/paperless_ngx/__init__.pyi +13 -0
  287. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +16 -0
  288. homeassistant-stubs/components/paperless_ngx/const.pyi +4 -0
  289. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +39 -0
  290. homeassistant-stubs/components/{rtsp_to_webrtc → paperless_ngx}/diagnostics.pyi +2 -2
  291. homeassistant-stubs/components/paperless_ngx/entity.pyi +16 -0
  292. homeassistant-stubs/components/paperless_ngx/sensor.pyi +27 -0
  293. homeassistant-stubs/components/plugwise/coordinator.pyi +2 -2
  294. homeassistant-stubs/components/qbus/climate.pyi +1 -0
  295. homeassistant-stubs/components/qbus/entity.pyi +3 -3
  296. homeassistant-stubs/components/qbus/light.pyi +1 -0
  297. homeassistant-stubs/components/qbus/scene.pyi +21 -0
  298. homeassistant-stubs/components/qbus/switch.pyi +1 -0
  299. homeassistant-stubs/components/recorder/services.pyi +7 -1
  300. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  301. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  302. homeassistant-stubs/components/reolink/media_source.pyi +2 -1
  303. homeassistant-stubs/components/repairs/websocket_api.pyi +0 -1
  304. homeassistant-stubs/components/samsungtv/__init__.pyi +5 -5
  305. homeassistant-stubs/components/samsungtv/bridge.pyi +2 -1
  306. homeassistant-stubs/components/samsungtv/config_flow.pyi +4 -4
  307. homeassistant-stubs/components/samsungtv/entity.pyi +1 -1
  308. homeassistant-stubs/components/samsungtv/media_player.pyi +2 -1
  309. homeassistant-stubs/components/sensor/__init__.pyi +1 -0
  310. homeassistant-stubs/components/sensor/const.pyi +5 -2
  311. homeassistant-stubs/components/sensor/device_condition.pyi +1 -0
  312. homeassistant-stubs/components/sensor/device_trigger.pyi +1 -0
  313. homeassistant-stubs/components/shelly/binary_sensor.pyi +3 -2
  314. homeassistant-stubs/components/shelly/button.pyi +5 -4
  315. homeassistant-stubs/components/shelly/climate.pyi +5 -5
  316. homeassistant-stubs/components/shelly/const.pyi +2 -0
  317. homeassistant-stubs/components/shelly/cover.pyi +2 -0
  318. homeassistant-stubs/components/shelly/entity.pyi +4 -2
  319. homeassistant-stubs/components/shelly/event.pyi +4 -2
  320. homeassistant-stubs/components/shelly/light.pyi +2 -0
  321. homeassistant-stubs/components/shelly/number.pyi +3 -2
  322. homeassistant-stubs/components/shelly/select.pyi +2 -0
  323. homeassistant-stubs/components/shelly/sensor.pyi +9 -2
  324. homeassistant-stubs/components/shelly/switch.pyi +2 -2
  325. homeassistant-stubs/components/shelly/text.pyi +2 -0
  326. homeassistant-stubs/components/shelly/update.pyi +1 -0
  327. homeassistant-stubs/components/shelly/utils.pyi +12 -7
  328. homeassistant-stubs/components/shelly/valve.pyi +2 -0
  329. homeassistant-stubs/components/smlight/button.pyi +3 -2
  330. homeassistant-stubs/components/squeezebox/__init__.pyi +1 -1
  331. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +1 -0
  332. homeassistant-stubs/components/squeezebox/browse_media.pyi +1 -1
  333. homeassistant-stubs/components/squeezebox/button.pyi +3 -0
  334. homeassistant-stubs/components/squeezebox/const.pyi +12 -2
  335. homeassistant-stubs/components/squeezebox/coordinator.pyi +7 -3
  336. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -1
  337. homeassistant-stubs/components/squeezebox/sensor.pyi +1 -0
  338. homeassistant-stubs/components/squeezebox/switch.pyi +47 -0
  339. homeassistant-stubs/components/squeezebox/update.pyi +50 -0
  340. homeassistant-stubs/components/suez_water/coordinator.pyi +19 -4
  341. homeassistant-stubs/components/suez_water/sensor.pyi +2 -0
  342. homeassistant-stubs/components/sun/condition.pyi +13 -0
  343. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +15 -9
  344. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +29 -0
  345. homeassistant-stubs/components/switchbot_cloud/coordinator.pyi +6 -1
  346. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  347. homeassistant-stubs/components/tibber/notify.pyi +2 -2
  348. homeassistant-stubs/components/tibber/sensor.pyi +1 -1
  349. homeassistant-stubs/components/tts/__init__.pyi +4 -1
  350. homeassistant-stubs/components/tts/const.pyi +1 -0
  351. homeassistant-stubs/components/tts/entity.pyi +4 -0
  352. homeassistant-stubs/components/tts/legacy.pyi +3 -1
  353. homeassistant-stubs/components/tts/media_source.pyi +5 -2
  354. homeassistant-stubs/components/unifi/__init__.pyi +1 -1
  355. homeassistant-stubs/components/unifi/config_flow.pyi +2 -2
  356. homeassistant-stubs/components/unifi/device_tracker.pyi +1 -0
  357. homeassistant-stubs/components/unifi/services.pyi +1 -0
  358. homeassistant-stubs/components/uptimerobot/coordinator.pyi +0 -1
  359. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -1
  360. homeassistant-stubs/components/wallbox/const.pyi +10 -0
  361. homeassistant-stubs/components/wallbox/coordinator.pyi +4 -1
  362. homeassistant-stubs/components/wallbox/select.pyi +29 -0
  363. homeassistant-stubs/components/wallbox/sensor.pyi +1 -1
  364. homeassistant-stubs/components/wemo/device_trigger.pyi +1 -1
  365. homeassistant-stubs/components/wemo/light.pyi +1 -0
  366. homeassistant-stubs/components/whois/const.pyi +1 -0
  367. homeassistant-stubs/components/whois/sensor.pyi +2 -1
  368. homeassistant-stubs/components/youtube/sensor.pyi +1 -1
  369. homeassistant-stubs/components/zwave_js/config_flow.pyi +6 -3
  370. homeassistant-stubs/config_entries.pyi +0 -1
  371. homeassistant-stubs/const.pyi +5 -0
  372. homeassistant-stubs/core_config.pyi +0 -2
  373. homeassistant-stubs/helpers/condition.pyi +1 -6
  374. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +10 -0
  375. homeassistant-stubs/helpers/config_validation.pyi +7 -2
  376. homeassistant-stubs/helpers/device_registry.pyi +4 -4
  377. homeassistant-stubs/helpers/entity_component.pyi +5 -2
  378. homeassistant-stubs/helpers/entity_platform.pyi +4 -1
  379. homeassistant-stubs/helpers/entity_registry.pyi +7 -6
  380. homeassistant-stubs/helpers/selector.pyi +55 -50
  381. homeassistant-stubs/helpers/service.pyi +3 -3
  382. homeassistant-stubs/helpers/template.pyi +4 -1
  383. homeassistant-stubs/util/aiohttp.pyi +5 -0
  384. homeassistant-stubs/util/unit_conversion.pyi +11 -1
  385. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b1.dist-info}/METADATA +2 -2
  386. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b1.dist-info}/RECORD +388 -331
  387. homeassistant-stubs/components/metoffice/data.pyi +0 -10
  388. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +0 -19
  389. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -24
  390. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b1.dist-info}/WHEEL +0 -0
  391. {homeassistant_stubs-2025.5.3.dist-info → homeassistant_stubs-2025.6.0b1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,39 @@
1
+ from .const import DOMAIN as DOMAIN, MieleAppliance as MieleAppliance, POWER_OFF as POWER_OFF, POWER_ON as POWER_ON, VENTILATION_STEP as VENTILATION_STEP
2
+ from .coordinator import MieleConfigEntry as MieleConfigEntry, MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
3
+ from .entity import MieleEntity as MieleEntity
4
+ from _typeshed import Incomplete
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.fan import FanEntity as FanEntity, FanEntityDescription as FanEntityDescription, FanEntityFeature as FanEntityFeature
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
+ from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
11
+ from homeassistant.util.scaling import int_states_in_range as int_states_in_range
12
+ from typing import Any, Final
13
+
14
+ PARALLEL_UPDATES: int
15
+ _LOGGER: Incomplete
16
+ SPEED_RANGE: Incomplete
17
+
18
+ @dataclass(frozen=True, kw_only=True)
19
+ class MieleFanDefinition:
20
+ types: tuple[MieleAppliance, ...]
21
+ description: FanEntityDescription
22
+
23
+ FAN_TYPES: Final[tuple[MieleFanDefinition, ...]]
24
+
25
+ async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
26
+
27
+ class MieleFan(MieleEntity, FanEntity):
28
+ entity_description: FanEntityDescription
29
+ _attr_supported_features: FanEntityFeature
30
+ def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: FanEntityDescription) -> None: ...
31
+ @property
32
+ def is_on(self) -> bool: ...
33
+ @property
34
+ def speed_count(self) -> int: ...
35
+ @property
36
+ def percentage(self) -> int | None: ...
37
+ async def async_set_percentage(self, percentage: int) -> None: ...
38
+ async def async_turn_on(self, percentage: int | None = None, preset_mode: str | None = None, **kwargs: Any) -> None: ...
39
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -0,0 +1,39 @@
1
+ from .const import AMBIENT_LIGHT as AMBIENT_LIGHT, DOMAIN as DOMAIN, LIGHT as LIGHT, LIGHT_OFF as LIGHT_OFF, LIGHT_ON as LIGHT_ON, MieleAppliance as MieleAppliance
2
+ from .coordinator import MieleConfigEntry as MieleConfigEntry
3
+ from .entity import MieleDevice as MieleDevice, MieleEntity as MieleEntity
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Callable as Callable
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity, LightEntityDescription as LightEntityDescription
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from homeassistant.helpers.typing import StateType as StateType
12
+ from typing import Any, Final
13
+
14
+ PARALLEL_UPDATES: int
15
+ _LOGGER: Incomplete
16
+
17
+ @dataclass(frozen=True, kw_only=True)
18
+ class MieleLightDescription(LightEntityDescription):
19
+ value_fn: Callable[[MieleDevice], StateType]
20
+ light_type: str
21
+
22
+ @dataclass
23
+ class MieleLightDefinition:
24
+ types: tuple[MieleAppliance, ...]
25
+ description: MieleLightDescription
26
+
27
+ LIGHT_TYPES: Final[tuple[MieleLightDefinition, ...]]
28
+
29
+ async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
30
+
31
+ class MieleLight(MieleEntity, LightEntity):
32
+ entity_description: MieleLightDescription
33
+ _attr_color_mode: Incomplete
34
+ _attr_supported_color_modes: Incomplete
35
+ @property
36
+ def is_on(self) -> bool: ...
37
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
38
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
39
+ async def async_turn_light(self, mode: int) -> None: ...
@@ -0,0 +1,72 @@
1
+ from .const import MieleAppliance as MieleAppliance, STATE_PROGRAM_ID as STATE_PROGRAM_ID, STATE_PROGRAM_PHASE as STATE_PROGRAM_PHASE, STATE_STATUS_TAGS as STATE_STATUS_TAGS, StateDryingStep as StateDryingStep, StateProgramType as StateProgramType, StateStatus as StateStatus
2
+ from .coordinator import MieleConfigEntry as MieleConfigEntry, MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
3
+ from .entity import MieleEntity as MieleEntity
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Callable as Callable
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
+ from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfEnergy as UnitOfEnergy, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume
9
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from homeassistant.helpers.typing import StateType as StateType
12
+ from pymiele import MieleDevice as MieleDevice
13
+ from typing import Final
14
+
15
+ PARALLEL_UPDATES: int
16
+ _LOGGER: Incomplete
17
+ DISABLED_TEMPERATURE: int
18
+ PLATE_POWERS: Incomplete
19
+ DEFAULT_PLATE_COUNT: int
20
+ PLATE_COUNT: Incomplete
21
+
22
+ def _get_plate_count(tech_type: str) -> int: ...
23
+ def _convert_duration(value_list: list[int]) -> int | None: ...
24
+
25
+ @dataclass(frozen=True, kw_only=True)
26
+ class MieleSensorDescription(SensorEntityDescription):
27
+ value_fn: Callable[[MieleDevice], StateType]
28
+ zone: int = ...
29
+
30
+ @dataclass
31
+ class MieleSensorDefinition:
32
+ types: tuple[MieleAppliance, ...]
33
+ description: MieleSensorDescription
34
+
35
+ SENSOR_TYPES: Final[tuple[MieleSensorDefinition, ...]]
36
+
37
+ async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
38
+
39
+ APPLIANCE_ICONS: Incomplete
40
+
41
+ class MieleSensor(MieleEntity, SensorEntity):
42
+ entity_description: MieleSensorDescription
43
+ @property
44
+ def native_value(self) -> StateType: ...
45
+
46
+ class MielePlateSensor(MieleSensor):
47
+ entity_description: MieleSensorDescription
48
+ _attr_unique_id: Incomplete
49
+ def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: MieleSensorDescription) -> None: ...
50
+ @property
51
+ def native_value(self) -> StateType: ...
52
+
53
+ class MieleStatusSensor(MieleSensor):
54
+ _attr_name: Incomplete
55
+ _attr_icon: Incomplete
56
+ def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: MieleSensorDescription) -> None: ...
57
+ @property
58
+ def native_value(self) -> StateType: ...
59
+ @property
60
+ def available(self) -> bool: ...
61
+
62
+ class MielePhaseSensor(MieleSensor):
63
+ @property
64
+ def native_value(self) -> StateType: ...
65
+ @property
66
+ def options(self) -> list[str]: ...
67
+
68
+ class MieleProgramIdSensor(MieleSensor):
69
+ @property
70
+ def native_value(self) -> StateType: ...
71
+ @property
72
+ def options(self) -> list[str]: ...
@@ -0,0 +1,52 @@
1
+ from .const import DOMAIN as DOMAIN, MieleActions as MieleActions, MieleAppliance as MieleAppliance, POWER_OFF as POWER_OFF, POWER_ON as POWER_ON, PROCESS_ACTION as PROCESS_ACTION, StateStatus as StateStatus
2
+ from .coordinator import MieleConfigEntry as MieleConfigEntry
3
+ from .entity import MieleEntity as MieleEntity
4
+ from _typeshed import Incomplete
5
+ from collections.abc import Callable as Callable
6
+ from dataclasses import dataclass
7
+ from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from homeassistant.helpers.typing import StateType as StateType
12
+ from pymiele import MieleDevice as MieleDevice
13
+ from typing import Any, Final
14
+
15
+ PARALLEL_UPDATES: int
16
+ _LOGGER: Incomplete
17
+
18
+ @dataclass(frozen=True, kw_only=True)
19
+ class MieleSwitchDescription(SwitchEntityDescription):
20
+ value_fn: Callable[[MieleDevice], StateType]
21
+ on_value: int = ...
22
+ off_value: int = ...
23
+ on_cmd_data: dict[str, str | int | bool]
24
+ off_cmd_data: dict[str, str | int | bool]
25
+
26
+ @dataclass
27
+ class MieleSwitchDefinition:
28
+ types: tuple[MieleAppliance, ...]
29
+ description: MieleSwitchDescription
30
+
31
+ SWITCH_TYPES: Final[tuple[MieleSwitchDefinition, ...]]
32
+
33
+ async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
34
+
35
+ class MieleSwitch(MieleEntity, SwitchEntity):
36
+ entity_description: MieleSwitchDescription
37
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
38
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
39
+ async def async_turn_switch(self, mode: dict[str, str | int | bool]) -> None: ...
40
+
41
+ class MielePowerSwitch(MieleSwitch):
42
+ entity_description: MieleSwitchDescription
43
+ @property
44
+ def is_on(self) -> bool | None: ...
45
+ @property
46
+ def available(self) -> bool: ...
47
+ async def async_turn_switch(self, mode: dict[str, str | int | bool]) -> None: ...
48
+
49
+ class MieleSuperSwitch(MieleSwitch):
50
+ entity_description: MieleSwitchDescription
51
+ @property
52
+ def is_on(self) -> bool | None: ...
@@ -0,0 +1,84 @@
1
+ from .const import DOMAIN as DOMAIN, MieleActions as MieleActions, MieleAppliance as MieleAppliance, PROCESS_ACTION as PROCESS_ACTION, PROGRAM_ID as PROGRAM_ID
2
+ from .coordinator import MieleConfigEntry as MieleConfigEntry
3
+ from .entity import MieleEntity as MieleEntity
4
+ from _typeshed import Incomplete
5
+ from dataclasses import dataclass
6
+ from enum import IntEnum
7
+ from homeassistant.components.vacuum import StateVacuumEntity as StateVacuumEntity, StateVacuumEntityDescription as StateVacuumEntityDescription, VacuumActivity as VacuumActivity, VacuumEntityFeature as VacuumEntityFeature
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from pymiele import MieleEnum
12
+ from typing import Any, Final
13
+
14
+ PARALLEL_UPDATES: int
15
+ _LOGGER: Incomplete
16
+
17
+ class FanSpeed(IntEnum):
18
+ normal = 0
19
+ turbo = 1
20
+ silent = 2
21
+
22
+ class FanProgram(IntEnum):
23
+ auto = 1
24
+ spot = 2
25
+ turbo = 3
26
+ silent = 4
27
+
28
+ PROGRAM_MAP: Incomplete
29
+ PROGRAM_TO_SPEED: dict[int, str]
30
+
31
+ class MieleVacuumStateCode(MieleEnum):
32
+ idle: int
33
+ cleaning: int
34
+ returning: int
35
+ paused: int
36
+ going_to_target_area: int
37
+ wheel_lifted: int
38
+ dirty_sensors: int
39
+ dust_box_missing: int
40
+ blocked_drive_wheels: int
41
+ blocked_brushes: int
42
+ check_dust_box_and_filter: int
43
+ internal_fault_reboot: int
44
+ blocked_front_wheel: int
45
+ docked: Incomplete
46
+ remote_controlled: int
47
+ missing2none: int
48
+
49
+ SUPPORTED_FEATURES: Incomplete
50
+
51
+ @dataclass(frozen=True, kw_only=True)
52
+ class MieleVacuumDescription(StateVacuumEntityDescription):
53
+ on_value: int
54
+
55
+ @dataclass
56
+ class MieleVacuumDefinition:
57
+ types: tuple[MieleAppliance, ...]
58
+ description: MieleVacuumDescription
59
+
60
+ VACUUM_TYPES: Final[tuple[MieleVacuumDefinition, ...]]
61
+
62
+ async def async_setup_entry(hass: HomeAssistant, config_entry: MieleConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
63
+
64
+ VACUUM_PHASE_TO_ACTIVITY: Incomplete
65
+
66
+ class MieleVacuum(MieleEntity, StateVacuumEntity):
67
+ entity_description: MieleVacuumDescription
68
+ _attr_supported_features = SUPPORTED_FEATURES
69
+ _attr_fan_speed_list: Incomplete
70
+ _attr_name: Incomplete
71
+ @property
72
+ def activity(self) -> VacuumActivity | None: ...
73
+ @property
74
+ def battery_level(self) -> int | None: ...
75
+ @property
76
+ def fan_speed(self) -> str | None: ...
77
+ @property
78
+ def available(self) -> bool: ...
79
+ async def send(self, device_id: str, action: dict[str, Any]) -> None: ...
80
+ async def async_clean_spot(self, **kwargs: Any) -> None: ...
81
+ async def async_start(self, **kwargs: Any) -> None: ...
82
+ async def async_stop(self, **kwargs: Any) -> None: ...
83
+ async def async_pause(self, **kwargs: Any) -> None: ...
84
+ async def async_set_fan_speed(self, fan_speed: str, **kwargs: Any) -> None: ...
@@ -3,7 +3,7 @@ from dataclasses import dataclass
3
3
  from enum import StrEnum
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
5
5
  from mcstatus import BedrockServer, JavaServer
6
- from mcstatus.status_response import BedrockStatusResponse as BedrockStatusResponse, JavaStatusResponse
6
+ from mcstatus.responses import BedrockStatusResponse as BedrockStatusResponse, JavaStatusResponse
7
7
 
8
8
  _LOGGER: Incomplete
9
9
  LOOKUP_TIMEOUT: float
@@ -1,4 +1,4 @@
1
- from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_DISCRETE as CALL_TYPE_DISCRETE, CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_REGISTER_INPUT as CALL_TYPE_REGISTER_INPUT, CALL_TYPE_X_COILS as CALL_TYPE_X_COILS, CALL_TYPE_X_REGISTER_HOLDINGS as CALL_TYPE_X_REGISTER_HOLDINGS, CONF_BAUDRATE as CONF_BAUDRATE, CONF_BYTESIZE as CONF_BYTESIZE, CONF_CLIMATES as CONF_CLIMATES, CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FANS as CONF_FANS, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_ACTION_COOLING as CONF_HVAC_ACTION_COOLING, CONF_HVAC_ACTION_DEFROSTING as CONF_HVAC_ACTION_DEFROSTING, CONF_HVAC_ACTION_DRYING as CONF_HVAC_ACTION_DRYING, CONF_HVAC_ACTION_FAN as CONF_HVAC_ACTION_FAN, CONF_HVAC_ACTION_HEATING as CONF_HVAC_ACTION_HEATING, CONF_HVAC_ACTION_IDLE as CONF_HVAC_ACTION_IDLE, CONF_HVAC_ACTION_OFF as CONF_HVAC_ACTION_OFF, CONF_HVAC_ACTION_PREHEATING as CONF_HVAC_ACTION_PREHEATING, CONF_HVAC_ACTION_REGISTER as CONF_HVAC_ACTION_REGISTER, CONF_HVAC_ACTION_VALUES as CONF_HVAC_ACTION_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_OFF_VALUE as CONF_HVAC_OFF_VALUE, CONF_HVAC_ONOFF_COIL as CONF_HVAC_ONOFF_COIL, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_HVAC_ON_VALUE as CONF_HVAC_ON_VALUE, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MAX_VALUE as CONF_MAX_VALUE, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_MIN_VALUE as CONF_MIN_VALUE, CONF_MSG_WAIT as CONF_MSG_WAIT, CONF_NAN_VALUE as CONF_NAN_VALUE, CONF_PARITY as CONF_PARITY, CONF_PRECISION as CONF_PRECISION, CONF_SCALE as CONF_SCALE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, 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_STATUS_REGISTER as CONF_STATUS_REGISTER, CONF_STATUS_REGISTER_TYPE as CONF_STATUS_REGISTER_TYPE, CONF_STEP as CONF_STEP, CONF_STOPBITS as CONF_STOPBITS, CONF_SWAP as CONF_SWAP, CONF_SWAP_BYTE as CONF_SWAP_BYTE, CONF_SWAP_WORD as CONF_SWAP_WORD, CONF_SWAP_WORD_BYTE as CONF_SWAP_WORD_BYTE, CONF_SWING_MODE_REGISTER as CONF_SWING_MODE_REGISTER, CONF_SWING_MODE_SWING_BOTH as CONF_SWING_MODE_SWING_BOTH, CONF_SWING_MODE_SWING_HORIZ as CONF_SWING_MODE_SWING_HORIZ, CONF_SWING_MODE_SWING_OFF as CONF_SWING_MODE_SWING_OFF, CONF_SWING_MODE_SWING_ON as CONF_SWING_MODE_SWING_ON, CONF_SWING_MODE_SWING_VERT as CONF_SWING_MODE_SWING_VERT, CONF_SWING_MODE_VALUES as CONF_SWING_MODE_VALUES, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_VERIFY as CONF_VERIFY, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, CONF_WRITE_TYPE as CONF_WRITE_TYPE, CONF_ZERO_SUPPRESS as CONF_ZERO_SUPPRESS, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_HVAC_OFF_VALUE as DEFAULT_HVAC_OFF_VALUE, DEFAULT_HVAC_ON_VALUE as DEFAULT_HVAC_ON_VALUE, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DEFAULT_TEMP_UNIT as DEFAULT_TEMP_UNIT, DataType as DataType, RTUOVERTCP as RTUOVERTCP, SERIAL as SERIAL, TCP as TCP, UDP as UDP
1
+ from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_DISCRETE as CALL_TYPE_DISCRETE, CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_REGISTER_INPUT as CALL_TYPE_REGISTER_INPUT, CALL_TYPE_X_COILS as CALL_TYPE_X_COILS, CALL_TYPE_X_REGISTER_HOLDINGS as CALL_TYPE_X_REGISTER_HOLDINGS, CONF_BAUDRATE as CONF_BAUDRATE, CONF_BRIGHTNESS_REGISTER as CONF_BRIGHTNESS_REGISTER, CONF_BYTESIZE as CONF_BYTESIZE, CONF_CLIMATES as CONF_CLIMATES, CONF_COLOR_TEMP_REGISTER as CONF_COLOR_TEMP_REGISTER, CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FANS as CONF_FANS, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_ACTION_COOLING as CONF_HVAC_ACTION_COOLING, CONF_HVAC_ACTION_DEFROSTING as CONF_HVAC_ACTION_DEFROSTING, CONF_HVAC_ACTION_DRYING as CONF_HVAC_ACTION_DRYING, CONF_HVAC_ACTION_FAN as CONF_HVAC_ACTION_FAN, CONF_HVAC_ACTION_HEATING as CONF_HVAC_ACTION_HEATING, CONF_HVAC_ACTION_IDLE as CONF_HVAC_ACTION_IDLE, CONF_HVAC_ACTION_OFF as CONF_HVAC_ACTION_OFF, CONF_HVAC_ACTION_PREHEATING as CONF_HVAC_ACTION_PREHEATING, CONF_HVAC_ACTION_REGISTER as CONF_HVAC_ACTION_REGISTER, CONF_HVAC_ACTION_VALUES as CONF_HVAC_ACTION_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_OFF_VALUE as CONF_HVAC_OFF_VALUE, CONF_HVAC_ONOFF_COIL as CONF_HVAC_ONOFF_COIL, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_HVAC_ON_VALUE as CONF_HVAC_ON_VALUE, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MAX_VALUE as CONF_MAX_VALUE, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_MIN_VALUE as CONF_MIN_VALUE, CONF_MSG_WAIT as CONF_MSG_WAIT, CONF_NAN_VALUE as CONF_NAN_VALUE, CONF_PARITY as CONF_PARITY, CONF_PRECISION as CONF_PRECISION, CONF_SCALE as CONF_SCALE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, 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_STATUS_REGISTER as CONF_STATUS_REGISTER, CONF_STATUS_REGISTER_TYPE as CONF_STATUS_REGISTER_TYPE, CONF_STEP as CONF_STEP, CONF_STOPBITS as CONF_STOPBITS, CONF_SWAP as CONF_SWAP, CONF_SWAP_BYTE as CONF_SWAP_BYTE, CONF_SWAP_WORD as CONF_SWAP_WORD, CONF_SWAP_WORD_BYTE as CONF_SWAP_WORD_BYTE, CONF_SWING_MODE_REGISTER as CONF_SWING_MODE_REGISTER, CONF_SWING_MODE_SWING_BOTH as CONF_SWING_MODE_SWING_BOTH, CONF_SWING_MODE_SWING_HORIZ as CONF_SWING_MODE_SWING_HORIZ, CONF_SWING_MODE_SWING_OFF as CONF_SWING_MODE_SWING_OFF, CONF_SWING_MODE_SWING_ON as CONF_SWING_MODE_SWING_ON, CONF_SWING_MODE_SWING_VERT as CONF_SWING_MODE_SWING_VERT, CONF_SWING_MODE_VALUES as CONF_SWING_MODE_VALUES, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_VERIFY as CONF_VERIFY, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, CONF_WRITE_TYPE as CONF_WRITE_TYPE, CONF_ZERO_SUPPRESS as CONF_ZERO_SUPPRESS, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_HVAC_OFF_VALUE as DEFAULT_HVAC_OFF_VALUE, DEFAULT_HVAC_ON_VALUE as DEFAULT_HVAC_ON_VALUE, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DEFAULT_TEMP_UNIT as DEFAULT_TEMP_UNIT, DataType as DataType, RTUOVERTCP as RTUOVERTCP, SERIAL as SERIAL, TCP as TCP, UDP as UDP
2
2
  from .modbus import DATA_MODBUS_HUBS as DATA_MODBUS_HUBS, ModbusHub as ModbusHub, async_modbus_setup as async_modbus_setup
3
3
  from .validators import duplicate_fan_mode_validator as duplicate_fan_mode_validator, duplicate_swing_mode_validator as duplicate_swing_mode_validator, hvac_fixedsize_reglist_validator as hvac_fixedsize_reglist_validator, nan_validator as nan_validator, register_int_list_validator as register_int_list_validator, struct_validator as struct_validator
4
4
  from _typeshed import Incomplete
@@ -5,6 +5,8 @@ from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_BINARY_SENSOR
5
5
  CONF_BAUDRATE: str
6
6
  CONF_BYTESIZE: str
7
7
  CONF_CLIMATES: str
8
+ CONF_BRIGHTNESS_REGISTER: str
9
+ CONF_COLOR_TEMP_REGISTER: str
8
10
  CONF_DATA_TYPE: str
9
11
  CONF_DEVICE_ADDRESS: str
10
12
  CONF_FANS: str
@@ -131,3 +133,10 @@ DEFAULT_HVAC_OFF_VALUE: int
131
133
  MODBUS_DOMAIN: str
132
134
  ACTIVE_SCAN_INTERVAL: int
133
135
  PLATFORMS: Incomplete
136
+ LIGHT_DEFAULT_MIN_KELVIN: int
137
+ LIGHT_DEFAULT_MAX_KELVIN: int
138
+ LIGHT_MIN_BRIGHTNESS: int
139
+ LIGHT_MAX_BRIGHTNESS: int
140
+ LIGHT_MODBUS_SCALE_MIN: int
141
+ LIGHT_MODBUS_SCALE_MAX: int
142
+ LIGHT_MODBUS_INVALID_VALUE: int
@@ -1,7 +1,9 @@
1
1
  from . import get_hub as get_hub
2
+ from .const import CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_WRITE_REGISTER as CALL_TYPE_WRITE_REGISTER, CONF_BRIGHTNESS_REGISTER as CONF_BRIGHTNESS_REGISTER, CONF_COLOR_TEMP_REGISTER as CONF_COLOR_TEMP_REGISTER, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MIN_TEMP as CONF_MIN_TEMP, LIGHT_DEFAULT_MAX_KELVIN as LIGHT_DEFAULT_MAX_KELVIN, LIGHT_DEFAULT_MIN_KELVIN as LIGHT_DEFAULT_MIN_KELVIN, LIGHT_MAX_BRIGHTNESS as LIGHT_MAX_BRIGHTNESS, LIGHT_MODBUS_INVALID_VALUE as LIGHT_MODBUS_INVALID_VALUE, LIGHT_MODBUS_SCALE_MAX as LIGHT_MODBUS_SCALE_MAX, LIGHT_MODBUS_SCALE_MIN as LIGHT_MODBUS_SCALE_MIN
2
3
  from .entity import BaseSwitch as BaseSwitch
4
+ from .modbus import ModbusHub as ModbusHub
3
5
  from _typeshed import Incomplete
4
- from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
6
+ from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ColorMode as ColorMode, LightEntity as LightEntity
5
7
  from homeassistant.const import CONF_LIGHTS as CONF_LIGHTS, CONF_NAME as CONF_NAME
6
8
  from homeassistant.core import HomeAssistant as HomeAssistant
7
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -9,10 +11,31 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfo
9
11
  from typing import Any
10
12
 
11
13
  PARALLEL_UPDATES: int
14
+ _LOGGER: Incomplete
12
15
 
13
16
  async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_add_entities: AddEntitiesCallback, discovery_info: DiscoveryInfoType | None = None) -> None: ...
14
17
 
15
18
  class ModbusLight(BaseSwitch, LightEntity):
19
+ _brightness_address: int | None
20
+ _color_temp_address: int | None
16
21
  _attr_color_mode: Incomplete
17
22
  _attr_supported_color_modes: Incomplete
23
+ _attr_min_color_temp_kelvin: Incomplete
24
+ _attr_max_color_temp_kelvin: Incomplete
25
+ def __init__(self, hass: HomeAssistant, hub: ModbusHub, config: dict[str, Any]) -> None: ...
26
+ _attr_brightness: Incomplete
27
+ _attr_color_temp_kelvin: Incomplete
28
+ async def async_added_to_hass(self) -> None: ...
29
+ @staticmethod
30
+ def _detect_color_mode(config: dict[str, Any]) -> ColorMode: ...
18
31
  async def async_turn_on(self, **kwargs: Any) -> None: ...
32
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
33
+ async def async_set_brightness(self, brightness: int) -> None: ...
34
+ async def async_set_color_temp(self, color_temp_kelvin: int) -> None: ...
35
+ async def _async_update(self) -> None: ...
36
+ @staticmethod
37
+ def _convert_modbus_percent_to_brightness(percent: int) -> int: ...
38
+ def _convert_modbus_percent_to_temperature(self, percent: int) -> int: ...
39
+ @staticmethod
40
+ def _convert_brightness_to_modbus(brightness: int) -> int: ...
41
+ def _convert_color_temp_to_modbus(self, kelvin: int) -> int: ...
@@ -18,7 +18,7 @@ async def async_setup_platform(hass: HomeAssistant, config: ConfigType, async_ad
18
18
 
19
19
  class ModbusRegisterSensor(BaseStructPlatform, RestoreSensor, SensorEntity):
20
20
  _count: Incomplete
21
- _coordinator: DataUpdateCoordinator[list[float] | None] | None
21
+ _coordinator: DataUpdateCoordinator[list[float | None] | None] | None
22
22
  _attr_native_unit_of_measurement: Incomplete
23
23
  _attr_state_class: Incomplete
24
24
  _attr_device_class: Incomplete
@@ -30,7 +30,9 @@ class ModbusRegisterSensor(BaseStructPlatform, RestoreSensor, SensorEntity):
30
30
  _attr_available: bool
31
31
  async def _async_update(self) -> None: ...
32
32
 
33
- class SlaveSensor(CoordinatorEntity[DataUpdateCoordinator[list[float] | None]], RestoreSensor, SensorEntity):
33
+ class SlaveSensor(CoordinatorEntity[DataUpdateCoordinator[list[float | None] | None]], RestoreSensor, SensorEntity):
34
+ @property
35
+ def available(self) -> bool: ...
34
36
  _idx: Incomplete
35
37
  _attr_name: Incomplete
36
38
  _attr_unique_id: Incomplete
@@ -38,7 +40,7 @@ class SlaveSensor(CoordinatorEntity[DataUpdateCoordinator[list[float] | None]],
38
40
  _attr_state_class: Incomplete
39
41
  _attr_device_class: Incomplete
40
42
  _attr_available: bool
41
- def __init__(self, coordinator: DataUpdateCoordinator[list[float] | None], idx: int, entry: dict[str, Any]) -> None: ...
43
+ def __init__(self, coordinator: DataUpdateCoordinator[list[float | None] | None], idx: int, entry: dict[str, Any]) -> None: ...
42
44
  _attr_native_value: Incomplete
43
45
  async def async_added_to_hass(self) -> None: ...
44
46
  @callback
@@ -1,7 +1,7 @@
1
1
  import voluptuous as vol
2
2
  from . import subscription as subscription
3
3
  from .config import MQTT_RO_SCHEMA as MQTT_RO_SCHEMA
4
- from .const import CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_NONE as PAYLOAD_NONE
4
+ from .const import CONF_OFF_DELAY as CONF_OFF_DELAY, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_NONE as PAYLOAD_NONE
5
5
  from .entity import MqttAvailabilityMixin as MqttAvailabilityMixin, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
6
6
  from .models import MqttValueTemplate as MqttValueTemplate, ReceiveMessage as ReceiveMessage
7
7
  from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
@@ -21,7 +21,6 @@ from typing import Any
21
21
  _LOGGER: Incomplete
22
22
  PARALLEL_UPDATES: int
23
23
  DEFAULT_NAME: str
24
- CONF_OFF_DELAY: str
25
24
  DEFAULT_PAYLOAD_OFF: str
26
25
  DEFAULT_PAYLOAD_ON: str
27
26
  DEFAULT_FORCE_UPDATE: bool
@@ -1,6 +1,6 @@
1
1
  import voluptuous as vol
2
2
  from .config import DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_BASE_SCHEMA as MQTT_BASE_SCHEMA
3
- from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_RETAIN as CONF_RETAIN
3
+ from .const import CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_PAYLOAD_PRESS as CONF_PAYLOAD_PRESS, CONF_RETAIN as CONF_RETAIN, DEFAULT_PAYLOAD_PRESS as DEFAULT_PAYLOAD_PRESS
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
6
6
  from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
@@ -15,9 +15,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
15
15
  from homeassistant.helpers.typing import ConfigType as ConfigType
16
16
 
17
17
  PARALLEL_UPDATES: int
18
- CONF_PAYLOAD_PRESS: str
19
18
  DEFAULT_NAME: str
20
- DEFAULT_PAYLOAD_PRESS: str
21
19
  PLATFORM_SCHEMA_MODERN: Incomplete
22
20
  DISCOVERY_SCHEMA: Incomplete
23
21
 
@@ -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
19
  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
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