homeassistant-stubs 2025.6.2__py3-none-any.whl → 2025.7.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 (318) hide show
  1. homeassistant-stubs/bootstrap.pyi +1 -1
  2. homeassistant-stubs/components/abode/__init__.pyi +3 -12
  3. homeassistant-stubs/components/abode/services.pyi +20 -0
  4. homeassistant-stubs/components/adax/sensor.pyi +29 -0
  5. homeassistant-stubs/components/airly/config_flow.pyi +1 -1
  6. homeassistant-stubs/components/airthings/__init__.pyi +3 -5
  7. homeassistant-stubs/components/airthings/coordinator.pyi +13 -0
  8. homeassistant-stubs/components/airthings/sensor.pyi +5 -4
  9. homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +2 -1
  10. homeassistant-stubs/components/alexa_devices/sensor.pyi +29 -0
  11. homeassistant-stubs/components/altruist/__init__.pyi +9 -0
  12. homeassistant-stubs/components/altruist/config_flow.pyi +15 -0
  13. homeassistant-stubs/components/altruist/const.pyi +2 -0
  14. homeassistant-stubs/components/altruist/coordinator.pyi +19 -0
  15. homeassistant-stubs/components/altruist/sensor.pyi +34 -0
  16. homeassistant-stubs/components/amcrest/__init__.pyi +4 -7
  17. homeassistant-stubs/components/amcrest/services.pyi +13 -0
  18. homeassistant-stubs/components/analytics/analytics.pyi +3 -1
  19. homeassistant-stubs/components/android_ip_webcam/camera.pyi +4 -0
  20. homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
  21. homeassistant-stubs/components/assist_satellite/__init__.pyi +2 -2
  22. homeassistant-stubs/components/assist_satellite/entity.pyi +13 -1
  23. homeassistant-stubs/components/axis/hub/hub.pyi +1 -1
  24. homeassistant-stubs/components/camera/__init__.pyi +0 -2
  25. homeassistant-stubs/components/camera/webrtc.pyi +1 -0
  26. homeassistant-stubs/components/climate/__init__.pyi +0 -2
  27. homeassistant-stubs/components/command_line/notify.pyi +1 -2
  28. homeassistant-stubs/components/command_line/sensor.pyi +1 -2
  29. homeassistant-stubs/components/command_line/utils.pyi +5 -2
  30. homeassistant-stubs/components/deconz/logbook.pyi +1 -1
  31. homeassistant-stubs/components/derivative/config_flow.pyi +1 -1
  32. homeassistant-stubs/components/derivative/const.pyi +1 -0
  33. homeassistant-stubs/components/derivative/sensor.pyi +9 -4
  34. homeassistant-stubs/components/device_automation/condition.pyi +17 -4
  35. homeassistant-stubs/components/devolo_home_control/__init__.pyi +3 -2
  36. homeassistant-stubs/components/devolo_home_control/climate.pyi +1 -1
  37. homeassistant-stubs/components/devolo_home_control/const.pyi +0 -1
  38. homeassistant-stubs/components/devolo_home_control/cover.pyi +1 -1
  39. homeassistant-stubs/components/devolo_home_control/entity.pyi +6 -0
  40. homeassistant-stubs/components/devolo_home_control/light.pyi +1 -1
  41. homeassistant-stubs/components/devolo_home_control/siren.pyi +1 -1
  42. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -0
  43. homeassistant-stubs/components/dnsip/sensor.pyi +3 -2
  44. homeassistant-stubs/components/downloader/__init__.pyi +1 -1
  45. homeassistant-stubs/components/downloader/services.pyi +3 -2
  46. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +4 -4
  47. homeassistant-stubs/components/ecovacs/entity.pyi +9 -12
  48. homeassistant-stubs/components/ecovacs/number.pyi +4 -4
  49. homeassistant-stubs/components/ecovacs/select.pyi +5 -4
  50. homeassistant-stubs/components/ecovacs/sensor.pyi +3 -3
  51. homeassistant-stubs/components/eheimdigital/number.pyi +8 -9
  52. homeassistant-stubs/components/eheimdigital/select.pyi +8 -9
  53. homeassistant-stubs/components/eheimdigital/sensor.pyi +7 -8
  54. homeassistant-stubs/components/eheimdigital/time.pyi +8 -9
  55. homeassistant-stubs/components/elkm1/__init__.pyi +4 -9
  56. homeassistant-stubs/components/elkm1/services.pyi +21 -0
  57. homeassistant-stubs/components/enphase_envoy/__init__.pyi +2 -2
  58. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +1 -1
  59. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +1 -0
  60. homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -1
  61. homeassistant-stubs/components/eq3btsmart/climate.pyi +6 -8
  62. homeassistant-stubs/components/eq3btsmart/const.pyi +3 -2
  63. homeassistant-stubs/components/eq3btsmart/entity.pyi +5 -1
  64. homeassistant-stubs/components/eq3btsmart/number.pyi +3 -3
  65. homeassistant-stubs/components/eq3btsmart/switch.pyi +5 -3
  66. homeassistant-stubs/components/esphome/entity.pyi +2 -1
  67. homeassistant-stubs/components/esphome/entry_data.pyi +3 -0
  68. homeassistant-stubs/components/evohome/water_heater.pyi +1 -1
  69. homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -1
  70. homeassistant-stubs/components/fritz/button.pyi +3 -1
  71. homeassistant-stubs/components/fritz/coordinator.pyi +8 -82
  72. homeassistant-stubs/components/fritz/device_tracker.pyi +3 -1
  73. homeassistant-stubs/components/fritz/entity.pyi +2 -1
  74. homeassistant-stubs/components/fritz/helpers.pyi +9 -0
  75. homeassistant-stubs/components/fritz/models.pyi +78 -0
  76. homeassistant-stubs/components/fritz/sensor.pyi +2 -1
  77. homeassistant-stubs/components/fritz/services.pyi +3 -2
  78. homeassistant-stubs/components/fritz/switch.pyi +3 -1
  79. homeassistant-stubs/components/fully_kiosk/services.pyi +7 -2
  80. homeassistant-stubs/components/go2rtc/__init__.pyi +10 -4
  81. homeassistant-stubs/components/google/__init__.pyi +3 -9
  82. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +3 -7
  83. homeassistant-stubs/components/google_assistant_sdk/services.pyi +13 -0
  84. homeassistant-stubs/components/google_photos/services.pyi +4 -2
  85. homeassistant-stubs/components/google_sheets/__init__.pyi +7 -10
  86. homeassistant-stubs/components/google_sheets/services.pyi +18 -0
  87. homeassistant-stubs/components/group/sensor.pyi +1 -1
  88. homeassistant-stubs/components/habitica/services.pyi +8 -1
  89. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  90. homeassistant-stubs/components/home_connect/diagnostics.pyi +2 -0
  91. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -3
  92. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +7 -7
  93. homeassistant-stubs/components/homeassistant_hardware/update.pyi +2 -6
  94. homeassistant-stubs/components/homeassistant_hardware/util.pyi +3 -1
  95. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +9 -5
  96. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +12 -5
  97. homeassistant-stubs/components/homee/config_flow.pyi +1 -0
  98. homeassistant-stubs/components/homee/diagnostics.pyi +12 -0
  99. homeassistant-stubs/components/homee/entity.pyi +3 -2
  100. homeassistant-stubs/components/homee/event.pyi +8 -4
  101. homeassistant-stubs/components/homee/siren.pyi +19 -0
  102. homeassistant-stubs/components/homewizard/select.pyi +35 -0
  103. homeassistant-stubs/components/immich/coordinator.pyi +2 -1
  104. homeassistant-stubs/components/immich/update.pyi +21 -0
  105. homeassistant-stubs/components/isy994/__init__.pyi +3 -1
  106. homeassistant-stubs/components/isy994/services.pyi +0 -2
  107. homeassistant-stubs/components/jewish_calendar/__init__.pyi +1 -1
  108. homeassistant-stubs/components/jewish_calendar/{service.pyi → services.pyi} +2 -1
  109. homeassistant-stubs/components/kaleidescape/__init__.pyi +4 -4
  110. homeassistant-stubs/components/kaleidescape/media_player.pyi +2 -3
  111. homeassistant-stubs/components/kaleidescape/remote.pyi +2 -3
  112. homeassistant-stubs/components/kaleidescape/sensor.pyi +2 -3
  113. homeassistant-stubs/components/lacrosse_view/__init__.pyi +3 -5
  114. homeassistant-stubs/components/lacrosse_view/coordinator.pyi +3 -2
  115. homeassistant-stubs/components/lacrosse_view/diagnostics.pyi +2 -4
  116. homeassistant-stubs/components/lacrosse_view/sensor.pyi +2 -2
  117. homeassistant-stubs/components/lametric/__init__.pyi +3 -4
  118. homeassistant-stubs/components/lametric/button.pyi +2 -4
  119. homeassistant-stubs/components/lametric/coordinator.pyi +3 -2
  120. homeassistant-stubs/components/lametric/diagnostics.pyi +2 -4
  121. homeassistant-stubs/components/lametric/entity.pyi +1 -1
  122. homeassistant-stubs/components/lametric/helpers.pyi +1 -1
  123. homeassistant-stubs/components/lametric/notify.pyi +2 -2
  124. homeassistant-stubs/components/lametric/number.pyi +2 -4
  125. homeassistant-stubs/components/lametric/select.pyi +2 -4
  126. homeassistant-stubs/components/lametric/sensor.pyi +2 -4
  127. homeassistant-stubs/components/lametric/switch.pyi +2 -4
  128. homeassistant-stubs/components/lametric/update.pyi +17 -0
  129. homeassistant-stubs/components/laundrify/__init__.pyi +4 -6
  130. homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -3
  131. homeassistant-stubs/components/laundrify/coordinator.pyi +1 -0
  132. homeassistant-stubs/components/laundrify/sensor.pyi +2 -3
  133. homeassistant-stubs/components/lcn/__init__.pyi +9 -10
  134. homeassistant-stubs/components/lcn/binary_sensor.pyi +9 -8
  135. homeassistant-stubs/components/lcn/climate.pyi +5 -6
  136. homeassistant-stubs/components/lcn/const.pyi +0 -4
  137. homeassistant-stubs/components/lcn/cover.pyi +6 -7
  138. homeassistant-stubs/components/lcn/entity.pyi +2 -3
  139. homeassistant-stubs/components/lcn/helpers.pyi +15 -5
  140. homeassistant-stubs/components/lcn/light.pyi +6 -7
  141. homeassistant-stubs/components/lcn/scene.pyi +5 -5
  142. homeassistant-stubs/components/lcn/sensor.pyi +7 -7
  143. homeassistant-stubs/components/lcn/services.pyi +5 -4
  144. homeassistant-stubs/components/lcn/switch.pyi +8 -9
  145. homeassistant-stubs/components/lcn/websocket.pyi +12 -13
  146. homeassistant-stubs/components/ld2410_ble/__init__.pyi +4 -6
  147. homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +2 -4
  148. homeassistant-stubs/components/ld2410_ble/coordinator.pyi +3 -3
  149. homeassistant-stubs/components/ld2410_ble/models.pyi +2 -0
  150. homeassistant-stubs/components/ld2410_ble/sensor.pyi +4 -5
  151. homeassistant-stubs/components/led_ble/__init__.pyi +5 -6
  152. homeassistant-stubs/components/led_ble/light.pyi +3 -4
  153. homeassistant-stubs/components/led_ble/models.pyi +2 -0
  154. homeassistant-stubs/components/lifx/__init__.pyi +4 -5
  155. homeassistant-stubs/components/lifx/binary_sensor.pyi +3 -4
  156. homeassistant-stubs/components/lifx/button.pyi +3 -4
  157. homeassistant-stubs/components/lifx/const.pyi +3 -1
  158. homeassistant-stubs/components/lifx/coordinator.pyi +3 -2
  159. homeassistant-stubs/components/lifx/diagnostics.pyi +3 -4
  160. homeassistant-stubs/components/lifx/light.pyi +3 -4
  161. homeassistant-stubs/components/lifx/manager.pyi +2 -2
  162. homeassistant-stubs/components/lifx/migration.pyi +3 -3
  163. homeassistant-stubs/components/lifx/select.pyi +3 -4
  164. homeassistant-stubs/components/lifx/sensor.pyi +3 -4
  165. homeassistant-stubs/components/lifx/util.pyi +3 -3
  166. homeassistant-stubs/components/linear_garage_door/__init__.pyi +4 -5
  167. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +3 -2
  168. homeassistant-stubs/components/linear_garage_door/cover.pyi +2 -4
  169. homeassistant-stubs/components/linear_garage_door/diagnostics.pyi +2 -4
  170. homeassistant-stubs/components/linear_garage_door/light.pyi +2 -4
  171. homeassistant-stubs/components/lookin/__init__.pyi +4 -5
  172. homeassistant-stubs/components/lookin/climate.pyi +3 -4
  173. homeassistant-stubs/components/lookin/coordinator.pyi +3 -3
  174. homeassistant-stubs/components/lookin/light.pyi +3 -4
  175. homeassistant-stubs/components/lookin/media_player.pyi +3 -4
  176. homeassistant-stubs/components/lookin/models.pyi +2 -0
  177. homeassistant-stubs/components/lookin/sensor.pyi +2 -4
  178. homeassistant-stubs/components/luftdaten/__init__.pyi +4 -6
  179. homeassistant-stubs/components/luftdaten/coordinator.pyi +15 -0
  180. homeassistant-stubs/components/luftdaten/diagnostics.pyi +3 -4
  181. homeassistant-stubs/components/luftdaten/sensor.pyi +4 -4
  182. homeassistant-stubs/components/matrix/__init__.pyi +2 -7
  183. homeassistant-stubs/components/matrix/const.pyi +3 -0
  184. homeassistant-stubs/components/matrix/services.pyi +12 -0
  185. homeassistant-stubs/components/matter/sensor.pyi +7 -2
  186. homeassistant-stubs/components/matter/vacuum.pyi +4 -4
  187. homeassistant-stubs/components/mealie/__init__.pyi +1 -1
  188. homeassistant-stubs/components/mealie/services.pyi +9 -3
  189. homeassistant-stubs/components/media_player/__init__.pyi +0 -2
  190. homeassistant-stubs/components/media_player/intent.pyi +1 -1
  191. homeassistant-stubs/components/miele/const.pyi +24 -0
  192. homeassistant-stubs/components/miele/sensor.pyi +1 -2
  193. homeassistant-stubs/components/mqtt/config_flow.pyi +4 -1
  194. homeassistant-stubs/components/mqtt/sensor.pyi +1 -4
  195. homeassistant-stubs/components/music_assistant/__init__.pyi +5 -1
  196. homeassistant-stubs/components/music_assistant/button.pyi +17 -0
  197. homeassistant-stubs/components/music_assistant/helpers.pyi +5 -0
  198. homeassistant-stubs/components/music_assistant/media_player.pyi +4 -4
  199. homeassistant-stubs/components/nextdns/binary_sensor.pyi +6 -12
  200. homeassistant-stubs/components/nextdns/button.pyi +2 -9
  201. homeassistant-stubs/components/nextdns/coordinator.pyi +2 -7
  202. homeassistant-stubs/components/nextdns/entity.pyi +14 -0
  203. homeassistant-stubs/components/nextdns/sensor.pyi +8 -15
  204. homeassistant-stubs/components/nextdns/switch.pyi +3 -6
  205. homeassistant-stubs/components/nfandroidtv/__init__.pyi +0 -1
  206. homeassistant-stubs/components/nfandroidtv/notify.pyi +5 -4
  207. homeassistant-stubs/components/nordpool/services.pyi +2 -1
  208. homeassistant-stubs/components/ntfy/__init__.pyi +1 -3
  209. homeassistant-stubs/components/ntfy/config_flow.pyi +3 -0
  210. homeassistant-stubs/components/ntfy/coordinator.pyi +16 -0
  211. homeassistant-stubs/components/ntfy/notify.pyi +1 -1
  212. homeassistant-stubs/components/ntfy/sensor.pyi +56 -0
  213. homeassistant-stubs/components/ohme/services.pyi +2 -1
  214. homeassistant-stubs/components/onedrive/__init__.pyi +1 -1
  215. homeassistant-stubs/components/onedrive/services.pyi +3 -2
  216. homeassistant-stubs/components/onewire/binary_sensor.pyi +3 -2
  217. homeassistant-stubs/components/onewire/const.pyi +0 -1
  218. homeassistant-stubs/components/onewire/entity.pyi +2 -3
  219. homeassistant-stubs/components/onewire/switch.pyi +3 -2
  220. homeassistant-stubs/components/onkyo/__init__.pyi +1 -1
  221. homeassistant-stubs/components/onkyo/services.pyi +3 -2
  222. homeassistant-stubs/components/openai_conversation/__init__.pyi +2 -1
  223. homeassistant-stubs/components/openai_conversation/config_flow.pyi +18 -14
  224. homeassistant-stubs/components/openai_conversation/const.pyi +1 -0
  225. homeassistant-stubs/components/openai_conversation/conversation.pyi +4 -4
  226. homeassistant-stubs/components/overseerr/__init__.pyi +1 -1
  227. homeassistant-stubs/components/overseerr/services.pyi +6 -4
  228. homeassistant-stubs/components/paperless_ngx/__init__.pyi +1 -1
  229. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +2 -2
  230. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +3 -5
  231. homeassistant-stubs/components/paperless_ngx/entity.pyi +2 -5
  232. homeassistant-stubs/components/paperless_ngx/sensor.pyi +8 -8
  233. homeassistant-stubs/components/paperless_ngx/update.pyi +25 -0
  234. homeassistant-stubs/components/plugwise/climate.pyi +0 -1
  235. homeassistant-stubs/components/qbus/climate.pyi +3 -2
  236. homeassistant-stubs/components/qbus/cover.pyi +39 -0
  237. homeassistant-stubs/components/qbus/entity.pyi +7 -3
  238. homeassistant-stubs/components/qbus/light.pyi +4 -3
  239. homeassistant-stubs/components/qbus/scene.pyi +2 -2
  240. homeassistant-stubs/components/qbus/switch.pyi +3 -2
  241. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  242. homeassistant-stubs/components/recorder/services.pyi +7 -12
  243. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  244. homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
  245. homeassistant-stubs/components/reolink/const.pyi +1 -0
  246. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  247. homeassistant-stubs/components/reolink/host.pyi +1 -1
  248. homeassistant-stubs/components/reolink/services.pyi +2 -0
  249. homeassistant-stubs/components/rest/data.pyi +7 -6
  250. homeassistant-stubs/components/russound_rio/__init__.pyi +1 -0
  251. homeassistant-stubs/components/russound_rio/entity.pyi +6 -2
  252. homeassistant-stubs/components/russound_rio/media_player.pyi +1 -5
  253. homeassistant-stubs/components/russound_rio/number.pyi +30 -0
  254. homeassistant-stubs/components/russound_rio/switch.pyi +33 -0
  255. homeassistant-stubs/components/shopping_list/__init__.pyi +1 -0
  256. homeassistant-stubs/components/shopping_list/intent.pyi +9 -1
  257. homeassistant-stubs/components/squeezebox/button.pyi +0 -2
  258. homeassistant-stubs/components/squeezebox/entity.pyi +2 -0
  259. homeassistant-stubs/components/squeezebox/media_player.pyi +0 -2
  260. homeassistant-stubs/components/sun/__init__.pyi +1 -0
  261. homeassistant-stubs/components/sun/binary_sensor.pyi +36 -0
  262. homeassistant-stubs/components/sun/condition.pyi +13 -3
  263. homeassistant-stubs/components/sun/sensor.pyi +2 -0
  264. homeassistant-stubs/components/switch/light.pyi +1 -0
  265. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -0
  266. homeassistant-stubs/components/synology_dsm/__init__.pyi +4 -1
  267. homeassistant-stubs/components/synology_dsm/{service.pyi → services.pyi} +4 -2
  268. homeassistant-stubs/components/tedee/binary_sensor.pyi +4 -0
  269. homeassistant-stubs/components/telegram_bot/__init__.pyi +34 -0
  270. homeassistant-stubs/components/telegram_bot/bot.pyi +63 -0
  271. homeassistant-stubs/components/telegram_bot/broadcast.pyi +5 -0
  272. homeassistant-stubs/components/telegram_bot/config_flow.pyi +53 -0
  273. homeassistant-stubs/components/telegram_bot/const.pyi +92 -0
  274. homeassistant-stubs/components/telegram_bot/polling.pyi +19 -0
  275. homeassistant-stubs/components/telegram_bot/webhooks.pyi +47 -0
  276. homeassistant-stubs/components/tplink/climate.pyi +1 -2
  277. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -1
  278. homeassistant-stubs/components/tts/entity.pyi +1 -2
  279. homeassistant-stubs/components/unifi/button.pyi +5 -5
  280. homeassistant-stubs/components/unifi/device_tracker.pyi +5 -5
  281. homeassistant-stubs/components/unifi/entity.pyi +5 -8
  282. homeassistant-stubs/components/unifi/hub/hub.pyi +1 -1
  283. homeassistant-stubs/components/unifi/image.pyi +5 -5
  284. homeassistant-stubs/components/unifi/sensor.pyi +5 -5
  285. homeassistant-stubs/components/unifi/switch.pyi +7 -7
  286. homeassistant-stubs/components/unifi/update.pyi +3 -5
  287. homeassistant-stubs/components/unifiprotect/services.pyi +1 -0
  288. homeassistant-stubs/components/vacuum/__init__.pyi +0 -2
  289. homeassistant-stubs/components/websocket_api/commands.pyi +6 -3
  290. homeassistant-stubs/components/websocket_api/messages.pyi +1 -0
  291. homeassistant-stubs/components/wiz/__init__.pyi +3 -3
  292. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  293. homeassistant-stubs/components/zwave_js/api.pyi +2 -2
  294. homeassistant-stubs/components/zwave_js/device_trigger.pyi +0 -1
  295. homeassistant-stubs/components/zwave_js/services.pyi +2 -0
  296. homeassistant-stubs/components/zwave_js/trigger.pyi +3 -7
  297. homeassistant-stubs/components/zwave_js/triggers/event.pyi +9 -1
  298. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +9 -1
  299. homeassistant-stubs/const.pyi +1 -0
  300. homeassistant-stubs/helpers/condition.pyi +11 -3
  301. homeassistant-stubs/helpers/device_registry.pyi +5 -1
  302. homeassistant-stubs/helpers/entity.pyi +1 -4
  303. homeassistant-stubs/helpers/entity_registry.pyi +11 -1
  304. homeassistant-stubs/helpers/llm.pyi +0 -1
  305. homeassistant-stubs/helpers/selector.pyi +24 -4
  306. homeassistant-stubs/helpers/system_info.pyi +2 -0
  307. homeassistant-stubs/helpers/template.pyi +2 -1
  308. homeassistant-stubs/helpers/trigger.pyi +33 -2
  309. homeassistant-stubs/loader.pyi +3 -1
  310. homeassistant-stubs/util/timeout.pyi +6 -3
  311. homeassistant-stubs/util/yaml/loader.pyi +3 -1
  312. {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0b0.dist-info}/METADATA +2 -2
  313. {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0b0.dist-info}/RECORD +315 -279
  314. homeassistant-stubs/backports/enum.pyi +0 -7
  315. homeassistant-stubs/backports/functools.pyi +0 -7
  316. homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +0 -10
  317. {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0b0.dist-info}/WHEEL +0 -0
  318. {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,5 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaCrosseUpdateCoordinator as LaCrosseUpdateCoordinator
1
+ from .coordinator import LaCrosseConfigEntry as LaCrosseConfigEntry, LaCrosseUpdateCoordinator as LaCrosseUpdateCoordinator
3
2
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
3
  from homeassistant.const import Platform as Platform
6
4
  from homeassistant.core import HomeAssistant as HomeAssistant
7
5
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed
@@ -10,5 +8,5 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession as asyn
10
8
  PLATFORMS: list[Platform]
11
9
  _LOGGER: Incomplete
12
10
 
13
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
14
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
11
+ async def async_setup_entry(hass: HomeAssistant, entry: LaCrosseConfigEntry) -> bool: ...
12
+ async def async_unload_entry(hass: HomeAssistant, entry: LaCrosseConfigEntry) -> bool: ...
@@ -7,6 +7,7 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
7
7
  from lacrosse_view import LaCrosse as LaCrosse, Sensor
8
8
 
9
9
  _LOGGER: Incomplete
10
+ type LaCrosseConfigEntry = ConfigEntry[LaCrosseUpdateCoordinator]
10
11
 
11
12
  class LaCrosseUpdateCoordinator(DataUpdateCoordinator[list[Sensor]]):
12
13
  username: str
@@ -15,8 +16,8 @@ class LaCrosseUpdateCoordinator(DataUpdateCoordinator[list[Sensor]]):
15
16
  id: str
16
17
  hass: HomeAssistant
17
18
  devices: list[Sensor] | None
18
- config_entry: ConfigEntry
19
+ config_entry: LaCrosseConfigEntry
19
20
  api: Incomplete
20
21
  last_update: Incomplete
21
- def __init__(self, hass: HomeAssistant, entry: ConfigEntry, api: LaCrosse) -> None: ...
22
+ def __init__(self, hass: HomeAssistant, entry: LaCrosseConfigEntry, api: LaCrosse) -> None: ...
22
23
  async def _async_update_data(self) -> list[Sensor]: ...
@@ -1,12 +1,10 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaCrosseUpdateCoordinator as LaCrosseUpdateCoordinator
1
+ from .coordinator import LaCrosseConfigEntry as LaCrosseConfigEntry
3
2
  from _typeshed import Incomplete
4
3
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
4
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_USERNAME as CONF_USERNAME
7
5
  from homeassistant.core import HomeAssistant as HomeAssistant
8
6
  from typing import Any
9
7
 
10
8
  TO_REDACT: Incomplete
11
9
 
12
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
10
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: LaCrosseConfigEntry) -> dict[str, Any]: ...
@@ -1,9 +1,9 @@
1
1
  from .const import DOMAIN as DOMAIN
2
+ from .coordinator import LaCrosseConfigEntry as LaCrosseConfigEntry
2
3
  from _typeshed import Incomplete
3
4
  from collections.abc import Callable as Callable
4
5
  from dataclasses import dataclass
5
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import DEGREE as DEGREE, PERCENTAGE as PERCENTAGE, UnitOfPrecipitationDepth as UnitOfPrecipitationDepth, UnitOfPressure as UnitOfPressure, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -23,7 +23,7 @@ PARALLEL_UPDATES: int
23
23
  SENSOR_DESCRIPTIONS: Incomplete
24
24
  UNIT_OF_MEASUREMENT_MAP: Incomplete
25
25
 
26
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
26
+ async def async_setup_entry(hass: HomeAssistant, entry: LaCrosseConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
27
27
 
28
28
  class LaCrosseViewSensor(CoordinatorEntity[DataUpdateCoordinator[list[Sensor]]], SensorEntity):
29
29
  entity_description: LaCrosseSensorEntityDescription
@@ -1,8 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
2
- from .coordinator import LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
2
+ from .coordinator import LaMetricConfigEntry as LaMetricConfigEntry, LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
3
3
  from .services import async_setup_services as async_setup_services
4
4
  from _typeshed import Incomplete
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.const import CONF_NAME as CONF_NAME, Platform as Platform
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
7
  from homeassistant.helpers import discovery as discovery
@@ -11,5 +10,5 @@ from homeassistant.helpers.typing import ConfigType as ConfigType
11
10
  CONFIG_SCHEMA: Incomplete
12
11
 
13
12
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
14
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
13
+ async def async_setup_entry(hass: HomeAssistant, entry: LaMetricConfigEntry) -> bool: ...
14
+ async def async_unload_entry(hass: HomeAssistant, entry: LaMetricConfigEntry) -> bool: ...
@@ -1,5 +1,4 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
1
+ from .coordinator import LaMetricConfigEntry as LaMetricConfigEntry, LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
3
2
  from .entity import LaMetricEntity as LaMetricEntity
4
3
  from .helpers import lametric_exception_handler as lametric_exception_handler
5
4
  from _typeshed import Incomplete
@@ -7,7 +6,6 @@ from collections.abc import Awaitable, Callable as Callable
7
6
  from dataclasses import dataclass
8
7
  from demetriek import LaMetricDevice as LaMetricDevice
9
8
  from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
10
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
9
  from homeassistant.const import EntityCategory as EntityCategory
12
10
  from homeassistant.core import HomeAssistant as HomeAssistant
13
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -19,7 +17,7 @@ class LaMetricButtonEntityDescription(ButtonEntityDescription):
19
17
 
20
18
  BUTTONS: Incomplete
21
19
 
22
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
+ async def async_setup_entry(hass: HomeAssistant, entry: LaMetricConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
21
 
24
22
  class LaMetricButtonEntity(LaMetricEntity, ButtonEntity):
25
23
  entity_description: LaMetricButtonEntityDescription
@@ -8,8 +8,9 @@ from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFai
8
8
  from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
9
9
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
10
10
 
11
+ type LaMetricConfigEntry = ConfigEntry[LaMetricDataUpdateCoordinator]
11
12
  class LaMetricDataUpdateCoordinator(DataUpdateCoordinator[Device]):
12
- config_entry: ConfigEntry
13
+ config_entry: LaMetricConfigEntry
13
14
  lametric: Incomplete
14
- def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None: ...
15
+ def __init__(self, hass: HomeAssistant, entry: LaMetricConfigEntry) -> None: ...
15
16
  async def _async_update_data(self) -> Device: ...
@@ -1,11 +1,9 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
1
+ from .coordinator import LaMetricConfigEntry as LaMetricConfigEntry
3
2
  from _typeshed import Incomplete
4
3
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
4
  from homeassistant.core import HomeAssistant as HomeAssistant
7
5
  from typing import Any
8
6
 
9
7
  TO_REDACT: Incomplete
10
8
 
11
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
9
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: LaMetricConfigEntry) -> dict[str, Any]: ...
@@ -1,7 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN
2
2
  from .coordinator import LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
- from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo, format_mac as format_mac
4
+ from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, CONNECTION_NETWORK_MAC as CONNECTION_NETWORK_MAC, DeviceInfo as DeviceInfo, format_mac as format_mac
5
5
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
6
6
 
7
7
  class LaMetricEntity(CoordinatorEntity[LaMetricDataUpdateCoordinator]):
@@ -1,5 +1,5 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
2
+ from .coordinator import LaMetricConfigEntry as LaMetricConfigEntry, LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
3
3
  from .entity import LaMetricEntity as LaMetricEntity
4
4
  from collections.abc import Callable as Callable, Coroutine
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -1,5 +1,5 @@
1
- from .const import CONF_CYCLES as CONF_CYCLES, CONF_ICON_TYPE as CONF_ICON_TYPE, CONF_PRIORITY as CONF_PRIORITY, CONF_SOUND as CONF_SOUND, DOMAIN as DOMAIN
2
- from .coordinator import LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
1
+ from .const import CONF_CYCLES as CONF_CYCLES, CONF_ICON_TYPE as CONF_ICON_TYPE, CONF_PRIORITY as CONF_PRIORITY, CONF_SOUND as CONF_SOUND
2
+ from .coordinator import LaMetricConfigEntry as LaMetricConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from demetriek import LaMetricDevice as LaMetricDevice
5
5
  from homeassistant.components.notify import ATTR_DATA as ATTR_DATA, BaseNotificationService as BaseNotificationService
@@ -1,5 +1,4 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
1
+ from .coordinator import LaMetricConfigEntry as LaMetricConfigEntry, LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
3
2
  from .entity import LaMetricEntity as LaMetricEntity
4
3
  from .helpers import lametric_exception_handler as lametric_exception_handler
5
4
  from _typeshed import Incomplete
@@ -7,7 +6,6 @@ from collections.abc import Awaitable, Callable as Callable
7
6
  from dataclasses import dataclass
8
7
  from demetriek import Device as Device, LaMetricDevice as LaMetricDevice, Range as Range
9
8
  from homeassistant.components.number import NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription
10
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
9
  from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE
12
10
  from homeassistant.core import HomeAssistant as HomeAssistant
13
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -22,7 +20,7 @@ class LaMetricNumberEntityDescription(NumberEntityDescription):
22
20
 
23
21
  NUMBERS: Incomplete
24
22
 
25
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
+ async def async_setup_entry(hass: HomeAssistant, entry: LaMetricConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
26
24
 
27
25
  class LaMetricNumberEntity(LaMetricEntity, NumberEntity):
28
26
  entity_description: LaMetricNumberEntityDescription
@@ -1,5 +1,4 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
1
+ from .coordinator import LaMetricConfigEntry as LaMetricConfigEntry, LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
3
2
  from .entity import LaMetricEntity as LaMetricEntity
4
3
  from .helpers import lametric_exception_handler as lametric_exception_handler
5
4
  from _typeshed import Incomplete
@@ -7,7 +6,6 @@ from collections.abc import Awaitable, Callable as Callable
7
6
  from dataclasses import dataclass
8
7
  from demetriek import Device as Device, LaMetricDevice as LaMetricDevice
9
8
  from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
10
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
9
  from homeassistant.const import EntityCategory as EntityCategory
12
10
  from homeassistant.core import HomeAssistant as HomeAssistant
13
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -20,7 +18,7 @@ class LaMetricSelectEntityDescription(SelectEntityDescription):
20
18
 
21
19
  SELECTS: Incomplete
22
20
 
23
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
21
+ async def async_setup_entry(hass: HomeAssistant, entry: LaMetricConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
24
22
 
25
23
  class LaMetricSelectEntity(LaMetricEntity, SelectEntity):
26
24
  entity_description: LaMetricSelectEntityDescription
@@ -1,12 +1,10 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
1
+ from .coordinator import LaMetricConfigEntry as LaMetricConfigEntry, LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
3
2
  from .entity import LaMetricEntity as LaMetricEntity
4
3
  from _typeshed import Incomplete
5
4
  from collections.abc import Callable as Callable
6
5
  from dataclasses import dataclass
7
6
  from demetriek import Device as Device
8
7
  from homeassistant.components.sensor import SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
8
  from homeassistant.const import EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE
11
9
  from homeassistant.core import HomeAssistant as HomeAssistant
12
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -17,7 +15,7 @@ class LaMetricSensorEntityDescription(SensorEntityDescription):
17
15
 
18
16
  SENSORS: Incomplete
19
17
 
20
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
+ async def async_setup_entry(hass: HomeAssistant, entry: LaMetricConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
21
19
 
22
20
  class LaMetricSensorEntity(LaMetricEntity, SensorEntity):
23
21
  entity_description: LaMetricSensorEntityDescription
@@ -1,5 +1,4 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
1
+ from .coordinator import LaMetricConfigEntry as LaMetricConfigEntry, LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
3
2
  from .entity import LaMetricEntity as LaMetricEntity
4
3
  from .helpers import lametric_exception_handler as lametric_exception_handler
5
4
  from _typeshed import Incomplete
@@ -7,7 +6,6 @@ from collections.abc import Awaitable, Callable as Callable
7
6
  from dataclasses import dataclass
8
7
  from demetriek import Device as Device, LaMetricDevice as LaMetricDevice
9
8
  from homeassistant.components.switch import SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
10
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
11
9
  from homeassistant.const import EntityCategory as EntityCategory
12
10
  from homeassistant.core import HomeAssistant as HomeAssistant
13
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -22,7 +20,7 @@ class LaMetricSwitchEntityDescription(SwitchEntityDescription):
22
20
 
23
21
  SWITCHES: Incomplete
24
22
 
25
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
23
+ async def async_setup_entry(hass: HomeAssistant, entry: LaMetricConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
26
24
 
27
25
  class LaMetricSwitchEntity(LaMetricEntity, SwitchEntity):
28
26
  entity_description: LaMetricSwitchEntityDescription
@@ -0,0 +1,17 @@
1
+ from .coordinator import LaMetricConfigEntry as LaMetricConfigEntry, LaMetricDataUpdateCoordinator as LaMetricDataUpdateCoordinator
2
+ from .entity import LaMetricEntity as LaMetricEntity
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass, UpdateEntity as UpdateEntity
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
+
8
+ async def async_setup_entry(hass: HomeAssistant, config_entry: LaMetricConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
9
+
10
+ class LaMetricUpdate(LaMetricEntity, UpdateEntity):
11
+ _attr_device_class: Incomplete
12
+ _attr_unique_id: Incomplete
13
+ def __init__(self, coordinator: LaMetricDataUpdateCoordinator) -> None: ...
14
+ @property
15
+ def installed_version(self) -> str: ...
16
+ @property
17
+ def latest_version(self) -> str | None: ...
@@ -1,7 +1,5 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaundrifyUpdateCoordinator as LaundrifyUpdateCoordinator
1
+ from .coordinator import LaundrifyConfigEntry as LaundrifyConfigEntry, LaundrifyUpdateCoordinator as LaundrifyUpdateCoordinator
3
2
  from _typeshed import Incomplete
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
3
  from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, Platform as Platform
6
4
  from homeassistant.core import HomeAssistant as HomeAssistant
7
5
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryNotReady as ConfigEntryNotReady
@@ -10,6 +8,6 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession as asyn
10
8
  _LOGGER: Incomplete
11
9
  PLATFORMS: Incomplete
12
10
 
13
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
14
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
- async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
11
+ async def async_setup_entry(hass: HomeAssistant, entry: LaundrifyConfigEntry) -> bool: ...
12
+ async def async_unload_entry(hass: HomeAssistant, entry: LaundrifyConfigEntry) -> bool: ...
13
+ async def async_migrate_entry(hass: HomeAssistant, entry: LaundrifyConfigEntry) -> bool: ...
@@ -1,8 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN, MANUFACTURER as MANUFACTURER, MODELS as MODELS
2
- from .coordinator import LaundrifyUpdateCoordinator as LaundrifyUpdateCoordinator
2
+ from .coordinator import LaundrifyConfigEntry as LaundrifyConfigEntry, LaundrifyUpdateCoordinator as LaundrifyUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
6
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -11,7 +10,7 @@ from laundrify_aio import LaundrifyDevice as LaundrifyDevice
11
10
 
12
11
  _LOGGER: Incomplete
13
12
 
14
- async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
+ async def async_setup_entry(hass: HomeAssistant, entry: LaundrifyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
14
 
16
15
  class LaundrifyPowerPlug(CoordinatorEntity[LaundrifyUpdateCoordinator], BinarySensorEntity):
17
16
  _attr_device_class: Incomplete
@@ -7,6 +7,7 @@ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as Da
7
7
  from laundrify_aio import LaundrifyAPI as LaundrifyAPI, LaundrifyDevice
8
8
 
9
9
  _LOGGER: Incomplete
10
+ type LaundrifyConfigEntry = ConfigEntry[LaundrifyUpdateCoordinator]
10
11
 
11
12
  class LaundrifyUpdateCoordinator(DataUpdateCoordinator[dict[str, LaundrifyDevice]]):
12
13
  config_entry: ConfigEntry
@@ -1,8 +1,7 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .coordinator import LaundrifyUpdateCoordinator as LaundrifyUpdateCoordinator
2
+ from .coordinator import LaundrifyConfigEntry as LaundrifyConfigEntry, LaundrifyUpdateCoordinator as LaundrifyUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorStateClass as SensorStateClass
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.const import UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
7
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
@@ -12,7 +11,7 @@ from laundrify_aio import LaundrifyDevice as LaundrifyDevice
12
11
 
13
12
  _LOGGER: Incomplete
14
13
 
15
- async def async_setup_entry(hass: HomeAssistant, config: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
+ async def async_setup_entry(hass: HomeAssistant, entry: LaundrifyConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
15
 
17
16
  class LaundrifyBaseSensor(SensorEntity):
18
17
  _attr_has_entity_name: bool
@@ -1,10 +1,9 @@
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_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
- 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
- from .services import register_services as register_services
2
+ from .const import 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, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
3
+ from .helpers import AddressType as AddressType, InputType as InputType, LcnConfigEntry as LcnConfigEntry, LcnRuntimeData as LcnRuntimeData, 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
+ from .services import async_setup_services as async_setup_services
5
5
  from .websocket import register_panel_and_ws_api as register_panel_and_ws_api
6
6
  from _typeshed import Incomplete
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  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
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
9
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
@@ -15,11 +14,11 @@ _LOGGER: Incomplete
15
14
  CONFIG_SCHEMA: Incomplete
16
15
 
17
16
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
18
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
19
- async def async_migrate_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
20
- async def async_migrate_entities(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
21
- async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> bool: ...
22
- def async_host_event_received(hass: HomeAssistant, config_entry: ConfigEntry, event: pypck.lcn_defs.LcnEvent) -> None: ...
23
- def async_host_input_received(hass: HomeAssistant, config_entry: ConfigEntry, device_registry: dr.DeviceRegistry, inp: pypck.inputs.Input) -> None: ...
17
+ async def async_setup_entry(hass: HomeAssistant, config_entry: LcnConfigEntry) -> bool: ...
18
+ async def async_migrate_entry(hass: HomeAssistant, config_entry: LcnConfigEntry) -> bool: ...
19
+ async def async_migrate_entities(hass: HomeAssistant, config_entry: LcnConfigEntry) -> None: ...
20
+ async def async_unload_entry(hass: HomeAssistant, config_entry: LcnConfigEntry) -> bool: ...
21
+ def async_host_event_received(hass: HomeAssistant, config_entry: LcnConfigEntry, event: pypck.lcn_defs.LcnEvent) -> None: ...
22
+ def async_host_input_received(hass: HomeAssistant, config_entry: LcnConfigEntry, device_registry: dr.DeviceRegistry, inp: pypck.inputs.Input) -> None: ...
24
23
  def _async_fire_access_control_event(hass: HomeAssistant, device: dr.DeviceEntry | None, address: AddressType, inp: InputType) -> None: ...
25
24
  def _async_fire_send_keys_event(hass: HomeAssistant, device: dr.DeviceEntry | None, address: AddressType, inp: InputType) -> None: ...
@@ -1,24 +1,25 @@
1
- from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, BINSENSOR_PORTS as BINSENSOR_PORTS, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, DOMAIN as DOMAIN, SETPOINTS as SETPOINTS
1
+ from .const import BINSENSOR_PORTS as BINSENSOR_PORTS, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, DOMAIN as DOMAIN, SETPOINTS as SETPOINTS
2
2
  from .entity import LcnEntity as LcnEntity
3
- from .helpers import InputType as InputType
3
+ from .helpers import InputType as InputType, LcnConfigEntry as LcnConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Iterable
6
6
  from homeassistant.components.automation import automations_with_entity as automations_with_entity
7
7
  from homeassistant.components.binary_sensor import BinarySensorEntity as BinarySensorEntity
8
8
  from homeassistant.components.script import scripts_with_entity as scripts_with_entity
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
9
  from homeassistant.const import CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_SOURCE as CONF_SOURCE
11
10
  from homeassistant.core import HomeAssistant as HomeAssistant
12
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
12
  from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue, async_delete_issue as async_delete_issue
14
13
  from homeassistant.helpers.typing import ConfigType as ConfigType
15
14
 
16
- def add_lcn_entities(config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
17
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+ PARALLEL_UPDATES: int
16
+
17
+ def add_lcn_entities(config_entry: LcnConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
18
+ async def async_setup_entry(hass: HomeAssistant, config_entry: LcnConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
19
 
19
20
  class LcnRegulatorLockSensor(LcnEntity, BinarySensorEntity):
20
21
  setpoint_variable: Incomplete
21
- def __init__(self, config: ConfigType, config_entry: ConfigEntry) -> None: ...
22
+ def __init__(self, config: ConfigType, config_entry: LcnConfigEntry) -> None: ...
22
23
  async def async_added_to_hass(self) -> None: ...
23
24
  async def async_will_remove_from_hass(self) -> None: ...
24
25
  _attr_is_on: Incomplete
@@ -26,7 +27,7 @@ class LcnRegulatorLockSensor(LcnEntity, BinarySensorEntity):
26
27
 
27
28
  class LcnBinarySensor(LcnEntity, BinarySensorEntity):
28
29
  bin_sensor_port: Incomplete
29
- def __init__(self, config: ConfigType, config_entry: ConfigEntry) -> None: ...
30
+ def __init__(self, config: ConfigType, config_entry: LcnConfigEntry) -> None: ...
30
31
  async def async_added_to_hass(self) -> None: ...
31
32
  async def async_will_remove_from_hass(self) -> None: ...
32
33
  _attr_is_on: Incomplete
@@ -34,7 +35,7 @@ class LcnBinarySensor(LcnEntity, BinarySensorEntity):
34
35
 
35
36
  class LcnLockKeysSensor(LcnEntity, BinarySensorEntity):
36
37
  source: Incomplete
37
- def __init__(self, config: ConfigType, config_entry: ConfigEntry) -> None: ...
38
+ def __init__(self, config: ConfigType, config_entry: LcnConfigEntry) -> None: ...
38
39
  async def async_added_to_hass(self) -> None: ...
39
40
  async def async_will_remove_from_hass(self) -> None: ...
40
41
  _attr_is_on: Incomplete
@@ -1,10 +1,9 @@
1
- from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_LOCKABLE as CONF_LOCKABLE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_SETPOINT as CONF_SETPOINT, CONF_TARGET_VALUE_LOCKED as CONF_TARGET_VALUE_LOCKED, DOMAIN as DOMAIN
1
+ from .const import CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_LOCKABLE as CONF_LOCKABLE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_SETPOINT as CONF_SETPOINT, CONF_TARGET_VALUE_LOCKED as CONF_TARGET_VALUE_LOCKED
2
2
  from .entity import LcnEntity as LcnEntity
3
- from .helpers import InputType as InputType
3
+ from .helpers import InputType as InputType, LcnConfigEntry as LcnConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Iterable
6
6
  from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_SOURCE as CONF_SOURCE, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, UnitOfTemperature as UnitOfTemperature
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -13,8 +12,8 @@ from typing import Any
13
12
 
14
13
  PARALLEL_UPDATES: int
15
14
 
16
- def add_lcn_entities(config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
17
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+ def add_lcn_entities(config_entry: LcnConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: LcnConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
17
 
19
18
  class LcnClimate(LcnEntity, ClimateEntity):
20
19
  variable: Incomplete
@@ -30,7 +29,7 @@ class LcnClimate(LcnEntity, ClimateEntity):
30
29
  _is_on: bool
31
30
  _attr_hvac_modes: Incomplete
32
31
  _attr_supported_features: Incomplete
33
- def __init__(self, config: ConfigType, config_entry: ConfigEntry) -> None: ...
32
+ def __init__(self, config: ConfigType, config_entry: LcnConfigEntry) -> None: ...
34
33
  async def async_added_to_hass(self) -> None: ...
35
34
  async def async_will_remove_from_hass(self) -> None: ...
36
35
  @property
@@ -3,11 +3,7 @@ from homeassistant.const import Platform as Platform
3
3
 
4
4
  PLATFORMS: Incomplete
5
5
  DOMAIN: str
6
- DATA_LCN: str
7
6
  DEFAULT_NAME: str
8
- ADD_ENTITIES_CALLBACKS: str
9
- CONNECTION: str
10
- DEVICE_CONNECTIONS: str
11
7
  CONF_HARDWARE_SERIAL: str
12
8
  CONF_SOFTWARE_SERIAL: str
13
9
  CONF_HARDWARE_TYPE: str
@@ -1,11 +1,10 @@
1
1
  import pypck
2
- from .const import ADD_ENTITIES_CALLBACKS as ADD_ENTITIES_CALLBACKS, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_MOTOR as CONF_MOTOR, CONF_POSITIONING_MODE as CONF_POSITIONING_MODE, CONF_REVERSE_TIME as CONF_REVERSE_TIME, DOMAIN as DOMAIN
2
+ from .const import CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_MOTOR as CONF_MOTOR, CONF_POSITIONING_MODE as CONF_POSITIONING_MODE, CONF_REVERSE_TIME as CONF_REVERSE_TIME
3
3
  from .entity import LcnEntity as LcnEntity
4
- from .helpers import InputType as InputType
4
+ from .helpers import InputType as InputType, LcnConfigEntry as LcnConfigEntry
5
5
  from _typeshed import Incomplete
6
6
  from collections.abc import Iterable
7
7
  from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
8
  from homeassistant.const import CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES
10
9
  from homeassistant.core import HomeAssistant as HomeAssistant
11
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -14,8 +13,8 @@ from typing import Any
14
13
 
15
14
  PARALLEL_UPDATES: int
16
15
 
17
- def add_lcn_entities(config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
18
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
+ def add_lcn_entities(config_entry: LcnConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback, entity_configs: Iterable[ConfigType]) -> None: ...
17
+ async def async_setup_entry(hass: HomeAssistant, config_entry: LcnConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
19
18
 
20
19
  class LcnOutputsCover(LcnEntity, CoverEntity):
21
20
  _attr_is_closed: bool
@@ -24,7 +23,7 @@ class LcnOutputsCover(LcnEntity, CoverEntity):
24
23
  _attr_assumed_state: bool
25
24
  output_ids: Incomplete
26
25
  reverse_time: Incomplete
27
- def __init__(self, config: ConfigType, config_entry: ConfigEntry) -> None: ...
26
+ def __init__(self, config: ConfigType, config_entry: LcnConfigEntry) -> None: ...
28
27
  async def async_added_to_hass(self) -> None: ...
29
28
  async def async_will_remove_from_hass(self) -> None: ...
30
29
  async def async_close_cover(self, **kwargs: Any) -> None: ...
@@ -45,7 +44,7 @@ class LcnRelayCover(LcnEntity, CoverEntity):
45
44
  _is_closed: bool
46
45
  _is_closing: bool
47
46
  _is_opening: bool
48
- def __init__(self, config: ConfigType, config_entry: ConfigEntry) -> None: ...
47
+ def __init__(self, config: ConfigType, config_entry: LcnConfigEntry) -> None: ...
49
48
  async def async_added_to_hass(self) -> None: ...
50
49
  async def async_will_remove_from_hass(self) -> None: ...
51
50
  async def async_close_cover(self, **kwargs: Any) -> None: ...
@@ -1,8 +1,7 @@
1
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
2
+ from .helpers import AddressType as AddressType, DeviceConnectionType as DeviceConnectionType, InputType as InputType, LcnConfigEntry as LcnConfigEntry, 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
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS, CONF_DOMAIN as CONF_DOMAIN, CONF_NAME as CONF_NAME
7
6
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
7
  from homeassistant.helpers.entity import Entity as Entity
@@ -18,7 +17,7 @@ class LcnEntity(Entity):
18
17
  _unregister_for_inputs: Callable | None
19
18
  _name: str
20
19
  _attr_device_info: Incomplete
21
- def __init__(self, config: ConfigType, config_entry: ConfigEntry) -> None: ...
20
+ def __init__(self, config: ConfigType, config_entry: LcnConfigEntry) -> None: ...
22
21
  @property
23
22
  def unique_id(self) -> str: ...
24
23
  async def async_added_to_hass(self) -> None: ...
@@ -1,25 +1,35 @@
1
1
  import pypck
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
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, DOMAIN as DOMAIN
3
3
  from _typeshed import Incomplete
4
+ from collections.abc import Callable as Callable, Iterable
5
+ from dataclasses import dataclass
4
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
7
  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
8
  from homeassistant.core import HomeAssistant as HomeAssistant
7
9
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
+ from pypck.connection import PchkConnectionManager as PchkConnectionManager
8
11
 
12
+ @dataclass
13
+ class LcnRuntimeData:
14
+ connection: PchkConnectionManager
15
+ device_connections: dict[str, DeviceConnectionType]
16
+ add_entities_callbacks: dict[str, Callable[[Iterable[ConfigType]], None]]
17
+ type LcnConfigEntry = ConfigEntry[LcnRuntimeData]
9
18
  type AddressType = tuple[int, int, bool]
10
19
  type DeviceConnectionType = pypck.module.ModuleConnection | pypck.module.GroupConnection
11
20
  type InputType = type[pypck.inputs.Input]
21
+
12
22
  PATTERN_ADDRESS: Incomplete
13
23
  DOMAIN_LOOKUP: Incomplete
14
24
 
15
- def get_device_connection(hass: HomeAssistant, address: AddressType, config_entry: ConfigEntry) -> DeviceConnectionType: ...
25
+ def get_device_connection(hass: HomeAssistant, address: AddressType, config_entry: LcnConfigEntry) -> DeviceConnectionType: ...
16
26
  def get_resource(domain_name: str, domain_data: ConfigType) -> str: ...
17
27
  def generate_unique_id(entry_id: str, address: AddressType, resource: str | None = None) -> str: ...
18
28
  def purge_entity_registry(hass: HomeAssistant, entry_id: str, imported_entry_data: ConfigType) -> None: ...
19
29
  def purge_device_registry(hass: HomeAssistant, entry_id: str, imported_entry_data: ConfigType) -> None: ...
20
- def register_lcn_host_device(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
21
- def register_lcn_address_devices(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
30
+ def register_lcn_host_device(hass: HomeAssistant, config_entry: LcnConfigEntry) -> None: ...
31
+ def register_lcn_address_devices(hass: HomeAssistant, config_entry: LcnConfigEntry) -> None: ...
22
32
  async def async_update_device_config(device_connection: DeviceConnectionType, device_config: ConfigType) -> None: ...
23
- async def async_update_config_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
33
+ async def async_update_config_entry(hass: HomeAssistant, config_entry: LcnConfigEntry) -> None: ...
24
34
  def get_device_config(address: AddressType, config_entry: ConfigEntry) -> ConfigType | None: ...
25
35
  def is_states_string(states_string: str) -> list[str]: ...