homeassistant-stubs 2025.6.2__py3-none-any.whl → 2025.7.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.

Potentially problematic release.


This version of homeassistant-stubs might be problematic. Click here for more details.

Files changed (347) 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/airq/coordinator.pyi +1 -1
  7. homeassistant-stubs/components/airthings/__init__.pyi +3 -5
  8. homeassistant-stubs/components/airthings/coordinator.pyi +13 -0
  9. homeassistant-stubs/components/airthings/sensor.pyi +5 -4
  10. homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +2 -1
  11. homeassistant-stubs/components/alexa_devices/notify.pyi +2 -0
  12. homeassistant-stubs/components/alexa_devices/sensor.pyi +29 -0
  13. homeassistant-stubs/components/alexa_devices/switch.pyi +2 -0
  14. homeassistant-stubs/components/alexa_devices/utils.pyi +7 -0
  15. homeassistant-stubs/components/altruist/__init__.pyi +9 -0
  16. homeassistant-stubs/components/altruist/config_flow.pyi +15 -0
  17. homeassistant-stubs/components/altruist/const.pyi +2 -0
  18. homeassistant-stubs/components/altruist/coordinator.pyi +19 -0
  19. homeassistant-stubs/components/altruist/sensor.pyi +34 -0
  20. homeassistant-stubs/components/amcrest/__init__.pyi +4 -7
  21. homeassistant-stubs/components/amcrest/services.pyi +13 -0
  22. homeassistant-stubs/components/analytics/analytics.pyi +3 -1
  23. homeassistant-stubs/components/android_ip_webcam/camera.pyi +4 -0
  24. homeassistant-stubs/components/apcupsd/sensor.pyi +1 -1
  25. homeassistant-stubs/components/assist_satellite/__init__.pyi +2 -2
  26. homeassistant-stubs/components/assist_satellite/entity.pyi +13 -1
  27. homeassistant-stubs/components/axis/hub/hub.pyi +1 -1
  28. homeassistant-stubs/components/camera/__init__.pyi +0 -2
  29. homeassistant-stubs/components/camera/webrtc.pyi +1 -0
  30. homeassistant-stubs/components/climate/__init__.pyi +0 -2
  31. homeassistant-stubs/components/command_line/notify.pyi +1 -2
  32. homeassistant-stubs/components/command_line/sensor.pyi +1 -2
  33. homeassistant-stubs/components/command_line/utils.pyi +5 -2
  34. homeassistant-stubs/components/deconz/logbook.pyi +1 -1
  35. homeassistant-stubs/components/derivative/config_flow.pyi +1 -1
  36. homeassistant-stubs/components/derivative/const.pyi +1 -0
  37. homeassistant-stubs/components/derivative/sensor.pyi +9 -4
  38. homeassistant-stubs/components/device_automation/condition.pyi +17 -4
  39. homeassistant-stubs/components/devolo_home_control/__init__.pyi +3 -2
  40. homeassistant-stubs/components/devolo_home_control/climate.pyi +1 -1
  41. homeassistant-stubs/components/devolo_home_control/const.pyi +0 -1
  42. homeassistant-stubs/components/devolo_home_control/cover.pyi +1 -1
  43. homeassistant-stubs/components/devolo_home_control/entity.pyi +6 -0
  44. homeassistant-stubs/components/devolo_home_control/light.pyi +1 -1
  45. homeassistant-stubs/components/devolo_home_control/siren.pyi +1 -1
  46. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +2 -0
  47. homeassistant-stubs/components/dnsip/sensor.pyi +3 -2
  48. homeassistant-stubs/components/downloader/__init__.pyi +1 -1
  49. homeassistant-stubs/components/downloader/services.pyi +3 -2
  50. homeassistant-stubs/components/ecovacs/binary_sensor.pyi +4 -4
  51. homeassistant-stubs/components/ecovacs/entity.pyi +9 -12
  52. homeassistant-stubs/components/ecovacs/number.pyi +4 -4
  53. homeassistant-stubs/components/ecovacs/select.pyi +5 -4
  54. homeassistant-stubs/components/ecovacs/sensor.pyi +3 -3
  55. homeassistant-stubs/components/eheimdigital/number.pyi +8 -9
  56. homeassistant-stubs/components/eheimdigital/select.pyi +8 -9
  57. homeassistant-stubs/components/eheimdigital/sensor.pyi +7 -8
  58. homeassistant-stubs/components/eheimdigital/time.pyi +8 -9
  59. homeassistant-stubs/components/elkm1/__init__.pyi +4 -9
  60. homeassistant-stubs/components/elkm1/services.pyi +21 -0
  61. homeassistant-stubs/components/enphase_envoy/__init__.pyi +2 -2
  62. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +1 -1
  63. homeassistant-stubs/components/enphase_envoy/diagnostics.pyi +1 -0
  64. homeassistant-stubs/components/enphase_envoy/sensor.pyi +1 -1
  65. homeassistant-stubs/components/eq3btsmart/climate.pyi +6 -8
  66. homeassistant-stubs/components/eq3btsmart/const.pyi +3 -2
  67. homeassistant-stubs/components/eq3btsmart/entity.pyi +5 -1
  68. homeassistant-stubs/components/eq3btsmart/number.pyi +3 -3
  69. homeassistant-stubs/components/eq3btsmart/switch.pyi +5 -3
  70. homeassistant-stubs/components/esphome/entity.pyi +2 -1
  71. homeassistant-stubs/components/esphome/entry_data.pyi +3 -0
  72. homeassistant-stubs/components/esphome/sensor.pyi +2 -1
  73. homeassistant-stubs/components/evohome/water_heater.pyi +1 -1
  74. homeassistant-stubs/components/fritz/binary_sensor.pyi +2 -1
  75. homeassistant-stubs/components/fritz/button.pyi +3 -1
  76. homeassistant-stubs/components/fritz/coordinator.pyi +8 -82
  77. homeassistant-stubs/components/fritz/device_tracker.pyi +3 -1
  78. homeassistant-stubs/components/fritz/entity.pyi +2 -1
  79. homeassistant-stubs/components/fritz/helpers.pyi +9 -0
  80. homeassistant-stubs/components/fritz/models.pyi +78 -0
  81. homeassistant-stubs/components/fritz/sensor.pyi +2 -1
  82. homeassistant-stubs/components/fritz/services.pyi +3 -2
  83. homeassistant-stubs/components/fritz/switch.pyi +3 -1
  84. homeassistant-stubs/components/fully_kiosk/services.pyi +7 -2
  85. homeassistant-stubs/components/go2rtc/__init__.pyi +10 -4
  86. homeassistant-stubs/components/google/__init__.pyi +3 -9
  87. homeassistant-stubs/components/google_assistant_sdk/__init__.pyi +3 -7
  88. homeassistant-stubs/components/google_assistant_sdk/services.pyi +13 -0
  89. homeassistant-stubs/components/google_photos/services.pyi +4 -2
  90. homeassistant-stubs/components/google_sheets/__init__.pyi +7 -10
  91. homeassistant-stubs/components/google_sheets/services.pyi +18 -0
  92. homeassistant-stubs/components/group/sensor.pyi +1 -1
  93. homeassistant-stubs/components/habitica/services.pyi +8 -1
  94. homeassistant-stubs/components/here_travel_time/model.pyi +2 -1
  95. homeassistant-stubs/components/home_connect/diagnostics.pyi +2 -0
  96. homeassistant-stubs/components/homeassistant/__init__.pyi +2 -3
  97. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +13 -7
  98. homeassistant-stubs/components/homeassistant_hardware/update.pyi +2 -6
  99. homeassistant-stubs/components/homeassistant_hardware/util.pyi +3 -1
  100. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +9 -5
  101. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +12 -5
  102. homeassistant-stubs/components/homee/config_flow.pyi +1 -0
  103. homeassistant-stubs/components/homee/diagnostics.pyi +12 -0
  104. homeassistant-stubs/components/homee/entity.pyi +3 -2
  105. homeassistant-stubs/components/homee/event.pyi +8 -4
  106. homeassistant-stubs/components/homee/siren.pyi +19 -0
  107. homeassistant-stubs/components/homewizard/select.pyi +35 -0
  108. homeassistant-stubs/components/husqvarna_automower/const.pyi +3 -0
  109. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +3 -1
  110. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +1 -1
  111. homeassistant-stubs/components/image/__init__.pyi +2 -0
  112. homeassistant-stubs/components/immich/coordinator.pyi +2 -1
  113. homeassistant-stubs/components/immich/update.pyi +21 -0
  114. homeassistant-stubs/components/isy994/__init__.pyi +3 -1
  115. homeassistant-stubs/components/isy994/services.pyi +0 -2
  116. homeassistant-stubs/components/jewish_calendar/__init__.pyi +1 -1
  117. homeassistant-stubs/components/jewish_calendar/{service.pyi → services.pyi} +2 -1
  118. homeassistant-stubs/components/kaleidescape/__init__.pyi +4 -4
  119. homeassistant-stubs/components/kaleidescape/media_player.pyi +2 -3
  120. homeassistant-stubs/components/kaleidescape/remote.pyi +2 -3
  121. homeassistant-stubs/components/kaleidescape/sensor.pyi +2 -3
  122. homeassistant-stubs/components/lacrosse_view/__init__.pyi +3 -5
  123. homeassistant-stubs/components/lacrosse_view/coordinator.pyi +3 -2
  124. homeassistant-stubs/components/lacrosse_view/diagnostics.pyi +2 -4
  125. homeassistant-stubs/components/lacrosse_view/sensor.pyi +2 -2
  126. homeassistant-stubs/components/lamarzocco/entity.pyi +3 -0
  127. homeassistant-stubs/components/lamarzocco/sensor.pyi +1 -0
  128. homeassistant-stubs/components/lametric/__init__.pyi +3 -4
  129. homeassistant-stubs/components/lametric/button.pyi +2 -4
  130. homeassistant-stubs/components/lametric/coordinator.pyi +3 -2
  131. homeassistant-stubs/components/lametric/diagnostics.pyi +2 -4
  132. homeassistant-stubs/components/lametric/entity.pyi +1 -1
  133. homeassistant-stubs/components/lametric/helpers.pyi +1 -1
  134. homeassistant-stubs/components/lametric/notify.pyi +2 -2
  135. homeassistant-stubs/components/lametric/number.pyi +2 -4
  136. homeassistant-stubs/components/lametric/select.pyi +2 -4
  137. homeassistant-stubs/components/lametric/sensor.pyi +2 -4
  138. homeassistant-stubs/components/lametric/switch.pyi +2 -4
  139. homeassistant-stubs/components/lametric/update.pyi +17 -0
  140. homeassistant-stubs/components/laundrify/__init__.pyi +4 -6
  141. homeassistant-stubs/components/laundrify/binary_sensor.pyi +2 -3
  142. homeassistant-stubs/components/laundrify/coordinator.pyi +1 -0
  143. homeassistant-stubs/components/laundrify/sensor.pyi +2 -3
  144. homeassistant-stubs/components/lcn/__init__.pyi +9 -10
  145. homeassistant-stubs/components/lcn/binary_sensor.pyi +9 -8
  146. homeassistant-stubs/components/lcn/climate.pyi +5 -6
  147. homeassistant-stubs/components/lcn/const.pyi +0 -4
  148. homeassistant-stubs/components/lcn/cover.pyi +6 -7
  149. homeassistant-stubs/components/lcn/entity.pyi +2 -3
  150. homeassistant-stubs/components/lcn/helpers.pyi +15 -5
  151. homeassistant-stubs/components/lcn/light.pyi +6 -7
  152. homeassistant-stubs/components/lcn/scene.pyi +5 -5
  153. homeassistant-stubs/components/lcn/sensor.pyi +7 -7
  154. homeassistant-stubs/components/lcn/services.pyi +5 -4
  155. homeassistant-stubs/components/lcn/switch.pyi +8 -9
  156. homeassistant-stubs/components/lcn/websocket.pyi +12 -13
  157. homeassistant-stubs/components/ld2410_ble/__init__.pyi +4 -6
  158. homeassistant-stubs/components/ld2410_ble/binary_sensor.pyi +2 -4
  159. homeassistant-stubs/components/ld2410_ble/coordinator.pyi +3 -3
  160. homeassistant-stubs/components/ld2410_ble/models.pyi +2 -0
  161. homeassistant-stubs/components/ld2410_ble/sensor.pyi +4 -5
  162. homeassistant-stubs/components/led_ble/__init__.pyi +5 -6
  163. homeassistant-stubs/components/led_ble/light.pyi +3 -4
  164. homeassistant-stubs/components/led_ble/models.pyi +2 -0
  165. homeassistant-stubs/components/lifx/__init__.pyi +4 -5
  166. homeassistant-stubs/components/lifx/binary_sensor.pyi +3 -4
  167. homeassistant-stubs/components/lifx/button.pyi +3 -4
  168. homeassistant-stubs/components/lifx/const.pyi +3 -1
  169. homeassistant-stubs/components/lifx/coordinator.pyi +3 -2
  170. homeassistant-stubs/components/lifx/diagnostics.pyi +3 -4
  171. homeassistant-stubs/components/lifx/light.pyi +3 -4
  172. homeassistant-stubs/components/lifx/manager.pyi +2 -2
  173. homeassistant-stubs/components/lifx/migration.pyi +3 -3
  174. homeassistant-stubs/components/lifx/select.pyi +3 -4
  175. homeassistant-stubs/components/lifx/sensor.pyi +3 -4
  176. homeassistant-stubs/components/lifx/util.pyi +3 -3
  177. homeassistant-stubs/components/linear_garage_door/__init__.pyi +4 -5
  178. homeassistant-stubs/components/linear_garage_door/coordinator.pyi +3 -2
  179. homeassistant-stubs/components/linear_garage_door/cover.pyi +2 -4
  180. homeassistant-stubs/components/linear_garage_door/diagnostics.pyi +2 -4
  181. homeassistant-stubs/components/linear_garage_door/light.pyi +2 -4
  182. homeassistant-stubs/components/lookin/__init__.pyi +4 -5
  183. homeassistant-stubs/components/lookin/climate.pyi +3 -4
  184. homeassistant-stubs/components/lookin/coordinator.pyi +3 -3
  185. homeassistant-stubs/components/lookin/light.pyi +3 -4
  186. homeassistant-stubs/components/lookin/media_player.pyi +3 -4
  187. homeassistant-stubs/components/lookin/models.pyi +2 -0
  188. homeassistant-stubs/components/lookin/sensor.pyi +2 -4
  189. homeassistant-stubs/components/luftdaten/__init__.pyi +4 -6
  190. homeassistant-stubs/components/luftdaten/coordinator.pyi +15 -0
  191. homeassistant-stubs/components/luftdaten/diagnostics.pyi +3 -4
  192. homeassistant-stubs/components/luftdaten/sensor.pyi +4 -4
  193. homeassistant-stubs/components/matrix/__init__.pyi +2 -7
  194. homeassistant-stubs/components/matrix/const.pyi +3 -0
  195. homeassistant-stubs/components/matrix/services.pyi +12 -0
  196. homeassistant-stubs/components/matter/sensor.pyi +7 -2
  197. homeassistant-stubs/components/matter/vacuum.pyi +5 -5
  198. homeassistant-stubs/components/mealie/__init__.pyi +1 -1
  199. homeassistant-stubs/components/mealie/services.pyi +9 -3
  200. homeassistant-stubs/components/media_player/__init__.pyi +0 -2
  201. homeassistant-stubs/components/media_player/intent.pyi +1 -1
  202. homeassistant-stubs/components/media_source/local_source.pyi +2 -0
  203. homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
  204. homeassistant-stubs/components/miele/const.pyi +24 -0
  205. homeassistant-stubs/components/miele/sensor.pyi +1 -2
  206. homeassistant-stubs/components/mqtt/config_flow.pyi +6 -1
  207. homeassistant-stubs/components/mqtt/sensor.pyi +1 -4
  208. homeassistant-stubs/components/music_assistant/__init__.pyi +5 -1
  209. homeassistant-stubs/components/music_assistant/button.pyi +15 -0
  210. homeassistant-stubs/components/music_assistant/helpers.pyi +5 -0
  211. homeassistant-stubs/components/music_assistant/media_player.pyi +4 -4
  212. homeassistant-stubs/components/nam/config_flow.pyi +3 -9
  213. homeassistant-stubs/components/nextdns/binary_sensor.pyi +6 -12
  214. homeassistant-stubs/components/nextdns/button.pyi +2 -9
  215. homeassistant-stubs/components/nextdns/coordinator.pyi +2 -7
  216. homeassistant-stubs/components/nextdns/entity.pyi +14 -0
  217. homeassistant-stubs/components/nextdns/sensor.pyi +8 -15
  218. homeassistant-stubs/components/nextdns/switch.pyi +3 -6
  219. homeassistant-stubs/components/nfandroidtv/__init__.pyi +0 -1
  220. homeassistant-stubs/components/nfandroidtv/notify.pyi +5 -4
  221. homeassistant-stubs/components/nordpool/services.pyi +2 -1
  222. homeassistant-stubs/components/ntfy/__init__.pyi +1 -3
  223. homeassistant-stubs/components/ntfy/config_flow.pyi +3 -0
  224. homeassistant-stubs/components/ntfy/coordinator.pyi +16 -0
  225. homeassistant-stubs/components/ntfy/notify.pyi +1 -1
  226. homeassistant-stubs/components/ntfy/sensor.pyi +56 -0
  227. homeassistant-stubs/components/ohme/services.pyi +2 -1
  228. homeassistant-stubs/components/onedrive/__init__.pyi +1 -1
  229. homeassistant-stubs/components/onedrive/services.pyi +3 -2
  230. homeassistant-stubs/components/onewire/binary_sensor.pyi +3 -2
  231. homeassistant-stubs/components/onewire/const.pyi +0 -1
  232. homeassistant-stubs/components/onewire/entity.pyi +2 -3
  233. homeassistant-stubs/components/onewire/switch.pyi +3 -2
  234. homeassistant-stubs/components/onkyo/__init__.pyi +1 -1
  235. homeassistant-stubs/components/onkyo/services.pyi +3 -2
  236. homeassistant-stubs/components/openai_conversation/__init__.pyi +4 -2
  237. homeassistant-stubs/components/openai_conversation/config_flow.pyi +19 -14
  238. homeassistant-stubs/components/openai_conversation/const.pyi +2 -0
  239. homeassistant-stubs/components/openai_conversation/conversation.pyi +4 -4
  240. homeassistant-stubs/components/overseerr/__init__.pyi +1 -1
  241. homeassistant-stubs/components/overseerr/services.pyi +6 -4
  242. homeassistant-stubs/components/paperless_ngx/__init__.pyi +1 -1
  243. homeassistant-stubs/components/paperless_ngx/config_flow.pyi +2 -2
  244. homeassistant-stubs/components/paperless_ngx/coordinator.pyi +3 -5
  245. homeassistant-stubs/components/paperless_ngx/entity.pyi +2 -5
  246. homeassistant-stubs/components/paperless_ngx/sensor.pyi +8 -8
  247. homeassistant-stubs/components/paperless_ngx/update.pyi +25 -0
  248. homeassistant-stubs/components/person/__init__.pyi +1 -1
  249. homeassistant-stubs/components/plugwise/climate.pyi +0 -1
  250. homeassistant-stubs/components/pushbullet/sensor.pyi +1 -1
  251. homeassistant-stubs/components/qbus/climate.pyi +3 -2
  252. homeassistant-stubs/components/qbus/cover.pyi +39 -0
  253. homeassistant-stubs/components/qbus/entity.pyi +7 -3
  254. homeassistant-stubs/components/qbus/light.pyi +4 -3
  255. homeassistant-stubs/components/qbus/scene.pyi +2 -2
  256. homeassistant-stubs/components/qbus/switch.pyi +3 -2
  257. homeassistant-stubs/components/recorder/__init__.pyi +1 -1
  258. homeassistant-stubs/components/recorder/services.pyi +7 -12
  259. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  260. homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
  261. homeassistant-stubs/components/reolink/const.pyi +1 -0
  262. homeassistant-stubs/components/reolink/entity.pyi +1 -1
  263. homeassistant-stubs/components/reolink/host.pyi +1 -1
  264. homeassistant-stubs/components/reolink/services.pyi +2 -0
  265. homeassistant-stubs/components/rest/data.pyi +8 -6
  266. homeassistant-stubs/components/russound_rio/__init__.pyi +1 -0
  267. homeassistant-stubs/components/russound_rio/entity.pyi +6 -2
  268. homeassistant-stubs/components/russound_rio/media_player.pyi +1 -5
  269. homeassistant-stubs/components/russound_rio/number.pyi +30 -0
  270. homeassistant-stubs/components/russound_rio/switch.pyi +33 -0
  271. homeassistant-stubs/components/shelly/__init__.pyi +1 -1
  272. homeassistant-stubs/components/shelly/const.pyi +1 -0
  273. homeassistant-stubs/components/shelly/repairs.pyi +14 -3
  274. homeassistant-stubs/components/shopping_list/__init__.pyi +1 -0
  275. homeassistant-stubs/components/shopping_list/intent.pyi +9 -1
  276. homeassistant-stubs/components/squeezebox/button.pyi +0 -2
  277. homeassistant-stubs/components/squeezebox/entity.pyi +2 -0
  278. homeassistant-stubs/components/squeezebox/media_player.pyi +0 -2
  279. homeassistant-stubs/components/stream/__init__.pyi +1 -1
  280. homeassistant-stubs/components/stream/const.pyi +1 -0
  281. homeassistant-stubs/components/stream/core.pyi +2 -1
  282. homeassistant-stubs/components/sun/__init__.pyi +1 -0
  283. homeassistant-stubs/components/sun/binary_sensor.pyi +36 -0
  284. homeassistant-stubs/components/sun/condition.pyi +13 -3
  285. homeassistant-stubs/components/sun/sensor.pyi +2 -0
  286. homeassistant-stubs/components/switch/light.pyi +1 -0
  287. homeassistant-stubs/components/switch_as_x/entity.pyi +1 -0
  288. homeassistant-stubs/components/synology_dsm/__init__.pyi +4 -1
  289. homeassistant-stubs/components/synology_dsm/{service.pyi → services.pyi} +4 -2
  290. homeassistant-stubs/components/tedee/binary_sensor.pyi +4 -0
  291. homeassistant-stubs/components/telegram_bot/__init__.pyi +34 -0
  292. homeassistant-stubs/components/telegram_bot/bot.pyi +63 -0
  293. homeassistant-stubs/components/telegram_bot/broadcast.pyi +5 -0
  294. homeassistant-stubs/components/telegram_bot/config_flow.pyi +53 -0
  295. homeassistant-stubs/components/telegram_bot/const.pyi +93 -0
  296. homeassistant-stubs/components/telegram_bot/polling.pyi +19 -0
  297. homeassistant-stubs/components/telegram_bot/webhooks.pyi +47 -0
  298. homeassistant-stubs/components/tplink/climate.pyi +1 -2
  299. homeassistant-stubs/components/trend/binary_sensor.pyi +1 -1
  300. homeassistant-stubs/components/tts/__init__.pyi +1 -0
  301. homeassistant-stubs/components/tts/entity.pyi +1 -2
  302. homeassistant-stubs/components/unifi/button.pyi +5 -5
  303. homeassistant-stubs/components/unifi/device_tracker.pyi +5 -5
  304. homeassistant-stubs/components/unifi/entity.pyi +5 -8
  305. homeassistant-stubs/components/unifi/hub/hub.pyi +1 -1
  306. homeassistant-stubs/components/unifi/image.pyi +5 -5
  307. homeassistant-stubs/components/unifi/sensor.pyi +5 -5
  308. homeassistant-stubs/components/unifi/switch.pyi +7 -7
  309. homeassistant-stubs/components/unifi/update.pyi +3 -5
  310. homeassistant-stubs/components/unifiprotect/services.pyi +1 -0
  311. homeassistant-stubs/components/vacuum/__init__.pyi +0 -2
  312. homeassistant-stubs/components/wallbox/const.pyi +4 -0
  313. homeassistant-stubs/components/wallbox/coordinator.pyi +6 -6
  314. homeassistant-stubs/components/wallbox/lock.pyi +1 -2
  315. homeassistant-stubs/components/wallbox/number.pyi +1 -2
  316. homeassistant-stubs/components/websocket_api/commands.pyi +6 -3
  317. homeassistant-stubs/components/websocket_api/messages.pyi +1 -0
  318. homeassistant-stubs/components/wiz/__init__.pyi +3 -3
  319. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  320. homeassistant-stubs/components/zwave_js/api.pyi +2 -2
  321. homeassistant-stubs/components/zwave_js/config_flow.pyi +4 -1
  322. homeassistant-stubs/components/zwave_js/device_trigger.pyi +0 -1
  323. homeassistant-stubs/components/zwave_js/services.pyi +2 -0
  324. homeassistant-stubs/components/zwave_js/trigger.pyi +3 -7
  325. homeassistant-stubs/components/zwave_js/triggers/event.pyi +9 -1
  326. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +9 -1
  327. homeassistant-stubs/config_entries.pyi +2 -0
  328. homeassistant-stubs/const.pyi +1 -0
  329. homeassistant-stubs/helpers/condition.pyi +11 -3
  330. homeassistant-stubs/helpers/device_registry.pyi +5 -1
  331. homeassistant-stubs/helpers/entity.pyi +1 -4
  332. homeassistant-stubs/helpers/entity_registry.pyi +11 -1
  333. homeassistant-stubs/helpers/llm.pyi +0 -1
  334. homeassistant-stubs/helpers/selector.pyi +24 -4
  335. homeassistant-stubs/helpers/system_info.pyi +2 -0
  336. homeassistant-stubs/helpers/template.pyi +2 -1
  337. homeassistant-stubs/helpers/trigger.pyi +33 -2
  338. homeassistant-stubs/loader.pyi +3 -1
  339. homeassistant-stubs/util/timeout.pyi +6 -3
  340. homeassistant-stubs/util/yaml/loader.pyi +3 -1
  341. {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0.dist-info}/METADATA +2 -2
  342. {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0.dist-info}/RECORD +344 -307
  343. homeassistant-stubs/backports/enum.pyi +0 -7
  344. homeassistant-stubs/backports/functools.pyi +0 -7
  345. homeassistant-stubs/components/devolo_home_control/devolo_multi_level_switch.pyi +0 -10
  346. {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0.dist-info}/WHEEL +0 -0
  347. {homeassistant_stubs-2025.6.2.dist-info → homeassistant_stubs-2025.7.0.dist-info}/licenses/LICENSE +0 -0
@@ -19,6 +19,7 @@ REQUEST_REFRESH_DELAY: float
19
19
  LIFX_IDENTIFY_DELAY: float
20
20
  ZONES_PER_COLOR_UPDATE_REQUEST: int
21
21
  RSSI_DBM_FW: Incomplete
22
+ type LIFXConfigEntry = ConfigEntry[LIFXUpdateCoordinator]
22
23
 
23
24
  class FirmwareEffect(IntEnum):
24
25
  OFF = 0
@@ -33,7 +34,7 @@ class SkyType(IntEnum):
33
34
  CLOUDS = 2
34
35
 
35
36
  class LIFXUpdateCoordinator(DataUpdateCoordinator[None]):
36
- config_entry: ConfigEntry
37
+ config_entry: LIFXConfigEntry
37
38
  connection: Incomplete
38
39
  device: Light
39
40
  lock: Incomplete
@@ -41,7 +42,7 @@ class LIFXUpdateCoordinator(DataUpdateCoordinator[None]):
41
42
  _update_rssi: bool
42
43
  _rssi: int
43
44
  last_used_theme: str
44
- def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, connection: LIFXConnection) -> None: ...
45
+ def __init__(self, hass: HomeAssistant, config_entry: LIFXConfigEntry, connection: LIFXConnection) -> None: ...
45
46
  @callback
46
47
  def async_setup(self) -> None: ...
47
48
  @property
@@ -1,12 +1,11 @@
1
- from .const import CONF_LABEL as CONF_LABEL, DOMAIN as DOMAIN
2
- from .coordinator import LIFXUpdateCoordinator as LIFXUpdateCoordinator
1
+ from .const import CONF_LABEL as CONF_LABEL
2
+ from .coordinator import LIFXConfigEntry as LIFXConfigEntry
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_MAC as CONF_MAC
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
7
  from typing import Any
9
8
 
10
9
  TO_REDACT: Incomplete
11
10
 
12
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
11
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: LIFXConfigEntry) -> dict[str, Any]: ...
@@ -1,12 +1,11 @@
1
1
  import aiolifx_effects as aiolifx_effects_module
2
2
  from .const import ATTR_DURATION as ATTR_DURATION, ATTR_INFRARED as ATTR_INFRARED, ATTR_POWER as ATTR_POWER, ATTR_ZONES as ATTR_ZONES, DATA_LIFX_MANAGER as DATA_LIFX_MANAGER, DOMAIN as DOMAIN, INFRARED_BRIGHTNESS as INFRARED_BRIGHTNESS, LIFX_CEILING_PRODUCT_IDS as LIFX_CEILING_PRODUCT_IDS, _LOGGER as _LOGGER
3
- from .coordinator import FirmwareEffect as FirmwareEffect, LIFXUpdateCoordinator as LIFXUpdateCoordinator
3
+ from .coordinator import FirmwareEffect as FirmwareEffect, LIFXConfigEntry as LIFXConfigEntry, LIFXUpdateCoordinator as LIFXUpdateCoordinator
4
4
  from .entity import LIFXEntity as LIFXEntity
5
5
  from .manager import LIFXManager as LIFXManager, SERVICE_EFFECT_COLORLOOP as SERVICE_EFFECT_COLORLOOP, SERVICE_EFFECT_FLAME as SERVICE_EFFECT_FLAME, SERVICE_EFFECT_MORPH as SERVICE_EFFECT_MORPH, SERVICE_EFFECT_MOVE as SERVICE_EFFECT_MOVE, SERVICE_EFFECT_PULSE as SERVICE_EFFECT_PULSE, SERVICE_EFFECT_SKY as SERVICE_EFFECT_SKY, SERVICE_EFFECT_STOP as SERVICE_EFFECT_STOP
6
6
  from .util import convert_16_to_8 as convert_16_to_8, convert_8_to_16 as convert_8_to_16, find_hsbk as find_hsbk, lifx_features as lifx_features, merge_hsbk as merge_hsbk
7
7
  from _typeshed import Incomplete
8
8
  from homeassistant.components.light import ATTR_EFFECT as ATTR_EFFECT, ATTR_TRANSITION as ATTR_TRANSITION, ColorMode as ColorMode, LIGHT_TURN_ON_SCHEMA as LIGHT_TURN_ON_SCHEMA, LightEntity as LightEntity, LightEntityFeature as LightEntityFeature
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
9
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, Platform as Platform
11
10
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
12
11
  from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
@@ -26,7 +25,7 @@ HSBK_SATURATION: int
26
25
  HSBK_BRIGHTNESS: int
27
26
  HSBK_KELVIN: int
28
27
 
29
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
28
+ async def async_setup_entry(hass: HomeAssistant, entry: LIFXConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
30
29
 
31
30
  class LIFXLight(LIFXEntity, LightEntity):
32
31
  _attr_supported_features: Incomplete
@@ -42,7 +41,7 @@ class LIFXLight(LIFXEntity, LightEntity):
42
41
  _attr_color_mode: Incomplete
43
42
  _attr_supported_color_modes: Incomplete
44
43
  _attr_effect: Incomplete
45
- def __init__(self, coordinator: LIFXUpdateCoordinator, manager: LIFXManager, entry: ConfigEntry) -> None: ...
44
+ def __init__(self, coordinator: LIFXUpdateCoordinator, manager: LIFXManager, entry: LIFXConfigEntry) -> None: ...
46
45
  @property
47
46
  def brightness(self) -> int: ...
48
47
  @property
@@ -1,5 +1,5 @@
1
- from .const import ATTR_THEME as ATTR_THEME, DATA_LIFX_MANAGER as DATA_LIFX_MANAGER, DOMAIN as DOMAIN, _ATTR_COLOR_TEMP as _ATTR_COLOR_TEMP
2
- from .coordinator import LIFXUpdateCoordinator as LIFXUpdateCoordinator
1
+ from .const import ATTR_THEME as ATTR_THEME, DOMAIN as DOMAIN, _ATTR_COLOR_TEMP as _ATTR_COLOR_TEMP
2
+ from .coordinator import LIFXConfigEntry as LIFXConfigEntry, LIFXUpdateCoordinator as LIFXUpdateCoordinator
3
3
  from .util import convert_8_to_16 as convert_8_to_16, find_hsbk as find_hsbk
4
4
  from _typeshed import Incomplete
5
5
  from aiolifx.aiolifx import Light as Light
@@ -1,9 +1,9 @@
1
1
  from .const import DOMAIN as DOMAIN, _LOGGER as _LOGGER
2
+ from .coordinator import LIFXConfigEntry as LIFXConfigEntry
2
3
  from .discovery import async_init_discovery_flow as async_init_discovery_flow
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
5
 
6
6
  @callback
7
- def async_migrate_legacy_entries(hass: HomeAssistant, discovered_hosts_by_serial: dict[str, str], existing_serials: set[str], legacy_entry: ConfigEntry) -> int: ...
7
+ def async_migrate_legacy_entries(hass: HomeAssistant, discovered_hosts_by_serial: dict[str, str], existing_serials: set[str], legacy_entry: LIFXConfigEntry) -> int: ...
8
8
  @callback
9
- def async_migrate_entities_devices(hass: HomeAssistant, legacy_entry_id: str, new_entry: ConfigEntry) -> None: ...
9
+ def async_migrate_entities_devices(hass: HomeAssistant, legacy_entry_id: str, new_entry: LIFXConfigEntry) -> None: ...
@@ -1,10 +1,9 @@
1
- from .const import ATTR_THEME as ATTR_THEME, DOMAIN as DOMAIN, INFRARED_BRIGHTNESS as INFRARED_BRIGHTNESS, INFRARED_BRIGHTNESS_VALUES_MAP as INFRARED_BRIGHTNESS_VALUES_MAP
2
- from .coordinator import LIFXUpdateCoordinator as LIFXUpdateCoordinator
1
+ from .const import ATTR_THEME as ATTR_THEME, INFRARED_BRIGHTNESS as INFRARED_BRIGHTNESS, INFRARED_BRIGHTNESS_VALUES_MAP as INFRARED_BRIGHTNESS_VALUES_MAP
2
+ from .coordinator import LIFXConfigEntry as LIFXConfigEntry, LIFXUpdateCoordinator as LIFXUpdateCoordinator
3
3
  from .entity import LIFXEntity as LIFXEntity
4
4
  from .util import lifx_features as lifx_features
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
7
  from homeassistant.const import EntityCategory as EntityCategory
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -13,7 +12,7 @@ THEME_NAMES: Incomplete
13
12
  INFRARED_BRIGHTNESS_ENTITY: Incomplete
14
13
  THEME_ENTITY: Incomplete
15
14
 
16
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
+ async def async_setup_entry(hass: HomeAssistant, entry: LIFXConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
16
 
18
17
  class LIFXInfraredBrightnessSelectEntity(LIFXEntity, SelectEntity):
19
18
  entity_description: Incomplete
@@ -1,9 +1,8 @@
1
- from .const import ATTR_RSSI as ATTR_RSSI, DOMAIN as DOMAIN
2
- from .coordinator import LIFXUpdateCoordinator as LIFXUpdateCoordinator
1
+ from .const import ATTR_RSSI as ATTR_RSSI
2
+ from .coordinator import LIFXConfigEntry as LIFXConfigEntry, LIFXUpdateCoordinator as LIFXUpdateCoordinator
3
3
  from .entity import LIFXEntity as LIFXEntity
4
4
  from _typeshed import Incomplete
5
5
  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
6
  from homeassistant.const import EntityCategory as EntityCategory
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -11,7 +10,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
11
10
  SCAN_INTERVAL: Incomplete
12
11
  RSSI_SENSOR: Incomplete
13
12
 
14
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
+ async def async_setup_entry(hass: HomeAssistant, entry: LIFXConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
14
 
16
15
  class LIFXRssiSensor(LIFXEntity, SensorEntity):
17
16
  entity_description: Incomplete
@@ -1,19 +1,19 @@
1
1
  from .const import DEFAULT_ATTEMPTS as DEFAULT_ATTEMPTS, DOMAIN as DOMAIN, INFRARED_BRIGHTNESS_VALUES_MAP as INFRARED_BRIGHTNESS_VALUES_MAP, OVERALL_TIMEOUT as OVERALL_TIMEOUT, _ATTR_COLOR_TEMP as _ATTR_COLOR_TEMP, _LOGGER as _LOGGER
2
+ from .coordinator import LIFXConfigEntry as LIFXConfigEntry
2
3
  from _typeshed import Incomplete
3
4
  from aiolifx.aiolifx import Light as Light
4
5
  from aiolifx.message import Message as Message
5
6
  from collections.abc import Callable as Callable
6
7
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_BRIGHTNESS_PCT as ATTR_BRIGHTNESS_PCT, ATTR_COLOR_NAME as ATTR_COLOR_NAME, ATTR_COLOR_TEMP_KELVIN as ATTR_COLOR_TEMP_KELVIN, ATTR_HS_COLOR as ATTR_HS_COLOR, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ATTR_XY_COLOR as ATTR_XY_COLOR
7
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
9
  from typing import Any
10
10
 
11
11
  FIX_MAC_FW: Incomplete
12
12
 
13
13
  @callback
14
- def async_entry_is_legacy(entry: ConfigEntry) -> bool: ...
14
+ def async_entry_is_legacy(entry: LIFXConfigEntry) -> bool: ...
15
15
  @callback
16
- def async_get_legacy_entry(hass: HomeAssistant) -> ConfigEntry | None: ...
16
+ def async_get_legacy_entry(hass: HomeAssistant) -> LIFXConfigEntry | None: ...
17
17
  def infrared_brightness_value_to_option(value: int) -> str | None: ...
18
18
  def infrared_brightness_option_to_value(option: str) -> int | None: ...
19
19
  def convert_8_to_16(value: int) -> int: ...
@@ -1,11 +1,10 @@
1
1
  from .const import DOMAIN as DOMAIN
2
- from .coordinator import LinearUpdateCoordinator as LinearUpdateCoordinator
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
2
+ from .coordinator import LinearConfigEntry as LinearConfigEntry, LinearUpdateCoordinator as LinearUpdateCoordinator
4
3
  from homeassistant.const import Platform as Platform
5
4
  from homeassistant.core import HomeAssistant as HomeAssistant
6
5
 
7
6
  PLATFORMS: list[Platform]
8
7
 
9
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
10
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
11
- async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None: ...
8
+ async def async_setup_entry(hass: HomeAssistant, entry: LinearConfigEntry) -> bool: ...
9
+ async def async_unload_entry(hass: HomeAssistant, entry: LinearConfigEntry) -> bool: ...
10
+ async def async_remove_entry(hass: HomeAssistant, entry: LinearConfigEntry) -> None: ...
@@ -10,6 +10,7 @@ from linear_garage_door import Linear
10
10
  from typing import Any
11
11
 
12
12
  _LOGGER: Incomplete
13
+ type LinearConfigEntry = ConfigEntry[LinearUpdateCoordinator]
13
14
 
14
15
  @dataclass
15
16
  class LinearDevice:
@@ -18,8 +19,8 @@ class LinearDevice:
18
19
 
19
20
  class LinearUpdateCoordinator(DataUpdateCoordinator[dict[str, LinearDevice]]):
20
21
  _devices: list[dict[str, Any]] | None
21
- config_entry: ConfigEntry
22
+ config_entry: LinearConfigEntry
22
23
  site_id: Incomplete
23
- def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
24
+ def __init__(self, hass: HomeAssistant, config_entry: LinearConfigEntry) -> None: ...
24
25
  async def _async_update_data(self) -> dict[str, LinearDevice]: ...
25
26
  async def execute[_T](self, func: Callable[[Linear], Awaitable[_T]]) -> _T: ...
@@ -1,9 +1,7 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import LinearUpdateCoordinator as LinearUpdateCoordinator
1
+ from .coordinator import LinearConfigEntry as LinearConfigEntry
3
2
  from .entity import LinearEntity as LinearEntity
4
3
  from _typeshed import Incomplete
5
4
  from homeassistant.components.cover import CoverDeviceClass as CoverDeviceClass, CoverEntity as CoverEntity, CoverEntityFeature as CoverEntityFeature
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
5
  from homeassistant.core import HomeAssistant as HomeAssistant
8
6
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
7
  from typing import Any
@@ -12,7 +10,7 @@ SUPPORTED_SUBDEVICES: Incomplete
12
10
  PARALLEL_UPDATES: int
13
11
  SCAN_INTERVAL: Incomplete
14
12
 
15
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
+ async def async_setup_entry(hass: HomeAssistant, config_entry: LinearConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
14
 
17
15
  class LinearCoverEntity(LinearEntity, CoverEntity):
18
16
  _attr_supported_features: Incomplete
@@ -1,12 +1,10 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import LinearUpdateCoordinator as LinearUpdateCoordinator
1
+ from .coordinator import LinearConfigEntry as LinearConfigEntry
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_EMAIL as CONF_EMAIL, CONF_PASSWORD as CONF_PASSWORD
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: LinearConfigEntry) -> dict[str, Any]: ...
@@ -1,9 +1,7 @@
1
- from .const import DOMAIN as DOMAIN
2
- from .coordinator import LinearUpdateCoordinator as LinearUpdateCoordinator
1
+ from .coordinator import LinearConfigEntry as LinearConfigEntry
3
2
  from .entity import LinearEntity as LinearEntity
4
3
  from _typeshed import Incomplete
5
4
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ColorMode as ColorMode, LightEntity as LightEntity
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
5
  from homeassistant.core import HomeAssistant as HomeAssistant
8
6
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
7
  from linear_garage_door import Linear as Linear
@@ -11,7 +9,7 @@ from typing import Any
11
9
 
12
10
  SUPPORTED_SUBDEVICES: Incomplete
13
11
 
14
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
+ async def async_setup_entry(hass: HomeAssistant, config_entry: LinearConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
13
 
16
14
  class LinearLightEntity(LinearEntity, LightEntity):
17
15
  _attr_color_mode: Incomplete
@@ -1,11 +1,10 @@
1
1
  from .const import DOMAIN as DOMAIN, METEO_UPDATE_INTERVAL as METEO_UPDATE_INTERVAL, PLATFORMS as PLATFORMS, REMOTE_UPDATE_INTERVAL as REMOTE_UPDATE_INTERVAL, TYPE_TO_PLATFORM as TYPE_TO_PLATFORM
2
2
  from .coordinator import LookinDataUpdateCoordinator as LookinDataUpdateCoordinator, LookinPushCoordinator as LookinPushCoordinator
3
- from .models import LookinData as LookinData
3
+ from .models import LookinConfigEntry as LookinConfigEntry, LookinData as LookinData
4
4
  from _typeshed import Incomplete
5
5
  from aiolookin import Climate as Climate, LookInHttpProtocol, LookinUDPSubscriptions, Remote as Remote
6
6
  from aiolookin.models import UDPEvent as UDPEvent
7
7
  from collections.abc import Callable as Callable, Coroutine
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
8
  from homeassistant.const import CONF_HOST as CONF_HOST, Platform as Platform
10
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
11
10
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
@@ -27,6 +26,6 @@ class LookinUDPManager:
27
26
  async def async_get_subscriptions(self) -> LookinUDPSubscriptions: ...
28
27
  async def async_stop(self) -> None: ...
29
28
 
30
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
31
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
32
- async def async_remove_config_entry_device(hass: HomeAssistant, entry: ConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
29
+ async def async_setup_entry(hass: HomeAssistant, entry: LookinConfigEntry) -> bool: ...
30
+ async def async_unload_entry(hass: HomeAssistant, entry: LookinConfigEntry) -> bool: ...
31
+ async def async_remove_config_entry_device(hass: HomeAssistant, entry: LookinConfigEntry, device_entry: dr.DeviceEntry) -> bool: ...
@@ -1,12 +1,11 @@
1
- from .const import DOMAIN as DOMAIN, TYPE_TO_PLATFORM as TYPE_TO_PLATFORM
1
+ from .const import TYPE_TO_PLATFORM as TYPE_TO_PLATFORM
2
2
  from .coordinator import LookinDataUpdateCoordinator as LookinDataUpdateCoordinator
3
3
  from .entity import LookinCoordinatorEntity as LookinCoordinatorEntity
4
- from .models import LookinData as LookinData
4
+ from .models import LookinConfigEntry as LookinConfigEntry, LookinData as LookinData
5
5
  from _typeshed import Incomplete
6
6
  from aiolookin import Climate, MeteoSensor as MeteoSensor, Remote as Remote
7
7
  from aiolookin.models import UDPEvent as UDPEvent
8
8
  from homeassistant.components.climate import ATTR_HVAC_MODE as ATTR_HVAC_MODE, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MIDDLE as FAN_MIDDLE, HVACMode as HVACMode, SWING_BOTH as SWING_BOTH, SWING_OFF as SWING_OFF
9
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
9
  from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_WHOLE as PRECISION_WHOLE, Platform as Platform, UnitOfTemperature as UnitOfTemperature
11
10
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
11
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -22,7 +21,7 @@ MIN_TEMP: Final[int]
22
21
  MAX_TEMP: Final[int]
23
22
  LOGGER: Incomplete
24
23
 
25
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
24
+ async def async_setup_entry(hass: HomeAssistant, config_entry: LookinConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
26
25
 
27
26
  class ConditionerEntity(LookinCoordinatorEntity, ClimateEntity):
28
27
  _attr_current_humidity: float | None
@@ -1,8 +1,8 @@
1
1
  from .const import NEVER_TIME as NEVER_TIME, POLLING_FALLBACK_SECONDS as POLLING_FALLBACK_SECONDS
2
+ from .models import LookinConfigEntry as LookinConfigEntry
2
3
  from _typeshed import Incomplete
3
4
  from collections.abc import Awaitable, Callable as Callable
4
5
  from datetime import timedelta
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
7
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
8
8
 
@@ -16,9 +16,9 @@ class LookinPushCoordinator:
16
16
  def active(self, interval: timedelta) -> bool: ...
17
17
 
18
18
  class LookinDataUpdateCoordinator[_DataT](DataUpdateCoordinator[_DataT]):
19
- config_entry: ConfigEntry
19
+ config_entry: LookinConfigEntry
20
20
  push_coordinator: Incomplete
21
- def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry, push_coordinator: LookinPushCoordinator, name: str, update_interval: timedelta | None = None, update_method: Callable[[], Awaitable[_DataT]] | None = None) -> None: ...
21
+ def __init__(self, hass: HomeAssistant, config_entry: LookinConfigEntry, push_coordinator: LookinPushCoordinator, name: str, update_interval: timedelta | None = None, update_method: Callable[[], Awaitable[_DataT]] | None = None) -> None: ...
22
22
  @callback
23
23
  def async_set_updated_data(self, data: _DataT) -> None: ...
24
24
  async def _async_update_data(self) -> _DataT: ...
@@ -1,9 +1,8 @@
1
- from .const import DOMAIN as DOMAIN, TYPE_TO_PLATFORM as TYPE_TO_PLATFORM
1
+ from .const import TYPE_TO_PLATFORM as TYPE_TO_PLATFORM
2
2
  from .entity import LookinPowerPushRemoteEntity as LookinPowerPushRemoteEntity
3
- from .models import LookinData as LookinData
3
+ from .models import LookinConfigEntry as LookinConfigEntry
4
4
  from _typeshed import Incomplete
5
5
  from homeassistant.components.light import ColorMode as ColorMode, LightEntity as LightEntity
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import Platform as Platform
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -11,7 +10,7 @@ from typing import Any
11
10
 
12
11
  LOGGER: Incomplete
13
12
 
14
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
+ async def async_setup_entry(hass: HomeAssistant, config_entry: LookinConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
14
 
16
15
  class LookinLightEntity(LookinPowerPushRemoteEntity, LightEntity):
17
16
  _attr_supported_color_modes: Incomplete
@@ -1,11 +1,10 @@
1
- from .const import DOMAIN as DOMAIN, TYPE_TO_PLATFORM as TYPE_TO_PLATFORM
1
+ from .const import TYPE_TO_PLATFORM as TYPE_TO_PLATFORM
2
2
  from .coordinator import LookinDataUpdateCoordinator as LookinDataUpdateCoordinator
3
3
  from .entity import LookinPowerPushRemoteEntity as LookinPowerPushRemoteEntity
4
- from .models import LookinData as LookinData
4
+ from .models import LookinConfigEntry as LookinConfigEntry, LookinData as LookinData
5
5
  from _typeshed import Incomplete
6
6
  from aiolookin import Remote as Remote
7
7
  from homeassistant.components.media_player import MediaPlayerDeviceClass as MediaPlayerDeviceClass, MediaPlayerEntity as MediaPlayerEntity, MediaPlayerEntityFeature as MediaPlayerEntityFeature, MediaPlayerState as MediaPlayerState
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
8
  from homeassistant.const import Platform as Platform
10
9
  from homeassistant.core import HomeAssistant as HomeAssistant
11
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -14,7 +13,7 @@ LOGGER: Incomplete
14
13
  _TYPE_TO_DEVICE_CLASS: Incomplete
15
14
  _FUNCTION_NAME_TO_FEATURE: Incomplete
16
15
 
17
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
+ async def async_setup_entry(hass: HomeAssistant, config_entry: LookinConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
18
17
 
19
18
  class LookinMedia(LookinPowerPushRemoteEntity, MediaPlayerEntity):
20
19
  _attr_should_poll: bool
@@ -1,8 +1,10 @@
1
1
  from .coordinator import LookinDataUpdateCoordinator as LookinDataUpdateCoordinator
2
2
  from aiolookin import Device as Device, LookInHttpProtocol as LookInHttpProtocol, LookinUDPSubscriptions as LookinUDPSubscriptions, MeteoSensor as MeteoSensor, Remote as Remote
3
3
  from dataclasses import dataclass
4
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
5
  from typing import Any
5
6
 
7
+ type LookinConfigEntry = ConfigEntry[LookinData]
6
8
  @dataclass
7
9
  class LookinData:
8
10
  host: str
@@ -1,9 +1,7 @@
1
- from .const import DOMAIN as DOMAIN
2
1
  from .entity import LookinDeviceCoordinatorEntity as LookinDeviceCoordinatorEntity
3
- from .models import LookinData as LookinData
2
+ from .models import LookinConfigEntry as LookinConfigEntry, LookinData as LookinData
4
3
  from _typeshed import Incomplete
5
4
  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
5
  from homeassistant.const import PERCENTAGE as PERCENTAGE, UnitOfTemperature as UnitOfTemperature
8
6
  from homeassistant.core import HomeAssistant as HomeAssistant
9
7
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -11,7 +9,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
11
9
  LOGGER: Incomplete
12
10
  SENSOR_TYPES: tuple[SensorEntityDescription, ...]
13
11
 
14
- async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
+ async def async_setup_entry(hass: HomeAssistant, config_entry: LookinConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
15
13
 
16
14
  class LookinSensorEntity(LookinDeviceCoordinatorEntity, SensorEntity):
17
15
  entity_description: Incomplete
@@ -1,12 +1,10 @@
1
- from .const import CONF_SENSOR_ID as CONF_SENSOR_ID, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN
1
+ from .const import CONF_SENSOR_ID as CONF_SENSOR_ID
2
+ from .coordinator import LuftdatenConfigEntry as LuftdatenConfigEntry, LuftdatenDataUpdateCoordinator as LuftdatenDataUpdateCoordinator
2
3
  from _typeshed import Incomplete
3
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
4
  from homeassistant.const import Platform as Platform
5
5
  from homeassistant.core import HomeAssistant as HomeAssistant
6
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
7
6
 
8
- _LOGGER: Incomplete
9
7
  PLATFORMS: Incomplete
10
8
 
11
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
12
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
9
+ async def async_setup_entry(hass: HomeAssistant, entry: LuftdatenConfigEntry) -> bool: ...
10
+ async def async_unload_entry(hass: HomeAssistant, entry: LuftdatenConfigEntry) -> bool: ...
@@ -0,0 +1,15 @@
1
+ from .const import DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
4
+ from homeassistant.core import HomeAssistant as HomeAssistant
5
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
6
+ from luftdaten import Luftdaten as Luftdaten
7
+
8
+ _LOGGER: Incomplete
9
+ type LuftdatenConfigEntry = ConfigEntry[LuftdatenDataUpdateCoordinator]
10
+
11
+ class LuftdatenDataUpdateCoordinator(DataUpdateCoordinator[dict[str, float | int]]):
12
+ config_entry: LuftdatenConfigEntry
13
+ _sensor_community: Incomplete
14
+ def __init__(self, hass: HomeAssistant, config_entry: LuftdatenConfigEntry, sensor_community: Luftdaten) -> None: ...
15
+ async def _async_update_data(self) -> dict[str, float | int]: ...
@@ -1,12 +1,11 @@
1
- from .const import CONF_SENSOR_ID as CONF_SENSOR_ID, DOMAIN as DOMAIN
1
+ from .const import CONF_SENSOR_ID as CONF_SENSOR_ID
2
+ from .coordinator import LuftdatenConfigEntry as LuftdatenConfigEntry
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.components.diagnostics import async_redact_data as async_redact_data
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
- from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
8
7
  from typing import Any
9
8
 
10
9
  TO_REDACT: Incomplete
11
10
 
12
- async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: ConfigEntry) -> dict[str, Any]: ...
11
+ async def async_get_config_entry_diagnostics(hass: HomeAssistant, entry: LuftdatenConfigEntry) -> dict[str, Any]: ...
@@ -1,16 +1,16 @@
1
1
  from .const import ATTR_SENSOR_ID as ATTR_SENSOR_ID, CONF_SENSOR_ID as CONF_SENSOR_ID, DOMAIN as DOMAIN
2
+ from .coordinator import LuftdatenConfigEntry as LuftdatenConfigEntry, LuftdatenDataUpdateCoordinator as LuftdatenDataUpdateCoordinator
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
4
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
5
5
  from homeassistant.const import ATTR_LATITUDE as ATTR_LATITUDE, ATTR_LONGITUDE as ATTR_LONGITUDE, CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONF_SHOW_ON_MAP as CONF_SHOW_ON_MAP, PERCENTAGE as PERCENTAGE, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
7
  from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
9
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
9
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
10
10
 
11
11
  SENSORS: tuple[SensorEntityDescription, ...]
12
12
 
13
- async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
13
+ async def async_setup_entry(hass: HomeAssistant, entry: LuftdatenConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
14
14
 
15
15
  class SensorCommunitySensor(CoordinatorEntity, SensorEntity):
16
16
  _attr_attribution: str
@@ -20,6 +20,6 @@ class SensorCommunitySensor(CoordinatorEntity, SensorEntity):
20
20
  _attr_unique_id: Incomplete
21
21
  _attr_extra_state_attributes: Incomplete
22
22
  _attr_device_info: Incomplete
23
- def __init__(self, *, coordinator: DataUpdateCoordinator, description: SensorEntityDescription, sensor_id: int, show_on_map: bool) -> None: ...
23
+ def __init__(self, *, coordinator: LuftdatenDataUpdateCoordinator, description: SensorEntityDescription, sensor_id: int, show_on_map: bool) -> None: ...
24
24
  @property
25
25
  def native_value(self) -> float | None: ...
@@ -1,4 +1,5 @@
1
- from .const import DOMAIN as DOMAIN, FORMAT_HTML as FORMAT_HTML, FORMAT_TEXT as FORMAT_TEXT, SERVICE_SEND_MESSAGE as SERVICE_SEND_MESSAGE
1
+ from .const import ATTR_FORMAT as ATTR_FORMAT, ATTR_IMAGES as ATTR_IMAGES, CONF_ROOMS_REGEX as CONF_ROOMS_REGEX, DOMAIN as DOMAIN, FORMAT_HTML as FORMAT_HTML
2
+ from .services import register_services as register_services
2
3
  from _typeshed import Incomplete
3
4
  from collections.abc import Sequence
4
5
  from homeassistant.components.notify import ATTR_DATA as ATTR_DATA, ATTR_MESSAGE as ATTR_MESSAGE, ATTR_TARGET as ATTR_TARGET
@@ -20,13 +21,8 @@ CONF_COMMANDS: Final[str]
20
21
  CONF_WORD: Final[str]
21
22
  CONF_EXPRESSION: Final[str]
22
23
  CONF_USERNAME_REGEX: str
23
- CONF_ROOMS_REGEX: str
24
24
  EVENT_MATRIX_COMMAND: str
25
25
  DEFAULT_CONTENT_TYPE: str
26
- MESSAGE_FORMATS: Incomplete
27
- DEFAULT_MESSAGE_FORMAT = FORMAT_TEXT
28
- ATTR_FORMAT: str
29
- ATTR_IMAGES: str
30
26
  WordCommand: Incomplete
31
27
  ExpressionCommand: Incomplete
32
28
  RoomAlias: Incomplete
@@ -41,7 +37,6 @@ class ConfigCommand(TypedDict, total=False):
41
37
 
42
38
  COMMAND_SCHEMA: Incomplete
43
39
  CONFIG_SCHEMA: Incomplete
44
- SERVICE_SCHEMA_SEND_MESSAGE: Incomplete
45
40
 
46
41
  async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
47
42
 
@@ -2,3 +2,6 @@ DOMAIN: str
2
2
  SERVICE_SEND_MESSAGE: str
3
3
  FORMAT_HTML: str
4
4
  FORMAT_TEXT: str
5
+ ATTR_FORMAT: str
6
+ ATTR_IMAGES: str
7
+ CONF_ROOMS_REGEX: str
@@ -0,0 +1,12 @@
1
+ from . import MatrixBot as MatrixBot
2
+ from .const import ATTR_FORMAT as ATTR_FORMAT, ATTR_IMAGES as ATTR_IMAGES, CONF_ROOMS_REGEX as CONF_ROOMS_REGEX, DOMAIN as DOMAIN, FORMAT_HTML as FORMAT_HTML, FORMAT_TEXT as FORMAT_TEXT, SERVICE_SEND_MESSAGE as SERVICE_SEND_MESSAGE
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.notify import ATTR_DATA as ATTR_DATA, ATTR_MESSAGE as ATTR_MESSAGE, ATTR_TARGET as ATTR_TARGET
5
+ from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall
6
+
7
+ MESSAGE_FORMATS: Incomplete
8
+ DEFAULT_MESSAGE_FORMAT = FORMAT_TEXT
9
+ SERVICE_SCHEMA_SEND_MESSAGE: Incomplete
10
+
11
+ async def _handle_send_message(call: ServiceCall) -> None: ...
12
+ def register_services(hass: HomeAssistant) -> None: ...
@@ -4,10 +4,10 @@ from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
5
5
  from chip.clusters.ClusterObjects import ClusterAttributeDescriptor as ClusterAttributeDescriptor
6
6
  from chip.clusters.Types import Nullable as Nullable
7
- from dataclasses import dataclass
7
+ from dataclasses import dataclass, field
8
8
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
9
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
- from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, Platform as Platform, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
10
+ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, Platform as Platform, REVOLUTIONS_PER_MINUTE as REVOLUTIONS_PER_MINUTE, UnitOfElectricCurrent as UnitOfElectricCurrent, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfEnergy as UnitOfEnergy, UnitOfPower as UnitOfPower, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime, UnitOfVolume as UnitOfVolume, UnitOfVolumeFlowRate as UnitOfVolumeFlowRate
11
11
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
12
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
13
13
  from homeassistant.util import slugify as slugify
@@ -15,7 +15,10 @@ from homeassistant.util import slugify as slugify
15
15
  AIR_QUALITY_MAP: Incomplete
16
16
  CONTAMINATION_STATE_MAP: Incomplete
17
17
  OPERATIONAL_STATE_MAP: Incomplete
18
+ RVC_OPERATIONAL_STATE_MAP: Incomplete
18
19
  BOOST_STATE_MAP: Incomplete
20
+ CHARGE_STATE_MAP: Incomplete
21
+ DEM_OPT_OUT_STATE_MAP: Incomplete
19
22
  ESA_STATE_MAP: Incomplete
20
23
  EVSE_FAULT_STATE_MAP: Incomplete
21
24
  PUMP_CONTROL_MODE_MAP: Incomplete
@@ -32,6 +35,8 @@ class MatterListSensorEntityDescription(MatterSensorEntityDescription):
32
35
  @dataclass(frozen=True, kw_only=True)
33
36
  class MatterOperationalStateSensorEntityDescription(MatterSensorEntityDescription):
34
37
  state_list_attribute: type[ClusterAttributeDescriptor] = ...
38
+ state_attribute: type[ClusterAttributeDescriptor] = ...
39
+ state_map: dict[int, str] = field(default_factory=Incomplete)
35
40
 
36
41
  class MatterSensor(MatterEntity, SensorEntity):
37
42
  entity_description: MatterSensorEntityDescription
@@ -12,10 +12,10 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
12
12
  from typing import Any
13
13
 
14
14
  class OperationalState(IntEnum):
15
- NO_ERROR = 0
16
- UNABLE_TO_START_OR_RESUME = 1
17
- UNABLE_TO_COMPLETE_OPERATION = 2
18
- COMMAND_INVALID_IN_STATE = 3
15
+ STOPPED = 0
16
+ RUNNING = 1
17
+ PAUSED = 2
18
+ ERROR = 3
19
19
  SEEKING_CHARGER = 64
20
20
  CHARGING = 65
21
21
  DOCKED = 66
@@ -29,7 +29,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, asyn
29
29
 
30
30
  class MatterVacuum(MatterEntity, StateVacuumEntity):
31
31
  _last_accepted_commands: list[int] | None
32
- _supported_run_modes: dict[int, clusters.RvcCleanMode.Structs.ModeOptionStruct] | None
32
+ _supported_run_modes: dict[int, clusters.RvcRunMode.Structs.ModeOptionStruct] | None
33
33
  entity_description: StateVacuumEntityDescription
34
34
  _platform_translation_key: str
35
35
  async def async_stop(self, **kwargs: Any) -> None: ...
@@ -1,6 +1,6 @@
1
1
  from .const import DOMAIN as DOMAIN, LOGGER as LOGGER, MIN_REQUIRED_MEALIE_VERSION as MIN_REQUIRED_MEALIE_VERSION
2
2
  from .coordinator import MealieConfigEntry as MealieConfigEntry, MealieData as MealieData, MealieMealplanCoordinator as MealieMealplanCoordinator, MealieShoppingListCoordinator as MealieShoppingListCoordinator, MealieStatisticsCoordinator as MealieStatisticsCoordinator
3
- from .services import setup_services as setup_services
3
+ from .services import async_setup_services as async_setup_services
4
4
  from .utils import create_version as create_version
5
5
  from _typeshed import Incomplete
6
6
  from homeassistant.const import CONF_API_TOKEN as CONF_API_TOKEN, CONF_HOST as CONF_HOST, CONF_VERIFY_SSL as CONF_VERIFY_SSL, Platform as Platform