homeassistant-stubs 2024.11.2__py3-none-any.whl → 2024.12.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 (393) hide show
  1. homeassistant-stubs/__main__.pyi +1 -0
  2. homeassistant-stubs/auth/mfa_modules/totp.pyi +4 -4
  3. homeassistant-stubs/backup_restore.pyi +17 -0
  4. homeassistant-stubs/components/airnow/config_flow.pyi +3 -3
  5. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +2 -2
  6. homeassistant-stubs/components/amberelectric/config_flow.pyi +1 -1
  7. homeassistant-stubs/components/amberelectric/coordinator.pyi +7 -7
  8. homeassistant-stubs/components/amberelectric/sensor.pyi +3 -4
  9. homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -3
  10. homeassistant-stubs/components/androidtv/config_flow.pyi +2 -2
  11. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -2
  12. homeassistant-stubs/components/apsystems/coordinator.pyi +1 -1
  13. homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +2 -3
  14. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +4 -2
  15. homeassistant-stubs/components/assist_pipeline/vad.pyi +7 -4
  16. homeassistant-stubs/components/axis/config_flow.pyi +2 -2
  17. homeassistant-stubs/components/backup/http.pyi +7 -3
  18. homeassistant-stubs/components/backup/manager.pyi +8 -0
  19. homeassistant-stubs/components/backup/websocket.pyi +1 -0
  20. homeassistant-stubs/components/bang_olufsen/const.pyi +1 -6
  21. homeassistant-stubs/components/bang_olufsen/diagnostics.pyi +6 -0
  22. homeassistant-stubs/components/bang_olufsen/media_player.pyi +11 -5
  23. homeassistant-stubs/components/bang_olufsen/websocket.pyi +2 -2
  24. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +7 -3
  25. homeassistant-stubs/components/bmw_connected_drive/const.pyi +3 -0
  26. homeassistant-stubs/components/brother/sensor.pyi +0 -1
  27. homeassistant-stubs/components/cambridge_audio/__init__.pyi +1 -0
  28. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +1 -0
  29. homeassistant-stubs/components/cambridge_audio/media_player.pyi +1 -0
  30. homeassistant-stubs/components/cambridge_audio/select.pyi +3 -1
  31. homeassistant-stubs/components/cambridge_audio/switch.pyi +3 -1
  32. homeassistant-stubs/components/camera/__init__.pyi +5 -3
  33. homeassistant-stubs/components/camera/webrtc.pyi +10 -6
  34. homeassistant-stubs/components/canary/config_flow.pyi +0 -2
  35. homeassistant-stubs/components/climate/__init__.pyi +10 -3
  36. homeassistant-stubs/components/climate/const.pyi +6 -0
  37. homeassistant-stubs/components/climate/reproduce_state.pyi +1 -1
  38. homeassistant-stubs/components/climate/significant_change.pyi +1 -1
  39. homeassistant-stubs/components/cloud/prefs.pyi +1 -1
  40. homeassistant-stubs/components/crownstone/config_flow.pyi +1 -2
  41. homeassistant-stubs/components/deconz/config_flow.pyi +1 -5
  42. homeassistant-stubs/components/demo/climate.pyi +8 -1
  43. homeassistant-stubs/components/demo/config_flow.pyi +0 -1
  44. homeassistant-stubs/components/discovergy/config_flow.pyi +2 -5
  45. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -2
  46. homeassistant-stubs/components/dnsip/config_flow.pyi +2 -2
  47. homeassistant-stubs/components/doorbird/config_flow.pyi +0 -2
  48. homeassistant-stubs/components/dsmr/config_flow.pyi +0 -2
  49. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  50. homeassistant-stubs/components/elevenlabs/config_flow.pyi +2 -2
  51. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -2
  52. homeassistant-stubs/components/eq3btsmart/__init__.pyi +7 -6
  53. homeassistant-stubs/components/eq3btsmart/binary_sensor.pyi +26 -0
  54. homeassistant-stubs/components/eq3btsmart/climate.pyi +4 -15
  55. homeassistant-stubs/components/eq3btsmart/const.pyi +14 -0
  56. homeassistant-stubs/components/eq3btsmart/entity.pyi +17 -3
  57. homeassistant-stubs/components/eq3btsmart/models.pyi +1 -3
  58. homeassistant-stubs/components/eq3btsmart/number.pyi +33 -0
  59. homeassistant-stubs/components/eq3btsmart/sensor.pyi +28 -0
  60. homeassistant-stubs/components/eq3btsmart/switch.pyi +30 -0
  61. homeassistant-stubs/components/esphome/assist_satellite.pyi +1 -0
  62. homeassistant-stubs/components/esphome/config_flow.pyi +0 -2
  63. homeassistant-stubs/components/esphome/entry_data.pyi +8 -1
  64. homeassistant-stubs/components/esphome/ffmpeg_proxy.pyi +1 -0
  65. homeassistant-stubs/components/esphome/media_player.pyi +2 -1
  66. homeassistant-stubs/components/esphome/select.pyi +18 -1
  67. homeassistant-stubs/components/fan/__init__.pyi +1 -1
  68. homeassistant-stubs/components/feedreader/config_flow.pyi +2 -2
  69. homeassistant-stubs/components/filesize/config_flow.pyi +2 -5
  70. homeassistant-stubs/components/fitbit/config_flow.pyi +0 -1
  71. homeassistant-stubs/components/fitbit/sensor.pyi +12 -15
  72. homeassistant-stubs/components/flux_led/config_flow.pyi +1 -3
  73. homeassistant-stubs/components/forecast_solar/config_flow.pyi +0 -2
  74. homeassistant-stubs/components/fritz/config_flow.pyi +4 -4
  75. homeassistant-stubs/components/fritzbox/config_flow.pyi +1 -1
  76. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +0 -2
  77. homeassistant-stubs/components/fully_kiosk/__init__.pyi +3 -2
  78. homeassistant-stubs/components/fully_kiosk/binary_sensor.pyi +2 -3
  79. homeassistant-stubs/components/fully_kiosk/button.pyi +2 -3
  80. homeassistant-stubs/components/fully_kiosk/camera.pyi +2 -3
  81. homeassistant-stubs/components/fully_kiosk/diagnostics.pyi +2 -3
  82. homeassistant-stubs/components/fully_kiosk/image.pyi +2 -3
  83. homeassistant-stubs/components/fully_kiosk/media_player.pyi +3 -3
  84. homeassistant-stubs/components/fully_kiosk/notify.pyi +2 -3
  85. homeassistant-stubs/components/fully_kiosk/number.pyi +2 -3
  86. homeassistant-stubs/components/fully_kiosk/sensor.pyi +2 -3
  87. homeassistant-stubs/components/fully_kiosk/switch.pyi +2 -3
  88. homeassistant-stubs/components/fyta/__init__.pyi +1 -0
  89. homeassistant-stubs/components/glances/__init__.pyi +0 -2
  90. homeassistant-stubs/components/go2rtc/__init__.pyi +2 -2
  91. homeassistant-stubs/components/google/config_flow.pyi +0 -2
  92. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +0 -2
  93. homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
  94. homeassistant-stubs/components/google_cloud/helpers.pyi +1 -1
  95. homeassistant-stubs/components/here_travel_time/config_flow.pyi +1 -2
  96. homeassistant-stubs/components/history/__init__.pyi +1 -1
  97. homeassistant-stubs/components/history/helpers.pyi +1 -2
  98. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  99. homeassistant-stubs/components/history_stats/data.pyi +1 -0
  100. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +4 -3
  101. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +0 -1
  102. homeassistant-stubs/components/homekit/config_flow.pyi +1 -2
  103. homeassistant-stubs/components/homewizard/button.pyi +2 -0
  104. homeassistant-stubs/components/homewizard/config_flow.pyi +5 -1
  105. homeassistant-stubs/components/homewizard/const.pyi +1 -1
  106. homeassistant-stubs/components/homewizard/coordinator.pyi +3 -3
  107. homeassistant-stubs/components/homewizard/number.pyi +2 -0
  108. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  109. homeassistant-stubs/components/homewizard/switch.pyi +4 -2
  110. homeassistant-stubs/components/huawei_lte/config_flow.pyi +0 -2
  111. homeassistant-stubs/components/husqvarna_automower/api.pyi +6 -0
  112. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +7 -0
  113. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  114. homeassistant-stubs/components/husqvarna_automower/config_flow.pyi +2 -1
  115. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +2 -1
  116. homeassistant-stubs/components/husqvarna_automower/number.pyi +1 -0
  117. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  118. homeassistant-stubs/components/husqvarna_automower/switch.pyi +1 -0
  119. homeassistant-stubs/components/hydrawise/sensor.pyi +2 -9
  120. homeassistant-stubs/components/hyperion/config_flow.pyi +0 -2
  121. homeassistant-stubs/components/ibeacon/config_flow.pyi +0 -3
  122. homeassistant-stubs/components/imap/config_flow.pyi +3 -3
  123. homeassistant-stubs/components/imap/sensor.pyi +1 -1
  124. homeassistant-stubs/components/intent/timers.pyi +6 -0
  125. homeassistant-stubs/components/islamic_prayer_times/config_flow.pyi +0 -3
  126. homeassistant-stubs/components/isy994/config_flow.pyi +0 -2
  127. homeassistant-stubs/components/jellyfin/config_flow.pyi +3 -3
  128. homeassistant-stubs/components/jewish_calendar/__init__.pyi +6 -17
  129. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +2 -4
  130. homeassistant-stubs/components/jewish_calendar/config_flow.pyi +3 -4
  131. homeassistant-stubs/components/jewish_calendar/entity.pyi +15 -4
  132. homeassistant-stubs/components/jewish_calendar/sensor.pyi +3 -5
  133. homeassistant-stubs/components/knx/__init__.pyi +1 -1
  134. homeassistant-stubs/components/knx/config_flow.pyi +0 -1
  135. homeassistant-stubs/components/knx/light.pyi +3 -3
  136. homeassistant-stubs/components/knx/telegrams.pyi +1 -0
  137. homeassistant-stubs/components/knx/websocket.pyi +1 -0
  138. homeassistant-stubs/components/kraken/config_flow.pyi +0 -3
  139. homeassistant-stubs/components/lamarzocco/__init__.pyi +1 -1
  140. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +1 -1
  141. homeassistant-stubs/components/lamarzocco/button.pyi +7 -3
  142. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -1
  143. homeassistant-stubs/components/lamarzocco/config_flow.pyi +10 -6
  144. homeassistant-stubs/components/lamarzocco/coordinator.pyi +3 -3
  145. homeassistant-stubs/components/lamarzocco/diagnostics.pyi +1 -1
  146. homeassistant-stubs/components/lamarzocco/entity.pyi +3 -2
  147. homeassistant-stubs/components/lamarzocco/number.pyi +5 -3
  148. homeassistant-stubs/components/lamarzocco/select.pyi +3 -2
  149. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -1
  150. homeassistant-stubs/components/lamarzocco/switch.pyi +4 -2
  151. homeassistant-stubs/components/lamarzocco/update.pyi +3 -1
  152. homeassistant-stubs/components/lcn/__init__.pyi +4 -4
  153. homeassistant-stubs/components/lcn/config_flow.pyi +0 -4
  154. homeassistant-stubs/components/lcn/helpers.pyi +2 -4
  155. homeassistant-stubs/components/lcn/schemas.pyi +2 -13
  156. homeassistant-stubs/components/lcn/services.pyi +2 -0
  157. homeassistant-stubs/components/lektrico/binary_sensor.pyi +27 -0
  158. homeassistant-stubs/components/linkplay/button.pyi +28 -0
  159. homeassistant-stubs/components/linkplay/diagnostics.pyi +5 -0
  160. homeassistant-stubs/components/linkplay/entity.pyi +16 -0
  161. homeassistant-stubs/components/linkplay/media_player.pyi +3 -8
  162. homeassistant-stubs/components/linkplay/utils.pyi +12 -0
  163. homeassistant-stubs/components/litejet/config_flow.pyi +0 -3
  164. homeassistant-stubs/components/matter/adapter.pyi +1 -0
  165. homeassistant-stubs/components/matter/const.pyi +1 -0
  166. homeassistant-stubs/components/matter/discovery.pyi +1 -0
  167. homeassistant-stubs/components/matter/entity.pyi +2 -1
  168. homeassistant-stubs/components/matter/models.pyi +4 -2
  169. homeassistant-stubs/components/media_extractor/__init__.pyi +1 -2
  170. homeassistant-stubs/components/media_extractor/config_flow.pyi +0 -1
  171. homeassistant-stubs/components/mikrotik/config_flow.pyi +0 -3
  172. homeassistant-stubs/components/mjpeg/config_flow.pyi +0 -3
  173. homeassistant-stubs/components/mold_indicator/sensor.pyi +3 -5
  174. homeassistant-stubs/components/monzo/coordinator.pyi +1 -1
  175. homeassistant-stubs/components/mopeka/config_flow.pyi +0 -2
  176. homeassistant-stubs/components/mqtt/__init__.pyi +1 -0
  177. homeassistant-stubs/components/mqtt/alarm_control_panel.pyi +1 -0
  178. homeassistant-stubs/components/mqtt/binary_sensor.pyi +1 -0
  179. homeassistant-stubs/components/mqtt/button.pyi +1 -0
  180. homeassistant-stubs/components/mqtt/camera.pyi +1 -0
  181. homeassistant-stubs/components/mqtt/climate.pyi +1 -0
  182. homeassistant-stubs/components/mqtt/config_flow.pyi +3 -4
  183. homeassistant-stubs/components/mqtt/cover.pyi +1 -0
  184. homeassistant-stubs/components/mqtt/device_tracker.pyi +1 -0
  185. homeassistant-stubs/components/mqtt/entity.pyi +1 -0
  186. homeassistant-stubs/components/mqtt/event.pyi +1 -0
  187. homeassistant-stubs/components/mqtt/fan.pyi +1 -0
  188. homeassistant-stubs/components/mqtt/humidifier.pyi +1 -0
  189. homeassistant-stubs/components/mqtt/image.pyi +1 -0
  190. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -0
  191. homeassistant-stubs/components/mqtt/light/__init__.pyi +2 -0
  192. homeassistant-stubs/components/mqtt/lock.pyi +1 -0
  193. homeassistant-stubs/components/mqtt/notify.pyi +1 -0
  194. homeassistant-stubs/components/mqtt/number.pyi +1 -0
  195. homeassistant-stubs/components/mqtt/scene.pyi +1 -0
  196. homeassistant-stubs/components/mqtt/select.pyi +1 -0
  197. homeassistant-stubs/components/mqtt/sensor.pyi +1 -0
  198. homeassistant-stubs/components/mqtt/siren.pyi +1 -0
  199. homeassistant-stubs/components/mqtt/subscription.pyi +1 -1
  200. homeassistant-stubs/components/mqtt/switch.pyi +1 -0
  201. homeassistant-stubs/components/mqtt/text.pyi +1 -0
  202. homeassistant-stubs/components/mqtt/update.pyi +1 -0
  203. homeassistant-stubs/components/mqtt/vacuum.pyi +1 -0
  204. homeassistant-stubs/components/mqtt/valve.pyi +1 -0
  205. homeassistant-stubs/components/mqtt/water_heater.pyi +1 -0
  206. homeassistant-stubs/components/music_assistant/__init__.pyi +27 -0
  207. homeassistant-stubs/components/music_assistant/config_flow.pyi +24 -0
  208. homeassistant-stubs/components/music_assistant/const.pyi +12 -0
  209. homeassistant-stubs/components/music_assistant/entity.pyi +24 -0
  210. homeassistant-stubs/components/music_assistant/media_browser.pyi +33 -0
  211. homeassistant-stubs/components/music_assistant/media_player.pyi +96 -0
  212. homeassistant-stubs/components/nasweb/__init__.pyi +19 -0
  213. homeassistant-stubs/components/nasweb/config_flow.pyi +27 -0
  214. homeassistant-stubs/components/nasweb/const.pyi +5 -0
  215. homeassistant-stubs/components/nasweb/coordinator.pyi +42 -0
  216. homeassistant-stubs/components/nasweb/nasweb_data.pyi +20 -0
  217. homeassistant-stubs/components/nasweb/switch.pyi +35 -0
  218. homeassistant-stubs/components/nest/camera.pyi +3 -5
  219. homeassistant-stubs/components/netatmo/config_flow.pyi +0 -1
  220. homeassistant-stubs/components/nightscout/sensor.pyi +4 -3
  221. homeassistant-stubs/components/nordpool/__init__.pyi +9 -0
  222. homeassistant-stubs/components/nordpool/config_flow.pyi +19 -0
  223. homeassistant-stubs/components/nordpool/const.pyi +9 -0
  224. homeassistant-stubs/components/nordpool/coordinator.pyi +20 -0
  225. homeassistant-stubs/components/nordpool/diagnostics.pyi +5 -0
  226. homeassistant-stubs/components/nordpool/entity.pyi +14 -0
  227. homeassistant-stubs/components/nordpool/sensor.pyi +69 -0
  228. homeassistant-stubs/components/number/const.pyi +3 -1
  229. homeassistant-stubs/components/nut/__init__.pyi +4 -1
  230. homeassistant-stubs/components/nut/config_flow.pyi +0 -2
  231. homeassistant-stubs/components/nut/sensor.pyi +1 -1
  232. homeassistant-stubs/components/onewire/config_flow.pyi +4 -2
  233. homeassistant-stubs/components/onkyo/config_flow.pyi +3 -2
  234. homeassistant-stubs/components/openai_conversation/config_flow.pyi +0 -1
  235. homeassistant-stubs/components/opensky/config_flow.pyi +3 -3
  236. homeassistant-stubs/components/p1_monitor/__init__.pyi +3 -3
  237. homeassistant-stubs/components/p1_monitor/diagnostics.pyi +1 -2
  238. homeassistant-stubs/components/p1_monitor/sensor.pyi +1 -1
  239. homeassistant-stubs/components/ping/__init__.pyi +2 -6
  240. homeassistant-stubs/components/ping/config_flow.pyi +2 -2
  241. homeassistant-stubs/components/plugwise/climate.pyi +4 -2
  242. homeassistant-stubs/components/plugwise/entity.pyi +2 -2
  243. homeassistant-stubs/components/plugwise/number.pyi +2 -2
  244. homeassistant-stubs/components/plugwise/select.pyi +2 -1
  245. homeassistant-stubs/components/proximity/config_flow.pyi +0 -3
  246. homeassistant-stubs/components/pure_energie/__init__.pyi +4 -5
  247. homeassistant-stubs/components/pure_energie/diagnostics.pyi +2 -4
  248. homeassistant-stubs/components/pure_energie/sensor.pyi +3 -3
  249. homeassistant-stubs/components/purpleair/config_flow.pyi +1 -2
  250. homeassistant-stubs/components/rainmachine/config_flow.pyi +0 -3
  251. homeassistant-stubs/components/recollect_waste/config_flow.pyi +1 -3
  252. homeassistant-stubs/components/recorder/core.pyi +1 -0
  253. homeassistant-stubs/components/recorder/history/legacy.pyi +4 -4
  254. homeassistant-stubs/components/recorder/history/modern.pyi +2 -2
  255. homeassistant-stubs/components/recorder/pool.pyi +1 -1
  256. homeassistant-stubs/components/recorder/queries.pyi +1 -0
  257. homeassistant-stubs/components/recorder/statistics.pyi +1 -1
  258. homeassistant-stubs/components/recorder/table_managers/states.pyi +7 -0
  259. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  260. homeassistant-stubs/components/renault/config_flow.pyi +4 -5
  261. homeassistant-stubs/components/renault/services.pyi +1 -0
  262. homeassistant-stubs/components/reolink/__init__.pyi +28 -0
  263. homeassistant-stubs/components/reolink/binary_sensor.pyi +34 -0
  264. homeassistant-stubs/components/reolink/button.pyi +48 -0
  265. homeassistant-stubs/components/reolink/camera.pyi +28 -0
  266. homeassistant-stubs/components/reolink/config_flow.pyi +35 -0
  267. homeassistant-stubs/components/reolink/const.pyi +2 -0
  268. homeassistant-stubs/components/reolink/diagnostics.pyi +5 -0
  269. homeassistant-stubs/components/reolink/entity.pyi +69 -0
  270. homeassistant-stubs/components/reolink/exceptions.pyi +7 -0
  271. homeassistant-stubs/components/reolink/host.pyi +82 -0
  272. homeassistant-stubs/components/reolink/light.pyi +55 -0
  273. homeassistant-stubs/components/reolink/media_source.pyi +27 -0
  274. homeassistant-stubs/components/reolink/number.pyi +69 -0
  275. homeassistant-stubs/components/reolink/select.pyi +54 -0
  276. homeassistant-stubs/components/reolink/sensor.pyi +55 -0
  277. homeassistant-stubs/components/reolink/services.pyi +12 -0
  278. homeassistant-stubs/components/reolink/siren.pyi +26 -0
  279. homeassistant-stubs/components/reolink/switch.pyi +65 -0
  280. homeassistant-stubs/components/reolink/update.pyi +71 -0
  281. homeassistant-stubs/components/reolink/util.pyi +18 -0
  282. homeassistant-stubs/components/rfxtrx/config_flow.pyi +2 -3
  283. homeassistant-stubs/components/ring/__init__.pyi +0 -1
  284. homeassistant-stubs/components/ring/camera.pyi +22 -6
  285. homeassistant-stubs/components/rituals_perfume_genie/select.pyi +1 -1
  286. homeassistant-stubs/components/roborock/config_flow.pyi +5 -3
  287. homeassistant-stubs/components/roborock/sensor.pyi +1 -1
  288. homeassistant-stubs/components/roku/config_flow.pyi +3 -3
  289. homeassistant-stubs/components/romy/sensor.pyi +1 -1
  290. homeassistant-stubs/components/rtsp_to_webrtc/__init__.pyi +1 -0
  291. homeassistant-stubs/components/rtsp_to_webrtc/config_flow.pyi +0 -2
  292. homeassistant-stubs/components/sensor/const.pyi +4 -2
  293. homeassistant-stubs/components/sensor/device_condition.pyi +2 -0
  294. homeassistant-stubs/components/sensor/device_trigger.pyi +2 -0
  295. homeassistant-stubs/components/shelly/config_flow.pyi +0 -2
  296. homeassistant-stubs/components/shelly/update.pyi +4 -1
  297. homeassistant-stubs/components/simplisafe/config_flow.pyi +0 -2
  298. homeassistant-stubs/components/smlight/config_flow.pyi +1 -1
  299. homeassistant-stubs/components/solarlog/coordinator.pyi +1 -0
  300. homeassistant-stubs/components/sonarr/config_flow.pyi +0 -2
  301. homeassistant-stubs/components/speedtestdotnet/config_flow.pyi +1 -2
  302. homeassistant-stubs/components/spotify/browse_media.pyi +2 -2
  303. homeassistant-stubs/components/spotify/coordinator.pyi +2 -4
  304. homeassistant-stubs/components/sql/config_flow.pyi +2 -2
  305. homeassistant-stubs/components/statistics/sensor.pyi +2 -4
  306. homeassistant-stubs/components/stookwijzer/__init__.pyi +15 -0
  307. homeassistant-stubs/components/stookwijzer/config_flow.pyi +10 -0
  308. homeassistant-stubs/components/stookwijzer/const.pyi +5 -0
  309. homeassistant-stubs/components/stookwijzer/coordinator.pyi +15 -0
  310. homeassistant-stubs/components/stookwijzer/diagnostics.pyi +5 -0
  311. homeassistant-stubs/components/stookwijzer/sensor.pyi +31 -0
  312. homeassistant-stubs/components/stream/const.pyi +3 -2
  313. homeassistant-stubs/components/stream/core.pyi +2 -2
  314. homeassistant-stubs/components/stream/worker.pyi +15 -13
  315. homeassistant-stubs/components/suez_water/__init__.pyi +3 -3
  316. homeassistant-stubs/components/suez_water/config_flow.pyi +2 -1
  317. homeassistant-stubs/components/suez_water/const.pyi +3 -0
  318. homeassistant-stubs/components/suez_water/coordinator.pyi +35 -0
  319. homeassistant-stubs/components/suez_water/sensor.pyi +23 -17
  320. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +3 -1
  321. homeassistant-stubs/components/switcher_kis/button.pyi +1 -1
  322. homeassistant-stubs/components/switcher_kis/cover.pyi +1 -1
  323. homeassistant-stubs/components/switcher_kis/light.pyi +1 -1
  324. homeassistant-stubs/components/switcher_kis/sensor.pyi +2 -0
  325. homeassistant-stubs/components/synology_dsm/config_flow.pyi +0 -2
  326. homeassistant-stubs/components/tedee/binary_sensor.pyi +1 -1
  327. homeassistant-stubs/components/tedee/coordinator.pyi +2 -2
  328. homeassistant-stubs/components/tedee/entity.pyi +1 -1
  329. homeassistant-stubs/components/tedee/lock.pyi +3 -1
  330. homeassistant-stubs/components/tedee/sensor.pyi +1 -1
  331. homeassistant-stubs/components/thethingsnetwork/__init__.pyi +1 -4
  332. homeassistant-stubs/components/threshold/binary_sensor.pyi +4 -0
  333. homeassistant-stubs/components/tibber/__init__.pyi +1 -2
  334. homeassistant-stubs/components/tibber/notify.pyi +1 -10
  335. homeassistant-stubs/components/tod/binary_sensor.pyi +3 -3
  336. homeassistant-stubs/components/tolo/config_flow.pyi +1 -1
  337. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  338. homeassistant-stubs/components/tplink/config_flow.pyi +6 -3
  339. homeassistant-stubs/components/tplink_omada/__init__.pyi +2 -2
  340. homeassistant-stubs/components/trafikverket_camera/config_flow.pyi +1 -1
  341. homeassistant-stubs/components/trafikverket_camera/coordinator.pyi +2 -3
  342. homeassistant-stubs/components/trafikverket_train/__init__.pyi +3 -0
  343. homeassistant-stubs/components/trafikverket_train/config_flow.pyi +4 -3
  344. homeassistant-stubs/components/trafikverket_train/util.pyi +1 -2
  345. homeassistant-stubs/components/transmission/config_flow.pyi +0 -2
  346. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -0
  347. homeassistant-stubs/components/tts/__init__.pyi +3 -1
  348. homeassistant-stubs/components/unifi/config_flow.pyi +2 -3
  349. homeassistant-stubs/components/unifiprotect/__init__.pyi +1 -1
  350. homeassistant-stubs/components/unifiprotect/config_flow.pyi +0 -2
  351. homeassistant-stubs/components/unifiprotect/const.pyi +5 -0
  352. homeassistant-stubs/components/unifiprotect/event.pyi +17 -4
  353. homeassistant-stubs/components/unifiprotect/views.pyi +7 -1
  354. homeassistant-stubs/components/upcloud/config_flow.pyi +0 -2
  355. homeassistant-stubs/components/watttime/config_flow.pyi +1 -3
  356. homeassistant-stubs/components/webostv/config_flow.pyi +0 -2
  357. homeassistant-stubs/components/websocket_api/http.pyi +2 -1
  358. homeassistant-stubs/components/wemo/config_flow.pyi +0 -3
  359. homeassistant-stubs/components/wled/config_flow.pyi +2 -2
  360. homeassistant-stubs/components/workday/config_flow.pyi +2 -2
  361. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +5 -3
  362. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +0 -2
  363. homeassistant-stubs/components/youtube/config_flow.pyi +2 -2
  364. homeassistant-stubs/components/zeroconf/usage.pyi +1 -1
  365. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  366. homeassistant-stubs/components/zwave_js/api.pyi +9 -1
  367. homeassistant-stubs/components/zwave_js/config_flow.pyi +1 -2
  368. homeassistant-stubs/components/zwave_js/const.pyi +1 -0
  369. homeassistant-stubs/config_entries.pyi +15 -7
  370. homeassistant-stubs/const.pyi +26 -1
  371. homeassistant-stubs/core_config.pyi +1 -1
  372. homeassistant-stubs/data_entry_flow.pyi +3 -3
  373. homeassistant-stubs/helpers/device_registry.pyi +0 -1
  374. homeassistant-stubs/helpers/entity.pyi +1 -0
  375. homeassistant-stubs/helpers/entity_platform.pyi +1 -0
  376. homeassistant-stubs/helpers/frame.pyi +12 -3
  377. homeassistant-stubs/helpers/intent.pyi +1 -0
  378. homeassistant-stubs/helpers/llm.pyi +2 -3
  379. homeassistant-stubs/helpers/restore_state.pyi +0 -3
  380. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -2
  381. homeassistant-stubs/helpers/trigger_template_entity.pyi +1 -1
  382. homeassistant-stubs/helpers/update_coordinator.pyi +3 -3
  383. homeassistant-stubs/loader.pyi +1 -0
  384. homeassistant-stubs/runner.pyi +0 -4
  385. homeassistant-stubs/util/json.pyi +3 -3
  386. homeassistant-stubs/util/unit_conversion.pyi +20 -1
  387. homeassistant-stubs/util/unit_system.pyi +7 -4
  388. homeassistant-stubs/util/yaml/loader.pyi +0 -19
  389. {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/METADATA +2 -2
  390. {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/RECORD +392 -337
  391. homeassistant-stubs/components/spotify/sensor.pyi +0 -31
  392. {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/WHEEL +0 -0
  393. {homeassistant_stubs-2024.11.2.dist-info → homeassistant_stubs-2024.12.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,10 +1,20 @@
1
- from .const import CONF_CANDLE_LIGHT_MINUTES as CONF_CANDLE_LIGHT_MINUTES, CONF_DIASPORA as CONF_DIASPORA, CONF_HAVDALAH_OFFSET_MINUTES as CONF_HAVDALAH_OFFSET_MINUTES, DOMAIN as DOMAIN
1
+ from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
+ from dataclasses import dataclass
4
+ from hdate import Location as Location
3
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
- from homeassistant.const import CONF_LANGUAGE as CONF_LANGUAGE, CONF_LOCATION as CONF_LOCATION
5
6
  from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType, DeviceInfo as DeviceInfo
6
7
  from homeassistant.helpers.entity import Entity as Entity, EntityDescription as EntityDescription
7
- from typing import Any
8
+
9
+ type JewishCalendarConfigEntry = ConfigEntry[JewishCalendarData]
10
+ @dataclass
11
+ class JewishCalendarData:
12
+ language: str
13
+ diaspora: bool
14
+ location: Location
15
+ candle_lighting_offset: int
16
+ havdalah_offset: int
17
+ def __init__(self, language, diaspora, location, candle_lighting_offset, havdalah_offset) -> None: ...
8
18
 
9
19
  class JewishCalendarEntity(Entity):
10
20
  _attr_has_entity_name: bool
@@ -13,7 +23,8 @@ class JewishCalendarEntity(Entity):
13
23
  _attr_device_info: Incomplete
14
24
  _location: Incomplete
15
25
  _hebrew: Incomplete
26
+ _language: Incomplete
16
27
  _candle_lighting_offset: Incomplete
17
28
  _havdalah_offset: Incomplete
18
29
  _diaspora: Incomplete
19
- def __init__(self, config_entry: ConfigEntry, data: dict[str, Any], description: EntityDescription) -> None: ...
30
+ def __init__(self, config_entry: JewishCalendarConfigEntry, description: EntityDescription) -> None: ...
@@ -1,11 +1,9 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .entity import JewishCalendarEntity as JewishCalendarEntity
1
+ from .entity import JewishCalendarConfigEntry as JewishCalendarConfigEntry, JewishCalendarEntity as JewishCalendarEntity
3
2
  from _typeshed import Incomplete
4
3
  from datetime import date as Date
5
4
  from hdate import HDate
6
5
  from hdate.zmanim import Zmanim
7
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
7
  from homeassistant.const import EntityCategory as EntityCategory, SUN_EVENT_SUNSET as SUN_EVENT_SUNSET
10
8
  from homeassistant.core import HomeAssistant as HomeAssistant
11
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
@@ -16,12 +14,12 @@ _LOGGER: Incomplete
16
14
  INFO_SENSORS: tuple[SensorEntityDescription, ...]
17
15
  TIME_SENSORS: tuple[SensorEntityDescription, ...]
18
16
 
19
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
17
+ async def async_setup_entry(hass: HomeAssistant, config_entry: JewishCalendarConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
18
 
21
19
  class JewishCalendarSensor(JewishCalendarEntity, SensorEntity):
22
20
  _attr_entity_category: Incomplete
23
21
  _attrs: Incomplete
24
- def __init__(self, config_entry: ConfigEntry, data: dict[str, Any], description: SensorEntityDescription) -> None: ...
22
+ def __init__(self, config_entry: JewishCalendarConfigEntry, description: SensorEntityDescription) -> None: ...
25
23
  _attr_native_value: Incomplete
26
24
  async def async_update(self) -> None: ...
27
25
  def make_zmanim(self, date: Date) -> Zmanim: ...
@@ -1,4 +1,4 @@
1
- from .const import CONF_KNX_CONNECTION_TYPE as CONF_KNX_CONNECTION_TYPE, CONF_KNX_EXPOSE as CONF_KNX_EXPOSE, CONF_KNX_INDIVIDUAL_ADDRESS as CONF_KNX_INDIVIDUAL_ADDRESS, CONF_KNX_KNXKEY_FILENAME as CONF_KNX_KNXKEY_FILENAME, CONF_KNX_KNXKEY_PASSWORD as CONF_KNX_KNXKEY_PASSWORD, CONF_KNX_LOCAL_IP as CONF_KNX_LOCAL_IP, CONF_KNX_MCAST_GRP as CONF_KNX_MCAST_GRP, CONF_KNX_MCAST_PORT as CONF_KNX_MCAST_PORT, CONF_KNX_RATE_LIMIT as CONF_KNX_RATE_LIMIT, CONF_KNX_ROUTE_BACK as CONF_KNX_ROUTE_BACK, CONF_KNX_ROUTING as CONF_KNX_ROUTING, CONF_KNX_ROUTING_BACKBONE_KEY as CONF_KNX_ROUTING_BACKBONE_KEY, CONF_KNX_ROUTING_SECURE as CONF_KNX_ROUTING_SECURE, CONF_KNX_ROUTING_SYNC_LATENCY_TOLERANCE as CONF_KNX_ROUTING_SYNC_LATENCY_TOLERANCE, CONF_KNX_SECURE_DEVICE_AUTHENTICATION as CONF_KNX_SECURE_DEVICE_AUTHENTICATION, CONF_KNX_SECURE_USER_ID as CONF_KNX_SECURE_USER_ID, CONF_KNX_SECURE_USER_PASSWORD as CONF_KNX_SECURE_USER_PASSWORD, CONF_KNX_STATE_UPDATER as CONF_KNX_STATE_UPDATER, CONF_KNX_TELEGRAM_LOG_SIZE as CONF_KNX_TELEGRAM_LOG_SIZE, CONF_KNX_TUNNELING as CONF_KNX_TUNNELING, CONF_KNX_TUNNELING_TCP as CONF_KNX_TUNNELING_TCP, CONF_KNX_TUNNELING_TCP_SECURE as CONF_KNX_TUNNELING_TCP_SECURE, DATA_HASS_CONFIG as DATA_HASS_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY, SUPPORTED_PLATFORMS_UI as SUPPORTED_PLATFORMS_UI, SUPPORTED_PLATFORMS_YAML as SUPPORTED_PLATFORMS_YAML, TELEGRAM_LOG_DEFAULT as TELEGRAM_LOG_DEFAULT
1
+ from .const import CONF_KNX_CONNECTION_TYPE as CONF_KNX_CONNECTION_TYPE, CONF_KNX_EXPOSE as CONF_KNX_EXPOSE, CONF_KNX_INDIVIDUAL_ADDRESS as CONF_KNX_INDIVIDUAL_ADDRESS, CONF_KNX_KNXKEY_FILENAME as CONF_KNX_KNXKEY_FILENAME, CONF_KNX_KNXKEY_PASSWORD as CONF_KNX_KNXKEY_PASSWORD, CONF_KNX_LOCAL_IP as CONF_KNX_LOCAL_IP, CONF_KNX_MCAST_GRP as CONF_KNX_MCAST_GRP, CONF_KNX_MCAST_PORT as CONF_KNX_MCAST_PORT, CONF_KNX_RATE_LIMIT as CONF_KNX_RATE_LIMIT, CONF_KNX_ROUTE_BACK as CONF_KNX_ROUTE_BACK, CONF_KNX_ROUTING as CONF_KNX_ROUTING, CONF_KNX_ROUTING_BACKBONE_KEY as CONF_KNX_ROUTING_BACKBONE_KEY, CONF_KNX_ROUTING_SECURE as CONF_KNX_ROUTING_SECURE, CONF_KNX_ROUTING_SYNC_LATENCY_TOLERANCE as CONF_KNX_ROUTING_SYNC_LATENCY_TOLERANCE, CONF_KNX_SECURE_DEVICE_AUTHENTICATION as CONF_KNX_SECURE_DEVICE_AUTHENTICATION, CONF_KNX_SECURE_USER_ID as CONF_KNX_SECURE_USER_ID, CONF_KNX_SECURE_USER_PASSWORD as CONF_KNX_SECURE_USER_PASSWORD, CONF_KNX_STATE_UPDATER as CONF_KNX_STATE_UPDATER, CONF_KNX_TELEGRAM_LOG_SIZE as CONF_KNX_TELEGRAM_LOG_SIZE, CONF_KNX_TUNNELING as CONF_KNX_TUNNELING, CONF_KNX_TUNNELING_TCP as CONF_KNX_TUNNELING_TCP, CONF_KNX_TUNNELING_TCP_SECURE as CONF_KNX_TUNNELING_TCP_SECURE, CONF_KNX_TUNNEL_ENDPOINT_IA as CONF_KNX_TUNNEL_ENDPOINT_IA, DATA_HASS_CONFIG as DATA_HASS_CONFIG, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY, SUPPORTED_PLATFORMS_UI as SUPPORTED_PLATFORMS_UI, SUPPORTED_PLATFORMS_YAML as SUPPORTED_PLATFORMS_YAML, TELEGRAM_LOG_DEFAULT as TELEGRAM_LOG_DEFAULT
2
2
  from .device import KNXInterfaceDevice as KNXInterfaceDevice
3
3
  from .expose import KNXExposeSensor as KNXExposeSensor, KNXExposeTime as KNXExposeTime, create_knx_exposure as create_knx_exposure
4
4
  from .project import KNXProject as KNXProject
@@ -63,7 +63,6 @@ class KNXConfigFlow(KNXCommonFlow, ConfigFlow, domain=DOMAIN):
63
63
 
64
64
  class KNXOptionsFlow(KNXCommonFlow, OptionsFlow):
65
65
  general_settings: dict
66
- config_entry: Incomplete
67
66
  def __init__(self, config_entry: ConfigEntry) -> None: ...
68
67
  def finish_flow(self) -> ConfigFlowResult: ...
69
68
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -37,15 +37,14 @@ class _KnxLight(LightEntity):
37
37
  def xy_color(self) -> tuple[float, float] | None: ...
38
38
  @property
39
39
  def color_temp_kelvin(self) -> int | None: ...
40
- @property
41
- def color_mode(self) -> ColorMode: ...
42
- @property
43
40
  def supported_color_modes(self) -> set[ColorMode]: ...
41
+ _attr_color_mode: Incomplete
44
42
  async def async_turn_on(self, **kwargs: Any) -> None: ...
45
43
  async def async_turn_off(self, **kwargs: Any) -> None: ...
46
44
 
47
45
  class KnxYamlLight(_KnxLight, KnxYamlEntity):
48
46
  _device: XknxLight
47
+ _attr_color_mode: Incomplete
49
48
  _attr_max_color_temp_kelvin: Incomplete
50
49
  _attr_min_color_temp_kelvin: Incomplete
51
50
  _attr_entity_category: Incomplete
@@ -55,6 +54,7 @@ class KnxYamlLight(_KnxLight, KnxYamlEntity):
55
54
 
56
55
  class KnxUiLight(_KnxLight, KnxUiEntity):
57
56
  _device: XknxLight
57
+ _attr_color_mode: Incomplete
58
58
  _attr_max_color_temp_kelvin: Incomplete
59
59
  _attr_min_color_temp_kelvin: Incomplete
60
60
  def __init__(self, knx_module: KNXModule, unique_id: str, config: ConfigType) -> None: ...
@@ -38,6 +38,7 @@ class Telegrams:
38
38
  _history_store: Incomplete
39
39
  _xknx_telegram_cb_handle: Incomplete
40
40
  recent_telegrams: Incomplete
41
+ last_ga_telegrams: Incomplete
41
42
  def __init__(self, hass: HomeAssistant, xknx: XKNX, project: KNXProject, log_size: int) -> None: ...
42
43
  async def load_history(self) -> None: ...
43
44
  async def save_history(self) -> None: ...
@@ -30,6 +30,7 @@ async def ws_get_knx_project(hass: HomeAssistant, knx: KNXModule, connection: we
30
30
  async def ws_project_file_process(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
31
31
  async def ws_project_file_remove(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
32
32
  def ws_group_monitor_info(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
33
+ def ws_group_telegrams(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
33
34
  def ws_subscribe_telegram(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
34
35
  def ws_validate_entity(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
35
36
  async def ws_create_entity(hass: HomeAssistant, knx: KNXModule, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
@@ -1,6 +1,5 @@
1
1
  from .const import CONF_TRACKED_ASSET_PAIRS as CONF_TRACKED_ASSET_PAIRS, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN
2
2
  from .utils import get_tradable_asset_pairs as get_tradable_asset_pairs
3
- from _typeshed import Incomplete
4
3
  from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
5
4
  from homeassistant.const import CONF_SCAN_INTERVAL as CONF_SCAN_INTERVAL
6
5
  from homeassistant.core import callback as callback
@@ -13,6 +12,4 @@ class KrakenConfigFlow(ConfigFlow, domain=DOMAIN):
13
12
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
14
13
 
15
14
  class KrakenOptionsFlowHandler(OptionsFlow):
16
- config_entry: Incomplete
17
- def __init__(self, config_entry: ConfigEntry) -> None: ...
18
15
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -5,7 +5,7 @@ from homeassistant.components.bluetooth import async_discovered_service_info as
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME, Platform as Platform
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
- from homeassistant.helpers.httpx_client import get_async_client as get_async_client
8
+ from homeassistant.helpers.httpx_client import create_async_httpx_client as create_async_httpx_client
9
9
 
10
10
  PLATFORMS: Incomplete
11
11
  _LOGGER: Incomplete
@@ -6,7 +6,7 @@ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as Bi
6
6
  from homeassistant.const import EntityCategory as EntityCategory
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
- from lmcloud.models import LaMarzoccoMachineConfig as LaMarzoccoMachineConfig
9
+ from pylamarzocco.models import LaMarzoccoMachineConfig as LaMarzoccoMachineConfig
10
10
 
11
11
  @dataclass(frozen=True, kw_only=True)
12
12
  class LaMarzoccoBinarySensorEntityDescription(LaMarzoccoEntityDescription, BinarySensorEntityDescription):
@@ -1,5 +1,5 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaMarzoccoConfigEntry as LaMarzoccoConfigEntry
2
+ from .coordinator import LaMarzoccoConfigEntry as LaMarzoccoConfigEntry, LaMarzoccoUpdateCoordinator as LaMarzoccoUpdateCoordinator
3
3
  from .entity import LaMarzoccoEntity as LaMarzoccoEntity, LaMarzoccoEntityDescription as LaMarzoccoEntityDescription
4
4
  from collections.abc import Callable as Callable, Coroutine
5
5
  from dataclasses import dataclass
@@ -7,14 +7,18 @@ from homeassistant.components.button import ButtonEntity as ButtonEntity, Button
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
- from lmcloud.lm_machine import LaMarzoccoMachine as LaMarzoccoMachine
11
10
  from typing import Any
12
11
 
12
+ PARALLEL_UPDATES: int
13
+ BACKFLUSH_ENABLED_DURATION: int
14
+
13
15
  @dataclass(frozen=True, kw_only=True)
14
16
  class LaMarzoccoButtonEntityDescription(LaMarzoccoEntityDescription, ButtonEntityDescription):
15
- press_fn: Callable[[LaMarzoccoMachine], Coroutine[Any, Any, None]]
17
+ press_fn: Callable[[LaMarzoccoUpdateCoordinator], Coroutine[Any, Any, None]]
16
18
  def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., available_fn=..., supported_fn=..., press_fn) -> None: ...
17
19
 
20
+ async def async_backflush_and_update(coordinator: LaMarzoccoUpdateCoordinator) -> None: ...
21
+
18
22
  ENTITIES: tuple[LaMarzoccoButtonEntityDescription, ...]
19
23
 
20
24
  async def async_setup_entry(hass: HomeAssistant, entry: LaMarzoccoConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -6,7 +6,7 @@ from datetime import datetime
6
6
  from homeassistant.components.calendar import CalendarEntity as CalendarEntity, CalendarEvent as CalendarEvent
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
- from lmcloud.models import LaMarzoccoWakeUpSleepEntry as LaMarzoccoWakeUpSleepEntry
9
+ from pylamarzocco.models import LaMarzoccoWakeUpSleepEntry as LaMarzoccoWakeUpSleepEntry
10
10
 
11
11
  CALENDAR_KEY: str
12
12
  DAY_OF_WEEK: Incomplete
@@ -2,12 +2,14 @@ from .const import CONF_USE_BLUETOOTH as CONF_USE_BLUETOOTH, DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from collections.abc import Mapping
4
4
  from homeassistant.components.bluetooth import BluetoothServiceInfo as BluetoothServiceInfo, async_discovered_service_info as async_discovered_service_info
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, OptionsFlowWithConfigEntry as OptionsFlowWithConfigEntry, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
6
- from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME
5
+ from homeassistant.components.dhcp import DhcpServiceInfo as DhcpServiceInfo
6
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow, SOURCE_REAUTH as SOURCE_REAUTH, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE
7
+ from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME
7
8
  from homeassistant.core import callback as callback
8
- from homeassistant.helpers.httpx_client import get_async_client as get_async_client
9
+ from homeassistant.helpers.httpx_client import create_async_httpx_client as create_async_httpx_client
9
10
  from homeassistant.helpers.selector import SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode
10
- from lmcloud.models import LaMarzoccoDeviceInfo as LaMarzoccoDeviceInfo
11
+ from httpx import AsyncClient as AsyncClient
12
+ from pylamarzocco.models import LaMarzoccoDeviceInfo as LaMarzoccoDeviceInfo
11
13
  from typing import Any
12
14
 
13
15
  CONF_MACHINE: str
@@ -15,6 +17,7 @@ _LOGGER: Incomplete
15
17
 
16
18
  class LmConfigFlow(ConfigFlow, domain=DOMAIN):
17
19
  VERSION: int
20
+ _client: AsyncClient
18
21
  _config: Incomplete
19
22
  _fleet: Incomplete
20
23
  _discovered: Incomplete
@@ -23,11 +26,12 @@ class LmConfigFlow(ConfigFlow, domain=DOMAIN):
23
26
  async def async_step_machine_selection(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
24
27
  async def async_step_bluetooth_selection(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
25
28
  async def async_step_bluetooth(self, discovery_info: BluetoothServiceInfo) -> ConfigFlowResult: ...
29
+ async def async_step_dhcp(self, discovery_info: DhcpServiceInfo) -> ConfigFlowResult: ...
26
30
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
27
31
  async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
28
32
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
29
33
  @staticmethod
30
- def async_get_options_flow(config_entry: ConfigEntry) -> OptionsFlow: ...
34
+ def async_get_options_flow(config_entry: ConfigEntry) -> LmOptionsFlowHandler: ...
31
35
 
32
- class LmOptionsFlowHandler(OptionsFlowWithConfigEntry):
36
+ class LmOptionsFlowHandler(OptionsFlow):
33
37
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -6,9 +6,9 @@ from homeassistant.const import CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
8
8
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
- from lmcloud.client_bluetooth import LaMarzoccoBluetoothClient as LaMarzoccoBluetoothClient
10
- from lmcloud.client_cloud import LaMarzoccoCloudClient as LaMarzoccoCloudClient
11
- from lmcloud.client_local import LaMarzoccoLocalClient as LaMarzoccoLocalClient
9
+ from pylamarzocco.client_bluetooth import LaMarzoccoBluetoothClient as LaMarzoccoBluetoothClient
10
+ from pylamarzocco.client_cloud import LaMarzoccoCloudClient as LaMarzoccoCloudClient
11
+ from pylamarzocco.client_local import LaMarzoccoLocalClient as LaMarzoccoLocalClient
12
12
 
13
13
  SCAN_INTERVAL: Incomplete
14
14
  FIRMWARE_UPDATE_INTERVAL: int
@@ -2,7 +2,7 @@ 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 lmcloud.const import FirmwareType as FirmwareType
5
+ from pylamarzocco.const import FirmwareType as FirmwareType
6
6
  from typing import Any, TypedDict
7
7
 
8
8
  TO_REDACT: Incomplete
@@ -3,10 +3,11 @@ from .coordinator import LaMarzoccoUpdateCoordinator as LaMarzoccoUpdateCoordina
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
6
+ from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS
7
+ from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo
7
8
  from homeassistant.helpers.entity import EntityDescription as EntityDescription
8
9
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
9
- from lmcloud.lm_machine import LaMarzoccoMachine as LaMarzoccoMachine
10
+ from pylamarzocco.lm_machine import LaMarzoccoMachine as LaMarzoccoMachine
10
11
 
11
12
  @dataclass(frozen=True, kw_only=True)
12
13
  class LaMarzoccoEntityDescription(EntityDescription):
@@ -9,11 +9,13 @@ from homeassistant.const import EntityCategory as EntityCategory, PRECISION_TENT
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 AddEntitiesCallback as AddEntitiesCallback
12
- from lmcloud.const import PhysicalKey
13
- from lmcloud.lm_machine import LaMarzoccoMachine as LaMarzoccoMachine
14
- from lmcloud.models import LaMarzoccoMachineConfig as LaMarzoccoMachineConfig
12
+ from pylamarzocco.const import PhysicalKey
13
+ from pylamarzocco.lm_machine import LaMarzoccoMachine as LaMarzoccoMachine
14
+ from pylamarzocco.models import LaMarzoccoMachineConfig as LaMarzoccoMachineConfig
15
15
  from typing import Any
16
16
 
17
+ PARALLEL_UPDATES: int
18
+
17
19
  @dataclass(frozen=True, kw_only=True)
18
20
  class LaMarzoccoNumberEntityDescription(LaMarzoccoEntityDescription, NumberEntityDescription):
19
21
  native_value_fn: Callable[[LaMarzoccoMachineConfig], float | int]
@@ -9,10 +9,11 @@ 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 AddEntitiesCallback as AddEntitiesCallback
12
- from lmcloud.lm_machine import LaMarzoccoMachine as LaMarzoccoMachine
13
- from lmcloud.models import LaMarzoccoMachineConfig as LaMarzoccoMachineConfig
12
+ from pylamarzocco.lm_machine import LaMarzoccoMachine as LaMarzoccoMachine
13
+ from pylamarzocco.models import LaMarzoccoMachineConfig as LaMarzoccoMachineConfig
14
14
  from typing import Any
15
15
 
16
+ PARALLEL_UPDATES: int
16
17
  STEAM_LEVEL_HA_TO_LM: Incomplete
17
18
  STEAM_LEVEL_LM_TO_HA: Incomplete
18
19
  PREBREW_MODE_HA_TO_LM: Incomplete
@@ -6,7 +6,7 @@ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceCla
6
6
  from homeassistant.const import EntityCategory as EntityCategory, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
- from lmcloud.lm_machine import LaMarzoccoMachine as LaMarzoccoMachine
9
+ from pylamarzocco.lm_machine import LaMarzoccoMachine as LaMarzoccoMachine
10
10
 
11
11
  @dataclass(frozen=True, kw_only=True)
12
12
  class LaMarzoccoSensorEntityDescription(LaMarzoccoEntityDescription, SensorEntityDescription):
@@ -9,10 +9,12 @@ 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 AddEntitiesCallback as AddEntitiesCallback
12
- from lmcloud.lm_machine import LaMarzoccoMachine as LaMarzoccoMachine
13
- from lmcloud.models import LaMarzoccoMachineConfig as LaMarzoccoMachineConfig
12
+ from pylamarzocco.lm_machine import LaMarzoccoMachine as LaMarzoccoMachine
13
+ from pylamarzocco.models import LaMarzoccoMachineConfig as LaMarzoccoMachineConfig
14
14
  from typing import Any
15
15
 
16
+ PARALLEL_UPDATES: int
17
+
16
18
  @dataclass(frozen=True, kw_only=True)
17
19
  class LaMarzoccoSwitchEntityDescription(LaMarzoccoEntityDescription, SwitchEntityDescription):
18
20
  control_fn: Callable[[LaMarzoccoMachine, bool], Coroutine[Any, Any, bool]]
@@ -8,9 +8,11 @@ from homeassistant.const import EntityCategory as EntityCategory
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
- from lmcloud.const import FirmwareType
11
+ from pylamarzocco.const import FirmwareType
12
12
  from typing import Any
13
13
 
14
+ PARALLEL_UPDATES: int
15
+
14
16
  @dataclass(frozen=True, kw_only=True)
15
17
  class LaMarzoccoUpdateEntityDescription(LaMarzoccoEntityDescription, UpdateEntityDescription):
16
18
  component: FirmwareType
@@ -1,17 +1,17 @@
1
1
  import pypck
2
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, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
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, import_lcn_config as import_lcn_config, register_lcn_address_devices as register_lcn_address_devices, register_lcn_host_device as register_lcn_host_device
4
- from .schemas import CONFIG_SCHEMA as CONFIG_SCHEMA
5
- from .services import SERVICES as SERVICES
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, register_lcn_address_devices as register_lcn_address_devices, register_lcn_host_device as register_lcn_host_device
4
+ from .services import register_services as register_services
6
5
  from .websocket import register_panel_and_ws_api as register_panel_and_ws_api
7
6
  from _typeshed import Incomplete
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, SOURCE_IMPORT as SOURCE_IMPORT
7
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
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
10
9
  from homeassistant.core import HomeAssistant as HomeAssistant
11
10
  from homeassistant.helpers import device_registry as dr
12
11
  from homeassistant.helpers.typing import ConfigType as ConfigType
13
12
 
14
13
  _LOGGER: Incomplete
14
+ CONFIG_SCHEMA: Incomplete
15
15
 
16
16
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
17
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
@@ -1,12 +1,9 @@
1
1
  from . import PchkConnectionManager as PchkConnectionManager
2
2
  from .const import CONF_ACKNOWLEDGE as CONF_ACKNOWLEDGE, CONF_DIM_MODE as CONF_DIM_MODE, CONF_SK_NUM_TRIES as CONF_SK_NUM_TRIES, DIM_MODES as DIM_MODES, DOMAIN as DOMAIN
3
- from .helpers import purge_device_registry as purge_device_registry, purge_entity_registry as purge_entity_registry
4
3
  from _typeshed import Incomplete
5
4
  from homeassistant import config_entries as config_entries
6
- from homeassistant.config_entries import ConfigFlowResult as ConfigFlowResult
7
5
  from homeassistant.const import CONF_BASE as CONF_BASE, CONF_DEVICES as CONF_DEVICES, CONF_ENTITIES as CONF_ENTITIES, CONF_HOST as CONF_HOST, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME
8
6
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
10
7
  from homeassistant.helpers.typing import ConfigType as ConfigType
11
8
  from typing import Any
12
9
 
@@ -22,6 +19,5 @@ async def validate_connection(data: ConfigType) -> str | None: ...
22
19
  class LcnFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
23
20
  VERSION: int
24
21
  MINOR_VERSION: int
25
- async def async_step_import(self, import_data: dict[str, Any]) -> ConfigFlowResult: ...
26
22
  async def async_step_user(self, user_input: dict[str, Any] | None = None) -> config_entries.ConfigFlowResult: ...
27
23
  async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> config_entries.ConfigFlowResult: ...
@@ -1,8 +1,8 @@
1
1
  import pypck
2
- from .const import BINSENSOR_PORTS as BINSENSOR_PORTS, CONF_ACKNOWLEDGE as CONF_ACKNOWLEDGE, CONF_CLIMATES as CONF_CLIMATES, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DIM_MODE as CONF_DIM_MODE, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_HARDWARE_SERIAL as CONF_HARDWARE_SERIAL, CONF_HARDWARE_TYPE as CONF_HARDWARE_TYPE, CONF_OUTPUT as CONF_OUTPUT, CONF_SCENES as CONF_SCENES, CONF_SK_NUM_TRIES as CONF_SK_NUM_TRIES, CONF_SOFTWARE_SERIAL as CONF_SOFTWARE_SERIAL, CONNECTION as CONNECTION, DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN, LED_PORTS as LED_PORTS, LOGICOP_PORTS as LOGICOP_PORTS, OUTPUT_PORTS as OUTPUT_PORTS, S0_INPUTS as S0_INPUTS, SETPOINTS as SETPOINTS, THRESHOLDS as THRESHOLDS, VARIABLES as VARIABLES
2
+ from .const import BINSENSOR_PORTS as BINSENSOR_PORTS, CONF_CLIMATES as CONF_CLIMATES, CONF_HARDWARE_SERIAL as CONF_HARDWARE_SERIAL, CONF_HARDWARE_TYPE as CONF_HARDWARE_TYPE, CONF_OUTPUT as CONF_OUTPUT, CONF_SCENES as CONF_SCENES, CONF_SOFTWARE_SERIAL as CONF_SOFTWARE_SERIAL, CONNECTION as CONNECTION, DOMAIN as DOMAIN, LED_PORTS as LED_PORTS, LOGICOP_PORTS as LOGICOP_PORTS, OUTPUT_PORTS as OUTPUT_PORTS, S0_INPUTS as S0_INPUTS, SETPOINTS as SETPOINTS, THRESHOLDS as THRESHOLDS, VARIABLES as VARIABLES
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_HOST as CONF_HOST, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_LIGHTS as CONF_LIGHTS, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_RESOURCE as CONF_RESOURCE, CONF_SENSORS as CONF_SENSORS, CONF_SOURCE as CONF_SOURCE, CONF_SWITCHES as CONF_SWITCHES, CONF_USERNAME as CONF_USERNAME
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_SOURCE as CONF_SOURCE, 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
 
@@ -16,7 +16,6 @@ def get_device_connection(hass: HomeAssistant, address: AddressType, config_entr
16
16
  def get_resource(domain_name: str, domain_data: ConfigType) -> str: ...
17
17
  def get_device_model(domain_name: str, domain_data: ConfigType) -> str: ...
18
18
  def generate_unique_id(entry_id: str, address: AddressType, resource: str | None = None) -> str: ...
19
- def import_lcn_config(lcn_config: ConfigType) -> list[ConfigType]: ...
20
19
  def purge_entity_registry(hass: HomeAssistant, entry_id: str, imported_entry_data: ConfigType) -> None: ...
21
20
  def purge_device_registry(hass: HomeAssistant, entry_id: str, imported_entry_data: ConfigType) -> None: ...
22
21
  def register_lcn_host_device(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
@@ -24,6 +23,5 @@ def register_lcn_address_devices(hass: HomeAssistant, config_entry: ConfigEntry)
24
23
  async def async_update_device_config(device_connection: DeviceConnectionType, device_config: ConfigType) -> None: ...
25
24
  async def async_update_config_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
26
25
  def get_device_config(address: AddressType, config_entry: ConfigEntry) -> ConfigType | None: ...
27
- def has_unique_host_names(hosts: list[ConfigType]) -> list[ConfigType]: ...
28
26
  def is_address(value: str) -> tuple[AddressType, str]: ...
29
27
  def is_states_string(states_string: str) -> list[str]: ...
@@ -1,8 +1,7 @@
1
- from .const import BINSENSOR_PORTS as BINSENSOR_PORTS, CONF_CLIMATES as CONF_CLIMATES, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_DIMMABLE as CONF_DIMMABLE, CONF_DIM_MODE as CONF_DIM_MODE, CONF_LOCKABLE as CONF_LOCKABLE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_MOTOR as CONF_MOTOR, CONF_OUTPUT as CONF_OUTPUT, CONF_OUTPUTS as CONF_OUTPUTS, CONF_REGISTER as CONF_REGISTER, CONF_REVERSE_TIME as CONF_REVERSE_TIME, CONF_SCENES as CONF_SCENES, CONF_SETPOINT as CONF_SETPOINT, CONF_SK_NUM_TRIES as CONF_SK_NUM_TRIES, CONF_TRANSITION as CONF_TRANSITION, DIM_MODES as DIM_MODES, DOMAIN as DOMAIN, KEYS as KEYS, LED_PORTS as LED_PORTS, LOGICOP_PORTS as LOGICOP_PORTS, MOTOR_PORTS as MOTOR_PORTS, MOTOR_REVERSE_TIME as MOTOR_REVERSE_TIME, OUTPUT_PORTS as OUTPUT_PORTS, RELAY_PORTS as RELAY_PORTS, S0_INPUTS as S0_INPUTS, SETPOINTS as SETPOINTS, THRESHOLDS as THRESHOLDS, VARIABLES as VARIABLES, VAR_UNITS as VAR_UNITS
2
- from .helpers import has_unique_host_names as has_unique_host_names, is_address as is_address
1
+ from .const import BINSENSOR_PORTS as BINSENSOR_PORTS, CONF_DIMMABLE as CONF_DIMMABLE, CONF_LOCKABLE as CONF_LOCKABLE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_MOTOR as CONF_MOTOR, CONF_OUTPUT as CONF_OUTPUT, CONF_OUTPUTS as CONF_OUTPUTS, CONF_REGISTER as CONF_REGISTER, CONF_REVERSE_TIME as CONF_REVERSE_TIME, CONF_SETPOINT as CONF_SETPOINT, CONF_TRANSITION as CONF_TRANSITION, KEYS as KEYS, LED_PORTS as LED_PORTS, LOGICOP_PORTS as LOGICOP_PORTS, MOTOR_PORTS as MOTOR_PORTS, MOTOR_REVERSE_TIME as MOTOR_REVERSE_TIME, OUTPUT_PORTS as OUTPUT_PORTS, RELAY_PORTS as RELAY_PORTS, S0_INPUTS as S0_INPUTS, SETPOINTS as SETPOINTS, THRESHOLDS as THRESHOLDS, VARIABLES as VARIABLES, VAR_UNITS as VAR_UNITS
3
2
  from _typeshed import Incomplete
4
3
  from homeassistant.components.climate import DEFAULT_MAX_TEMP as DEFAULT_MAX_TEMP, DEFAULT_MIN_TEMP as DEFAULT_MIN_TEMP
5
- from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_BINARY_SENSORS as CONF_BINARY_SENSORS, CONF_COVERS as CONF_COVERS, CONF_HOST as CONF_HOST, CONF_LIGHTS as CONF_LIGHTS, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_SCENE as CONF_SCENE, CONF_SENSORS as CONF_SENSORS, CONF_SOURCE as CONF_SOURCE, CONF_SWITCHES as CONF_SWITCHES, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_USERNAME as CONF_USERNAME, UnitOfTemperature as UnitOfTemperature
4
+ from homeassistant.const import CONF_SCENE as CONF_SCENE, CONF_SOURCE as CONF_SOURCE, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, UnitOfTemperature as UnitOfTemperature
6
5
  from homeassistant.helpers.typing import VolDictType as VolDictType
7
6
 
8
7
  ADDRESS_SCHEMA: Incomplete
@@ -13,13 +12,3 @@ DOMAIN_DATA_LIGHT: VolDictType
13
12
  DOMAIN_DATA_SCENE: VolDictType
14
13
  DOMAIN_DATA_SENSOR: VolDictType
15
14
  DOMAIN_DATA_SWITCH: VolDictType
16
- DOMAIN_DATA_BASE: VolDictType
17
- BINARY_SENSORS_SCHEMA: Incomplete
18
- CLIMATES_SCHEMA: Incomplete
19
- COVERS_SCHEMA: Incomplete
20
- LIGHTS_SCHEMA: Incomplete
21
- SCENES_SCHEMA: Incomplete
22
- SENSORS_SCHEMA: Incomplete
23
- SWITCHES_SCHEMA: Incomplete
24
- CONNECTION_SCHEMA: Incomplete
25
- CONFIG_SCHEMA: Incomplete
@@ -80,3 +80,5 @@ class LcnService(StrEnum):
80
80
  PCK = ...
81
81
 
82
82
  SERVICES: Incomplete
83
+
84
+ async def register_services(hass: HomeAssistant) -> None: ...
@@ -0,0 +1,27 @@
1
+ from . import LektricoConfigEntry as LektricoConfigEntry, LektricoDeviceDataUpdateCoordinator as LektricoDeviceDataUpdateCoordinator
2
+ from .entity import LektricoEntity as LektricoEntity
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
7
+ from homeassistant.const import ATTR_SERIAL_NUMBER as ATTR_SERIAL_NUMBER, CONF_TYPE as CONF_TYPE, EntityCategory as EntityCategory
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
+ from typing import Any
11
+
12
+ @dataclass(frozen=True, kw_only=True)
13
+ class LektricoBinarySensorEntityDescription(BinarySensorEntityDescription):
14
+ value_fn: Callable[[dict[str, Any]], bool]
15
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., value_fn) -> None: ...
16
+
17
+ BINARY_SENSORS: tuple[LektricoBinarySensorEntityDescription, ...]
18
+
19
+ async def async_setup_entry(hass: HomeAssistant, entry: LektricoConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
20
+
21
+ class LektricoBinarySensor(LektricoEntity, BinarySensorEntity):
22
+ entity_description: LektricoBinarySensorEntityDescription
23
+ _coordinator: Incomplete
24
+ _attr_unique_id: Incomplete
25
+ def __init__(self, description: LektricoBinarySensorEntityDescription, coordinator: LektricoDeviceDataUpdateCoordinator, device_name: str) -> None: ...
26
+ @property
27
+ def is_on(self) -> bool: ...
@@ -0,0 +1,28 @@
1
+ from . import LinkPlayConfigEntry as LinkPlayConfigEntry
2
+ from .entity import LinkPlayBaseEntity as LinkPlayBaseEntity, exception_wrap as exception_wrap
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable, Coroutine
5
+ from dataclasses import dataclass
6
+ from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
7
+ from homeassistant.const import EntityCategory as EntityCategory
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
9
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
+ from linkplay.bridge import LinkPlayBridge as LinkPlayBridge
11
+ from typing import Any
12
+
13
+ _LOGGER: Incomplete
14
+
15
+ @dataclass(frozen=True, kw_only=True)
16
+ class LinkPlayButtonEntityDescription(ButtonEntityDescription):
17
+ remote_function: Callable[[LinkPlayBridge], Coroutine[Any, Any, None]]
18
+ def __init__(self, *, key, device_class=..., entity_category=..., entity_registry_enabled_default=..., entity_registry_visible_default=..., force_update=..., icon=..., has_entity_name=..., name=..., translation_key=..., translation_placeholders=..., unit_of_measurement=..., remote_function) -> None: ...
19
+
20
+ BUTTON_TYPES: tuple[LinkPlayButtonEntityDescription, ...]
21
+
22
+ async def async_setup_entry(hass: HomeAssistant, config_entry: LinkPlayConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
+
24
+ class LinkPlayButton(LinkPlayBaseEntity, ButtonEntity):
25
+ entity_description: LinkPlayButtonEntityDescription
26
+ _attr_unique_id: Incomplete
27
+ def __init__(self, bridge: LinkPlayBridge, description: LinkPlayButtonEntityDescription) -> None: ...
28
+ async def async_press(self) -> None: ...
@@ -0,0 +1,5 @@
1
+ from . import LinkPlayConfigEntry as LinkPlayConfigEntry
2
+ from homeassistant.core import HomeAssistant as HomeAssistant
3
+ from typing import Any
4
+
5
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: LinkPlayConfigEntry) -> dict[str, Any]: ...
@@ -0,0 +1,16 @@
1
+ from . import DOMAIN as DOMAIN, LinkPlayRequestException as LinkPlayRequestException
2
+ from .utils import MANUFACTURER_GENERIC as MANUFACTURER_GENERIC, get_info_from_project as get_info_from_project
3
+ from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable, Coroutine
5
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
6
+ from homeassistant.helpers.entity import Entity as Entity
7
+ from linkplay.bridge import LinkPlayBridge as LinkPlayBridge
8
+ from typing import Any, Concatenate
9
+
10
+ def exception_wrap[_LinkPlayEntityT: LinkPlayBaseEntity, **_P, _R](func: Callable[Concatenate[_LinkPlayEntityT, _P], Coroutine[Any, Any, _R]]) -> Callable[Concatenate[_LinkPlayEntityT, _P], Coroutine[Any, Any, _R]]: ...
11
+
12
+ class LinkPlayBaseEntity(Entity):
13
+ _attr_has_entity_name: bool
14
+ _bridge: Incomplete
15
+ _attr_device_info: Incomplete
16
+ def __init__(self, bridge: LinkPlayBridge) -> None: ...
@@ -1,8 +1,7 @@
1
1
  from . import LinkPlayConfigEntry as LinkPlayConfigEntry, LinkPlayData as LinkPlayData
2
2
  from .const import CONTROLLER_KEY as CONTROLLER_KEY, DOMAIN as DOMAIN
3
- from .utils import MANUFACTURER_GENERIC as MANUFACTURER_GENERIC, get_info_from_project as get_info_from_project
3
+ from .entity import LinkPlayBaseEntity as LinkPlayBaseEntity, exception_wrap as exception_wrap
4
4
  from _typeshed import Incomplete
5
- from collections.abc import Callable as Callable, Coroutine
6
5
  from homeassistant.components import media_source as media_source
7
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
8
7
  from homeassistant.const import Platform as Platform
@@ -14,7 +13,7 @@ from homeassistant.util.dt import utcnow as utcnow
14
13
  from linkplay.bridge import LinkPlayBridge as LinkPlayBridge
15
14
  from linkplay.consts import EqualizerMode, LoopMode, PlayingMode, PlayingStatus
16
15
  from linkplay.controller import LinkPlayController as LinkPlayController
17
- from typing import Any, Concatenate
16
+ from typing import Any
18
17
 
19
18
  _LOGGER: Incomplete
20
19
  STATE_MAP: dict[PlayingStatus, MediaPlayerState]
@@ -31,18 +30,14 @@ ATTR_PRESET_NUMBER: str
31
30
  SERVICE_PLAY_PRESET_SCHEMA: Incomplete
32
31
 
33
32
  async def async_setup_entry(hass: HomeAssistant, entry: LinkPlayConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
34
- def exception_wrap[_LinkPlayEntityT: LinkPlayMediaPlayerEntity, **_P, _R](func: Callable[Concatenate[_LinkPlayEntityT, _P], Coroutine[Any, Any, _R]]) -> Callable[Concatenate[_LinkPlayEntityT, _P], Coroutine[Any, Any, _R]]: ...
35
33
 
36
- class LinkPlayMediaPlayerEntity(MediaPlayerEntity):
34
+ class LinkPlayMediaPlayerEntity(LinkPlayBaseEntity, MediaPlayerEntity):
37
35
  _attr_sound_mode_list: Incomplete
38
36
  _attr_device_class: Incomplete
39
37
  _attr_media_content_type: Incomplete
40
- _attr_has_entity_name: bool
41
38
  _attr_name: Incomplete
42
- _bridge: Incomplete
43
39
  _attr_unique_id: Incomplete
44
40
  _attr_source_list: Incomplete
45
- _attr_device_info: Incomplete
46
41
  def __init__(self, bridge: LinkPlayBridge) -> None: ...
47
42
  _attr_available: bool
48
43
  async def async_update(self) -> None: ...