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
@@ -0,0 +1,17 @@
1
+ import logging
2
+ from .const import DOMAIN as DOMAIN
3
+ from collections.abc import Mapping
4
+ from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
5
+ from homeassistant.helpers import config_entry_oauth2_flow as config_entry_oauth2_flow
6
+ from typing import Any
7
+
8
+ class OAuth2FlowHandler(config_entry_oauth2_flow.AbstractOAuth2FlowHandler, domain=DOMAIN):
9
+ DOMAIN = DOMAIN
10
+ @property
11
+ def logger(self) -> logging.Logger: ...
12
+ @property
13
+ def extra_authorize_data(self) -> dict: ...
14
+ async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
15
+ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
16
+ async def async_step_reconfigure(self, user_input: Mapping[str, Any] | None = None) -> ConfigFlowResult: ...
17
+ async def async_oauth_create_entry(self, data: dict) -> ConfigFlowResult: ...
@@ -0,0 +1,127 @@
1
+ from _typeshed import Incomplete
2
+ from enum import IntEnum
3
+ from pymiele import MieleEnum
4
+
5
+ DOMAIN: str
6
+ MANUFACTURER: str
7
+ ACTIONS: str
8
+ POWER_ON: str
9
+ POWER_OFF: str
10
+ PROCESS_ACTION: str
11
+ PROGRAM_ID: str
12
+ VENTILATION_STEP: str
13
+ TARGET_TEMPERATURE: str
14
+ AMBIENT_LIGHT: str
15
+ LIGHT: str
16
+ LIGHT_ON: int
17
+ LIGHT_OFF: int
18
+ DISABLED_TEMP_ENTITIES: Incomplete
19
+
20
+ class MieleAppliance(IntEnum):
21
+ WASHING_MACHINE = 1
22
+ TUMBLE_DRYER = 2
23
+ WASHING_MACHINE_SEMI_PROFESSIONAL = 3
24
+ TUMBLE_DRYER_SEMI_PROFESSIONAL = 4
25
+ WASHING_MACHINE_PROFESSIONAL = 5
26
+ DRYER_PROFESSIONAL = 6
27
+ DISHWASHER = 7
28
+ DISHWASHER_SEMI_PROFESSIONAL = 8
29
+ DISHWASHER_PROFESSIONAL = 9
30
+ OVEN = 12
31
+ OVEN_MICROWAVE = 13
32
+ HOB_HIGHLIGHT = 14
33
+ STEAM_OVEN = 15
34
+ MICROWAVE = 16
35
+ COFFEE_SYSTEM = 17
36
+ HOOD = 18
37
+ FRIDGE = 19
38
+ FREEZER = 20
39
+ FRIDGE_FREEZER = 21
40
+ ROBOT_VACUUM_CLEANER = 23
41
+ WASHER_DRYER = 24
42
+ DISH_WARMER = 25
43
+ HOB_INDUCTION = 27
44
+ STEAM_OVEN_COMBI = 31
45
+ WINE_CABINET = 32
46
+ WINE_CONDITIONING_UNIT = 33
47
+ WINE_STORAGE_CONDITIONING_UNIT = 34
48
+ STEAM_OVEN_MICRO = 45
49
+ DIALOG_OVEN = 67
50
+ WINE_CABINET_FREEZER = 68
51
+ STEAM_OVEN_MK2 = 73
52
+ HOB_INDUCT_EXTR = 74
53
+
54
+ DEVICE_TYPE_TAGS: Incomplete
55
+
56
+ class StateStatus(IntEnum):
57
+ RESERVED = 0
58
+ OFF = 1
59
+ ON = 2
60
+ PROGRAMMED = 3
61
+ WAITING_TO_START = 4
62
+ IN_USE = 5
63
+ PAUSE = 6
64
+ PROGRAM_ENDED = 7
65
+ FAILURE = 8
66
+ PROGRAM_INTERRUPTED = 9
67
+ IDLE = 10
68
+ RINSE_HOLD = 11
69
+ SERVICE = 12
70
+ SUPERFREEZING = 13
71
+ SUPERCOOLING = 14
72
+ SUPERHEATING = 15
73
+ SUPERCOOLING_SUPERFREEZING = 146
74
+ AUTOCLEANING = 147
75
+ NOT_CONNECTED = 255
76
+
77
+ STATE_STATUS_TAGS: Incomplete
78
+
79
+ class MieleActions(IntEnum):
80
+ START = 1
81
+ STOP = 2
82
+ PAUSE = 3
83
+ START_SUPERFREEZE = 4
84
+ STOP_SUPERFREEZE = 5
85
+ START_SUPERCOOL = 6
86
+ STOP_SUPERCOOL = 7
87
+
88
+ PROCESS_ACTIONS: Incomplete
89
+ STATE_PROGRAM_PHASE_WASHING_MACHINE: Incomplete
90
+ STATE_PROGRAM_PHASE_TUMBLE_DRYER: Incomplete
91
+ STATE_PROGRAM_PHASE_DISHWASHER: Incomplete
92
+ STATE_PROGRAM_PHASE_OVEN: Incomplete
93
+ STATE_PROGRAM_PHASE_WARMING_DRAWER: Incomplete
94
+ STATE_PROGRAM_PHASE_MICROWAVE: Incomplete
95
+ STATE_PROGRAM_PHASE_COFFEE_SYSTEM: Incomplete
96
+ STATE_PROGRAM_PHASE_ROBOT_VACUUM_CLEANER: Incomplete
97
+ STATE_PROGRAM_PHASE_STEAM_OVEN: Incomplete
98
+ STATE_PROGRAM_PHASE: dict[int, dict[int, str]]
99
+
100
+ class StateProgramType(MieleEnum):
101
+ normal_operation_mode: int
102
+ own_program: int
103
+ automatic_program: int
104
+ cleaning_care_program: int
105
+ maintenance_program: int
106
+ missing2none: int
107
+
108
+ class StateDryingStep(MieleEnum):
109
+ extra_dry: int
110
+ normal_plus: int
111
+ normal: int
112
+ slightly_dry: int
113
+ hand_iron_1: int
114
+ hand_iron_2: int
115
+ machine_iron: int
116
+ smoothing: int
117
+ missing2none: int
118
+
119
+ WASHING_MACHINE_PROGRAM_ID: dict[int, str]
120
+ DISHWASHER_PROGRAM_ID: dict[int, str]
121
+ TUMBLE_DRYER_PROGRAM_ID: dict[int, str]
122
+ OVEN_PROGRAM_ID: dict[int, str]
123
+ DISH_WARMER_PROGRAM_ID: dict[int, str]
124
+ ROBOT_VACUUM_CLEANER_PROGRAM_ID: dict[int, str]
125
+ COFFEE_SYSTEM_PROGRAM_ID: dict[int, str]
126
+ STEAM_OVEN_MICRO_PROGRAM_ID: dict[int, str]
127
+ STATE_PROGRAM_ID: dict[int, dict[int, str]]
@@ -0,0 +1,29 @@
1
+ from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
2
+ from .const import DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
9
+ from pymiele import MieleAction, MieleDevice
10
+
11
+ _LOGGER: Incomplete
12
+ type MieleConfigEntry = ConfigEntry[MieleDataUpdateCoordinator]
13
+
14
+ @dataclass
15
+ class MieleCoordinatorData:
16
+ devices: dict[str, MieleDevice]
17
+ actions: dict[str, MieleAction]
18
+
19
+ class MieleDataUpdateCoordinator(DataUpdateCoordinator[MieleCoordinatorData]):
20
+ config_entry: MieleConfigEntry
21
+ new_device_callbacks: list[Callable[[dict[str, MieleDevice]], None]]
22
+ known_devices: set[str]
23
+ devices: dict[str, MieleDevice]
24
+ api: Incomplete
25
+ def __init__(self, hass: HomeAssistant, api: AsyncConfigEntryAuth) -> None: ...
26
+ async def _async_update_data(self) -> MieleCoordinatorData: ...
27
+ def async_add_devices(self, added_devices: set[str]) -> tuple[set[str], set[str]]: ...
28
+ async def callback_update_data(self, devices_json: dict[str, dict]) -> None: ...
29
+ async def callback_update_actions(self, actions_json: dict[str, dict]) -> None: ...
@@ -0,0 +1,13 @@
1
+ from .coordinator import MieleConfigEntry as MieleConfigEntry
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry
6
+ from typing import Any
7
+
8
+ TO_REDACT: Incomplete
9
+
10
+ def hash_identifier(key: str) -> str: ...
11
+ def redact_identifiers(in_data: dict[str, Any]) -> dict[str, Any]: ...
12
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: MieleConfigEntry) -> dict[str, Any]: ...
13
+ async def async_get_device_diagnostics(hass: HomeAssistant, config_entry: MieleConfigEntry, device: DeviceEntry) -> dict[str, Any]: ...
@@ -0,0 +1,24 @@
1
+ from .api import AsyncConfigEntryAuth as AsyncConfigEntryAuth
2
+ from .const import DEVICE_TYPE_TAGS as DEVICE_TYPE_TAGS, DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, MieleAppliance as MieleAppliance, StateStatus as StateStatus
3
+ from .coordinator import MieleDataUpdateCoordinator as MieleDataUpdateCoordinator
4
+ from _typeshed import Incomplete
5
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
6
+ from homeassistant.helpers.entity import EntityDescription as EntityDescription
7
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
+ from pymiele import MieleAction as MieleAction, MieleDevice as MieleDevice
9
+
10
+ class MieleEntity(CoordinatorEntity[MieleDataUpdateCoordinator]):
11
+ _attr_has_entity_name: bool
12
+ _device_id: Incomplete
13
+ entity_description: Incomplete
14
+ _attr_unique_id: Incomplete
15
+ _attr_device_info: Incomplete
16
+ def __init__(self, coordinator: MieleDataUpdateCoordinator, device_id: str, description: EntityDescription) -> None: ...
17
+ @property
18
+ def device(self) -> MieleDevice: ...
19
+ @property
20
+ def action(self) -> MieleAction: ...
21
+ @property
22
+ def api(self) -> AsyncConfigEntryAuth: ...
23
+ @property
24
+ def available(self) -> bool: ...
@@ -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