homeassistant-stubs 2025.4.4__py3-none-any.whl → 2025.5.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. homeassistant-stubs/components/adax/__init__.pyi +5 -4
  2. homeassistant-stubs/components/adax/climate.pyi +25 -17
  3. homeassistant-stubs/components/adax/const.pyi +2 -0
  4. homeassistant-stubs/components/adax/coordinator.pyi +21 -0
  5. homeassistant-stubs/components/androidtv_remote/media_player.pyi +1 -1
  6. homeassistant-stubs/components/apcupsd/binary_sensor.pyi +1 -1
  7. homeassistant-stubs/components/apcupsd/coordinator.pyi +2 -0
  8. homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
  9. homeassistant-stubs/components/apsystems/coordinator.pyi +1 -0
  10. homeassistant-stubs/components/apsystems/switch.pyi +1 -1
  11. homeassistant-stubs/components/asuswrt/router.pyi +2 -3
  12. homeassistant-stubs/components/automation/__init__.pyi +2 -2
  13. homeassistant-stubs/components/automation/config.pyi +2 -2
  14. homeassistant-stubs/components/automation/const.pyi +0 -4
  15. homeassistant-stubs/components/axis/hub/api.pyi +2 -2
  16. homeassistant-stubs/components/backup/config.pyi +10 -2
  17. homeassistant-stubs/components/backup/onboarding.pyi +30 -0
  18. homeassistant-stubs/components/bluetooth/passive_update_processor.pyi +3 -0
  19. homeassistant-stubs/components/bluetooth/storage.pyi +1 -1
  20. homeassistant-stubs/components/bond/config_flow.pyi +3 -0
  21. homeassistant-stubs/components/bosch_alarm/__init__.pyi +1 -1
  22. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +2 -11
  23. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +5 -1
  24. homeassistant-stubs/components/bosch_alarm/diagnostics.pyi +11 -0
  25. homeassistant-stubs/components/bosch_alarm/entity.pyi +29 -0
  26. homeassistant-stubs/components/bosch_alarm/sensor.pyi +30 -0
  27. homeassistant-stubs/components/cambridge_audio/media_player.pyi +2 -0
  28. homeassistant-stubs/components/canary/__init__.pyi +1 -5
  29. homeassistant-stubs/components/canary/config_flow.pyi +0 -1
  30. homeassistant-stubs/components/cloud/const.pyi +1 -0
  31. homeassistant-stubs/components/cloud/http_api.pyi +1 -1
  32. homeassistant-stubs/components/cloud/onboarding.pyi +35 -0
  33. homeassistant-stubs/components/cloud/tts.pyi +3 -1
  34. homeassistant-stubs/components/comelit/__init__.pyi +1 -0
  35. homeassistant-stubs/components/comelit/alarm_control_panel.pyi +0 -1
  36. homeassistant-stubs/components/comelit/binary_sensor.pyi +0 -1
  37. homeassistant-stubs/components/comelit/climate.pyi +2 -7
  38. homeassistant-stubs/components/comelit/config_flow.pyi +1 -0
  39. homeassistant-stubs/components/comelit/coordinator.pyi +3 -2
  40. homeassistant-stubs/components/comelit/cover.pyi +2 -7
  41. homeassistant-stubs/components/comelit/entity.pyi +11 -0
  42. homeassistant-stubs/components/comelit/humidifier.pyi +2 -6
  43. homeassistant-stubs/components/comelit/light.pyi +2 -9
  44. homeassistant-stubs/components/comelit/sensor.pyi +2 -7
  45. homeassistant-stubs/components/comelit/switch.pyi +2 -6
  46. homeassistant-stubs/components/comelit/utils.pyi +5 -0
  47. homeassistant-stubs/components/command_line/__init__.pyi +1 -1
  48. homeassistant-stubs/components/command_line/binary_sensor.pyi +2 -2
  49. homeassistant-stubs/components/command_line/cover.pyi +2 -2
  50. homeassistant-stubs/components/command_line/sensor.pyi +2 -2
  51. homeassistant-stubs/components/command_line/switch.pyi +2 -2
  52. homeassistant-stubs/components/config/config_entries.pyi +3 -1
  53. homeassistant-stubs/components/demo/light.pyi +3 -2
  54. homeassistant-stubs/components/demo/media_player.pyi +4 -0
  55. homeassistant-stubs/components/device_tracker/config_entry.pyi +2 -2
  56. homeassistant-stubs/components/devolo_home_control/__init__.pyi +2 -2
  57. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +1 -2
  58. homeassistant-stubs/components/dhcp/__init__.pyi +6 -13
  59. homeassistant-stubs/components/dhcp/const.pyi +5 -0
  60. homeassistant-stubs/components/dhcp/helpers.pyi +8 -0
  61. homeassistant-stubs/components/dhcp/models.pyi +25 -0
  62. homeassistant-stubs/components/dhcp/websocket_api.pyi +13 -0
  63. homeassistant-stubs/components/ecovacs/image.pyi +1 -0
  64. homeassistant-stubs/components/eheimdigital/number.pyi +38 -0
  65. homeassistant-stubs/components/eheimdigital/sensor.pyi +32 -0
  66. homeassistant-stubs/components/eheimdigital/switch.pyi +26 -0
  67. homeassistant-stubs/components/eheimdigital/time.pyi +37 -0
  68. homeassistant-stubs/components/elevenlabs/tts.pyi +2 -2
  69. homeassistant-stubs/components/energy/sensor.pyi +5 -0
  70. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +3 -1
  71. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +12 -1
  72. homeassistant-stubs/components/esphome/__init__.pyi +5 -4
  73. homeassistant-stubs/components/esphome/alarm_control_panel.pyi +1 -0
  74. homeassistant-stubs/components/esphome/assist_satellite.pyi +7 -6
  75. homeassistant-stubs/components/esphome/binary_sensor.pyi +5 -13
  76. homeassistant-stubs/components/esphome/button.pyi +2 -0
  77. homeassistant-stubs/components/esphome/camera.pyi +2 -0
  78. homeassistant-stubs/components/esphome/climate.pyi +1 -0
  79. homeassistant-stubs/components/esphome/config_flow.pyi +25 -5
  80. homeassistant-stubs/components/esphome/const.pyi +2 -1
  81. homeassistant-stubs/components/esphome/coordinator.pyi +4 -3
  82. homeassistant-stubs/components/esphome/cover.pyi +2 -0
  83. homeassistant-stubs/components/esphome/dashboard.pyi +1 -1
  84. homeassistant-stubs/components/esphome/date.pyi +2 -0
  85. homeassistant-stubs/components/esphome/datetime.pyi +2 -0
  86. homeassistant-stubs/components/esphome/diagnostics.pyi +2 -0
  87. homeassistant-stubs/components/esphome/entity.pyi +12 -9
  88. homeassistant-stubs/components/esphome/event.pyi +2 -0
  89. homeassistant-stubs/components/esphome/fan.pyi +4 -3
  90. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +10 -2
  91. homeassistant-stubs/components/esphome/light.pyi +8 -7
  92. homeassistant-stubs/components/esphome/lock.pyi +6 -4
  93. homeassistant-stubs/components/esphome/manager.pyi +7 -3
  94. homeassistant-stubs/components/esphome/media_player.pyi +2 -1
  95. homeassistant-stubs/components/esphome/number.pyi +1 -0
  96. homeassistant-stubs/components/esphome/repairs.pyi +21 -2
  97. homeassistant-stubs/components/esphome/select.pyi +3 -2
  98. homeassistant-stubs/components/esphome/sensor.pyi +4 -2
  99. homeassistant-stubs/components/esphome/switch.pyi +3 -1
  100. homeassistant-stubs/components/esphome/text.pyi +1 -0
  101. homeassistant-stubs/components/esphome/time.pyi +2 -0
  102. homeassistant-stubs/components/esphome/update.pyi +8 -8
  103. homeassistant-stubs/components/esphome/valve.pyi +3 -1
  104. homeassistant-stubs/components/fritz/binary_sensor.pyi +1 -0
  105. homeassistant-stubs/components/fritz/button.pyi +1 -0
  106. homeassistant-stubs/components/fritz/coordinator.pyi +3 -4
  107. homeassistant-stubs/components/fritz/device_tracker.pyi +1 -0
  108. homeassistant-stubs/components/fritz/image.pyi +1 -0
  109. homeassistant-stubs/components/fritz/sensor.pyi +1 -0
  110. homeassistant-stubs/components/fritz/switch.pyi +1 -0
  111. homeassistant-stubs/components/fritz/update.pyi +1 -0
  112. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +2 -5
  113. homeassistant-stubs/components/fritzbox/climate.pyi +3 -3
  114. homeassistant-stubs/components/fritzbox/coordinator.pyi +1 -1
  115. homeassistant-stubs/components/fritzbox/sensor.pyi +3 -6
  116. homeassistant-stubs/components/heos/const.pyi +4 -0
  117. homeassistant-stubs/components/heos/media_player.pyi +5 -4
  118. homeassistant-stubs/components/heos/services.pyi +22 -2
  119. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  120. homeassistant-stubs/components/history_stats/data.pyi +2 -1
  121. homeassistant-stubs/components/home_connect/__init__.pyi +0 -1
  122. homeassistant-stubs/components/home_connect/binary_sensor.pyi +2 -13
  123. homeassistant-stubs/components/home_connect/coordinator.pyi +5 -0
  124. homeassistant-stubs/components/home_connect/repairs.pyi +10 -0
  125. homeassistant-stubs/components/home_connect/select.pyi +6 -2
  126. homeassistant-stubs/components/home_connect/sensor.pyi +5 -3
  127. homeassistant-stubs/components/homee/climate.pyi +47 -0
  128. homeassistant-stubs/components/homee/const.pyi +1 -0
  129. homeassistant-stubs/components/homee/number.pyi +12 -4
  130. homeassistant-stubs/components/homekit/__init__.pyi +5 -3
  131. homeassistant-stubs/components/homekit/accessories.pyi +2 -1
  132. homeassistant-stubs/components/homekit/const.pyi +13 -0
  133. homeassistant-stubs/components/homekit/type_air_purifiers.pyi +69 -0
  134. homeassistant-stubs/components/homekit/type_fans.pyi +7 -4
  135. homeassistant-stubs/components/homekit/type_media_players.pyi +2 -1
  136. homeassistant-stubs/components/homekit/type_switches.pyi +1 -1
  137. homeassistant-stubs/components/homekit/type_triggers.pyi +1 -1
  138. homeassistant-stubs/components/homekit/util.pyi +2 -1
  139. homeassistant-stubs/components/http/headers.pyi +6 -0
  140. homeassistant-stubs/components/huawei_lte/binary_sensor.pyi +3 -1
  141. homeassistant-stubs/components/huawei_lte/config_flow.pyi +1 -1
  142. homeassistant-stubs/components/huawei_lte/entity.pyi +0 -3
  143. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -0
  144. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -1
  145. homeassistant-stubs/components/hyperion/__init__.pyi +12 -5
  146. homeassistant-stubs/components/hyperion/camera.pyi +3 -4
  147. homeassistant-stubs/components/hyperion/const.pyi +0 -3
  148. homeassistant-stubs/components/hyperion/light.pyi +4 -6
  149. homeassistant-stubs/components/hyperion/sensor.pyi +3 -4
  150. homeassistant-stubs/components/hyperion/switch.pyi +3 -4
  151. homeassistant-stubs/components/incomfort/climate.pyi +1 -2
  152. homeassistant-stubs/components/iron_os/__init__.pyi +1 -3
  153. homeassistant-stubs/components/iron_os/config_flow.pyi +3 -0
  154. homeassistant-stubs/components/iron_os/coordinator.pyi +4 -2
  155. homeassistant-stubs/components/iron_os/entity.pyi +2 -0
  156. homeassistant-stubs/components/iron_os/update.pyi +4 -2
  157. homeassistant-stubs/components/isy994/entity.pyi +1 -0
  158. homeassistant-stubs/components/isy994/services.pyi +1 -0
  159. homeassistant-stubs/components/isy994/switch.pyi +1 -1
  160. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +1 -2
  161. homeassistant-stubs/components/jewish_calendar/const.pyi +1 -0
  162. homeassistant-stubs/components/jewish_calendar/entity.pyi +0 -1
  163. homeassistant-stubs/components/jewish_calendar/sensor.pyi +1 -0
  164. homeassistant-stubs/components/jewish_calendar/service.pyi +4 -3
  165. homeassistant-stubs/components/kulersky/__init__.pyi +14 -0
  166. homeassistant-stubs/components/kulersky/config_flow.pyi +17 -0
  167. homeassistant-stubs/components/kulersky/const.pyi +4 -0
  168. homeassistant-stubs/components/kulersky/light.pyi +34 -0
  169. homeassistant-stubs/components/lamarzocco/__init__.pyi +4 -2
  170. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +3 -7
  171. homeassistant-stubs/components/lamarzocco/calendar.pyi +3 -4
  172. homeassistant-stubs/components/lamarzocco/config_flow.pyi +4 -3
  173. homeassistant-stubs/components/lamarzocco/coordinator.pyi +13 -16
  174. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -8
  175. homeassistant-stubs/components/lamarzocco/entity.pyi +1 -5
  176. homeassistant-stubs/components/lamarzocco/number.pyi +4 -29
  177. homeassistant-stubs/components/lamarzocco/select.pyi +3 -8
  178. homeassistant-stubs/components/lamarzocco/sensor.pyi +11 -24
  179. homeassistant-stubs/components/lamarzocco/switch.pyi +6 -5
  180. homeassistant-stubs/components/lamarzocco/update.pyi +4 -1
  181. homeassistant-stubs/components/lcn/__init__.pyi +4 -3
  182. homeassistant-stubs/components/lcn/entity.pyi +3 -3
  183. homeassistant-stubs/components/lcn/helpers.pyi +2 -2
  184. homeassistant-stubs/components/lcn/websocket.pyi +1 -1
  185. homeassistant-stubs/components/linkplay/__init__.pyi +1 -1
  186. homeassistant-stubs/components/linkplay/const.pyi +8 -2
  187. homeassistant-stubs/components/linkplay/media_player.pyi +6 -4
  188. homeassistant-stubs/components/logbook/websocket_api.pyi +1 -1
  189. homeassistant-stubs/components/logger/__init__.pyi +1 -1
  190. homeassistant-stubs/components/logger/helpers.pyi +4 -2
  191. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  192. homeassistant-stubs/components/matter/entity.pyi +1 -0
  193. homeassistant-stubs/components/matter/select.pyi +1 -1
  194. homeassistant-stubs/components/matter/sensor.pyi +3 -1
  195. homeassistant-stubs/components/matter/switch.pyi +20 -0
  196. homeassistant-stubs/components/matter/water_heater.pyi +39 -0
  197. homeassistant-stubs/components/mcp/application_credentials.pyi +12 -0
  198. homeassistant-stubs/components/mcp/config_flow.pyi +27 -6
  199. homeassistant-stubs/components/mcp/const.pyi +3 -0
  200. homeassistant-stubs/components/mcp/coordinator.pyi +8 -5
  201. homeassistant-stubs/components/media_player/__init__.pyi +7 -3
  202. homeassistant-stubs/components/media_player/browse_media.pyi +16 -1
  203. homeassistant-stubs/components/media_player/const.pyi +4 -0
  204. homeassistant-stubs/components/media_player/errors.pyi +1 -0
  205. homeassistant-stubs/components/media_source/error.pyi +1 -0
  206. homeassistant-stubs/components/met_eireann/__init__.pyi +2 -2
  207. homeassistant-stubs/components/met_eireann/weather.pyi +3 -3
  208. homeassistant-stubs/components/mjpeg/config_flow.pyi +2 -2
  209. homeassistant-stubs/components/motionmount/select.pyi +1 -1
  210. homeassistant-stubs/components/mqtt/config_flow.pyi +18 -4
  211. homeassistant-stubs/components/mqtt/const.pyi +3 -0
  212. homeassistant-stubs/components/mqtt/device_tracker.pyi +11 -14
  213. homeassistant-stubs/components/mqtt/entity.pyi +3 -0
  214. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +1 -2
  215. homeassistant-stubs/components/mqtt/light/schema_json.pyi +3 -2
  216. homeassistant-stubs/components/music_assistant/media_browser.pyi +17 -2
  217. homeassistant-stubs/components/music_assistant/media_player.pyi +3 -2
  218. homeassistant-stubs/components/network/__init__.pyi +2 -0
  219. homeassistant-stubs/components/ntfy/__init__.pyi +16 -0
  220. homeassistant-stubs/components/ntfy/config_flow.pyi +29 -0
  221. homeassistant-stubs/components/ntfy/const.pyi +6 -0
  222. homeassistant-stubs/components/ntfy/diagnostics.pyi +7 -0
  223. homeassistant-stubs/components/ntfy/notify.pyi +25 -0
  224. homeassistant-stubs/components/nut/__init__.pyi +7 -3
  225. homeassistant-stubs/components/nut/config_flow.pyi +11 -14
  226. homeassistant-stubs/components/nut/const.pyi +0 -1
  227. homeassistant-stubs/components/nut/device_action.pyi +5 -1
  228. homeassistant-stubs/components/nut/sensor.pyi +6 -3
  229. homeassistant-stubs/components/ohme/__init__.pyi +15 -0
  230. homeassistant-stubs/components/ohme/button.pyi +26 -0
  231. homeassistant-stubs/components/ohme/config_flow.pyi +17 -0
  232. homeassistant-stubs/components/ohme/const.pyi +5 -0
  233. homeassistant-stubs/components/ohme/coordinator.pyi +44 -0
  234. homeassistant-stubs/components/ohme/diagnostics.pyi +5 -0
  235. homeassistant-stubs/components/ohme/entity.pyi +23 -0
  236. homeassistant-stubs/components/ohme/number.pyi +30 -0
  237. homeassistant-stubs/components/ohme/select.pyi +33 -0
  238. homeassistant-stubs/components/ohme/sensor.pyi +26 -0
  239. homeassistant-stubs/components/ohme/services.pyi +19 -0
  240. homeassistant-stubs/components/ohme/switch.pyi +45 -0
  241. homeassistant-stubs/components/ohme/time.pyi +30 -0
  242. homeassistant-stubs/components/onboarding/__init__.pyi +1 -0
  243. homeassistant-stubs/components/onboarding/views.pyi +29 -43
  244. homeassistant-stubs/components/oncue/__init__.pyi +5 -11
  245. homeassistant-stubs/components/oncue/config_flow.pyi +2 -13
  246. homeassistant-stubs/components/onewire/sensor.pyi +1 -2
  247. homeassistant-stubs/components/onkyo/config_flow.pyi +2 -3
  248. homeassistant-stubs/components/onkyo/const.pyi +0 -2
  249. homeassistant-stubs/components/onkyo/media_player.pyi +3 -14
  250. homeassistant-stubs/components/openai_conversation/config_flow.pyi +3 -3
  251. homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
  252. homeassistant-stubs/components/openai_conversation/conversation.pyi +1 -1
  253. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +4 -1
  254. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_towel_dryer.pyi +2 -1
  255. homeassistant-stubs/components/overkiz/config_flow.pyi +1 -7
  256. homeassistant-stubs/components/overkiz/entity.pyi +2 -1
  257. homeassistant-stubs/components/overkiz/number.pyi +1 -1
  258. homeassistant-stubs/components/overkiz/sensor.pyi +1 -1
  259. homeassistant-stubs/components/pegel_online/__init__.pyi +13 -0
  260. homeassistant-stubs/components/pegel_online/config_flow.pyi +15 -0
  261. homeassistant-stubs/components/pegel_online/const.pyi +6 -0
  262. homeassistant-stubs/components/pegel_online/coordinator.pyi +16 -0
  263. homeassistant-stubs/components/pegel_online/diagnostics.pyi +5 -0
  264. homeassistant-stubs/components/pegel_online/entity.pyi +12 -0
  265. homeassistant-stubs/components/pegel_online/sensor.pyi +28 -0
  266. homeassistant-stubs/components/powerwall/sensor.pyi +0 -1
  267. homeassistant-stubs/components/recorder/core.pyi +2 -0
  268. homeassistant-stubs/components/recorder/entity_registry.pyi +2 -1
  269. homeassistant-stubs/components/recorder/tasks.pyi +2 -1
  270. homeassistant-stubs/components/renault/binary_sensor.pyi +8 -2
  271. homeassistant-stubs/components/renault/config_flow.pyi +2 -1
  272. homeassistant-stubs/components/renault/const.pyi +2 -1
  273. homeassistant-stubs/components/renault/coordinator.pyi +4 -1
  274. homeassistant-stubs/components/renault/entity.pyi +2 -0
  275. homeassistant-stubs/components/renault/renault_hub.pyi +5 -2
  276. homeassistant-stubs/components/renault/renault_vehicle.pyi +5 -2
  277. homeassistant-stubs/components/renault/services.pyi +5 -0
  278. homeassistant-stubs/components/rest/binary_sensor.pyi +2 -2
  279. homeassistant-stubs/components/rest/schema.pyi +1 -1
  280. homeassistant-stubs/components/rest/sensor.pyi +2 -2
  281. homeassistant-stubs/components/rest/switch.pyi +4 -3
  282. homeassistant-stubs/components/roborock/__init__.pyi +1 -0
  283. homeassistant-stubs/components/roborock/config_flow.pyi +1 -0
  284. homeassistant-stubs/components/samsungtv/__init__.pyi +6 -7
  285. homeassistant-stubs/components/samsungtv/config_flow.pyi +1 -1
  286. homeassistant-stubs/components/samsungtv/entity.pyi +3 -2
  287. homeassistant-stubs/components/samsungtv/media_player.pyi +1 -2
  288. homeassistant-stubs/components/samsungtv/remote.pyi +2 -2
  289. homeassistant-stubs/components/scrape/__init__.pyi +1 -1
  290. homeassistant-stubs/components/scrape/sensor.pyi +4 -5
  291. homeassistant-stubs/components/shelly/__init__.pyi +1 -0
  292. homeassistant-stubs/components/shelly/climate.pyi +2 -1
  293. homeassistant-stubs/components/shelly/const.pyi +2 -0
  294. homeassistant-stubs/components/shelly/coordinator.pyi +1 -0
  295. homeassistant-stubs/components/shelly/entity.pyi +5 -2
  296. homeassistant-stubs/components/shelly/number.pyi +4 -3
  297. homeassistant-stubs/components/shelly/repairs.pyi +19 -0
  298. homeassistant-stubs/components/shelly/select.pyi +3 -1
  299. homeassistant-stubs/components/shelly/text.pyi +4 -1
  300. homeassistant-stubs/components/shelly/utils.pyi +2 -3
  301. homeassistant-stubs/components/smlight/binary_sensor.pyi +1 -0
  302. homeassistant-stubs/components/smlight/button.pyi +1 -0
  303. homeassistant-stubs/components/smlight/sensor.pyi +2 -0
  304. homeassistant-stubs/components/smlight/switch.pyi +1 -0
  305. homeassistant-stubs/components/smlight/update.pyi +3 -1
  306. homeassistant-stubs/components/smtp/__init__.pyi +0 -0
  307. homeassistant-stubs/components/smtp/const.pyi +17 -0
  308. homeassistant-stubs/components/smtp/notify.pyi +47 -0
  309. homeassistant-stubs/components/sql/__init__.pyi +1 -1
  310. homeassistant-stubs/components/sql/sensor.pyi +4 -4
  311. homeassistant-stubs/components/ssdp/__init__.pyi +6 -96
  312. homeassistant-stubs/components/ssdp/common.pyi +5 -0
  313. homeassistant-stubs/components/ssdp/const.pyi +3 -0
  314. homeassistant-stubs/components/ssdp/scanner.pyi +75 -0
  315. homeassistant-stubs/components/ssdp/server.pyi +30 -0
  316. homeassistant-stubs/components/ssdp/websocket_api.pyi +16 -0
  317. homeassistant-stubs/components/switcher_kis/button.pyi +2 -1
  318. homeassistant-stubs/components/switcher_kis/climate.pyi +2 -4
  319. homeassistant-stubs/components/switcher_kis/config_flow.pyi +3 -2
  320. homeassistant-stubs/components/switcher_kis/cover.pyi +0 -2
  321. homeassistant-stubs/components/switcher_kis/entity.pyi +4 -0
  322. homeassistant-stubs/components/switcher_kis/light.pyi +3 -8
  323. homeassistant-stubs/components/switcher_kis/sensor.pyi +13 -6
  324. homeassistant-stubs/components/switcher_kis/switch.pyi +9 -15
  325. homeassistant-stubs/components/switcher_kis/utils.pyi +1 -1
  326. homeassistant-stubs/components/synology_dsm/common.pyi +3 -0
  327. homeassistant-stubs/components/synology_dsm/sensor.pyi +9 -1
  328. homeassistant-stubs/components/todo/__init__.pyi +1 -0
  329. homeassistant-stubs/components/tplink_omada/config_flow.pyi +1 -2
  330. homeassistant-stubs/components/tractive/__init__.pyi +1 -1
  331. homeassistant-stubs/components/tractive/binary_sensor.pyi +9 -3
  332. homeassistant-stubs/components/tractive/const.pyi +1 -0
  333. homeassistant-stubs/components/tractive/device_tracker.pyi +1 -1
  334. homeassistant-stubs/components/tts/__init__.pyi +22 -13
  335. homeassistant-stubs/components/tts/media_source.pyi +5 -2
  336. homeassistant-stubs/components/unifi/hub/api.pyi +2 -2
  337. homeassistant-stubs/components/uptimerobot/__init__.pyi +4 -5
  338. homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +4 -4
  339. homeassistant-stubs/components/uptimerobot/coordinator.pyi +3 -2
  340. homeassistant-stubs/components/uptimerobot/diagnostics.pyi +2 -4
  341. homeassistant-stubs/components/uptimerobot/entity.pyi +0 -2
  342. homeassistant-stubs/components/uptimerobot/sensor.pyi +3 -4
  343. homeassistant-stubs/components/uptimerobot/switch.pyi +5 -4
  344. homeassistant-stubs/components/vodafone_station/__init__.pyi +1 -0
  345. homeassistant-stubs/components/vodafone_station/config_flow.pyi +1 -0
  346. homeassistant-stubs/components/vodafone_station/coordinator.pyi +2 -1
  347. homeassistant-stubs/components/vodafone_station/utils.pyi +5 -0
  348. homeassistant-stubs/components/websocket_api/commands.pyi +3 -1
  349. homeassistant-stubs/components/websocket_api/http.pyi +4 -1
  350. homeassistant-stubs/components/wemo/__init__.pyi +1 -1
  351. homeassistant-stubs/components/wemo/coordinator.pyi +1 -1
  352. homeassistant-stubs/components/wemo/models.pyi +3 -4
  353. homeassistant-stubs/components/workday/config_flow.pyi +1 -1
  354. homeassistant-stubs/components/xiaomi_ble/const.pyi +2 -0
  355. homeassistant-stubs/components/xiaomi_ble/device_trigger.pyi +1 -1
  356. homeassistant-stubs/components/xiaomi_ble/sensor.pyi +2 -2
  357. homeassistant-stubs/components/zeroconf/__init__.pyi +6 -49
  358. homeassistant-stubs/components/zeroconf/const.pyi +3 -0
  359. homeassistant-stubs/components/zeroconf/discovery.pyi +63 -0
  360. homeassistant-stubs/components/zeroconf/websocket_api.pyi +40 -0
  361. homeassistant-stubs/components/zone/__init__.pyi +4 -1
  362. homeassistant-stubs/components/zwave_js/__init__.pyi +2 -2
  363. homeassistant-stubs/components/zwave_js/api.pyi +8 -3
  364. homeassistant-stubs/components/zwave_js/config_flow.pyi +41 -59
  365. homeassistant-stubs/components/zwave_js/helpers.pyi +2 -1
  366. homeassistant-stubs/config_entries.pyi +13 -9
  367. homeassistant-stubs/const.pyi +5 -0
  368. homeassistant-stubs/core.pyi +1 -3
  369. homeassistant-stubs/core_config.pyi +1 -1
  370. homeassistant-stubs/data_entry_flow.pyi +5 -1
  371. homeassistant-stubs/helpers/area_registry.pyi +5 -1
  372. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +1 -1
  373. homeassistant-stubs/helpers/config_validation.pyi +1 -0
  374. homeassistant-stubs/helpers/device_registry.pyi +1 -3
  375. homeassistant-stubs/helpers/entity.pyi +1 -1
  376. homeassistant-stubs/helpers/entity_platform.pyi +3 -3
  377. homeassistant-stubs/helpers/entity_registry.pyi +6 -6
  378. homeassistant-stubs/helpers/event.pyi +2 -0
  379. homeassistant-stubs/helpers/floor_registry.pyi +12 -3
  380. homeassistant-stubs/helpers/llm.pyi +24 -1
  381. homeassistant-stubs/helpers/network.pyi +1 -1
  382. homeassistant-stubs/helpers/script.pyi +2 -1
  383. homeassistant-stubs/helpers/template.pyi +1 -0
  384. homeassistant-stubs/helpers/trigger_template_entity.pyi +17 -2
  385. homeassistant-stubs/loader.pyi +2 -11
  386. homeassistant-stubs/setup.pyi +7 -6
  387. homeassistant-stubs/util/ssl.pyi +2 -0
  388. {homeassistant_stubs-2025.4.4.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/METADATA +3 -3
  389. {homeassistant_stubs-2025.4.4.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/RECORD +391 -334
  390. homeassistant-stubs/components/oncue/binary_sensor.pyi +0 -16
  391. homeassistant-stubs/components/oncue/const.pyi +0 -6
  392. homeassistant-stubs/components/oncue/entity.pyi +0 -20
  393. homeassistant-stubs/components/oncue/sensor.pyi +0 -21
  394. homeassistant-stubs/components/oncue/types.pyi +0 -5
  395. {homeassistant_stubs-2025.4.4.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/WHEEL +0 -0
  396. {homeassistant_stubs-2025.4.4.dist-info → homeassistant_stubs-2025.5.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -2,25 +2,25 @@ import abc
2
2
  from .const import DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
4
  from abc import abstractmethod
5
- from collections.abc import Callable as Callable
6
5
  from dataclasses import dataclass
7
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.const import EVENT_HOMEASSISTANT_STOP as EVENT_HOMEASSISTANT_STOP
9
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
11
10
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
12
- from pylamarzocco.clients.local import LaMarzoccoLocalClient as LaMarzoccoLocalClient
13
- from pylamarzocco.devices.machine import LaMarzoccoMachine as LaMarzoccoMachine
11
+ from pylamarzocco import LaMarzoccoMachine as LaMarzoccoMachine
14
12
 
15
13
  SCAN_INTERVAL: Incomplete
16
- FIRMWARE_UPDATE_INTERVAL: Incomplete
14
+ SETTINGS_UPDATE_INTERVAL: Incomplete
15
+ SCHEDULE_UPDATE_INTERVAL: Incomplete
17
16
  STATISTICS_UPDATE_INTERVAL: Incomplete
18
17
  _LOGGER: Incomplete
19
18
 
20
19
  @dataclass
21
20
  class LaMarzoccoRuntimeData:
22
21
  config_coordinator: LaMarzoccoConfigUpdateCoordinator
23
- firmware_coordinator: LaMarzoccoFirmwareUpdateCoordinator
22
+ settings_coordinator: LaMarzoccoSettingsUpdateCoordinator
23
+ schedule_coordinator: LaMarzoccoScheduleUpdateCoordinator
24
24
  statistics_coordinator: LaMarzoccoStatisticsUpdateCoordinator
25
25
  type LaMarzoccoConfigEntry = ConfigEntry[LaMarzoccoRuntimeData]
26
26
 
@@ -28,23 +28,20 @@ class LaMarzoccoUpdateCoordinator(DataUpdateCoordinator[None], metaclass=abc.ABC
28
28
  _default_update_interval = SCAN_INTERVAL
29
29
  config_entry: LaMarzoccoConfigEntry
30
30
  device: Incomplete
31
- local_connection_configured: Incomplete
32
- _local_client: Incomplete
33
- new_device_callback: list[Callable]
34
- def __init__(self, hass: HomeAssistant, entry: LaMarzoccoConfigEntry, device: LaMarzoccoMachine, local_client: LaMarzoccoLocalClient | None = None) -> None: ...
31
+ def __init__(self, hass: HomeAssistant, entry: LaMarzoccoConfigEntry, device: LaMarzoccoMachine) -> None: ...
35
32
  async def _async_update_data(self) -> None: ...
36
33
  @abstractmethod
37
34
  async def _internal_async_update_data(self) -> None: ...
38
35
 
39
36
  class LaMarzoccoConfigUpdateCoordinator(LaMarzoccoUpdateCoordinator):
40
- _scale_address: str | None
41
- async def _async_connect_websocket(self) -> None: ...
42
37
  async def _internal_async_update_data(self) -> None: ...
43
- @callback
44
- def _async_add_remove_scale(self) -> None: ...
45
38
 
46
- class LaMarzoccoFirmwareUpdateCoordinator(LaMarzoccoUpdateCoordinator):
47
- _default_update_interval = FIRMWARE_UPDATE_INTERVAL
39
+ class LaMarzoccoSettingsUpdateCoordinator(LaMarzoccoUpdateCoordinator):
40
+ _default_update_interval = SETTINGS_UPDATE_INTERVAL
41
+ async def _internal_async_update_data(self) -> None: ...
42
+
43
+ class LaMarzoccoScheduleUpdateCoordinator(LaMarzoccoUpdateCoordinator):
44
+ _default_update_interval = SCHEDULE_UPDATE_INTERVAL
48
45
  async def _internal_async_update_data(self) -> None: ...
49
46
 
50
47
  class LaMarzoccoStatisticsUpdateCoordinator(LaMarzoccoUpdateCoordinator):
@@ -2,15 +2,8 @@ from .coordinator import LaMarzoccoConfigEntry as LaMarzoccoConfigEntry
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
5
- from pylamarzocco.const import FirmwareType as FirmwareType
6
- from typing import Any, TypedDict
5
+ from typing import Any
7
6
 
8
7
  TO_REDACT: Incomplete
9
8
 
10
- class DiagnosticsData(TypedDict):
11
- model: str
12
- config: dict[str, Any]
13
- firmware: list[dict[FirmwareType, dict[str, Any]]]
14
- statistics: dict[str, Any]
15
-
16
9
  async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: LaMarzoccoConfigEntry) -> dict[str, Any]: ...
@@ -7,7 +7,7 @@ from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_MAC as CONF_M
7
7
  from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
8
8
  from homeassistant.helpers.entity import EntityDescription as EntityDescription
9
9
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
10
- from pylamarzocco.devices.machine import LaMarzoccoMachine as LaMarzoccoMachine
10
+ from pylamarzocco import LaMarzoccoMachine as LaMarzoccoMachine
11
11
 
12
12
  @dataclass(frozen=True, kw_only=True)
13
13
  class LaMarzoccoEntityDescription(EntityDescription):
@@ -25,7 +25,3 @@ class LaMarzoccoEntity(LaMarzoccoBaseEntity):
25
25
  @property
26
26
  def available(self) -> bool: ...
27
27
  def __init__(self, coordinator: LaMarzoccoUpdateCoordinator, entity_description: LaMarzoccoEntityDescription) -> None: ...
28
-
29
- class LaMarzoccScaleEntity(LaMarzoccoEntity):
30
- _attr_device_info: Incomplete
31
- def __init__(self, coordinator: LaMarzoccoUpdateCoordinator, entity_description: LaMarzoccoEntityDescription) -> None: ...
@@ -1,7 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaMarzoccoConfigEntry as LaMarzoccoConfigEntry, LaMarzoccoUpdateCoordinator as LaMarzoccoUpdateCoordinator
3
- from .entity import LaMarzoccScaleEntity as LaMarzoccScaleEntity, LaMarzoccoEntity as LaMarzoccoEntity, LaMarzoccoEntityDescription as LaMarzoccoEntityDescription
4
- from _typeshed import Incomplete
2
+ from .coordinator import LaMarzoccoConfigEntry as LaMarzoccoConfigEntry
3
+ from .entity import LaMarzoccoEntity as LaMarzoccoEntity, LaMarzoccoEntityDescription as LaMarzoccoEntityDescription
5
4
  from collections.abc import Callable as Callable, Coroutine
6
5
  from dataclasses import dataclass
7
6
  from homeassistant.components.number import NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
@@ -9,26 +8,17 @@ from homeassistant.const import EntityCategory as EntityCategory, PRECISION_TENT
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
- from pylamarzocco.const import PhysicalKey
13
- from pylamarzocco.devices.machine import LaMarzoccoMachine as LaMarzoccoMachine
14
- from pylamarzocco.models import LaMarzoccoMachineConfig as LaMarzoccoMachineConfig
11
+ from pylamarzocco import LaMarzoccoMachine as LaMarzoccoMachine
15
12
  from typing import Any
16
13
 
17
14
  PARALLEL_UPDATES: int
18
15
 
19
16
  @dataclass(frozen=True, kw_only=True)
20
17
  class LaMarzoccoNumberEntityDescription(LaMarzoccoEntityDescription, NumberEntityDescription):
21
- native_value_fn: Callable[[LaMarzoccoMachineConfig], float | int]
18
+ native_value_fn: Callable[[LaMarzoccoMachine], float | int]
22
19
  set_value_fn: Callable[[LaMarzoccoMachine, float | int], Coroutine[Any, Any, bool]]
23
20
 
24
- @dataclass(frozen=True, kw_only=True)
25
- class LaMarzoccoKeyNumberEntityDescription(LaMarzoccoEntityDescription, NumberEntityDescription):
26
- native_value_fn: Callable[[LaMarzoccoMachineConfig, PhysicalKey], float | int | None]
27
- set_value_fn: Callable[[LaMarzoccoMachine, float | int, PhysicalKey], Coroutine[Any, Any, bool]]
28
-
29
21
  ENTITIES: tuple[LaMarzoccoNumberEntityDescription, ...]
30
- KEY_ENTITIES: tuple[LaMarzoccoKeyNumberEntityDescription, ...]
31
- SCALE_KEY_ENTITIES: tuple[LaMarzoccoKeyNumberEntityDescription, ...]
32
22
 
33
23
  async def async_setup_entry(hass: HomeAssistant, entry: LaMarzoccoConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
34
24
 
@@ -37,18 +27,3 @@ class LaMarzoccoNumberEntity(LaMarzoccoEntity, NumberEntity):
37
27
  @property
38
28
  def native_value(self) -> float: ...
39
29
  async def async_set_native_value(self, value: float) -> None: ...
40
-
41
- class LaMarzoccoKeyNumberEntity(LaMarzoccoEntity, NumberEntity):
42
- entity_description: LaMarzoccoKeyNumberEntityDescription
43
- _attr_translation_key: Incomplete
44
- _attr_translation_placeholders: Incomplete
45
- _attr_unique_id: Incomplete
46
- _attr_entity_registry_enabled_default: bool
47
- pyhsical_key: Incomplete
48
- def __init__(self, coordinator: LaMarzoccoUpdateCoordinator, description: LaMarzoccoKeyNumberEntityDescription, pyhsical_key: int) -> None: ...
49
- @property
50
- def native_value(self) -> float | None: ...
51
- async def async_set_native_value(self, value: float) -> None: ...
52
-
53
- class LaMarzoccoScaleTargetNumberEntity(LaMarzoccoKeyNumberEntity, LaMarzoccScaleEntity):
54
- entity_description: LaMarzoccoKeyNumberEntityDescription
@@ -1,6 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import LaMarzoccoConfigEntry as LaMarzoccoConfigEntry
3
- from .entity import LaMarzoccScaleEntity as LaMarzoccScaleEntity, LaMarzoccoEntity as LaMarzoccoEntity, LaMarzoccoEntityDescription as LaMarzoccoEntityDescription
3
+ from .entity import LaMarzoccoEntity as LaMarzoccoEntity, LaMarzoccoEntityDescription as LaMarzoccoEntityDescription
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable, Coroutine
6
6
  from dataclasses import dataclass
@@ -9,8 +9,7 @@ from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
- from pylamarzocco.devices.machine import LaMarzoccoMachine as LaMarzoccoMachine
13
- from pylamarzocco.models import LaMarzoccoMachineConfig as LaMarzoccoMachineConfig
12
+ from pylamarzocco.devices import LaMarzoccoMachine as LaMarzoccoMachine
14
13
  from typing import Any
15
14
 
16
15
  PARALLEL_UPDATES: int
@@ -23,11 +22,10 @@ STANDBY_MODE_LM_TO_HA: Incomplete
23
22
 
24
23
  @dataclass(frozen=True, kw_only=True)
25
24
  class LaMarzoccoSelectEntityDescription(LaMarzoccoEntityDescription, SelectEntityDescription):
26
- current_option_fn: Callable[[LaMarzoccoMachineConfig], str | None]
25
+ current_option_fn: Callable[[LaMarzoccoMachine], str | None]
27
26
  select_option_fn: Callable[[LaMarzoccoMachine, str], Coroutine[Any, Any, bool]]
28
27
 
29
28
  ENTITIES: tuple[LaMarzoccoSelectEntityDescription, ...]
30
- SCALE_ENTITIES: tuple[LaMarzoccoSelectEntityDescription, ...]
31
29
 
32
30
  async def async_setup_entry(hass: HomeAssistant, entry: LaMarzoccoConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
33
31
 
@@ -36,6 +34,3 @@ class LaMarzoccoSelectEntity(LaMarzoccoEntity, SelectEntity):
36
34
  @property
37
35
  def current_option(self) -> str | None: ...
38
36
  async def async_select_option(self, option: str) -> None: ...
39
-
40
- class LaMarzoccoScaleSelectEntity(LaMarzoccoSelectEntity, LaMarzoccScaleEntity):
41
- entity_description: LaMarzoccoSelectEntityDescription
@@ -1,45 +1,32 @@
1
- from .coordinator import LaMarzoccoConfigEntry as LaMarzoccoConfigEntry, LaMarzoccoUpdateCoordinator as LaMarzoccoUpdateCoordinator
2
- from .entity import LaMarzoccScaleEntity as LaMarzoccScaleEntity, LaMarzoccoEntity as LaMarzoccoEntity, LaMarzoccoEntityDescription as LaMarzoccoEntityDescription
3
- from _typeshed import Incomplete
1
+ from .coordinator import LaMarzoccoConfigEntry as LaMarzoccoConfigEntry
2
+ from .entity import LaMarzoccoEntity as LaMarzoccoEntity, LaMarzoccoEntityDescription as LaMarzoccoEntityDescription
4
3
  from collections.abc import Callable as Callable
5
4
  from dataclasses import dataclass
5
+ from datetime import datetime
6
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
- from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
7
+ from homeassistant.const import EntityCategory as EntityCategory
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
10
- from pylamarzocco.const import PhysicalKey
11
- from pylamarzocco.devices.machine import LaMarzoccoMachine as LaMarzoccoMachine
10
+ from homeassistant.helpers.typing import StateType as StateType
11
+ from pylamarzocco.const import WidgetType
12
+ from pylamarzocco.models import BaseWidgetOutput as BaseWidgetOutput
12
13
 
13
14
  PARALLEL_UPDATES: int
14
15
 
15
16
  @dataclass(frozen=True, kw_only=True)
16
17
  class LaMarzoccoSensorEntityDescription(LaMarzoccoEntityDescription, SensorEntityDescription):
17
- value_fn: Callable[[LaMarzoccoMachine], float | int]
18
-
19
- @dataclass(frozen=True, kw_only=True)
20
- class LaMarzoccoKeySensorEntityDescription(LaMarzoccoEntityDescription, SensorEntityDescription):
21
- value_fn: Callable[[LaMarzoccoMachine, PhysicalKey], int | None]
18
+ value_fn: Callable[[dict[WidgetType, BaseWidgetOutput]], StateType | datetime | None]
22
19
 
23
20
  ENTITIES: tuple[LaMarzoccoSensorEntityDescription, ...]
24
21
  STATISTIC_ENTITIES: tuple[LaMarzoccoSensorEntityDescription, ...]
25
- KEY_STATISTIC_ENTITIES: tuple[LaMarzoccoKeySensorEntityDescription, ...]
26
- SCALE_ENTITIES: tuple[LaMarzoccoSensorEntityDescription, ...]
27
22
 
28
23
  async def async_setup_entry(hass: HomeAssistant, entry: LaMarzoccoConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
29
24
 
30
25
  class LaMarzoccoSensorEntity(LaMarzoccoEntity, SensorEntity):
31
26
  entity_description: LaMarzoccoSensorEntityDescription
32
27
  @property
33
- def native_value(self) -> int | float | None: ...
28
+ def native_value(self) -> StateType | datetime | None: ...
34
29
 
35
- class LaMarzoccoKeySensorEntity(LaMarzoccoEntity, SensorEntity):
36
- entity_description: LaMarzoccoKeySensorEntityDescription
37
- key: Incomplete
38
- _attr_translation_placeholders: Incomplete
39
- _attr_unique_id: Incomplete
40
- def __init__(self, coordinator: LaMarzoccoUpdateCoordinator, description: LaMarzoccoKeySensorEntityDescription, key: int) -> None: ...
30
+ class LaMarzoccoStatisticSensorEntity(LaMarzoccoSensorEntity):
41
31
  @property
42
- def native_value(self) -> int | None: ...
43
-
44
- class LaMarzoccoScaleSensorEntity(LaMarzoccoSensorEntity, LaMarzoccScaleEntity):
45
- entity_description: LaMarzoccoSensorEntityDescription
32
+ def native_value(self) -> StateType | datetime | None: ...
@@ -9,8 +9,8 @@ from homeassistant.const import EntityCategory as EntityCategory
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
11
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
- from pylamarzocco.devices.machine import LaMarzoccoMachine as LaMarzoccoMachine
13
- from pylamarzocco.models import LaMarzoccoMachineConfig as LaMarzoccoMachineConfig
12
+ from pylamarzocco import LaMarzoccoMachine as LaMarzoccoMachine
13
+ from pylamarzocco.models import WakeUpScheduleSettings as WakeUpScheduleSettings
14
14
  from typing import Any
15
15
 
16
16
  PARALLEL_UPDATES: int
@@ -18,7 +18,7 @@ PARALLEL_UPDATES: int
18
18
  @dataclass(frozen=True, kw_only=True)
19
19
  class LaMarzoccoSwitchEntityDescription(LaMarzoccoEntityDescription, SwitchEntityDescription):
20
20
  control_fn: Callable[[LaMarzoccoMachine, bool], Coroutine[Any, Any, bool]]
21
- is_on_fn: Callable[[LaMarzoccoMachineConfig], bool]
21
+ is_on_fn: Callable[[LaMarzoccoMachine], bool]
22
22
 
23
23
  ENTITIES: tuple[LaMarzoccoSwitchEntityDescription, ...]
24
24
 
@@ -34,10 +34,11 @@ class LaMarzoccoSwitchEntity(LaMarzoccoEntity, SwitchEntity):
34
34
  class LaMarzoccoAutoOnOffSwitchEntity(LaMarzoccoBaseEntity, SwitchEntity):
35
35
  coordinator: LaMarzoccoUpdateCoordinator
36
36
  _attr_translation_key: str
37
+ _schedule_entry: Incomplete
37
38
  _identifier: Incomplete
38
39
  _attr_translation_placeholders: Incomplete
39
- entity_category: Incomplete
40
- def __init__(self, coordinator: LaMarzoccoUpdateCoordinator, identifier: str) -> None: ...
40
+ _attr_entity_category: Incomplete
41
+ def __init__(self, coordinator: LaMarzoccoUpdateCoordinator, schedule_entry: WakeUpScheduleSettings) -> None: ...
41
42
  async def _async_enable(self, state: bool) -> None: ...
42
43
  async def async_turn_on(self, **kwargs: Any) -> None: ...
43
44
  async def async_turn_off(self, **kwargs: Any) -> None: ...
@@ -12,6 +12,7 @@ from pylamarzocco.const import FirmwareType
12
12
  from typing import Any
13
13
 
14
14
  PARALLEL_UPDATES: int
15
+ MAX_UPDATE_WAIT: int
15
16
 
16
17
  @dataclass(frozen=True, kw_only=True)
17
18
  class LaMarzoccoUpdateEntityDescription(LaMarzoccoEntityDescription, UpdateEntityDescription):
@@ -25,10 +26,12 @@ class LaMarzoccoUpdateEntity(LaMarzoccoEntity, UpdateEntity):
25
26
  entity_description: LaMarzoccoUpdateEntityDescription
26
27
  _attr_supported_features: Incomplete
27
28
  @property
28
- def installed_version(self) -> str | None: ...
29
+ def installed_version(self) -> str: ...
29
30
  @property
30
31
  def latest_version(self) -> str: ...
31
32
  @property
32
33
  def release_url(self) -> str | None: ...
34
+ def release_notes(self) -> str | None: ...
33
35
  _attr_in_progress: bool
36
+ _attr_update_percentage: Incomplete
34
37
  async def async_install(self, version: str | None, backup: bool, **kwargs: Any) -> None: ...
@@ -1,12 +1,12 @@
1
1
  import pypck
2
- from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, CONF_ACKNOWLEDGE as CONF_ACKNOWLEDGE, CONF_DIM_MODE as CONF_DIM_MODE, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_SK_NUM_TRIES as CONF_SK_NUM_TRIES, CONF_TRANSITION as CONF_TRANSITION, CONNECTION as CONNECTION, DEVICE_CONNECTIONS as DEVICE_CONNECTIONS, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
+ from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, CONF_ACKNOWLEDGE as CONF_ACKNOWLEDGE, CONF_DIM_MODE as CONF_DIM_MODE, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_SK_NUM_TRIES as CONF_SK_NUM_TRIES, CONF_TARGET_VALUE_LOCKED as CONF_TARGET_VALUE_LOCKED, CONF_TRANSITION as CONF_TRANSITION, CONNECTION as CONNECTION, DEVICE_CONNECTIONS as DEVICE_CONNECTIONS, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
3
3
  from .helpers import AddressType as AddressType, InputType as InputType, async_update_config_entry as async_update_config_entry, generate_unique_id as generate_unique_id, purge_device_registry as purge_device_registry, register_lcn_address_devices as register_lcn_address_devices, register_lcn_host_device as register_lcn_host_device
4
4
  from .services import register_services as register_services
5
5
  from .websocket import register_panel_and_ws_api as register_panel_and_ws_api
6
6
  from _typeshed import Incomplete
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
- from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, Platform as Platform
9
- from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_RESOURCE as CONF_RESOURCE, CONF_USERNAME as CONF_USERNAME, Platform as Platform
9
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
10
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
11
11
  from homeassistant.helpers import device_registry as dr
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -17,6 +17,7 @@ CONFIG_SCHEMA: Incomplete
17
17
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
18
18
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
19
19
  async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
20
+ async def async_migrate_entities(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
20
21
  async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
21
22
  def async_host_event_received(hass: HomeAssistant, config_entry: ConfigEntry, event: pypck.lcn_defs.LcnEvent) -> None: ...
22
23
  def async_host_input_received(hass: HomeAssistant, config_entry: ConfigEntry, device_registry: dr.DeviceRegistry, inp: pypck.inputs.Input) -> None: ...
@@ -1,9 +1,9 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .helpers import AddressType as AddressType, DeviceConnectionType as DeviceConnectionType, InputType as InputType, generate_unique_id as generate_unique_id, get_device_connection as get_device_connection
1
+ from .const import CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, DOMAIN as DOMAIN
2
+ from .helpers import AddressType as AddressType, DeviceConnectionType as DeviceConnectionType, InputType as InputType, generate_unique_id as generate_unique_id, get_device_connection as get_device_connection, get_resource as get_resource
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
- from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_NAME as CONF_NAME, CONF_RESOURCE as CONF_RESOURCE
6
+ from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_DOMAIN as CONF_DOMAIN, CONF_NAME as CONF_NAME
7
7
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
8
  from homeassistant.helpers.entity import Entity as Entity
9
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -1,8 +1,8 @@
1
1
  import pypck
2
- from .const import CONF_CLIMATES as CONF_CLIMATES, CONF_HARDWARE_SERIAL as CONF_HARDWARE_SERIAL, CONF_HARDWARE_TYPE as CONF_HARDWARE_TYPE, CONF_SCENES as CONF_SCENES, CONF_SOFTWARE_SERIAL as CONF_SOFTWARE_SERIAL, CONNECTION as CONNECTION, DEVICE_CONNECTIONS as DEVICE_CONNECTIONS, DOMAIN as DOMAIN
2
+ from .const import CONF_CLIMATES as CONF_CLIMATES, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_HARDWARE_SERIAL as CONF_HARDWARE_SERIAL, CONF_HARDWARE_TYPE as CONF_HARDWARE_TYPE, CONF_SCENES as CONF_SCENES, CONF_SOFTWARE_SERIAL as CONF_SOFTWARE_SERIAL, CONNECTION as CONNECTION, DEVICE_CONNECTIONS as DEVICE_CONNECTIONS, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
- from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_BINARY_SENSORS as CONF_BINARY_SENSORS, CONF_COVERS as CONF_COVERS, CONF_DEVICES as CONF_DEVICES, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_LIGHTS as CONF_LIGHTS, CONF_NAME as CONF_NAME, CONF_RESOURCE as CONF_RESOURCE, CONF_SENSORS as CONF_SENSORS, CONF_SWITCHES as CONF_SWITCHES
5
+ from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_BINARY_SENSORS as CONF_BINARY_SENSORS, CONF_COVERS as CONF_COVERS, CONF_DEVICES as CONF_DEVICES, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_LIGHTS as CONF_LIGHTS, CONF_NAME as CONF_NAME, CONF_SENSORS as CONF_SENSORS, CONF_SWITCHES as CONF_SWITCHES
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.typing import ConfigType as ConfigType
8
8
 
@@ -6,7 +6,7 @@ from homeassistant.components import panel_custom as panel_custom, websocket_api
6
6
  from homeassistant.components.http import StaticPathConfig as StaticPathConfig
7
7
  from homeassistant.components.websocket_api import ActiveConnection as ActiveConnection, AsyncWebSocketCommandHandler as AsyncWebSocketCommandHandler
8
8
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
- from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_DEVICES as CONF_DEVICES, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_NAME as CONF_NAME, CONF_RESOURCE as CONF_RESOURCE
9
+ from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_DEVICES as CONF_DEVICES, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_NAME as CONF_NAME
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.helpers import entity_registry as er
12
12
  from typing import Any, Final
@@ -1,4 +1,4 @@
1
- from .const import CONTROLLER as CONTROLLER, CONTROLLER_KEY as CONTROLLER_KEY, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
1
+ from .const import DOMAIN as DOMAIN, LinkPlaySharedData as LinkPlaySharedData, PLATFORMS as PLATFORMS, SHARED_DATA as SHARED_DATA
2
2
  from .utils import async_get_client_session as async_get_client_session
3
3
  from aiohttp import ClientSession as ClientSession
4
4
  from dataclasses import dataclass
@@ -1,10 +1,16 @@
1
1
  from _typeshed import Incomplete
2
+ from dataclasses import dataclass
2
3
  from homeassistant.const import Platform as Platform
3
4
  from homeassistant.util.hass_dict import HassKey as HassKey
4
5
  from linkplay.controller import LinkPlayController as LinkPlayController
5
6
 
7
+ @dataclass
8
+ class LinkPlaySharedData:
9
+ controller: LinkPlayController
10
+ entity_to_bridge: dict[str, str]
11
+
6
12
  DOMAIN: str
7
- CONTROLLER: str
8
- CONTROLLER_KEY: HassKey[LinkPlayController]
13
+ SHARED_DATA: str
14
+ SHARED_DATA_KEY: HassKey[LinkPlaySharedData]
9
15
  PLATFORMS: Incomplete
10
16
  DATA_SESSION: str
@@ -1,10 +1,9 @@
1
- from . import LinkPlayConfigEntry as LinkPlayConfigEntry, LinkPlayData as LinkPlayData
2
- from .const import CONTROLLER_KEY as CONTROLLER_KEY, DOMAIN as DOMAIN
1
+ from . import LinkPlayConfigEntry as LinkPlayConfigEntry, SHARED_DATA as SHARED_DATA
2
+ from .const import DOMAIN as DOMAIN
3
3
  from .entity import LinkPlayBaseEntity as LinkPlayBaseEntity, exception_wrap as exception_wrap
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components import media_source as media_source
6
6
  from homeassistant.components.media_player import BrowseMedia as BrowseMedia, MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState, MediaType as MediaType, RepeatMode as RepeatMode, async_process_play_media_url as async_process_play_media_url
7
- from homeassistant.const import Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
10
9
  from homeassistant.helpers import entity_platform as entity_platform
@@ -42,6 +41,7 @@ class LinkPlayMediaPlayerEntity(LinkPlayBaseEntity, MediaPlayerEntity):
42
41
  _attr_source_list: Incomplete
43
42
  _attr_sound_mode_list: Incomplete
44
43
  def __init__(self, bridge: LinkPlayBridge) -> None: ...
44
+ async def async_added_to_hass(self) -> None: ...
45
45
  _attr_available: bool
46
46
  @exception_wrap
47
47
  async def async_update(self) -> None: ...
@@ -74,9 +74,11 @@ class LinkPlayMediaPlayerEntity(LinkPlayBaseEntity, MediaPlayerEntity):
74
74
  async def async_media_seek(self, position: float) -> None: ...
75
75
  @exception_wrap
76
76
  async def async_join_players(self, group_members: list[str]) -> None: ...
77
- def _get_linkplay_bridge(self, entity_id: str) -> LinkPlayBridge: ...
77
+ async def _get_linkplay_bridge(self, entity_id: str) -> LinkPlayBridge: ...
78
78
  @property
79
79
  def group_members(self) -> list[str]: ...
80
+ @property
81
+ def media_image_url(self) -> str | None: ...
80
82
  @exception_wrap
81
83
  async def async_unjoin_player(self) -> None: ...
82
84
  _attr_state: Incomplete
@@ -28,7 +28,7 @@ class LogbookLiveStream:
28
28
  subscriptions: list[CALLBACK_TYPE]
29
29
  end_time_unsub: CALLBACK_TYPE | None = ...
30
30
  task: asyncio.Task | None = ...
31
- wait_sync_task: asyncio.Task | None = ...
31
+ wait_sync_future: asyncio.Future[None] | None = ...
32
32
 
33
33
  @callback
34
34
  def async_setup(hass: HomeAssistant) -> None: ...
@@ -2,7 +2,7 @@ import logging
2
2
  import re
3
3
  from . import websocket_api as websocket_api
4
4
  from .const import ATTR_LEVEL as ATTR_LEVEL, DOMAIN as DOMAIN, LOGGER_DEFAULT as LOGGER_DEFAULT, LOGGER_FILTERS as LOGGER_FILTERS, LOGGER_LOGS as LOGGER_LOGS, LOGSEVERITY as LOGSEVERITY, SERVICE_SET_DEFAULT_LEVEL as SERVICE_SET_DEFAULT_LEVEL, SERVICE_SET_LEVEL as SERVICE_SET_LEVEL
5
- from .helpers import LoggerDomainConfig as LoggerDomainConfig, LoggerSettings as LoggerSettings, set_default_log_level as set_default_log_level, set_log_levels as set_log_levels
5
+ from .helpers import DATA_LOGGER as DATA_LOGGER, LoggerDomainConfig as LoggerDomainConfig, LoggerSettings as LoggerSettings, _clear_logger_overwrites as _clear_logger_overwrites, set_default_log_level as set_default_log_level, set_log_levels as set_log_levels
6
6
  from _typeshed import Incomplete
7
7
  from homeassistant.const import EVENT_LOGGING_CHANGED as EVENT_LOGGING_CHANGED
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
@@ -9,19 +9,21 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
9
9
  from homeassistant.helpers.storage import Store as Store
10
10
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
11
  from homeassistant.loader import IntegrationNotFound as IntegrationNotFound, async_get_integration as async_get_integration
12
+ from homeassistant.util.hass_dict import HassKey as HassKey
12
13
  from typing import Any
13
14
 
15
+ DATA_LOGGER: HassKey[LoggerDomainConfig]
14
16
  SAVE_DELAY: float
15
17
  SAVE_DELAY_LONG: float
16
18
 
17
- @callback
18
- def async_get_domain_config(hass: HomeAssistant) -> LoggerDomainConfig: ...
19
19
  @callback
20
20
  def set_default_log_level(hass: HomeAssistant, level: int) -> None: ...
21
21
  @callback
22
22
  def set_log_levels(hass: HomeAssistant, logpoints: Mapping[str, int]) -> None: ...
23
23
  def _set_log_level(logger: logging.Logger, level: int) -> None: ...
24
24
  def _chattiest_log_level(level1: int, level2: int) -> int: ...
25
+ @callback
26
+ def _clear_logger_overwrites(hass: HomeAssistant) -> None: ...
25
27
  async def get_integration_loggers(hass: HomeAssistant, domain: str) -> set[str]: ...
26
28
 
27
29
  @dataclass(slots=True)
@@ -1,5 +1,5 @@
1
1
  from .const import LOGSEVERITY as LOGSEVERITY
2
- from .helpers import LogPersistance as LogPersistance, LogSettingsType as LogSettingsType, LoggerSetting as LoggerSetting, async_get_domain_config as async_get_domain_config, get_logger as get_logger
2
+ from .helpers import DATA_LOGGER as DATA_LOGGER, LogPersistance as LogPersistance, LogSettingsType as LogSettingsType, LoggerSetting as LoggerSetting, get_logger as get_logger
3
3
  from homeassistant.components import websocket_api as websocket_api
4
4
  from homeassistant.components.websocket_api import ActiveConnection as ActiveConnection
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -24,6 +24,7 @@ def catch_matter_error[_R, **P](func: Callable[Concatenate[MatterEntity, P], Cor
24
24
  class MatterEntityDescription(EntityDescription):
25
25
  measurement_to_ha: Callable[[Any], Any] | None = ...
26
26
  ha_to_native_value: Callable[[Any], Any] | None = ...
27
+ command_timeout: int | None = ...
27
28
 
28
29
  class MatterEntity(Entity):
29
30
  _attr_has_entity_name: bool
@@ -15,7 +15,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
15
15
 
16
16
  NUMBER_OF_RINSES_STATE_MAP: Incomplete
17
17
  NUMBER_OF_RINSES_STATE_MAP_REVERSE: Incomplete
18
- type SelectCluster = clusters.ModeSelect | clusters.OvenMode | clusters.LaundryWasherMode | clusters.RefrigeratorAndTemperatureControlledCabinetMode | clusters.RvcRunMode | clusters.RvcCleanMode | clusters.DishwasherMode | clusters.EnergyEvseMode | clusters.DeviceEnergyManagementMode
18
+ type SelectCluster = clusters.ModeSelect | clusters.OvenMode | clusters.LaundryWasherMode | clusters.RefrigeratorAndTemperatureControlledCabinetMode | clusters.RvcRunMode | clusters.RvcCleanMode | clusters.DishwasherMode | clusters.EnergyEvseMode | clusters.DeviceEnergyManagementMode | clusters.WaterHeaterMode
19
19
 
20
20
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
21
21
 
@@ -7,7 +7,7 @@ from chip.clusters.Types import Nullable as Nullable
7
7
  from dataclasses import dataclass
8
8
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
- from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, Platform as Platform, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
10
+ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, Platform as Platform, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
13
  from homeassistant.util import slugify as slugify
@@ -15,6 +15,8 @@ from homeassistant.util import slugify as slugify
15
15
  AIR_QUALITY_MAP: Incomplete
16
16
  CONTAMINATION_STATE_MAP: Incomplete
17
17
  OPERATIONAL_STATE_MAP: Incomplete
18
+ BOOST_STATE_MAP: Incomplete
19
+ EVSE_FAULT_STATE_MAP: Incomplete
18
20
 
19
21
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
22
 
@@ -2,6 +2,8 @@ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as Mat
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
5
+ from chip.clusters.Objects import ClusterCommand as ClusterCommand
6
+ from collections.abc import Callable as Callable
5
7
  from dataclasses import dataclass
6
8
  from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
7
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -10,6 +12,8 @@ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callb
10
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
13
  from typing import Any
12
14
 
15
+ EVSE_SUPPLY_STATE_MAP: Incomplete
16
+
13
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
18
 
15
19
  class MatterSwitch(MatterEntity, SwitchEntity):
@@ -20,6 +24,22 @@ class MatterSwitch(MatterEntity, SwitchEntity):
20
24
  @callback
21
25
  def _update_from_device(self) -> None: ...
22
26
 
27
+ class MatterGenericCommandSwitch(MatterSwitch):
28
+ entity_description: MatterGenericCommandSwitchEntityDescription
29
+ _platform_translation_key: str
30
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
31
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
32
+ _attr_is_on: Incomplete
33
+ @callback
34
+ def _update_from_device(self) -> None: ...
35
+ async def send_device_command(self, command: ClusterCommand, command_timeout: int | None = None, **kwargs: Any) -> None: ...
36
+
37
+ @dataclass(frozen=True)
38
+ class MatterGenericCommandSwitchEntityDescription(SwitchEntityDescription, MatterEntityDescription):
39
+ on_command: Callable[[], Any] | None = ...
40
+ off_command: Callable[[], Any] | None = ...
41
+ command_timeout: int | None = ...
42
+
23
43
  @dataclass(frozen=True)
24
44
  class MatterNumericSwitchEntityDescription(SwitchEntityDescription, MatterEntityDescription): ...
25
45
 
@@ -0,0 +1,39 @@
1
+ from .entity import MatterEntity as MatterEntity
2
+ from .helpers import get_matter as get_matter
3
+ from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
+ from _typeshed import Incomplete
5
+ from chip.clusters import Objects as clusters
6
+ from homeassistant.components.water_heater import STATE_ECO as STATE_ECO, STATE_HIGH_DEMAND as STATE_HIGH_DEMAND, STATE_OFF as STATE_OFF, WaterHeaterEntity as WaterHeaterEntity, WaterHeaterEntityDescription as WaterHeaterEntityDescription, WaterHeaterEntityFeature as WaterHeaterEntityFeature
7
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
+ from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_WHOLE as PRECISION_WHOLE, Platform as Platform, UnitOfTemperature as UnitOfTemperature
9
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from typing import Any
12
+
13
+ TEMPERATURE_SCALING_FACTOR: int
14
+ WATER_HEATER_SYSTEM_MODE_MAP: Incomplete
15
+
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
+
18
+ class MatterWaterHeater(MatterEntity, WaterHeaterEntity):
19
+ _attr_current_temperature: float | None
20
+ _attr_current_operation: str
21
+ _attr_operation_list: Incomplete
22
+ _attr_precision = PRECISION_WHOLE
23
+ _attr_supported_features: Incomplete
24
+ _attr_target_temperature: float | None
25
+ _attr_temperature_unit: Incomplete
26
+ _platform_translation_key: str
27
+ async def async_set_temperature(self, **kwargs: Any) -> None: ...
28
+ async def async_set_operation_mode(self, operation_mode: str) -> None: ...
29
+ async def async_turn_on(self, **kwargs: Any) -> None: ...
30
+ async def async_turn_off(self, **kwargs: Any) -> None: ...
31
+ _attr_temperature: Incomplete
32
+ _attr_min_temp: Incomplete
33
+ _attr_max_temp: Incomplete
34
+ @callback
35
+ def _update_from_device(self) -> None: ...
36
+ @callback
37
+ def _get_temperature_in_degrees(self, attribute: type[clusters.ClusterAttributeDescriptor]) -> float | None: ...
38
+
39
+ DISCOVERY_SCHEMAS: Incomplete
@@ -0,0 +1,12 @@
1
+ import contextvars
2
+ from collections.abc import Generator
3
+ from contextlib import contextmanager
4
+ from homeassistant.components.application_credentials import AuthorizationServer as AuthorizationServer
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+
7
+ CONF_ACTIVE_AUTHORIZATION_SERVER: str
8
+ _mcp_context: contextvars.ContextVar[AuthorizationServer]
9
+
10
+ @contextmanager
11
+ def authorization_server_context(authorization_server: AuthorizationServer) -> Generator[None]: ...
12
+ async def async_get_authorization_server(hass: HomeAssistant) -> AuthorizationServer: ...