homeassistant-stubs 2025.9.0b0__py3-none-any.whl → 2026.1.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 (1082) hide show
  1. homeassistant-stubs/auth/mfa_modules/totp.pyi +2 -0
  2. homeassistant-stubs/auth/permissions/events.pyi +1 -1
  3. homeassistant-stubs/components/acaia/coordinator.pyi +3 -0
  4. homeassistant-stubs/components/accuweather/__init__.pyi +3 -3
  5. homeassistant-stubs/components/accuweather/config_flow.pyi +5 -0
  6. homeassistant-stubs/components/accuweather/const.pyi +1 -0
  7. homeassistant-stubs/components/accuweather/coordinator.pyi +17 -4
  8. homeassistant-stubs/components/accuweather/weather.pyi +5 -2
  9. homeassistant-stubs/components/adax/config_flow.pyi +1 -0
  10. homeassistant-stubs/components/adax/sensor.pyi +13 -11
  11. homeassistant-stubs/components/adguard/update.pyi +26 -0
  12. homeassistant-stubs/components/airgradient/update.pyi +5 -0
  13. homeassistant-stubs/components/airly/config_flow.pyi +3 -0
  14. homeassistant-stubs/components/airnow/config_flow.pyi +1 -0
  15. homeassistant-stubs/components/airos/__init__.pyi +6 -2
  16. homeassistant-stubs/components/airos/binary_sensor.pyi +2 -2
  17. homeassistant-stubs/components/airos/config_flow.pyi +15 -4
  18. homeassistant-stubs/components/airos/const.pyi +3 -0
  19. homeassistant-stubs/components/airos/coordinator.pyi +5 -5
  20. homeassistant-stubs/components/airos/entity.pyi +2 -2
  21. homeassistant-stubs/components/airos/sensor.pyi +2 -2
  22. homeassistant-stubs/components/airthings/config_flow.pyi +1 -0
  23. homeassistant-stubs/components/airthings_ble/config_flow.pyi +5 -3
  24. homeassistant-stubs/components/airthings_ble/const.pyi +4 -0
  25. homeassistant-stubs/components/airthings_ble/coordinator.pyi +2 -1
  26. homeassistant-stubs/components/airthings_ble/sensor.pyi +2 -1
  27. homeassistant-stubs/components/airzone/select.pyi +1 -0
  28. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +1 -0
  29. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +0 -10
  30. homeassistant-stubs/components/alarm_control_panel/trigger.pyi +17 -0
  31. homeassistant-stubs/components/alexa/handlers.pyi +1 -1
  32. homeassistant-stubs/components/alexa_devices/__init__.pyi +1 -1
  33. homeassistant-stubs/components/alexa_devices/binary_sensor.pyi +7 -1
  34. homeassistant-stubs/components/alexa_devices/const.pyi +4 -1
  35. homeassistant-stubs/components/alexa_devices/coordinator.pyi +4 -1
  36. homeassistant-stubs/components/alexa_devices/diagnostics.pyi +1 -1
  37. homeassistant-stubs/components/alexa_devices/entity.pyi +1 -1
  38. homeassistant-stubs/components/alexa_devices/notify.pyi +2 -1
  39. homeassistant-stubs/components/alexa_devices/sensor.pyi +17 -4
  40. homeassistant-stubs/components/alexa_devices/services.pyi +0 -1
  41. homeassistant-stubs/components/alexa_devices/switch.pyi +5 -3
  42. homeassistant-stubs/components/alexa_devices/utils.pyi +5 -1
  43. homeassistant-stubs/components/amberelectric/__init__.pyi +1 -1
  44. homeassistant-stubs/components/amberelectric/services.pyi +3 -2
  45. homeassistant-stubs/components/analytics/__init__.pyi +4 -21
  46. homeassistant-stubs/components/analytics/analytics.pyi +63 -11
  47. homeassistant-stubs/components/analytics/const.pyi +6 -2
  48. homeassistant-stubs/components/androidtv/__init__.pyi +5 -1
  49. homeassistant-stubs/components/androidtv/config_flow.pyi +1 -1
  50. homeassistant-stubs/components/androidtv/const.pyi +1 -1
  51. homeassistant-stubs/components/androidtv/media_player.pyi +1 -10
  52. homeassistant-stubs/components/androidtv/services.pyi +16 -0
  53. homeassistant-stubs/components/androidtv_remote/config_flow.pyi +2 -0
  54. homeassistant-stubs/components/androidtv_remote/entity.pyi +1 -3
  55. homeassistant-stubs/components/apcupsd/const.pyi +3 -0
  56. homeassistant-stubs/components/apcupsd/sensor.pyi +5 -1
  57. homeassistant-stubs/components/apple_tv/__init__.pyi +3 -3
  58. homeassistant-stubs/components/assist_pipeline/__init__.pyi +4 -4
  59. homeassistant-stubs/components/assist_pipeline/audio_enhancer.pyi +8 -3
  60. homeassistant-stubs/components/assist_pipeline/const.pyi +1 -0
  61. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +9 -6
  62. homeassistant-stubs/components/assist_pipeline/select.pyi +1 -1
  63. homeassistant-stubs/components/assist_satellite/trigger.pyi +8 -0
  64. homeassistant-stubs/components/asuswrt/bridge.pyi +24 -10
  65. homeassistant-stubs/components/asuswrt/config_flow.pyi +1 -1
  66. homeassistant-stubs/components/asuswrt/device_tracker.pyi +0 -3
  67. homeassistant-stubs/components/asuswrt/helpers.pyi +2 -3
  68. homeassistant-stubs/components/asuswrt/router.pyi +1 -1
  69. homeassistant-stubs/components/autarco/sensor.pyi +8 -6
  70. homeassistant-stubs/components/auth/login_flow.pyi +1 -1
  71. homeassistant-stubs/components/automation/__init__.pyi +10 -2
  72. homeassistant-stubs/components/backblaze_b2/__init__.pyi +15 -0
  73. homeassistant-stubs/components/backblaze_b2/b2_client.pyi +15 -0
  74. homeassistant-stubs/components/backblaze_b2/backup.pyi +60 -0
  75. homeassistant-stubs/components/backblaze_b2/config_flow.pyi +21 -0
  76. homeassistant-stubs/components/backblaze_b2/const.pyi +13 -0
  77. homeassistant-stubs/components/backblaze_b2/diagnostics.pyi +11 -0
  78. homeassistant-stubs/components/backblaze_b2/repairs.pyi +15 -0
  79. homeassistant-stubs/components/backup/http.pyi +1 -0
  80. homeassistant-stubs/components/backup/manager.pyi +2 -1
  81. homeassistant-stubs/components/backup/util.pyi +2 -32
  82. homeassistant-stubs/components/bang_olufsen/__init__.pyi +6 -6
  83. homeassistant-stubs/components/bang_olufsen/config_flow.pyi +2 -2
  84. homeassistant-stubs/components/bang_olufsen/const.pyi +46 -13
  85. homeassistant-stubs/components/bang_olufsen/diagnostics.pyi +5 -3
  86. homeassistant-stubs/components/bang_olufsen/entity.pyi +2 -2
  87. homeassistant-stubs/components/bang_olufsen/event.pyi +23 -8
  88. homeassistant-stubs/components/bang_olufsen/media_player.pyi +15 -12
  89. homeassistant-stubs/components/bang_olufsen/util.pyi +6 -1
  90. homeassistant-stubs/components/bang_olufsen/websocket.pyi +7 -6
  91. homeassistant-stubs/components/binary_sensor/trigger.pyi +20 -0
  92. homeassistant-stubs/components/blue_current/__init__.pyi +6 -0
  93. homeassistant-stubs/components/blue_current/const.pyi +6 -0
  94. homeassistant-stubs/components/blue_current/services.pyi +12 -0
  95. homeassistant-stubs/components/bluesound/__init__.pyi +2 -1
  96. homeassistant-stubs/components/bluesound/const.pyi +4 -0
  97. homeassistant-stubs/components/bluesound/media_player.pyi +11 -9
  98. homeassistant-stubs/components/bluesound/utils.pyi +2 -0
  99. homeassistant-stubs/components/bluetooth/__init__.pyi +2 -5
  100. homeassistant-stubs/components/bluetooth/api.pyi +7 -2
  101. homeassistant-stubs/components/bluetooth/manager.pyi +9 -1
  102. homeassistant-stubs/components/bluetooth/match.pyi +2 -1
  103. homeassistant-stubs/components/bluetooth/websocket_api.pyi +6 -1
  104. homeassistant-stubs/components/brother/__init__.pyi +5 -3
  105. homeassistant-stubs/components/brother/config_flow.pyi +6 -2
  106. homeassistant-stubs/components/brother/const.pyi +6 -0
  107. homeassistant-stubs/components/brother/entity.pyi +10 -0
  108. homeassistant-stubs/components/brother/sensor.pyi +6 -9
  109. homeassistant-stubs/components/bryant_evolution/climate.pyi +2 -2
  110. homeassistant-stubs/components/bthome/sensor.pyi +1 -1
  111. homeassistant-stubs/components/button/trigger.pyi +14 -0
  112. homeassistant-stubs/components/calendar/trigger.pyi +23 -10
  113. homeassistant-stubs/components/camera/__init__.pyi +4 -11
  114. homeassistant-stubs/components/camera/prefs.pyi +3 -1
  115. homeassistant-stubs/components/camera/webrtc.pyi +2 -5
  116. homeassistant-stubs/components/cert_expiry/config_flow.pyi +1 -1
  117. homeassistant-stubs/components/cert_expiry/errors.pyi +1 -0
  118. homeassistant-stubs/components/cert_expiry/helper.pyi +1 -1
  119. homeassistant-stubs/components/climate/trigger.pyi +18 -0
  120. homeassistant-stubs/components/cloud/__init__.pyi +8 -2
  121. homeassistant-stubs/components/cloud/ai_task.pyi +26 -0
  122. homeassistant-stubs/components/cloud/client.pyi +4 -1
  123. homeassistant-stubs/components/cloud/const.pyi +4 -1
  124. homeassistant-stubs/components/cloud/conversation.pyi +24 -0
  125. homeassistant-stubs/components/cloud/entity.pyi +40 -0
  126. homeassistant-stubs/components/cloud/http_api.pyi +6 -0
  127. homeassistant-stubs/components/co2signal/config_flow.pyi +1 -0
  128. homeassistant-stubs/components/comelit/__init__.pyi +2 -1
  129. homeassistant-stubs/components/comelit/alarm_control_panel.pyi +4 -4
  130. homeassistant-stubs/components/comelit/binary_sensor.pyi +10 -4
  131. homeassistant-stubs/components/comelit/config_flow.pyi +5 -3
  132. homeassistant-stubs/components/comelit/const.pyi +3 -0
  133. homeassistant-stubs/components/comelit/coordinator.pyi +14 -10
  134. homeassistant-stubs/components/comelit/cover.pyi +4 -3
  135. homeassistant-stubs/components/comelit/light.pyi +2 -1
  136. homeassistant-stubs/components/comelit/sensor.pyi +6 -6
  137. homeassistant-stubs/components/comelit/switch.pyi +2 -1
  138. homeassistant-stubs/components/comelit/utils.pyi +4 -2
  139. homeassistant-stubs/components/compit/__init__.pyi +11 -0
  140. homeassistant-stubs/components/compit/climate.pyi +63 -0
  141. homeassistant-stubs/components/compit/config_flow.pyi +17 -0
  142. homeassistant-stubs/components/compit/const.pyi +2 -0
  143. homeassistant-stubs/components/compit/coordinator.pyi +16 -0
  144. homeassistant-stubs/components/config/area_registry.pyi +3 -0
  145. homeassistant-stubs/components/config/config_entries.pyi +5 -1
  146. homeassistant-stubs/components/config/floor_registry.pyi +3 -0
  147. homeassistant-stubs/components/cookidoo/calendar.pyi +25 -0
  148. homeassistant-stubs/components/cookidoo/coordinator.pyi +2 -0
  149. homeassistant-stubs/components/cover/__init__.pyi +1 -11
  150. homeassistant-stubs/components/deconz/hub/hub.pyi +0 -1
  151. homeassistant-stubs/components/deconz/services.pyi +0 -1
  152. homeassistant-stubs/components/demo/valve.pyi +14 -5
  153. homeassistant-stubs/components/derivative/__init__.pyi +0 -1
  154. homeassistant-stubs/components/derivative/config_flow.pyi +1 -0
  155. homeassistant-stubs/components/derivative/diagnostics.pyi +5 -0
  156. homeassistant-stubs/components/derivative/sensor.pyi +6 -3
  157. homeassistant-stubs/components/device_automation/condition.pyi +8 -9
  158. homeassistant-stubs/components/device_tracker/trigger.pyi +8 -0
  159. homeassistant-stubs/components/devolo_home_control/__init__.pyi +3 -0
  160. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +1 -1
  161. homeassistant-stubs/components/devolo_home_control/entity.pyi +1 -2
  162. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -1
  163. homeassistant-stubs/components/devolo_home_control/subscriber.pyi +0 -1
  164. homeassistant-stubs/components/devolo_home_control/switch.pyi +1 -1
  165. homeassistant-stubs/components/dnsip/sensor.pyi +6 -2
  166. homeassistant-stubs/components/doorbird/config_flow.pyi +3 -0
  167. homeassistant-stubs/components/doorbird/device.pyi +1 -0
  168. homeassistant-stubs/components/droplet/__init__.pyi +10 -0
  169. homeassistant-stubs/components/droplet/config_flow.pyi +15 -0
  170. homeassistant-stubs/components/droplet/const.pyi +7 -0
  171. homeassistant-stubs/components/droplet/coordinator.pyi +23 -0
  172. homeassistant-stubs/components/droplet/sensor.pyi +37 -0
  173. homeassistant-stubs/components/duckdns/__init__.pyi +7 -21
  174. homeassistant-stubs/components/duckdns/config_flow.pyi +18 -0
  175. homeassistant-stubs/components/duckdns/const.pyi +6 -0
  176. homeassistant-stubs/components/duckdns/coordinator.pyi +20 -0
  177. homeassistant-stubs/components/duckdns/helpers.pyi +6 -0
  178. homeassistant-stubs/components/duckdns/issue.pyi +6 -0
  179. homeassistant-stubs/components/duckdns/services.pyi +16 -0
  180. homeassistant-stubs/components/ecovacs/button.pyi +1 -1
  181. homeassistant-stubs/components/ecovacs/number.pyi +4 -1
  182. homeassistant-stubs/components/ecovacs/select.pyi +16 -2
  183. homeassistant-stubs/components/eheimdigital/sensor.pyi +1 -2
  184. homeassistant-stubs/components/elkm1/__init__.pyi +21 -1
  185. homeassistant-stubs/components/elkm1/config_flow.pyi +3 -1
  186. homeassistant-stubs/components/elkm1/sensor.pyi +8 -1
  187. homeassistant-stubs/components/energy/data.pyi +15 -2
  188. homeassistant-stubs/components/energy/sensor.pyi +1 -1
  189. homeassistant-stubs/components/energy/validate.pyi +13 -1
  190. homeassistant-stubs/components/energyid/__init__.pyi +30 -0
  191. homeassistant-stubs/components/energyid/config_flow.pyi +26 -0
  192. homeassistant-stubs/components/energyid/const.pyi +13 -0
  193. homeassistant-stubs/components/energyid/energyid_sensor_mapping_flow.pyi +19 -0
  194. homeassistant-stubs/components/enphase_envoy/sensor.pyi +6 -28
  195. homeassistant-stubs/components/eq3btsmart/sensor.pyi +1 -2
  196. homeassistant-stubs/components/esphome/__init__.pyi +4 -1
  197. homeassistant-stubs/components/esphome/analytics.pyi +4 -0
  198. homeassistant-stubs/components/esphome/assist_satellite.pyi +17 -3
  199. homeassistant-stubs/components/esphome/climate.pyi +3 -0
  200. homeassistant-stubs/components/esphome/config_flow.pyi +11 -5
  201. homeassistant-stubs/components/esphome/const.pyi +3 -0
  202. homeassistant-stubs/components/esphome/entity.pyi +1 -2
  203. homeassistant-stubs/components/esphome/entry_data.pyi +9 -5
  204. homeassistant-stubs/components/esphome/lock.pyi +1 -1
  205. homeassistant-stubs/components/esphome/manager.pyi +15 -5
  206. homeassistant-stubs/components/esphome/repairs.pyi +1 -3
  207. homeassistant-stubs/components/esphome/select.pyi +5 -4
  208. homeassistant-stubs/components/esphome/websocket_api.pyi +15 -0
  209. homeassistant-stubs/components/evohome/climate.pyi +1 -1
  210. homeassistant-stubs/components/fan/trigger.pyi +8 -0
  211. homeassistant-stubs/components/fastdotcom/coordinator.pyi +2 -2
  212. homeassistant-stubs/components/fastdotcom/sensor.pyi +1 -1
  213. homeassistant-stubs/components/filter/__init__.pyi +0 -1
  214. homeassistant-stubs/components/filter/config_flow.pyi +1 -0
  215. homeassistant-stubs/components/firefly_iii/__init__.pyi +8 -0
  216. homeassistant-stubs/components/firefly_iii/config_flow.pyi +25 -0
  217. homeassistant-stubs/components/firefly_iii/const.pyi +3 -0
  218. homeassistant-stubs/components/firefly_iii/coordinator.pyi +30 -0
  219. homeassistant-stubs/components/firefly_iii/diagnostics.pyi +11 -0
  220. homeassistant-stubs/components/firefly_iii/entity.pyi +30 -0
  221. homeassistant-stubs/components/firefly_iii/sensor.pyi +66 -0
  222. homeassistant-stubs/components/fitbit/api.pyi +8 -3
  223. homeassistant-stubs/components/fitbit/coordinator.pyi +3 -3
  224. homeassistant-stubs/components/fitbit/model.pyi +0 -8
  225. homeassistant-stubs/components/fitbit/sensor.pyi +4 -3
  226. homeassistant-stubs/components/fritz/coordinator.pyi +4 -0
  227. homeassistant-stubs/components/fritz/models.pyi +2 -2
  228. homeassistant-stubs/components/fritz/sensor.pyi +2 -1
  229. homeassistant-stubs/components/fritz/services.pyi +3 -0
  230. homeassistant-stubs/components/fritzbox/binary_sensor.pyi +2 -0
  231. homeassistant-stubs/components/fritzbox/button.pyi +2 -0
  232. homeassistant-stubs/components/fritzbox/climate.pyi +3 -5
  233. homeassistant-stubs/components/fritzbox/coordinator.pyi +4 -1
  234. homeassistant-stubs/components/fritzbox/cover.pyi +2 -0
  235. homeassistant-stubs/components/fritzbox/light.pyi +2 -0
  236. homeassistant-stubs/components/fritzbox/sensor.pyi +2 -0
  237. homeassistant-stubs/components/fritzbox/switch.pyi +15 -1
  238. homeassistant-stubs/components/frontend/__init__.pyi +12 -5
  239. homeassistant-stubs/components/frontend/storage.pyi +28 -1
  240. homeassistant-stubs/components/generic_hygrostat/__init__.pyi +0 -1
  241. homeassistant-stubs/components/generic_hygrostat/config_flow.pyi +1 -0
  242. homeassistant-stubs/components/generic_thermostat/__init__.pyi +0 -1
  243. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -0
  244. homeassistant-stubs/components/geocaching/entity.pyi +14 -0
  245. homeassistant-stubs/components/geocaching/sensor.pyi +25 -5
  246. homeassistant-stubs/components/gios/coordinator.pyi +4 -1
  247. homeassistant-stubs/components/gios/sensor.pyi +4 -4
  248. homeassistant-stubs/components/github/__init__.pyi +12 -0
  249. homeassistant-stubs/components/github/config_flow.pyi +28 -0
  250. homeassistant-stubs/components/github/const.pyi +10 -0
  251. homeassistant-stubs/components/github/coordinator.pyi +26 -0
  252. homeassistant-stubs/components/github/diagnostics.pyi +7 -0
  253. homeassistant-stubs/components/github/sensor.pyi +37 -0
  254. homeassistant-stubs/components/go2rtc/__init__.pyi +20 -6
  255. homeassistant-stubs/components/go2rtc/server.pyi +14 -5
  256. homeassistant-stubs/components/go2rtc/util.pyi +5 -0
  257. homeassistant-stubs/components/google/__init__.pyi +0 -1
  258. homeassistant-stubs/components/google/config_flow.pyi +3 -3
  259. homeassistant-stubs/components/google_assistant_sdk/config_flow.pyi +2 -1
  260. homeassistant-stubs/components/google_assistant_sdk/helpers.pyi +1 -1
  261. homeassistant-stubs/components/google_cloud/__init__.pyi +0 -1
  262. homeassistant-stubs/components/google_cloud/config_flow.pyi +2 -2
  263. homeassistant-stubs/components/google_drive/__init__.pyi +4 -2
  264. homeassistant-stubs/components/google_drive/api.pyi +11 -0
  265. homeassistant-stubs/components/google_drive/config_flow.pyi +1 -2
  266. homeassistant-stubs/components/google_drive/const.pyi +4 -0
  267. homeassistant-stubs/components/google_drive/coordinator.pyi +24 -0
  268. homeassistant-stubs/components/google_drive/diagnostics.pyi +12 -0
  269. homeassistant-stubs/components/google_drive/entity.pyi +9 -0
  270. homeassistant-stubs/components/google_drive/sensor.pyi +28 -0
  271. homeassistant-stubs/components/google_photos/media_source.pyi +2 -2
  272. homeassistant-stubs/components/google_sheets/services.pyi +10 -2
  273. homeassistant-stubs/components/google_weather/__init__.pyi +11 -0
  274. homeassistant-stubs/components/google_weather/config_flow.pyi +29 -0
  275. homeassistant-stubs/components/google_weather/const.pyi +5 -0
  276. homeassistant-stubs/components/google_weather/coordinator.pyi +42 -0
  277. homeassistant-stubs/components/google_weather/entity.pyi +12 -0
  278. homeassistant-stubs/components/google_weather/sensor.pyi +27 -0
  279. homeassistant-stubs/components/google_weather/weather.pyi +56 -0
  280. homeassistant-stubs/components/group/__init__.pyi +0 -1
  281. homeassistant-stubs/components/group/config_flow.pyi +2 -0
  282. homeassistant-stubs/components/group/entity.pyi +3 -0
  283. homeassistant-stubs/components/group/light.pyi +1 -1
  284. homeassistant-stubs/components/group/notify.pyi +2 -2
  285. homeassistant-stubs/components/group/sensor.pyi +1 -1
  286. homeassistant-stubs/components/group/util.pyi +1 -0
  287. homeassistant-stubs/components/group/valve.pyi +47 -0
  288. homeassistant-stubs/components/habitica/__init__.pyi +1 -0
  289. homeassistant-stubs/components/habitica/binary_sensor.pyi +1 -1
  290. homeassistant-stubs/components/habitica/config_flow.pyi +11 -3
  291. homeassistant-stubs/components/habitica/const.pyi +2 -0
  292. homeassistant-stubs/components/habitica/coordinator.pyi +9 -3
  293. homeassistant-stubs/components/habitica/entity.pyi +15 -2
  294. homeassistant-stubs/components/habitica/image.pyi +6 -2
  295. homeassistant-stubs/components/habitica/notify.pyi +42 -0
  296. homeassistant-stubs/components/habitica/sensor.pyi +12 -5
  297. homeassistant-stubs/components/habitica/services.pyi +2 -1
  298. homeassistant-stubs/components/habitica/util.pyi +1 -0
  299. homeassistant-stubs/components/hardkernel/hardware.pyi +1 -1
  300. homeassistant-stubs/components/hardware/__init__.pyi +2 -10
  301. homeassistant-stubs/components/here_travel_time/__init__.pyi +3 -1
  302. homeassistant-stubs/components/history_stats/__init__.pyi +0 -1
  303. homeassistant-stubs/components/history_stats/config_flow.pyi +8 -2
  304. homeassistant-stubs/components/history_stats/diagnostics.pyi +5 -0
  305. homeassistant-stubs/components/history_stats/sensor.pyi +1 -1
  306. homeassistant-stubs/components/home_connect/__init__.pyi +1 -1
  307. homeassistant-stubs/components/home_connect/const.pyi +4 -0
  308. homeassistant-stubs/components/home_connect/coordinator.pyi +0 -1
  309. homeassistant-stubs/components/home_connect/entity.pyi +0 -1
  310. homeassistant-stubs/components/home_connect/select.pyi +1 -1
  311. homeassistant-stubs/components/home_connect/sensor.pyi +1 -1
  312. homeassistant-stubs/components/homeassistant/__init__.pyi +1 -1
  313. homeassistant-stubs/components/homeassistant_green/config_flow.pyi +4 -2
  314. homeassistant-stubs/components/homeassistant_green/hardware.pyi +1 -1
  315. homeassistant-stubs/components/homeassistant_hardware/const.pyi +2 -0
  316. homeassistant-stubs/components/homeassistant_hardware/firmware_config_flow.pyi +51 -15
  317. homeassistant-stubs/components/homeassistant_hardware/helpers.pyi +25 -2
  318. homeassistant-stubs/components/homeassistant_hardware/switch.pyi +23 -0
  319. homeassistant-stubs/components/homeassistant_hardware/update.pyi +3 -2
  320. homeassistant-stubs/components/homeassistant_hardware/util.pyi +15 -6
  321. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +13 -4
  322. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +8 -1
  323. homeassistant-stubs/components/homeassistant_sky_connect/hardware.pyi +1 -1
  324. homeassistant-stubs/components/homeassistant_sky_connect/switch.pyi +17 -0
  325. homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +8 -8
  326. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +12 -4
  327. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +6 -2
  328. homeassistant-stubs/components/homeassistant_yellow/hardware.pyi +1 -1
  329. homeassistant-stubs/components/homeassistant_yellow/switch.pyi +17 -0
  330. homeassistant-stubs/components/homeassistant_yellow/update.pyi +8 -8
  331. homeassistant-stubs/components/homee/__init__.pyi +1 -0
  332. homeassistant-stubs/components/homee/alarm_control_panel.pyi +3 -2
  333. homeassistant-stubs/components/homee/binary_sensor.pyi +4 -2
  334. homeassistant-stubs/components/homee/button.pyi +3 -1
  335. homeassistant-stubs/components/homee/climate.pyi +3 -1
  336. homeassistant-stubs/components/homee/cover.pyi +3 -1
  337. homeassistant-stubs/components/homee/event.pyi +3 -1
  338. homeassistant-stubs/components/homee/fan.pyi +3 -1
  339. homeassistant-stubs/components/homee/helpers.pyi +6 -0
  340. homeassistant-stubs/components/homee/light.pyi +2 -0
  341. homeassistant-stubs/components/homee/lock.pyi +4 -2
  342. homeassistant-stubs/components/homee/number.pyi +3 -1
  343. homeassistant-stubs/components/homee/select.pyi +3 -1
  344. homeassistant-stubs/components/homee/sensor.pyi +2 -2
  345. homeassistant-stubs/components/homee/siren.pyi +4 -1
  346. homeassistant-stubs/components/homee/switch.pyi +4 -2
  347. homeassistant-stubs/components/homee/valve.pyi +3 -1
  348. homeassistant-stubs/components/homekit/__init__.pyi +1 -1
  349. homeassistant-stubs/components/homekit/type_switches.pyi +7 -1
  350. homeassistant-stubs/components/homewizard/__init__.pyi +2 -0
  351. homeassistant-stubs/components/homewizard/select.pyi +3 -17
  352. homeassistant-stubs/components/homewizard/sensor.pyi +3 -1
  353. homeassistant-stubs/components/http/__init__.pyi +1 -0
  354. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +1 -1
  355. homeassistant-stubs/components/huawei_lte/select.pyi +0 -2
  356. homeassistant-stubs/components/huawei_lte/sensor.pyi +1 -0
  357. homeassistant-stubs/components/humidifier/trigger.pyi +8 -0
  358. homeassistant-stubs/components/husqvarna_automower/button.pyi +1 -0
  359. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +1 -1
  360. homeassistant-stubs/components/husqvarna_automower/entity.pyi +8 -4
  361. homeassistant-stubs/components/husqvarna_automower/event.pyi +1 -1
  362. homeassistant-stubs/components/husqvarna_automower/lawn_mower.pyi +5 -0
  363. homeassistant-stubs/components/husqvarna_automower/select.pyi +1 -0
  364. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +2 -0
  365. homeassistant-stubs/components/husqvarna_automower/switch.pyi +2 -0
  366. homeassistant-stubs/components/idasen_desk/coordinator.pyi +8 -2
  367. homeassistant-stubs/components/image/__init__.pyi +3 -0
  368. homeassistant-stubs/components/image_upload/__init__.pyi +1 -1
  369. homeassistant-stubs/components/image_upload/const.pyi +1 -0
  370. homeassistant-stubs/components/image_upload/media_source.pyi +5 -1
  371. homeassistant-stubs/components/imap/__init__.pyi +3 -1
  372. homeassistant-stubs/components/imap/coordinator.pyi +4 -1
  373. homeassistant-stubs/components/immich/media_source.pyi +2 -2
  374. homeassistant-stubs/components/inels/__init__.pyi +18 -0
  375. homeassistant-stubs/components/inels/config_flow.pyi +13 -0
  376. homeassistant-stubs/components/inels/const.pyi +7 -0
  377. homeassistant-stubs/components/inels/entity.pyi +20 -0
  378. homeassistant-stubs/components/inels/switch.pyi +34 -0
  379. homeassistant-stubs/components/integration/__init__.pyi +0 -1
  380. homeassistant-stubs/components/integration/config_flow.pyi +1 -0
  381. homeassistant-stubs/components/intent/__init__.pyi +4 -0
  382. homeassistant-stubs/components/jewish_calendar/coordinator.pyi +4 -7
  383. homeassistant-stubs/components/jewish_calendar/entity.pyi +2 -0
  384. homeassistant-stubs/components/knx/climate.pyi +23 -11
  385. homeassistant-stubs/components/knx/const.pyi +21 -0
  386. homeassistant-stubs/components/knx/date.pyi +17 -9
  387. homeassistant-stubs/components/knx/datetime.pyi +17 -9
  388. homeassistant-stubs/components/knx/dpt.pyi +26 -0
  389. homeassistant-stubs/components/knx/fan.pyi +25 -12
  390. homeassistant-stubs/components/knx/knx_module.pyi +4 -0
  391. homeassistant-stubs/components/knx/repairs.pyi +26 -0
  392. homeassistant-stubs/components/knx/scene.pyi +15 -6
  393. homeassistant-stubs/components/knx/schema.pyi +3 -14
  394. homeassistant-stubs/components/knx/sensor.pyi +26 -13
  395. homeassistant-stubs/components/knx/services.pyi +1 -0
  396. homeassistant-stubs/components/knx/storage/config_store.pyi +2 -1
  397. homeassistant-stubs/components/knx/storage/const.pyi +30 -1
  398. homeassistant-stubs/components/knx/storage/entity_store_schema.pyi +27 -3
  399. homeassistant-stubs/components/knx/storage/keyring.pyi +1 -1
  400. homeassistant-stubs/components/knx/storage/knx_selector.pyi +2 -1
  401. homeassistant-stubs/components/knx/storage/migration.pyi +2 -0
  402. homeassistant-stubs/components/knx/telegrams.pyi +3 -0
  403. homeassistant-stubs/components/knx/text.pyi +22 -12
  404. homeassistant-stubs/components/knx/time.pyi +17 -9
  405. homeassistant-stubs/components/knx/websocket.pyi +2 -1
  406. homeassistant-stubs/components/lamarzocco/__init__.pyi +7 -5
  407. homeassistant-stubs/components/lamarzocco/config_flow.pyi +4 -2
  408. homeassistant-stubs/components/lamarzocco/const.pyi +2 -0
  409. homeassistant-stubs/components/lamarzocco/coordinator.pyi +23 -5
  410. homeassistant-stubs/components/lamarzocco/entity.pyi +5 -2
  411. homeassistant-stubs/components/lamarzocco/number.pyi +1 -1
  412. homeassistant-stubs/components/lamarzocco/select.pyi +2 -0
  413. homeassistant-stubs/components/lamarzocco/switch.pyi +5 -0
  414. homeassistant-stubs/components/lametric/config_flow.pyi +2 -0
  415. homeassistant-stubs/components/lawn_mower/intent.pyi +8 -0
  416. homeassistant-stubs/components/lawn_mower/trigger.pyi +7 -0
  417. homeassistant-stubs/components/lcn/__init__.pyi +3 -3
  418. homeassistant-stubs/components/lcn/binary_sensor.pyi +3 -2
  419. homeassistant-stubs/components/lcn/climate.pyi +5 -8
  420. homeassistant-stubs/components/lcn/cover.pyi +6 -5
  421. homeassistant-stubs/components/lcn/entity.pyi +6 -4
  422. homeassistant-stubs/components/lcn/helpers.pyi +5 -5
  423. homeassistant-stubs/components/lcn/light.pyi +5 -4
  424. homeassistant-stubs/components/lcn/sensor.pyi +8 -6
  425. homeassistant-stubs/components/lcn/services.pyi +3 -2
  426. homeassistant-stubs/components/lcn/switch.pyi +9 -8
  427. homeassistant-stubs/components/lcn/websocket.pyi +11 -10
  428. homeassistant-stubs/components/letpot/number.pyi +34 -0
  429. homeassistant-stubs/components/libre_hardware_monitor/__init__.pyi +12 -0
  430. homeassistant-stubs/components/libre_hardware_monitor/config_flow.pyi +12 -0
  431. homeassistant-stubs/components/libre_hardware_monitor/const.pyi +4 -0
  432. homeassistant-stubs/components/libre_hardware_monitor/coordinator.pyi +20 -0
  433. homeassistant-stubs/components/libre_hardware_monitor/sensor.pyi +30 -0
  434. homeassistant-stubs/components/lifx/manager.pyi +4 -4
  435. homeassistant-stubs/components/light/condition.pyi +38 -0
  436. homeassistant-stubs/components/light/trigger.pyi +9 -0
  437. homeassistant-stubs/components/litterrobot/select.pyi +1 -1
  438. homeassistant-stubs/components/litterrobot/switch.pyi +5 -1
  439. homeassistant-stubs/components/litterrobot/update.pyi +2 -0
  440. homeassistant-stubs/components/lock/__init__.pyi +1 -6
  441. homeassistant-stubs/components/lock/trigger.pyi +7 -0
  442. homeassistant-stubs/components/logbook/helpers.pyi +4 -3
  443. homeassistant-stubs/components/logger/helpers.pyi +2 -0
  444. homeassistant-stubs/components/logger/websocket_api.pyi +1 -0
  445. homeassistant-stubs/components/london_underground/__init__.pyi +9 -0
  446. homeassistant-stubs/components/london_underground/config_flow.pyi +22 -0
  447. homeassistant-stubs/components/london_underground/const.pyi +1 -0
  448. homeassistant-stubs/components/london_underground/coordinator.pyi +3 -1
  449. homeassistant-stubs/components/london_underground/sensor.pyi +10 -5
  450. homeassistant-stubs/components/lunatone/__init__.pyi +12 -0
  451. homeassistant-stubs/components/lunatone/config_flow.pyi +16 -0
  452. homeassistant-stubs/components/lunatone/const.pyi +3 -0
  453. homeassistant-stubs/components/lunatone/coordinator.pyi +31 -0
  454. homeassistant-stubs/components/lunatone/light.pyi +59 -0
  455. homeassistant-stubs/components/mastodon/__init__.pyi +1 -1
  456. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -2
  457. homeassistant-stubs/components/mastodon/const.pyi +2 -0
  458. homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -2
  459. homeassistant-stubs/components/mastodon/services.pyi +4 -3
  460. homeassistant-stubs/components/matrix/__init__.pyi +10 -2
  461. homeassistant-stubs/components/matrix/const.pyi +5 -0
  462. homeassistant-stubs/components/matrix/services.pyi +3 -1
  463. homeassistant-stubs/components/matter/__init__.pyi +5 -0
  464. homeassistant-stubs/components/matter/binary_sensor.pyi +1 -1
  465. homeassistant-stubs/components/matter/button.pyi +1 -1
  466. homeassistant-stubs/components/matter/climate.pyi +7 -1
  467. homeassistant-stubs/components/matter/cover.pyi +6 -2
  468. homeassistant-stubs/components/matter/entity.pyi +4 -2
  469. homeassistant-stubs/components/matter/event.pyi +5 -1
  470. homeassistant-stubs/components/matter/fan.pyi +5 -1
  471. homeassistant-stubs/components/matter/light.pyi +6 -2
  472. homeassistant-stubs/components/matter/lock.pyi +5 -1
  473. homeassistant-stubs/components/matter/models.pyi +4 -3
  474. homeassistant-stubs/components/matter/number.pyi +1 -1
  475. homeassistant-stubs/components/matter/select.pyi +9 -1
  476. homeassistant-stubs/components/matter/sensor.pyi +9 -1
  477. homeassistant-stubs/components/matter/services.pyi +11 -0
  478. homeassistant-stubs/components/matter/switch.pyi +5 -2
  479. homeassistant-stubs/components/matter/update.pyi +4 -1
  480. homeassistant-stubs/components/matter/vacuum.pyi +6 -2
  481. homeassistant-stubs/components/matter/valve.pyi +6 -2
  482. homeassistant-stubs/components/matter/water_heater.pyi +8 -1
  483. homeassistant-stubs/components/mcp/__init__.pyi +1 -6
  484. homeassistant-stubs/components/mcp/config_flow.pyi +12 -2
  485. homeassistant-stubs/components/mcp/const.pyi +1 -0
  486. homeassistant-stubs/components/mcp/coordinator.pyi +1 -1
  487. homeassistant-stubs/components/mcp_server/__init__.pyi +1 -8
  488. homeassistant-stubs/components/mcp_server/http.pyi +23 -1
  489. homeassistant-stubs/components/mcp_server/session.pyi +2 -2
  490. homeassistant-stubs/components/mealie/config_flow.pyi +9 -1
  491. homeassistant-stubs/components/mealie/coordinator.pyi +2 -0
  492. homeassistant-stubs/components/mealie/services.pyi +2 -0
  493. homeassistant-stubs/components/media_player/__init__.pyi +1 -9
  494. homeassistant-stubs/components/media_player/const.pyi +10 -69
  495. homeassistant-stubs/components/media_player/intent.pyi +7 -9
  496. homeassistant-stubs/components/media_player/trigger.pyi +8 -0
  497. homeassistant-stubs/components/media_source/__init__.pyi +2 -10
  498. homeassistant-stubs/components/media_source/helper.pyi +16 -0
  499. homeassistant-stubs/components/media_source/http.pyi +13 -0
  500. homeassistant-stubs/components/media_source/local_source.pyi +19 -11
  501. homeassistant-stubs/components/media_source/models.pyi +1 -0
  502. homeassistant-stubs/components/metoffice/__init__.pyi +1 -0
  503. homeassistant-stubs/components/metoffice/helpers.pyi +2 -2
  504. homeassistant-stubs/components/metoffice/sensor.pyi +1 -1
  505. homeassistant-stubs/components/metoffice/weather.pyi +11 -11
  506. homeassistant-stubs/components/miele/__init__.pyi +1 -1
  507. homeassistant-stubs/components/miele/climate.pyi +3 -1
  508. homeassistant-stubs/components/miele/const.pyi +934 -49
  509. homeassistant-stubs/components/miele/select.pyi +43 -0
  510. homeassistant-stubs/components/miele/sensor.pyi +27 -11
  511. homeassistant-stubs/components/miele/vacuum.pyi +1 -2
  512. homeassistant-stubs/components/min_max/__init__.pyi +0 -1
  513. homeassistant-stubs/components/min_max/config_flow.pyi +1 -0
  514. homeassistant-stubs/components/min_max/sensor.pyi +1 -1
  515. homeassistant-stubs/components/modbus/__init__.pyi +2 -2
  516. homeassistant-stubs/components/modbus/binary_sensor.pyi +2 -2
  517. homeassistant-stubs/components/modbus/climate.pyi +8 -4
  518. homeassistant-stubs/components/modbus/const.pyi +7 -0
  519. homeassistant-stubs/components/modbus/cover.pyi +2 -2
  520. homeassistant-stubs/components/modbus/entity.pyi +12 -21
  521. homeassistant-stubs/components/modbus/fan.pyi +2 -2
  522. homeassistant-stubs/components/modbus/light.pyi +4 -4
  523. homeassistant-stubs/components/modbus/modbus.pyi +1 -1
  524. homeassistant-stubs/components/modbus/sensor.pyi +8 -4
  525. homeassistant-stubs/components/modbus/switch.pyi +2 -2
  526. homeassistant-stubs/components/modbus/validators.pyi +4 -2
  527. homeassistant-stubs/components/mold_indicator/__init__.pyi +0 -1
  528. homeassistant-stubs/components/mold_indicator/config_flow.pyi +1 -0
  529. homeassistant-stubs/components/motionmount/select.pyi +1 -0
  530. homeassistant-stubs/components/mqtt/__init__.pyi +2 -5
  531. homeassistant-stubs/components/mqtt/client.pyi +7 -3
  532. homeassistant-stubs/components/mqtt/config_flow.pyi +91 -61
  533. homeassistant-stubs/components/mqtt/const.pyi +16 -1
  534. homeassistant-stubs/components/mqtt/device_automation.pyi +1 -1
  535. homeassistant-stubs/components/mqtt/entity.pyi +2 -2
  536. homeassistant-stubs/components/mqtt/image.pyi +1 -5
  537. homeassistant-stubs/components/mqtt/light/schema_json.pyi +0 -1
  538. homeassistant-stubs/components/mqtt/lock.pyi +3 -3
  539. homeassistant-stubs/components/mqtt/number.pyi +1 -5
  540. homeassistant-stubs/components/mqtt/schemas.pyi +1 -1
  541. homeassistant-stubs/components/mqtt/siren.pyi +1 -9
  542. homeassistant-stubs/components/mqtt/tag.pyi +1 -1
  543. homeassistant-stubs/components/mqtt/text.pyi +1 -5
  544. homeassistant-stubs/components/mqtt/valve.pyi +1 -2
  545. homeassistant-stubs/components/music_assistant/__init__.pyi +7 -5
  546. homeassistant-stubs/components/music_assistant/config_flow.pyi +21 -6
  547. homeassistant-stubs/components/music_assistant/const.pyi +8 -0
  548. homeassistant-stubs/components/music_assistant/helpers.pyi +7 -1
  549. homeassistant-stubs/components/music_assistant/media_browser.pyi +1 -1
  550. homeassistant-stubs/components/music_assistant/media_player.pyi +6 -9
  551. homeassistant-stubs/components/music_assistant/schemas.pyi +2 -2
  552. homeassistant-stubs/components/music_assistant/services.pyi +24 -0
  553. homeassistant-stubs/components/myuplink/__init__.pyi +2 -1
  554. homeassistant-stubs/components/nasweb/alarm_control_panel.pyi +40 -0
  555. homeassistant-stubs/components/nasweb/coordinator.pyi +1 -0
  556. homeassistant-stubs/components/nasweb/sensor.pyi +0 -5
  557. homeassistant-stubs/components/nasweb/switch.pyi +1 -0
  558. homeassistant-stubs/components/neato/__init__.pyi +1 -1
  559. homeassistant-stubs/components/nest/__init__.pyi +10 -4
  560. homeassistant-stubs/components/nest/types.pyi +4 -0
  561. homeassistant-stubs/components/netatmo/__init__.pyi +2 -1
  562. homeassistant-stubs/components/netatmo/camera.pyi +1 -1
  563. homeassistant-stubs/components/netatmo/const.pyi +17 -11
  564. homeassistant-stubs/components/netatmo/data_handler.pyi +1 -1
  565. homeassistant-stubs/components/netatmo/light.pyi +1 -1
  566. homeassistant-stubs/components/network/websocket.pyi +0 -1
  567. homeassistant-stubs/components/nextdns/config_flow.pyi +6 -1
  568. homeassistant-stubs/components/nordpool/coordinator.pyi +9 -4
  569. homeassistant-stubs/components/ntfy/config_flow.pyi +4 -2
  570. homeassistant-stubs/components/ntfy/const.pyi +6 -0
  571. homeassistant-stubs/components/ntfy/entity.pyi +18 -0
  572. homeassistant-stubs/components/ntfy/event.pyi +29 -0
  573. homeassistant-stubs/components/ntfy/notify.pyi +19 -13
  574. homeassistant-stubs/components/{home_connect → ntfy}/repairs.pyi +7 -3
  575. homeassistant-stubs/components/number/const.pyi +3 -2
  576. homeassistant-stubs/components/ohme/__init__.pyi +1 -1
  577. homeassistant-stubs/components/ohme/coordinator.pyi +0 -5
  578. homeassistant-stubs/components/ohme/sensor.pyi +1 -2
  579. homeassistant-stubs/components/onboarding/const.pyi +6 -0
  580. homeassistant-stubs/components/onedrive/__init__.pyi +2 -3
  581. homeassistant-stubs/components/onedrive/backup.pyi +2 -1
  582. homeassistant-stubs/components/onewire/binary_sensor.pyi +5 -12
  583. homeassistant-stubs/components/onewire/const.pyi +0 -2
  584. homeassistant-stubs/components/onewire/diagnostics.pyi +2 -0
  585. homeassistant-stubs/components/onewire/entity.pyi +6 -14
  586. homeassistant-stubs/components/onewire/onewirehub.pyi +5 -5
  587. homeassistant-stubs/components/onewire/select.pyi +3 -10
  588. homeassistant-stubs/components/onewire/sensor.pyi +5 -7
  589. homeassistant-stubs/components/onewire/switch.pyi +7 -14
  590. homeassistant-stubs/components/onkyo/media_player.pyi +9 -3
  591. homeassistant-stubs/components/onkyo/receiver.pyi +4 -1
  592. homeassistant-stubs/components/open_router/config_flow.pyi +13 -1
  593. homeassistant-stubs/components/open_router/entity.pyi +4 -1
  594. homeassistant-stubs/components/openai_conversation/ai_task.pyi +5 -1
  595. homeassistant-stubs/components/openai_conversation/config_flow.pyi +2 -1
  596. homeassistant-stubs/components/openai_conversation/const.pyi +7 -0
  597. homeassistant-stubs/components/openai_conversation/entity.pyi +4 -4
  598. homeassistant-stubs/components/openuv/__init__.pyi +1 -1
  599. homeassistant-stubs/components/openuv/binary_sensor.pyi +2 -2
  600. homeassistant-stubs/components/openuv/coordinator.pyi +14 -1
  601. homeassistant-stubs/components/opnsense/__init__.pyi +11 -0
  602. homeassistant-stubs/components/opnsense/const.pyi +5 -0
  603. homeassistant-stubs/components/opnsense/device_tracker.pyi +23 -0
  604. homeassistant-stubs/components/opower/coordinator.pyi +1 -0
  605. homeassistant-stubs/components/overseerr/coordinator.pyi +3 -3
  606. homeassistant-stubs/components/overseerr/models.pyi +7 -0
  607. homeassistant-stubs/components/overseerr/sensor.pyi +2 -2
  608. homeassistant-stubs/components/ping/__init__.pyi +1 -0
  609. homeassistant-stubs/components/ping/config_flow.pyi +1 -0
  610. homeassistant-stubs/components/ping/device_tracker.pyi +3 -2
  611. homeassistant-stubs/components/ping/entity.pyi +1 -0
  612. homeassistant-stubs/components/ping/sensor.pyi +1 -1
  613. homeassistant-stubs/components/plugwise/__init__.pyi +1 -1
  614. homeassistant-stubs/components/plugwise/climate.pyi +19 -4
  615. homeassistant-stubs/components/plugwise/config_flow.pyi +1 -1
  616. homeassistant-stubs/components/plugwise/const.pyi +15 -4
  617. homeassistant-stubs/components/plugwise/coordinator.pyi +6 -3
  618. homeassistant-stubs/components/plugwise/entity.pyi +2 -2
  619. homeassistant-stubs/components/plugwise/select.pyi +1 -1
  620. homeassistant-stubs/components/portainer/__init__.pyi +12 -0
  621. homeassistant-stubs/components/portainer/binary_sensor.pyi +41 -0
  622. homeassistant-stubs/components/portainer/button.pyi +28 -0
  623. homeassistant-stubs/components/portainer/config_flow.pyi +25 -0
  624. homeassistant-stubs/components/portainer/const.pyi +3 -0
  625. homeassistant-stubs/components/portainer/coordinator.pyi +44 -0
  626. homeassistant-stubs/components/portainer/diagnostics.pyi +12 -0
  627. homeassistant-stubs/components/portainer/entity.pyi +25 -0
  628. homeassistant-stubs/components/portainer/sensor.pyi +40 -0
  629. homeassistant-stubs/components/portainer/switch.pyi +34 -0
  630. homeassistant-stubs/components/prometheus/__init__.pyi +35 -14
  631. homeassistant-stubs/components/prusalink/coordinator.pyi +2 -0
  632. homeassistant-stubs/components/pyload/config_flow.pyi +1 -0
  633. homeassistant-stubs/components/qbus/entity.pyi +1 -3
  634. homeassistant-stubs/components/radio_browser/media_source.pyi +3 -0
  635. homeassistant-stubs/components/rainmachine/__init__.pyi +1 -0
  636. homeassistant-stubs/components/raspberry_pi/hardware.pyi +1 -1
  637. homeassistant-stubs/components/recorder/auto_repairs/schema.pyi +1 -1
  638. homeassistant-stubs/components/recorder/const.pyi +1 -1
  639. homeassistant-stubs/components/recorder/core.pyi +3 -3
  640. homeassistant-stubs/components/recorder/db_schema.pyi +3 -10
  641. homeassistant-stubs/components/recorder/entity_registry.pyi +1 -0
  642. homeassistant-stubs/components/recorder/history/__init__.pyi +2 -2
  643. homeassistant-stubs/components/recorder/migration.pyi +12 -1
  644. homeassistant-stubs/components/recorder/models/statistics.pyi +2 -0
  645. homeassistant-stubs/components/recorder/statistics.pyi +17 -12
  646. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +0 -1
  647. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +5 -3
  648. homeassistant-stubs/components/recorder/tasks.pyi +1 -0
  649. homeassistant-stubs/components/recorder/util.pyi +2 -1
  650. homeassistant-stubs/components/recorder/websocket_api.pyi +6 -4
  651. homeassistant-stubs/components/remote_calendar/calendar.pyi +1 -2
  652. homeassistant-stubs/components/renault/renault_hub.pyi +2 -0
  653. homeassistant-stubs/components/renault/sensor.pyi +1 -1
  654. homeassistant-stubs/components/reolink/__init__.pyi +4 -3
  655. homeassistant-stubs/components/reolink/binary_sensor.pyi +15 -0
  656. homeassistant-stubs/components/reolink/const.pyi +1 -0
  657. homeassistant-stubs/components/reolink/entity.pyi +10 -0
  658. homeassistant-stubs/components/reolink/host.pyi +1 -0
  659. homeassistant-stubs/components/reolink/light.pyi +7 -1
  660. homeassistant-stubs/components/reolink/number.pyi +10 -1
  661. homeassistant-stubs/components/reolink/select.pyi +11 -3
  662. homeassistant-stubs/components/reolink/siren.pyi +13 -1
  663. homeassistant-stubs/components/reolink/switch.pyi +36 -8
  664. homeassistant-stubs/components/reolink/update.pyi +1 -1
  665. homeassistant-stubs/components/rest_command/__init__.pyi +1 -0
  666. homeassistant-stubs/components/ridwell/__init__.pyi +1 -0
  667. homeassistant-stubs/components/ridwell/calendar.pyi +2 -2
  668. homeassistant-stubs/components/ridwell/config_flow.pyi +10 -3
  669. homeassistant-stubs/components/ridwell/const.pyi +5 -0
  670. homeassistant-stubs/components/rituals_perfume_genie/__init__.pyi +4 -2
  671. homeassistant-stubs/components/rituals_perfume_genie/config_flow.pyi +4 -2
  672. homeassistant-stubs/components/rituals_perfume_genie/coordinator.pyi +5 -3
  673. homeassistant-stubs/components/roborock/__init__.pyi +9 -11
  674. homeassistant-stubs/components/roborock/binary_sensor.pyi +2 -2
  675. homeassistant-stubs/components/roborock/button.pyi +6 -3
  676. homeassistant-stubs/components/roborock/config_flow.pyi +3 -3
  677. homeassistant-stubs/components/roborock/const.pyi +1 -0
  678. homeassistant-stubs/components/roborock/coordinator.pyi +65 -38
  679. homeassistant-stubs/components/roborock/diagnostics.pyi +1 -1
  680. homeassistant-stubs/components/roborock/entity.pyi +12 -29
  681. homeassistant-stubs/components/roborock/image.pyi +8 -4
  682. homeassistant-stubs/components/roborock/models.pyi +11 -6
  683. homeassistant-stubs/components/roborock/number.pyi +6 -5
  684. homeassistant-stubs/components/roborock/roborock_storage.pyi +17 -12
  685. homeassistant-stubs/components/roborock/select.pyi +14 -7
  686. homeassistant-stubs/components/roborock/sensor.pyi +21 -7
  687. homeassistant-stubs/components/roborock/switch.pyi +6 -7
  688. homeassistant-stubs/components/roborock/time.pyi +5 -6
  689. homeassistant-stubs/components/roborock/vacuum.pyi +3 -1
  690. homeassistant-stubs/components/route_b_smart_meter/__init__.pyi +10 -0
  691. homeassistant-stubs/components/route_b_smart_meter/config_flow.pyi +22 -0
  692. homeassistant-stubs/components/route_b_smart_meter/const.pyi +9 -0
  693. homeassistant-stubs/components/route_b_smart_meter/coordinator.pyi +26 -0
  694. homeassistant-stubs/components/route_b_smart_meter/sensor.pyi +30 -0
  695. homeassistant-stubs/components/scene/trigger.pyi +14 -0
  696. homeassistant-stubs/components/scrape/__init__.pyi +0 -1
  697. homeassistant-stubs/components/scrape/config_flow.pyi +1 -0
  698. homeassistant-stubs/components/scrape/coordinator.pyi +5 -2
  699. homeassistant-stubs/components/script/__init__.pyi +1 -1
  700. homeassistant-stubs/components/sensibo/__init__.pyi +6 -0
  701. homeassistant-stubs/components/sensibo/climate.pyi +3 -26
  702. homeassistant-stubs/components/sensibo/services.pyi +31 -0
  703. homeassistant-stubs/components/sensor/const.pyi +3 -1
  704. homeassistant-stubs/components/sensor/device_condition.pyi +2 -0
  705. homeassistant-stubs/components/sensor/device_trigger.pyi +2 -0
  706. homeassistant-stubs/components/sensor/recorder.pyi +6 -3
  707. homeassistant-stubs/components/senz/__init__.pyi +8 -5
  708. homeassistant-stubs/components/senz/api.pyi +1 -1
  709. homeassistant-stubs/components/senz/climate.pyi +5 -5
  710. homeassistant-stubs/components/senz/config_flow.pyi +9 -0
  711. homeassistant-stubs/components/senz/diagnostics.pyi +9 -0
  712. homeassistant-stubs/components/senz/sensor.pyi +32 -0
  713. homeassistant-stubs/components/sfr_box/__init__.pyi +4 -6
  714. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +7 -14
  715. homeassistant-stubs/components/sfr_box/button.pyi +6 -8
  716. homeassistant-stubs/components/sfr_box/config_flow.pyi +5 -2
  717. homeassistant-stubs/components/sfr_box/coordinator.pyi +16 -4
  718. homeassistant-stubs/components/sfr_box/diagnostics.pyi +2 -4
  719. homeassistant-stubs/components/sfr_box/entity.pyi +18 -0
  720. homeassistant-stubs/components/sfr_box/sensor.pyi +6 -13
  721. homeassistant-stubs/components/sftp_storage/__init__.pyi +21 -0
  722. homeassistant-stubs/components/sftp_storage/backup.pyi +24 -0
  723. homeassistant-stubs/components/sftp_storage/client.pyi +48 -0
  724. homeassistant-stubs/components/sftp_storage/config_flow.pyi +25 -0
  725. homeassistant-stubs/components/sftp_storage/const.pyi +16 -0
  726. homeassistant-stubs/components/shelly/__init__.pyi +3 -2
  727. homeassistant-stubs/components/shelly/binary_sensor.pyi +19 -5
  728. homeassistant-stubs/components/shelly/ble_provisioning.pyi +21 -0
  729. homeassistant-stubs/components/shelly/button.pyi +28 -9
  730. homeassistant-stubs/components/shelly/climate.pyi +63 -7
  731. homeassistant-stubs/components/shelly/config_flow.pyi +72 -5
  732. homeassistant-stubs/components/shelly/const.pyi +25 -3
  733. homeassistant-stubs/components/shelly/coordinator.pyi +1 -1
  734. homeassistant-stubs/components/shelly/cover.pyi +39 -10
  735. homeassistant-stubs/components/shelly/entity.pyi +12 -18
  736. homeassistant-stubs/components/shelly/event.pyi +17 -10
  737. homeassistant-stubs/components/shelly/light.pyi +40 -14
  738. homeassistant-stubs/components/shelly/logbook.pyi +1 -1
  739. homeassistant-stubs/components/shelly/number.pyi +17 -11
  740. homeassistant-stubs/components/shelly/repairs.pyi +14 -2
  741. homeassistant-stubs/components/shelly/select.pyi +15 -7
  742. homeassistant-stubs/components/shelly/sensor.pyi +19 -10
  743. homeassistant-stubs/components/shelly/services.pyi +23 -0
  744. homeassistant-stubs/components/shelly/switch.pyi +12 -7
  745. homeassistant-stubs/components/shelly/text.pyi +8 -3
  746. homeassistant-stubs/components/shelly/update.pyi +4 -0
  747. homeassistant-stubs/components/shelly/utils.pyi +24 -9
  748. homeassistant-stubs/components/shelly/valve.pyi +34 -5
  749. homeassistant-stubs/components/simplisafe/__init__.pyi +3 -1
  750. homeassistant-stubs/components/simplisafe/binary_sensor.pyi +3 -0
  751. homeassistant-stubs/components/simplisafe/config_flow.pyi +2 -0
  752. homeassistant-stubs/components/siren/trigger.pyi +8 -0
  753. homeassistant-stubs/components/sleep_as_android/event.pyi +1 -0
  754. homeassistant-stubs/components/sma/__init__.pyi +15 -0
  755. homeassistant-stubs/components/sma/config_flow.pyi +27 -0
  756. homeassistant-stubs/components/sma/const.pyi +11 -0
  757. homeassistant-stubs/components/sma/coordinator.pyi +28 -0
  758. homeassistant-stubs/components/sma/diagnostics.pyi +10 -0
  759. homeassistant-stubs/components/sma/sensor.pyi +33 -0
  760. homeassistant-stubs/components/smhi/__init__.pyi +1 -1
  761. homeassistant-stubs/components/smhi/coordinator.pyi +15 -2
  762. homeassistant-stubs/components/smhi/entity.pyi +13 -4
  763. homeassistant-stubs/components/smhi/sensor.pyi +27 -11
  764. homeassistant-stubs/components/smhi/weather.pyi +3 -2
  765. homeassistant-stubs/components/smlight/switch.pyi +1 -0
  766. homeassistant-stubs/components/solarlog/coordinator.pyi +1 -1
  767. homeassistant-stubs/components/sql/__init__.pyi +4 -6
  768. homeassistant-stubs/components/sql/config_flow.pyi +9 -4
  769. homeassistant-stubs/components/sql/const.pyi +1 -0
  770. homeassistant-stubs/components/sql/sensor.pyi +10 -18
  771. homeassistant-stubs/components/sql/services.pyi +18 -0
  772. homeassistant-stubs/components/sql/util.pyi +27 -3
  773. homeassistant-stubs/components/squeezebox/__init__.pyi +4 -1
  774. homeassistant-stubs/components/squeezebox/binary_sensor.pyi +16 -5
  775. homeassistant-stubs/components/squeezebox/browse_media.pyi +4 -3
  776. homeassistant-stubs/components/squeezebox/button.pyi +1 -0
  777. homeassistant-stubs/components/squeezebox/const.pyi +4 -1
  778. homeassistant-stubs/components/squeezebox/media_player.pyi +7 -2
  779. homeassistant-stubs/components/squeezebox/sensor.pyi +21 -3
  780. homeassistant-stubs/components/squeezebox/switch.pyi +1 -0
  781. homeassistant-stubs/components/squeezebox/util.pyi +6 -0
  782. homeassistant-stubs/components/ssdp/server.pyi +2 -3
  783. homeassistant-stubs/components/starlink/sensor.pyi +11 -1
  784. homeassistant-stubs/components/statistics/__init__.pyi +0 -1
  785. homeassistant-stubs/components/statistics/config_flow.pyi +1 -0
  786. homeassistant-stubs/components/stookwijzer/__init__.pyi +1 -1
  787. homeassistant-stubs/components/stookwijzer/services.pyi +3 -2
  788. homeassistant-stubs/components/suez_water/coordinator.pyi +2 -1
  789. homeassistant-stubs/components/sun/condition.pyi +12 -7
  790. homeassistant-stubs/components/sun/sensor.pyi +0 -2
  791. homeassistant-stubs/components/switch/trigger.pyi +8 -0
  792. homeassistant-stubs/components/switch_as_x/__init__.pyi +0 -1
  793. homeassistant-stubs/components/switch_as_x/config_flow.pyi +1 -0
  794. homeassistant-stubs/components/switchbot_cloud/__init__.pyi +2 -1
  795. homeassistant-stubs/components/switchbot_cloud/binary_sensor.pyi +9 -2
  796. homeassistant-stubs/components/switchbot_cloud/climate.pyi +37 -6
  797. homeassistant-stubs/components/switchbot_cloud/const.pyi +14 -0
  798. homeassistant-stubs/components/switchbot_cloud/entity.pyi +1 -1
  799. homeassistant-stubs/components/switchbot_cloud/humidifier.pyi +48 -0
  800. homeassistant-stubs/components/switchbot_cloud/light.pyi +10 -1
  801. homeassistant-stubs/components/switchbot_cloud/lock.pyi +7 -2
  802. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +39 -4
  803. homeassistant-stubs/components/switchbot_cloud/switch.pyi +13 -1
  804. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +4 -4
  805. homeassistant-stubs/components/switcher_kis/button.pyi +5 -6
  806. homeassistant-stubs/components/switcher_kis/climate.pyi +3 -3
  807. homeassistant-stubs/components/switcher_kis/config_flow.pyi +1 -1
  808. homeassistant-stubs/components/switcher_kis/const.pyi +2 -0
  809. homeassistant-stubs/components/switcher_kis/cover.pyi +4 -3
  810. homeassistant-stubs/components/switcher_kis/light.pyi +3 -2
  811. homeassistant-stubs/components/switcher_kis/sensor.pyi +4 -2
  812. homeassistant-stubs/components/switcher_kis/switch.pyi +3 -5
  813. homeassistant-stubs/components/synology_dsm/config_flow.pyi +1 -0
  814. homeassistant-stubs/components/synology_dsm/media_source.pyi +2 -2
  815. homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -0
  816. homeassistant-stubs/components/systemmonitor/__init__.pyi +0 -1
  817. homeassistant-stubs/components/systemmonitor/binary_sensor.pyi +4 -3
  818. homeassistant-stubs/components/systemmonitor/config_flow.pyi +1 -0
  819. homeassistant-stubs/components/systemmonitor/const.pyi +1 -0
  820. homeassistant-stubs/components/systemmonitor/coordinator.pyi +12 -6
  821. homeassistant-stubs/components/systemmonitor/sensor.pyi +8 -2
  822. homeassistant-stubs/components/systemmonitor/util.pyi +2 -1
  823. homeassistant-stubs/components/telegram_bot/__init__.pyi +9 -5
  824. homeassistant-stubs/components/telegram_bot/bot.pyi +16 -5
  825. homeassistant-stubs/components/telegram_bot/config_flow.pyi +4 -6
  826. homeassistant-stubs/components/telegram_bot/const.pyi +25 -4
  827. homeassistant-stubs/components/telegram_bot/diagnostics.pyi +11 -0
  828. homeassistant-stubs/components/telegram_bot/entity.pyi +16 -0
  829. homeassistant-stubs/components/telegram_bot/event.pyi +19 -0
  830. homeassistant-stubs/components/telegram_bot/helpers.pyi +4 -0
  831. homeassistant-stubs/components/telegram_bot/notify.pyi +6 -10
  832. homeassistant-stubs/components/text/trigger.pyi +13 -0
  833. homeassistant-stubs/components/threshold/__init__.pyi +0 -1
  834. homeassistant-stubs/components/threshold/config_flow.pyi +1 -0
  835. homeassistant-stubs/components/tibber/coordinator.pyi +1 -0
  836. homeassistant-stubs/components/tod/__init__.pyi +0 -1
  837. homeassistant-stubs/components/tod/config_flow.pyi +1 -0
  838. homeassistant-stubs/components/todo/__init__.pyi +1 -0
  839. homeassistant-stubs/components/tolo/__init__.pyi +3 -5
  840. homeassistant-stubs/components/tolo/binary_sensor.pyi +4 -6
  841. homeassistant-stubs/components/tolo/button.pyi +3 -5
  842. homeassistant-stubs/components/tolo/climate.pyi +3 -5
  843. homeassistant-stubs/components/tolo/config_flow.pyi +5 -3
  844. homeassistant-stubs/components/tolo/coordinator.pyi +3 -2
  845. homeassistant-stubs/components/tolo/entity.pyi +2 -3
  846. homeassistant-stubs/components/tolo/fan.pyi +3 -5
  847. homeassistant-stubs/components/tolo/light.pyi +3 -5
  848. homeassistant-stubs/components/tolo/number.pyi +3 -5
  849. homeassistant-stubs/components/tolo/select.pyi +4 -5
  850. homeassistant-stubs/components/tolo/sensor.pyi +3 -5
  851. homeassistant-stubs/components/tolo/switch.pyi +3 -5
  852. homeassistant-stubs/components/tplink/number.pyi +1 -1
  853. homeassistant-stubs/components/tplink_omada/__init__.pyi +6 -1
  854. homeassistant-stubs/components/tplink_omada/binary_sensor.pyi +2 -1
  855. homeassistant-stubs/components/tplink_omada/controller.pyi +4 -2
  856. homeassistant-stubs/components/tplink_omada/coordinator.pyi +17 -2
  857. homeassistant-stubs/components/tplink_omada/services.pyi +22 -0
  858. homeassistant-stubs/components/tplink_omada/switch.pyi +2 -1
  859. homeassistant-stubs/components/tplink_omada/update.pyi +3 -19
  860. homeassistant-stubs/components/tractive/switch.pyi +2 -2
  861. homeassistant-stubs/components/transmission/__init__.pyi +6 -13
  862. homeassistant-stubs/components/transmission/const.pyi +5 -0
  863. homeassistant-stubs/components/transmission/entity.pyi +13 -0
  864. homeassistant-stubs/components/transmission/helpers.pyi +6 -0
  865. homeassistant-stubs/components/transmission/sensor.pyi +5 -12
  866. homeassistant-stubs/components/transmission/services.pyi +37 -0
  867. homeassistant-stubs/components/transmission/switch.pyi +5 -9
  868. homeassistant-stubs/components/trend/__init__.pyi +0 -1
  869. homeassistant-stubs/components/trend/config_flow.pyi +1 -0
  870. homeassistant-stubs/components/tts/__init__.pyi +7 -3
  871. homeassistant-stubs/components/unifi/light.pyi +48 -0
  872. homeassistant-stubs/components/unifi/sensor.pyi +2 -0
  873. homeassistant-stubs/components/unifiprotect/__init__.pyi +4 -3
  874. homeassistant-stubs/components/unifiprotect/binary_sensor.pyi +1 -0
  875. homeassistant-stubs/components/unifiprotect/button.pyi +5 -4
  876. homeassistant-stubs/components/unifiprotect/camera.pyi +4 -1
  877. homeassistant-stubs/components/unifiprotect/config_flow.pyi +25 -5
  878. homeassistant-stubs/components/unifiprotect/const.pyi +2 -0
  879. homeassistant-stubs/components/unifiprotect/discovery.pyi +9 -1
  880. homeassistant-stubs/components/unifiprotect/entity.pyi +1 -1
  881. homeassistant-stubs/components/unifiprotect/event.pyi +34 -2
  882. homeassistant-stubs/components/unifiprotect/light.pyi +5 -1
  883. homeassistant-stubs/components/unifiprotect/lock.pyi +4 -0
  884. homeassistant-stubs/components/unifiprotect/media_player.pyi +2 -0
  885. homeassistant-stubs/components/unifiprotect/number.pyi +6 -2
  886. homeassistant-stubs/components/unifiprotect/repairs.pyi +1 -2
  887. homeassistant-stubs/components/unifiprotect/select.pyi +6 -5
  888. homeassistant-stubs/components/unifiprotect/sensor.pyi +1 -12
  889. homeassistant-stubs/components/unifiprotect/services.pyi +3 -2
  890. homeassistant-stubs/components/unifiprotect/switch.pyi +8 -2
  891. homeassistant-stubs/components/unifiprotect/text.pyi +6 -2
  892. homeassistant-stubs/components/unifiprotect/utils.pyi +6 -2
  893. homeassistant-stubs/components/update/trigger.pyi +8 -0
  894. homeassistant-stubs/components/uptime_kuma/config_flow.pyi +1 -0
  895. homeassistant-stubs/components/uptimerobot/binary_sensor.pyi +2 -0
  896. homeassistant-stubs/components/uptimerobot/config_flow.pyi +1 -0
  897. homeassistant-stubs/components/uptimerobot/sensor.pyi +2 -0
  898. homeassistant-stubs/components/uptimerobot/switch.pyi +2 -0
  899. homeassistant-stubs/components/uptimerobot/utils.pyi +5 -0
  900. homeassistant-stubs/components/usb/__init__.pyi +4 -4
  901. homeassistant-stubs/components/usb/utils.pyi +7 -0
  902. homeassistant-stubs/components/vacuum/__init__.pyi +0 -15
  903. homeassistant-stubs/components/vacuum/intent.pyi +1 -1
  904. homeassistant-stubs/components/vacuum/trigger.pyi +7 -0
  905. homeassistant-stubs/components/velbus/__init__.pyi +1 -1
  906. homeassistant-stubs/components/velbus/config_flow.pyi +17 -4
  907. homeassistant-stubs/components/velbus/const.pyi +1 -0
  908. homeassistant-stubs/components/velbus/entity.pyi +1 -1
  909. homeassistant-stubs/components/velbus/sensor.pyi +19 -10
  910. homeassistant-stubs/components/velbus/services.pyi +1 -1
  911. homeassistant-stubs/components/vivotek/__init__.pyi +17 -0
  912. homeassistant-stubs/components/vivotek/camera.pyi +41 -0
  913. homeassistant-stubs/components/vivotek/config_flow.pyi +25 -0
  914. homeassistant-stubs/components/vivotek/const.pyi +6 -0
  915. homeassistant-stubs/components/vodafone_station/__init__.pyi +3 -1
  916. homeassistant-stubs/components/vodafone_station/config_flow.pyi +3 -2
  917. homeassistant-stubs/components/vodafone_station/const.pyi +3 -0
  918. homeassistant-stubs/components/vodafone_station/coordinator.pyi +4 -4
  919. homeassistant-stubs/components/volvo/__init__.pyi +4 -2
  920. homeassistant-stubs/components/volvo/api.pyi +4 -0
  921. homeassistant-stubs/components/volvo/binary_sensor.pyi +1 -3
  922. homeassistant-stubs/components/volvo/button.pyi +27 -0
  923. homeassistant-stubs/components/volvo/coordinator.pyi +20 -9
  924. homeassistant-stubs/components/volvo/device_tracker.pyi +23 -0
  925. homeassistant-stubs/components/volvo/diagnostics.pyi +12 -0
  926. homeassistant-stubs/components/volvo/entity.pyi +9 -5
  927. homeassistant-stubs/components/volvo/lock.pyi +37 -0
  928. homeassistant-stubs/components/volvo/sensor.pyi +9 -8
  929. homeassistant-stubs/components/wake_on_lan/__init__.pyi +0 -1
  930. homeassistant-stubs/components/wake_on_lan/config_flow.pyi +1 -0
  931. homeassistant-stubs/components/wallbox/__init__.pyi +2 -3
  932. homeassistant-stubs/components/wallbox/config_flow.pyi +2 -2
  933. homeassistant-stubs/components/wallbox/const.pyi +5 -0
  934. homeassistant-stubs/components/wallbox/coordinator.pyi +12 -9
  935. homeassistant-stubs/components/waqi/__init__.pyi +8 -0
  936. homeassistant-stubs/components/waqi/config_flow.pyi +14 -9
  937. homeassistant-stubs/components/waqi/const.pyi +1 -1
  938. homeassistant-stubs/components/waqi/coordinator.pyi +5 -4
  939. homeassistant-stubs/components/waqi/diagnostics.pyi +5 -0
  940. homeassistant-stubs/components/watts/__init__.pyi +28 -0
  941. homeassistant-stubs/components/watts/application_credentials.pyi +5 -0
  942. homeassistant-stubs/components/watts/climate.pyi +35 -0
  943. homeassistant-stubs/components/watts/config_flow.pyi +13 -0
  944. homeassistant-stubs/components/watts/const.pyi +12 -0
  945. homeassistant-stubs/components/watts/coordinator.pyi +40 -0
  946. homeassistant-stubs/components/watts/entity.pyi +17 -0
  947. homeassistant-stubs/components/webhook/trigger.pyi +3 -1
  948. homeassistant-stubs/components/webostv/media_player.pyi +3 -0
  949. homeassistant-stubs/components/websocket_api/automation.pyi +47 -0
  950. homeassistant-stubs/components/websocket_api/commands.pyi +11 -0
  951. homeassistant-stubs/components/websocket_api/http.pyi +1 -0
  952. homeassistant-stubs/components/withings/__init__.pyi +2 -1
  953. homeassistant-stubs/components/withings/const.pyi +0 -1
  954. homeassistant-stubs/components/withings/sensor.pyi +2 -2
  955. homeassistant-stubs/components/wled/__init__.pyi +4 -3
  956. homeassistant-stubs/components/wled/analytics.pyi +4 -0
  957. homeassistant-stubs/components/wled/button.pyi +3 -2
  958. homeassistant-stubs/components/wled/config_flow.pyi +8 -2
  959. homeassistant-stubs/components/wled/coordinator.pyi +8 -2
  960. homeassistant-stubs/components/wled/diagnostics.pyi +1 -1
  961. homeassistant-stubs/components/wled/helpers.pyi +1 -0
  962. homeassistant-stubs/components/wled/light.pyi +1 -2
  963. homeassistant-stubs/components/wled/number.pyi +1 -2
  964. homeassistant-stubs/components/wled/select.pyi +7 -5
  965. homeassistant-stubs/components/wled/sensor.pyi +3 -2
  966. homeassistant-stubs/components/wled/switch.pyi +1 -2
  967. homeassistant-stubs/components/wled/update.pyi +4 -2
  968. homeassistant-stubs/components/workday/calendar.pyi +23 -0
  969. homeassistant-stubs/components/worldclock/__init__.pyi +0 -1
  970. homeassistant-stubs/components/worldclock/config_flow.pyi +1 -0
  971. homeassistant-stubs/components/xbox/__init__.pyi +19 -0
  972. homeassistant-stubs/components/xbox/api.pyi +15 -0
  973. homeassistant-stubs/components/xbox/application_credentials.pyi +5 -0
  974. homeassistant-stubs/components/xbox/binary_sensor.pyi +36 -0
  975. homeassistant-stubs/components/xbox/browse_media.pyi +17 -0
  976. homeassistant-stubs/components/xbox/config_flow.pyi +27 -0
  977. homeassistant-stubs/components/xbox/const.pyi +4 -0
  978. homeassistant-stubs/components/xbox/coordinator.pyi +54 -0
  979. homeassistant-stubs/components/xbox/diagnostics.pyi +9 -0
  980. homeassistant-stubs/components/xbox/entity.pyi +54 -0
  981. homeassistant-stubs/components/xbox/image.pyi +34 -0
  982. homeassistant-stubs/components/xbox/media_player.pyi +45 -0
  983. homeassistant-stubs/components/xbox/media_source.pyi +51 -0
  984. homeassistant-stubs/components/xbox/remote.pyi +20 -0
  985. homeassistant-stubs/components/xbox/sensor.pyi +74 -0
  986. homeassistant-stubs/components/yalexs_ble/__init__.pyi +3 -2
  987. homeassistant-stubs/components/yalexs_ble/config_cache.pyi +10 -0
  988. homeassistant-stubs/components/yalexs_ble/config_flow.pyi +6 -2
  989. homeassistant-stubs/components/youtube/__init__.pyi +1 -1
  990. homeassistant-stubs/components/zeroconf/__init__.pyi +3 -1
  991. homeassistant-stubs/components/zeroconf/discovery.pyi +8 -1
  992. homeassistant-stubs/components/zeroconf/repairs.pyi +13 -0
  993. homeassistant-stubs/components/zone/condition.pyi +12 -6
  994. homeassistant-stubs/components/zwave_js/__init__.pyi +1 -1
  995. homeassistant-stubs/components/zwave_js/binary_sensor.pyi +1 -0
  996. homeassistant-stubs/components/zwave_js/config_flow.pyi +7 -3
  997. homeassistant-stubs/components/zwave_js/const.pyi +3 -0
  998. homeassistant-stubs/components/zwave_js/device_trigger.pyi +2 -2
  999. homeassistant-stubs/components/zwave_js/entity.pyi +2 -2
  1000. homeassistant-stubs/components/zwave_js/event.pyi +11 -5
  1001. homeassistant-stubs/components/zwave_js/triggers/event.pyi +24 -11
  1002. homeassistant-stubs/components/zwave_js/triggers/value_updated.pyi +13 -9
  1003. homeassistant-stubs/config_entries.pyi +15 -4
  1004. homeassistant-stubs/const.pyi +12 -74
  1005. homeassistant-stubs/core.pyi +4 -17
  1006. homeassistant-stubs/core_config.pyi +1 -1
  1007. homeassistant-stubs/data_entry_flow.pyi +20 -3
  1008. homeassistant-stubs/generated/entity_platforms.pyi +46 -0
  1009. homeassistant-stubs/generated/labs.pyi +3 -0
  1010. homeassistant-stubs/helpers/area_registry.pyi +4 -2
  1011. homeassistant-stubs/helpers/automation.pyi +7 -0
  1012. homeassistant-stubs/helpers/condition.pyi +36 -10
  1013. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +3 -0
  1014. homeassistant-stubs/helpers/config_validation.pyi +5 -4
  1015. homeassistant-stubs/helpers/debounce.pyi +6 -1
  1016. homeassistant-stubs/helpers/deprecation.pyi +1 -0
  1017. homeassistant-stubs/helpers/device_registry.pyi +6 -5
  1018. homeassistant-stubs/helpers/entity.pyi +0 -1
  1019. homeassistant-stubs/helpers/entity_component.pyi +3 -5
  1020. homeassistant-stubs/helpers/entity_platform.pyi +2 -2
  1021. homeassistant-stubs/helpers/entity_registry.pyi +4 -4
  1022. homeassistant-stubs/helpers/event.pyi +3 -2
  1023. homeassistant-stubs/helpers/floor_registry.pyi +7 -1
  1024. homeassistant-stubs/helpers/instance_id.pyi +1 -0
  1025. homeassistant-stubs/helpers/intent.pyi +6 -8
  1026. homeassistant-stubs/helpers/json.pyi +1 -0
  1027. homeassistant-stubs/helpers/llm.pyi +6 -1
  1028. homeassistant-stubs/helpers/registry.pyi +0 -1
  1029. homeassistant-stubs/helpers/schema_config_entry_flow.pyi +5 -1
  1030. homeassistant-stubs/helpers/script.pyi +7 -7
  1031. homeassistant-stubs/helpers/selector.pyi +43 -21
  1032. homeassistant-stubs/helpers/service.pyi +17 -19
  1033. homeassistant-stubs/helpers/service_info/esphome.pyi +12 -0
  1034. homeassistant-stubs/helpers/storage.pyi +6 -4
  1035. homeassistant-stubs/helpers/target.pyi +9 -4
  1036. homeassistant-stubs/helpers/{template.pyi → template/__init__.pyi} +12 -141
  1037. homeassistant-stubs/helpers/template/context.pyi +16 -0
  1038. homeassistant-stubs/helpers/template/extensions/__init__.pyi +14 -0
  1039. homeassistant-stubs/helpers/template/extensions/areas.pyi +14 -0
  1040. homeassistant-stubs/helpers/template/extensions/base.pyi +30 -0
  1041. homeassistant-stubs/helpers/template/extensions/base64.pyi +9 -0
  1042. homeassistant-stubs/helpers/template/extensions/collection.pyi +18 -0
  1043. homeassistant-stubs/helpers/template/extensions/crypto.pyi +13 -0
  1044. homeassistant-stubs/helpers/template/extensions/datetime.pyi +28 -0
  1045. homeassistant-stubs/helpers/template/extensions/devices.pyi +13 -0
  1046. homeassistant-stubs/helpers/template/extensions/floors.pyi +14 -0
  1047. homeassistant-stubs/helpers/template/extensions/issues.pyi +8 -0
  1048. homeassistant-stubs/helpers/template/extensions/labels.pyi +15 -0
  1049. homeassistant-stubs/helpers/template/extensions/math.pyi +49 -0
  1050. homeassistant-stubs/helpers/template/extensions/regex.pyi +14 -0
  1051. homeassistant-stubs/helpers/template/extensions/string.pyi +9 -0
  1052. homeassistant-stubs/helpers/template/helpers.pyi +6 -0
  1053. homeassistant-stubs/helpers/template/render_info.pyi +39 -0
  1054. homeassistant-stubs/helpers/trigger.pyi +136 -11
  1055. homeassistant-stubs/helpers/trigger_template_entity.pyi +2 -1
  1056. homeassistant-stubs/helpers/typing.pyi +0 -11
  1057. homeassistant-stubs/helpers/update_coordinator.pyi +6 -3
  1058. homeassistant-stubs/loader.pyi +3 -0
  1059. homeassistant-stubs/requirements.pyi +4 -3
  1060. homeassistant-stubs/runner.pyi +17 -1
  1061. homeassistant-stubs/util/__init__.pyi +1 -0
  1062. homeassistant-stubs/util/async_iterator.pyi +33 -0
  1063. homeassistant-stubs/util/unit_conversion.pyi +18 -0
  1064. {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/METADATA +2 -2
  1065. {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/RECORD +1067 -859
  1066. {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/WHEEL +1 -1
  1067. homeassistant-stubs/components/bluetooth_tracker/__init__.pyi +0 -0
  1068. homeassistant-stubs/components/bluetooth_tracker/const.pyi +0 -7
  1069. homeassistant-stubs/components/bluetooth_tracker/device_tracker.pyi +0 -19
  1070. homeassistant-stubs/components/elevenlabs/__init__.pyi +0 -22
  1071. homeassistant-stubs/components/elevenlabs/config_flow.pyi +0 -33
  1072. homeassistant-stubs/components/elevenlabs/const.pyi +0 -14
  1073. homeassistant-stubs/components/elevenlabs/tts.pyi +0 -36
  1074. homeassistant-stubs/components/home_connect/time.pyi +0 -29
  1075. homeassistant-stubs/components/music_assistant/actions.pyi +0 -22
  1076. homeassistant-stubs/components/pandora/__init__.pyi +0 -1
  1077. homeassistant-stubs/components/pandora/media_player.pyi +0 -52
  1078. homeassistant-stubs/components/recorder/history/legacy.pyi +0 -48
  1079. homeassistant-stubs/components/recorder/history/modern.pyi +0 -39
  1080. homeassistant-stubs/components/recorder/models/legacy.pyi +0 -45
  1081. homeassistant-stubs/components/sfr_box/models.pyi +0 -12
  1082. {homeassistant_stubs-2025.9.0b0.dist-info → homeassistant_stubs-2026.1.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,27 +1,35 @@
1
- from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
2
- from .entity import KnxYamlEntity as KnxYamlEntity
1
+ from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
2
+ from .entity import KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity
3
3
  from .knx_module import KNXModule as KNXModule
4
+ from .storage.const import CONF_ENTITY as CONF_ENTITY, CONF_GA_DATETIME as CONF_GA_DATETIME
5
+ from .storage.util import ConfigExtractor as ConfigExtractor
4
6
  from _typeshed import Incomplete
5
7
  from datetime import datetime
6
8
  from homeassistant import config_entries as config_entries
7
9
  from homeassistant.components.datetime import DateTimeEntity as DateTimeEntity
8
10
  from homeassistant.const import CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_NAME as CONF_NAME, Platform as Platform, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
9
11
  from homeassistant.core import HomeAssistant as HomeAssistant
10
- from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, async_get_current_platform as async_get_current_platform
11
13
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
12
14
  from homeassistant.helpers.typing import ConfigType as ConfigType
13
- from xknx import XKNX as XKNX
15
+ from typing import Any
14
16
  from xknx.devices import DateTimeDevice as XknxDateTimeDevice
15
17
 
16
18
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
- def _create_xknx_device(xknx: XKNX, config: ConfigType) -> XknxDateTimeDevice: ...
18
19
 
19
- class KNXDateTimeEntity(KnxYamlEntity, DateTimeEntity, RestoreEntity):
20
+ class _KNXDateTime(DateTimeEntity, RestoreEntity):
20
21
  _device: XknxDateTimeDevice
21
- _attr_entity_category: Incomplete
22
- _attr_unique_id: Incomplete
23
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
24
22
  async def async_added_to_hass(self) -> None: ...
25
23
  @property
26
24
  def native_value(self) -> datetime | None: ...
27
25
  async def async_set_value(self, value: datetime) -> None: ...
26
+
27
+ class KnxYamlDateTime(_KNXDateTime, KnxYamlEntity):
28
+ _device: XknxDateTimeDevice
29
+ _attr_entity_category: Incomplete
30
+ _attr_unique_id: Incomplete
31
+ def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
32
+
33
+ class KnxUiDateTime(_KNXDateTime, KnxUiEntity):
34
+ _device: XknxDateTimeDevice
35
+ def __init__(self, knx_module: KNXModule, unique_id: str, config: dict[str, Any]) -> None: ...
@@ -0,0 +1,26 @@
1
+ from _typeshed import Incomplete
2
+ from collections.abc import Mapping
3
+ from functools import cache
4
+ from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorStateClass as SensorStateClass
5
+ from typing import TypedDict
6
+ from xknx.dpt import DPTBase
7
+
8
+ HaDptClass: Incomplete
9
+
10
+ class DPTInfo(TypedDict):
11
+ dpt_class: HaDptClass
12
+ main: int
13
+ sub: int | None
14
+ name: str | None
15
+ unit: str | None
16
+ sensor_device_class: SensorDeviceClass | None
17
+ sensor_state_class: SensorStateClass | None
18
+
19
+ @cache
20
+ def get_supported_dpts() -> Mapping[str, DPTInfo]: ...
21
+ def _ha_dpt_class(dpt_cls: type[DPTBase]) -> HaDptClass: ...
22
+
23
+ _sensor_device_classes: Mapping[str, SensorDeviceClass]
24
+ _sensor_state_class_overrides: Mapping[str, SensorStateClass | None]
25
+
26
+ def _get_sensor_state_class(ha_dpt_class: HaDptClass, dpt_number_str: str) -> SensorStateClass | None: ...
@@ -1,38 +1,51 @@
1
- from .const import KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
2
- from .entity import KnxYamlEntity as KnxYamlEntity
1
+ from .const import CONF_SYNC_STATE as CONF_SYNC_STATE, DOMAIN as DOMAIN, FanConf as FanConf, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
2
+ from .entity import KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity
3
3
  from .knx_module import KNXModule as KNXModule
4
4
  from .schema import FanSchema as FanSchema
5
+ from .storage.const import CONF_ENTITY as CONF_ENTITY, CONF_GA_OSCILLATION as CONF_GA_OSCILLATION, CONF_GA_SPEED as CONF_GA_SPEED, CONF_GA_STEP as CONF_GA_STEP, CONF_GA_SWITCH as CONF_GA_SWITCH, CONF_SPEED as CONF_SPEED
6
+ from .storage.util import ConfigExtractor as ConfigExtractor
5
7
  from _typeshed import Incomplete
6
8
  from homeassistant import config_entries as config_entries
7
9
  from homeassistant.components.fan import FanEntity as FanEntity, FanEntityFeature as FanEntityFeature
8
10
  from homeassistant.const import CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_NAME as CONF_NAME, Platform as Platform
9
11
  from homeassistant.core import HomeAssistant as HomeAssistant
10
- from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, async_get_current_platform as async_get_current_platform
11
13
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
14
  from homeassistant.util.percentage import percentage_to_ranged_value as percentage_to_ranged_value, ranged_value_to_percentage as ranged_value_to_percentage
13
15
  from homeassistant.util.scaling import int_states_in_range as int_states_in_range
14
- from typing import Any, Final
16
+ from propcache.api import cached_property
17
+ from typing import Any
15
18
  from xknx.devices import Fan as XknxFan
16
19
 
17
- DEFAULT_PERCENTAGE: Final[int]
18
-
19
20
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
20
21
 
21
- class KNXFan(KnxYamlEntity, FanEntity):
22
+ class _KnxFan(FanEntity):
22
23
  _device: XknxFan
23
24
  _step_range: tuple[int, int] | None
24
- _attr_entity_category: Incomplete
25
- _attr_unique_id: Incomplete
26
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
25
+ def _get_knx_speed(self, percentage: int) -> int: ...
27
26
  async def async_set_percentage(self, percentage: int) -> None: ...
28
- @property
27
+ @cached_property
29
28
  def supported_features(self) -> FanEntityFeature: ...
30
29
  @property
31
30
  def percentage(self) -> int | None: ...
32
- @property
31
+ @cached_property
33
32
  def speed_count(self) -> int: ...
33
+ @property
34
+ def is_on(self) -> bool: ...
34
35
  async def async_turn_on(self, percentage: int | None = None, preset_mode: str | None = None, **kwargs: Any) -> None: ...
35
36
  async def async_turn_off(self, **kwargs: Any) -> None: ...
36
37
  async def async_oscillate(self, oscillating: bool) -> None: ...
37
38
  @property
38
39
  def oscillating(self) -> bool | None: ...
40
+
41
+ class KnxYamlFan(_KnxFan, KnxYamlEntity):
42
+ _device: XknxFan
43
+ _step_range: tuple[int, int] | None
44
+ _attr_entity_category: Incomplete
45
+ _attr_unique_id: Incomplete
46
+ def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
47
+
48
+ class KnxUiFan(_KnxFan, KnxUiEntity):
49
+ _device: XknxFan
50
+ _step_range: tuple[int, int] | None
51
+ def __init__(self, knx_module: KNXModule, unique_id: str, config: dict[str, Any]) -> None: ...
@@ -2,6 +2,7 @@ from .const import CONF_KNX_CONNECTION_TYPE as CONF_KNX_CONNECTION_TYPE, CONF_KN
2
2
  from .device import KNXInterfaceDevice as KNXInterfaceDevice
3
3
  from .expose import KNXExposeSensor as KNXExposeSensor, KNXExposeTime as KNXExposeTime
4
4
  from .project import KNXProject as KNXProject
5
+ from .repairs import data_secure_group_key_issue_dispatcher as data_secure_group_key_issue_dispatcher
5
6
  from .storage.config_store import KNXConfigStore as KNXConfigStore
6
7
  from .telegrams import Telegrams as Telegrams
7
8
  from _typeshed import Incomplete
@@ -33,11 +34,14 @@ class KNXModule:
33
34
  interface_device: Incomplete
34
35
  _address_filter_transcoder: dict[AddressFilter, type[DPTBase]]
35
36
  group_address_transcoder: dict[DeviceGroupAddress, type[DPTBase]]
37
+ group_address_entities: dict[DeviceGroupAddress, set[tuple[str, str]]]
36
38
  knx_event_callback: TelegramQueue.Callback
37
39
  def __init__(self, hass: HomeAssistant, config: ConfigType, entry: ConfigEntry) -> None: ...
38
40
  async def start(self) -> None: ...
39
41
  async def stop(self, event: Event | None = None) -> None: ...
40
42
  def connection_config(self) -> ConnectionConfig: ...
43
+ def add_to_group_address_entities(self, group_addresses: set[DeviceGroupAddress], identifier: tuple[str, str]) -> None: ...
44
+ def remove_from_group_address_entities(self, group_addresses: set[DeviceGroupAddress], identifier: tuple[str, str]) -> None: ...
41
45
  def connection_state_changed_cb(self, state: XknxConnectionState) -> None: ...
42
46
  def telegram_received_cb(self, telegram: Telegram) -> None: ...
43
47
  def register_event_callback(self) -> TelegramQueue.Callback: ...
@@ -0,0 +1,26 @@
1
+ from .const import CONF_KNX_KNXKEY_PASSWORD as CONF_KNX_KNXKEY_PASSWORD, DOMAIN as DOMAIN, KNXConfigEntryData as KNXConfigEntryData, REPAIR_ISSUE_DATA_SECURE_GROUP_KEY as REPAIR_ISSUE_DATA_SECURE_GROUP_KEY
2
+ from .knx_module import KNXModule as KNXModule
3
+ from .storage.keyring import DEFAULT_KNX_KEYRING_FILENAME as DEFAULT_KNX_KEYRING_FILENAME, save_uploaded_knxkeys_file as save_uploaded_knxkeys_file
4
+ from .telegrams import SIGNAL_KNX_DATA_SECURE_ISSUE_TELEGRAM as SIGNAL_KNX_DATA_SECURE_ISSUE_TELEGRAM, TelegramDict as TelegramDict
5
+ from collections.abc import Callable as Callable
6
+ from homeassistant import data_entry_flow as data_entry_flow
7
+ from homeassistant.components.repairs import RepairsFlow as RepairsFlow
8
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
+ from homeassistant.helpers import selector as selector
10
+ from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
11
+ from typing import Any, Final
12
+ from xknx.telegram import Telegram as Telegram
13
+
14
+ CONF_KEYRING_FILE: Final[str]
15
+
16
+ async def async_create_fix_flow(hass: HomeAssistant, issue_id: str, data: dict[str, str | int | float | None] | None) -> RepairsFlow: ...
17
+ @callback
18
+ def data_secure_group_key_issue_dispatcher(knx_module: KNXModule) -> Callable[[], None]: ...
19
+ @callback
20
+ def _data_secure_group_key_issue_handler(knx_module: KNXModule, telegram: Telegram, telegram_dict: TelegramDict) -> None: ...
21
+
22
+ class DataSecureGroupIssueRepairFlow(RepairsFlow):
23
+ async def async_step_init(self, user_input: dict[str, str] | None = None) -> data_entry_flow.FlowResult: ...
24
+ async def async_step_secure_knxkeys(self, user_input: dict[str, Any] | None = None) -> data_entry_flow.FlowResult: ...
25
+ @callback
26
+ def finish_flow(self, new_entry_data: KNXConfigEntryData) -> data_entry_flow.FlowResult: ...
@@ -1,23 +1,32 @@
1
- from .const import KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
2
- from .entity import KnxYamlEntity as KnxYamlEntity
1
+ from .const import DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY, SceneConf as SceneConf
2
+ from .entity import KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity, _KnxEntityBase as _KnxEntityBase
3
3
  from .knx_module import KNXModule as KNXModule
4
4
  from .schema import SceneSchema as SceneSchema
5
+ from .storage.const import CONF_ENTITY as CONF_ENTITY, CONF_GA_SCENE as CONF_GA_SCENE
6
+ from .storage.util import ConfigExtractor as ConfigExtractor
5
7
  from _typeshed import Incomplete
6
8
  from homeassistant import config_entries as config_entries
7
9
  from homeassistant.components.scene import BaseScene as BaseScene
8
10
  from homeassistant.const import CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_NAME as CONF_NAME, Platform as Platform
9
11
  from homeassistant.core import HomeAssistant as HomeAssistant
10
- from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, async_get_current_platform as async_get_current_platform
11
13
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
14
  from typing import Any
13
15
  from xknx.devices import Device as XknxDevice, Scene as XknxScene
14
16
 
15
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
18
 
17
- class KNXScene(KnxYamlEntity, BaseScene):
19
+ class _KnxScene(BaseScene, _KnxEntityBase):
20
+ _device: XknxScene
21
+ async def _async_activate(self, **kwargs: Any) -> None: ...
22
+ def after_update_callback(self, device: XknxDevice) -> None: ...
23
+
24
+ class KnxYamlScene(_KnxScene, KnxYamlEntity):
18
25
  _device: XknxScene
19
26
  _attr_entity_category: Incomplete
20
27
  _attr_unique_id: Incomplete
21
28
  def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
22
- async def _async_activate(self, **kwargs: Any) -> None: ...
23
- def after_update_callback(self, device: XknxDevice) -> None: ...
29
+
30
+ class KnxUiScene(_KnxScene, KnxUiEntity):
31
+ _device: XknxScene
32
+ def __init__(self, knx_module: KNXModule, unique_id: str, config: ConfigType) -> None: ...
@@ -1,5 +1,5 @@
1
1
  import voluptuous as vol
2
- from .const import CONF_CONTEXT_TIMEOUT as CONF_CONTEXT_TIMEOUT, CONF_IGNORE_INTERNAL_STATE as CONF_IGNORE_INTERNAL_STATE, CONF_INVERT as CONF_INVERT, CONF_KNX_EXPOSE as CONF_KNX_EXPOSE, CONF_PAYLOAD_LENGTH as CONF_PAYLOAD_LENGTH, CONF_RESET_AFTER as CONF_RESET_AFTER, CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, ColorTempModes as ColorTempModes, CoverConf as CoverConf, FanZeroMode as FanZeroMode, KNX_ADDRESS as KNX_ADDRESS
2
+ from .const import CONF_CONTEXT_TIMEOUT as CONF_CONTEXT_TIMEOUT, CONF_IGNORE_INTERNAL_STATE as CONF_IGNORE_INTERNAL_STATE, CONF_INVERT as CONF_INVERT, CONF_KNX_EXPOSE as CONF_KNX_EXPOSE, CONF_PAYLOAD_LENGTH as CONF_PAYLOAD_LENGTH, CONF_RESET_AFTER as CONF_RESET_AFTER, CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, ClimateConf as ClimateConf, ColorTempModes as ColorTempModes, CoverConf as CoverConf, FanConf as FanConf, FanZeroMode as FanZeroMode, KNX_ADDRESS as KNX_ADDRESS, SceneConf as SceneConf
3
3
  from .validation import backwards_compatible_xknx_climate_enum_member as backwards_compatible_xknx_climate_enum_member, dpt_base_type_validator as dpt_base_type_validator, ga_list_validator as ga_list_validator, ga_validator as ga_validator, numeric_type_validator as numeric_type_validator, sensor_type_validator as sensor_type_validator, string_type_validator as string_type_validator, sync_state_validator as sync_state_validator
4
4
  from _typeshed import Incomplete
5
5
  from abc import ABC
@@ -46,10 +46,7 @@ class ClimateSchema(KNXPlatformSchema):
46
46
  CONF_SETPOINT_SHIFT_ADDRESS: str
47
47
  CONF_SETPOINT_SHIFT_STATE_ADDRESS: str
48
48
  CONF_SETPOINT_SHIFT_MODE: str
49
- CONF_SETPOINT_SHIFT_MAX: str
50
- CONF_SETPOINT_SHIFT_MIN: str
51
49
  CONF_TEMPERATURE_ADDRESS: str
52
- CONF_TEMPERATURE_STEP: str
53
50
  CONF_TARGET_TEMPERATURE_ADDRESS: str
54
51
  CONF_TARGET_TEMPERATURE_STATE_ADDRESS: str
55
52
  CONF_OPERATION_MODE_ADDRESS: str
@@ -65,19 +62,10 @@ class ClimateSchema(KNXPlatformSchema):
65
62
  CONF_OPERATION_MODE_NIGHT_ADDRESS: str
66
63
  CONF_OPERATION_MODE_COMFORT_ADDRESS: str
67
64
  CONF_OPERATION_MODE_STANDBY_ADDRESS: str
68
- CONF_OPERATION_MODES: str
69
- CONF_CONTROLLER_MODES: str
70
- CONF_DEFAULT_CONTROLLER_MODE: str
71
65
  CONF_ON_OFF_ADDRESS: str
72
66
  CONF_ON_OFF_STATE_ADDRESS: str
73
- CONF_ON_OFF_INVERT: str
74
- CONF_MIN_TEMP: str
75
- CONF_MAX_TEMP: str
76
67
  CONF_FAN_SPEED_ADDRESS: str
77
68
  CONF_FAN_SPEED_STATE_ADDRESS: str
78
- CONF_FAN_MAX_STEP: str
79
- CONF_FAN_SPEED_MODE: str
80
- CONF_FAN_ZERO_MODE: str
81
69
  CONF_HUMIDITY_STATE_ADDRESS: str
82
70
  CONF_SWING_ADDRESS: str
83
71
  CONF_SWING_STATE_ADDRESS: str
@@ -135,7 +123,8 @@ class FanSchema(KNXPlatformSchema):
135
123
  CONF_STATE_ADDRESS = CONF_STATE_ADDRESS
136
124
  CONF_OSCILLATION_ADDRESS: str
137
125
  CONF_OSCILLATION_STATE_ADDRESS: str
138
- CONF_MAX_STEP: str
126
+ CONF_SWITCH_ADDRESS: str
127
+ CONF_SWITCH_STATE_ADDRESS: str
139
128
  DEFAULT_NAME: str
140
129
  ENTITY_SCHEMA: Incomplete
141
130
 
@@ -1,22 +1,24 @@
1
- from .const import ATTR_SOURCE as ATTR_SOURCE, KNX_MODULE_KEY as KNX_MODULE_KEY
2
- from .entity import KnxYamlEntity as KnxYamlEntity
1
+ from .const import ATTR_SOURCE as ATTR_SOURCE, CONF_SYNC_STATE as CONF_SYNC_STATE, DOMAIN as DOMAIN, KNX_MODULE_KEY as KNX_MODULE_KEY
2
+ from .dpt import get_supported_dpts as get_supported_dpts
3
+ from .entity import KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity, _KnxEntityBase as _KnxEntityBase
3
4
  from .knx_module import KNXModule as KNXModule
4
5
  from .schema import SensorSchema as SensorSchema
6
+ from .storage.const import CONF_ALWAYS_CALLBACK as CONF_ALWAYS_CALLBACK, CONF_ENTITY as CONF_ENTITY, CONF_GA_SENSOR as CONF_GA_SENSOR
7
+ from .storage.util import ConfigExtractor as ConfigExtractor
5
8
  from _typeshed import Incomplete
6
9
  from collections.abc import Callable as Callable
7
10
  from dataclasses import dataclass
8
11
  from datetime import datetime
9
12
  from homeassistant import config_entries as config_entries
10
- from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
11
- from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_NAME as CONF_NAME, CONF_TYPE as CONF_TYPE, EntityCategory as EntityCategory, Platform as Platform
13
+ from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, RestoreSensor as RestoreSensor, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
14
+ from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_NAME as CONF_NAME, CONF_TYPE as CONF_TYPE, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, EntityCategory as EntityCategory, Platform as Platform, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
12
15
  from homeassistant.core import HomeAssistant as HomeAssistant
13
- from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
16
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, async_get_current_platform as async_get_current_platform
14
17
  from homeassistant.helpers.typing import ConfigType as ConfigType, StateType as StateType
15
18
  from homeassistant.util.enum import try_parse_enum as try_parse_enum
16
19
  from typing import Any
17
- from xknx import XKNX as XKNX
18
20
  from xknx.core.connection_state import XknxConnectionState
19
- from xknx.devices import Sensor as XknxSensor
21
+ from xknx.devices import Device as XknxDevice, Sensor as XknxSensor
20
22
 
21
23
  SCAN_INTERVAL: Incomplete
22
24
 
@@ -31,9 +33,14 @@ class KNXSystemEntityDescription(SensorEntityDescription):
31
33
  SYSTEM_ENTITY_DESCRIPTIONS: Incomplete
32
34
 
33
35
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
34
- def _create_sensor(xknx: XKNX, config: ConfigType) -> XknxSensor: ...
35
36
 
36
- class KNXSensor(KnxYamlEntity, SensorEntity):
37
+ class _KnxSensor(RestoreSensor, _KnxEntityBase):
38
+ _device: XknxSensor
39
+ _attr_native_value: Incomplete
40
+ async def async_added_to_hass(self) -> None: ...
41
+ def after_update_callback(self, device: XknxDevice) -> None: ...
42
+
43
+ class KnxYamlSensor(_KnxSensor, KnxYamlEntity):
37
44
  _device: XknxSensor
38
45
  _attr_device_class: Incomplete
39
46
  _attr_force_update: Incomplete
@@ -41,11 +48,17 @@ class KNXSensor(KnxYamlEntity, SensorEntity):
41
48
  _attr_unique_id: Incomplete
42
49
  _attr_native_unit_of_measurement: Incomplete
43
50
  _attr_state_class: Incomplete
51
+ _attr_extra_state_attributes: Incomplete
44
52
  def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
45
- @property
46
- def native_value(self) -> StateType: ...
47
- @property
48
- def extra_state_attributes(self) -> dict[str, Any] | None: ...
53
+
54
+ class KnxUiSensor(_KnxSensor, KnxUiEntity):
55
+ _device: XknxSensor
56
+ _attr_device_class: Incomplete
57
+ _attr_state_class: Incomplete
58
+ _attr_native_unit_of_measurement: Incomplete
59
+ _attr_force_update: Incomplete
60
+ _attr_extra_state_attributes: Incomplete
61
+ def __init__(self, knx_module: KNXModule, unique_id: str, config: dict[str, Any]) -> None: ...
49
62
 
50
63
  class KNXSystemSensor(SensorEntity):
51
64
  _attr_has_entity_name: bool
@@ -9,6 +9,7 @@ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, S
9
9
  from homeassistant.helpers.service import async_register_admin_service as async_register_admin_service
10
10
 
11
11
  _LOGGER: Incomplete
12
+ _DESCRIPTION_PLACEHOLDERS: Incomplete
12
13
 
13
14
  @callback
14
15
  def async_setup_services(hass: HomeAssistant) -> None: ...
@@ -1,7 +1,7 @@
1
1
  import abc
2
2
  from ..const import DOMAIN as DOMAIN
3
3
  from .const import CONF_DATA as CONF_DATA
4
- from .migration import migrate_1_to_2 as migrate_1_to_2
4
+ from .migration import migrate_1_to_2 as migrate_1_to_2, migrate_2_1_to_2_2 as migrate_2_1_to_2_2
5
5
  from _typeshed import Incomplete
6
6
  from abc import ABC, abstractmethod
7
7
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -14,6 +14,7 @@ from typing import Any, Final, TypedDict
14
14
 
15
15
  _LOGGER: Incomplete
16
16
  STORAGE_VERSION: Final[int]
17
+ STORAGE_VERSION_MINOR: Final[int]
17
18
  STORAGE_KEY: Final[Incomplete]
18
19
  type KNXPlatformStoreModel = dict[str, dict[str, Any]]
19
20
  type KNXEntityStoreModel = dict[str, KNXPlatformStoreModel]
@@ -9,12 +9,38 @@ CONF_GA_PASSIVE: Final[str]
9
9
  CONF_DPT: Final[str]
10
10
  CONF_GA_SENSOR: Final[str]
11
11
  CONF_GA_SWITCH: Final[str]
12
+ CONF_GA_DATE: Final[str]
13
+ CONF_GA_DATETIME: Final[str]
14
+ CONF_GA_TIME: Final[str]
15
+ CONF_GA_STEP: Final[str]
16
+ CONF_GA_TEMPERATURE_CURRENT: Final[str]
17
+ CONF_GA_HUMIDITY_CURRENT: Final[str]
18
+ CONF_TARGET_TEMPERATURE: Final[str]
19
+ CONF_GA_TEMPERATURE_TARGET: Final[str]
20
+ CONF_GA_SETPOINT_SHIFT: Final[str]
21
+ CONF_GA_ACTIVE: Final[str]
22
+ CONF_GA_VALVE: Final[str]
23
+ CONF_GA_OPERATION_MODE: Final[str]
24
+ CONF_IGNORE_AUTO_MODE: Final[str]
25
+ CONF_GA_OP_MODE_COMFORT: Final[str]
26
+ CONF_GA_OP_MODE_ECO: Final[str]
27
+ CONF_GA_OP_MODE_STANDBY: Final[str]
28
+ CONF_GA_OP_MODE_PROTECTION: Final[str]
29
+ CONF_GA_HEAT_COOL: Final[str]
30
+ CONF_GA_ON_OFF: Final[str]
31
+ CONF_GA_CONTROLLER_MODE: Final[str]
32
+ CONF_GA_CONTROLLER_STATUS: Final[str]
33
+ CONF_GA_FAN_SPEED: Final[str]
34
+ CONF_GA_FAN_SWING: Final[str]
35
+ CONF_GA_FAN_SWING_HORIZONTAL: Final[str]
12
36
  CONF_GA_UP_DOWN: Final[str]
13
37
  CONF_GA_STOP: Final[str]
14
- CONF_GA_STEP: Final[str]
15
38
  CONF_GA_POSITION_SET: Final[str]
16
39
  CONF_GA_POSITION_STATE: Final[str]
17
40
  CONF_GA_ANGLE: Final[str]
41
+ CONF_SPEED: Final[str]
42
+ CONF_GA_SPEED: Final[str]
43
+ CONF_GA_OSCILLATION: Final[str]
18
44
  CONF_COLOR_TEMP_MIN: Final[str]
19
45
  CONF_COLOR_TEMP_MAX: Final[str]
20
46
  CONF_GA_BRIGHTNESS: Final[str]
@@ -31,3 +57,6 @@ CONF_GA_WHITE_BRIGHTNESS: Final[str]
31
57
  CONF_GA_WHITE_SWITCH: Final[str]
32
58
  CONF_GA_HUE: Final[str]
33
59
  CONF_GA_SATURATION: Final[str]
60
+ CONF_GA_SCENE: Final[str]
61
+ CONF_ALWAYS_CALLBACK: Final[str]
62
+ CONF_GA_TEXT: Final[str]
@@ -1,9 +1,13 @@
1
- from ..const import CONF_CONTEXT_TIMEOUT as CONF_CONTEXT_TIMEOUT, CONF_IGNORE_INTERNAL_STATE as CONF_IGNORE_INTERNAL_STATE, CONF_INVERT as CONF_INVERT, CONF_RESET_AFTER as CONF_RESET_AFTER, CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_SYNC_STATE as CONF_SYNC_STATE, ColorTempModes as ColorTempModes, CoverConf as CoverConf, DOMAIN as DOMAIN, SUPPORTED_PLATFORMS_UI as SUPPORTED_PLATFORMS_UI
2
- from .const import CONF_COLOR as CONF_COLOR, CONF_COLOR_TEMP_MAX as CONF_COLOR_TEMP_MAX, CONF_COLOR_TEMP_MIN as CONF_COLOR_TEMP_MIN, CONF_DATA as CONF_DATA, CONF_DEVICE_INFO as CONF_DEVICE_INFO, CONF_ENTITY as CONF_ENTITY, CONF_GA_ANGLE as CONF_GA_ANGLE, CONF_GA_BLUE_BRIGHTNESS as CONF_GA_BLUE_BRIGHTNESS, CONF_GA_BLUE_SWITCH as CONF_GA_BLUE_SWITCH, CONF_GA_BRIGHTNESS as CONF_GA_BRIGHTNESS, CONF_GA_COLOR as CONF_GA_COLOR, CONF_GA_COLOR_TEMP as CONF_GA_COLOR_TEMP, CONF_GA_GREEN_BRIGHTNESS as CONF_GA_GREEN_BRIGHTNESS, CONF_GA_GREEN_SWITCH as CONF_GA_GREEN_SWITCH, CONF_GA_HUE as CONF_GA_HUE, CONF_GA_POSITION_SET as CONF_GA_POSITION_SET, CONF_GA_POSITION_STATE as CONF_GA_POSITION_STATE, CONF_GA_RED_BRIGHTNESS as CONF_GA_RED_BRIGHTNESS, CONF_GA_RED_SWITCH as CONF_GA_RED_SWITCH, CONF_GA_SATURATION as CONF_GA_SATURATION, CONF_GA_SENSOR as CONF_GA_SENSOR, CONF_GA_STEP as CONF_GA_STEP, CONF_GA_STOP as CONF_GA_STOP, CONF_GA_SWITCH as CONF_GA_SWITCH, CONF_GA_UP_DOWN as CONF_GA_UP_DOWN, CONF_GA_WHITE_BRIGHTNESS as CONF_GA_WHITE_BRIGHTNESS, CONF_GA_WHITE_SWITCH as CONF_GA_WHITE_SWITCH
1
+ from ..const import CONF_CONTEXT_TIMEOUT as CONF_CONTEXT_TIMEOUT, CONF_IGNORE_INTERNAL_STATE as CONF_IGNORE_INTERNAL_STATE, CONF_INVERT as CONF_INVERT, CONF_RESET_AFTER as CONF_RESET_AFTER, CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_SYNC_STATE as CONF_SYNC_STATE, ClimateConf as ClimateConf, ColorTempModes as ColorTempModes, CoverConf as CoverConf, DOMAIN as DOMAIN, FanConf as FanConf, FanZeroMode as FanZeroMode, SUPPORTED_PLATFORMS_UI as SUPPORTED_PLATFORMS_UI, SceneConf as SceneConf
2
+ from ..dpt import get_supported_dpts as get_supported_dpts
3
+ from .const import CONF_ALWAYS_CALLBACK as CONF_ALWAYS_CALLBACK, CONF_COLOR as CONF_COLOR, CONF_COLOR_TEMP_MAX as CONF_COLOR_TEMP_MAX, CONF_COLOR_TEMP_MIN as CONF_COLOR_TEMP_MIN, CONF_DATA as CONF_DATA, CONF_DEVICE_INFO as CONF_DEVICE_INFO, CONF_DPT as CONF_DPT, CONF_ENTITY as CONF_ENTITY, CONF_GA_ACTIVE as CONF_GA_ACTIVE, CONF_GA_ANGLE as CONF_GA_ANGLE, CONF_GA_BLUE_BRIGHTNESS as CONF_GA_BLUE_BRIGHTNESS, CONF_GA_BLUE_SWITCH as CONF_GA_BLUE_SWITCH, CONF_GA_BRIGHTNESS as CONF_GA_BRIGHTNESS, CONF_GA_COLOR as CONF_GA_COLOR, CONF_GA_COLOR_TEMP as CONF_GA_COLOR_TEMP, CONF_GA_CONTROLLER_MODE as CONF_GA_CONTROLLER_MODE, CONF_GA_CONTROLLER_STATUS as CONF_GA_CONTROLLER_STATUS, CONF_GA_DATE as CONF_GA_DATE, CONF_GA_DATETIME as CONF_GA_DATETIME, CONF_GA_FAN_SPEED as CONF_GA_FAN_SPEED, CONF_GA_FAN_SWING as CONF_GA_FAN_SWING, CONF_GA_FAN_SWING_HORIZONTAL as CONF_GA_FAN_SWING_HORIZONTAL, CONF_GA_GREEN_BRIGHTNESS as CONF_GA_GREEN_BRIGHTNESS, CONF_GA_GREEN_SWITCH as CONF_GA_GREEN_SWITCH, CONF_GA_HEAT_COOL as CONF_GA_HEAT_COOL, CONF_GA_HUE as CONF_GA_HUE, CONF_GA_HUMIDITY_CURRENT as CONF_GA_HUMIDITY_CURRENT, CONF_GA_ON_OFF as CONF_GA_ON_OFF, CONF_GA_OPERATION_MODE as CONF_GA_OPERATION_MODE, CONF_GA_OP_MODE_COMFORT as CONF_GA_OP_MODE_COMFORT, CONF_GA_OP_MODE_ECO as CONF_GA_OP_MODE_ECO, CONF_GA_OP_MODE_PROTECTION as CONF_GA_OP_MODE_PROTECTION, CONF_GA_OP_MODE_STANDBY as CONF_GA_OP_MODE_STANDBY, CONF_GA_OSCILLATION as CONF_GA_OSCILLATION, CONF_GA_POSITION_SET as CONF_GA_POSITION_SET, CONF_GA_POSITION_STATE as CONF_GA_POSITION_STATE, CONF_GA_RED_BRIGHTNESS as CONF_GA_RED_BRIGHTNESS, CONF_GA_RED_SWITCH as CONF_GA_RED_SWITCH, CONF_GA_SATURATION as CONF_GA_SATURATION, CONF_GA_SCENE as CONF_GA_SCENE, CONF_GA_SENSOR as CONF_GA_SENSOR, CONF_GA_SETPOINT_SHIFT as CONF_GA_SETPOINT_SHIFT, CONF_GA_SPEED as CONF_GA_SPEED, CONF_GA_STEP as CONF_GA_STEP, CONF_GA_STOP as CONF_GA_STOP, CONF_GA_SWITCH as CONF_GA_SWITCH, CONF_GA_TEMPERATURE_CURRENT as CONF_GA_TEMPERATURE_CURRENT, CONF_GA_TEMPERATURE_TARGET as CONF_GA_TEMPERATURE_TARGET, CONF_GA_TEXT as CONF_GA_TEXT, CONF_GA_TIME as CONF_GA_TIME, CONF_GA_UP_DOWN as CONF_GA_UP_DOWN, CONF_GA_VALVE as CONF_GA_VALVE, CONF_GA_WHITE_BRIGHTNESS as CONF_GA_WHITE_BRIGHTNESS, CONF_GA_WHITE_SWITCH as CONF_GA_WHITE_SWITCH, CONF_IGNORE_AUTO_MODE as CONF_IGNORE_AUTO_MODE, CONF_SPEED as CONF_SPEED, CONF_TARGET_TEMPERATURE as CONF_TARGET_TEMPERATURE
3
4
  from .knx_selector import AllSerializeFirst as AllSerializeFirst, GASelector as GASelector, GroupSelect as GroupSelect, GroupSelectOption as GroupSelectOption, KNXSectionFlat as KNXSectionFlat, SyncStateSelector as SyncStateSelector
4
5
  from _typeshed import Incomplete
5
6
  from enum import StrEnum
6
- from homeassistant.const import CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_NAME as CONF_NAME, CONF_PLATFORM as CONF_PLATFORM, Platform as Platform
7
+ from homeassistant.components.climate import HVACMode as HVACMode
8
+ from homeassistant.components.sensor import DEVICE_CLASS_STATE_CLASSES as DEVICE_CLASS_STATE_CLASSES, DEVICE_CLASS_UNITS as DEVICE_CLASS_UNITS, STATE_CLASS_UNITS as STATE_CLASS_UNITS, SensorDeviceClass as SensorDeviceClass, SensorStateClass as SensorStateClass
9
+ from homeassistant.components.text import TextMode as TextMode
10
+ from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_MODE as CONF_MODE, CONF_NAME as CONF_NAME, CONF_PLATFORM as CONF_PLATFORM, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, Platform as Platform
7
11
  from homeassistant.helpers import selector as selector
8
12
  from homeassistant.helpers.entity import ENTITY_CATEGORIES_SCHEMA as ENTITY_CATEGORIES_SCHEMA
9
13
  from homeassistant.helpers.typing import VolDictType as VolDictType, VolSchemaType as VolSchemaType
@@ -11,6 +15,9 @@ from homeassistant.helpers.typing import VolDictType as VolDictType, VolSchemaTy
11
15
  BASE_ENTITY_SCHEMA: Incomplete
12
16
  BINARY_SENSOR_KNX_SCHEMA: Incomplete
13
17
  COVER_KNX_SCHEMA: Incomplete
18
+ DATE_KNX_SCHEMA: Incomplete
19
+ DATETIME_KNX_SCHEMA: Incomplete
20
+ FAN_KNX_SCHEMA: Incomplete
14
21
 
15
22
  class LightColorMode(StrEnum):
16
23
  RGB = '232.600'
@@ -19,7 +26,24 @@ class LightColorMode(StrEnum):
19
26
 
20
27
  _hs_color_inclusion_msg: str
21
28
  LIGHT_KNX_SCHEMA: Incomplete
29
+ SCENE_KNX_SCHEMA: Incomplete
22
30
  SWITCH_KNX_SCHEMA: Incomplete
31
+ TEXT_KNX_SCHEMA: Incomplete
32
+ TIME_KNX_SCHEMA: Incomplete
33
+
34
+ class ConfSetpointShiftMode(StrEnum):
35
+ COUNT = '6.010'
36
+ FLOAT = '9.002'
37
+
38
+ class ConfClimateFanSpeedMode(StrEnum):
39
+ PERCENTAGE = '5.001'
40
+ STEPS = '5.010'
41
+
42
+ CLIMATE_KNX_SCHEMA: Incomplete
43
+
44
+ def _validate_sensor_attributes(config: dict) -> dict: ...
45
+
46
+ SENSOR_KNX_SCHEMA: Incomplete
23
47
  KNX_SCHEMA_FOR_PLATFORM: Incomplete
24
48
  ENTITY_STORE_DATA_SCHEMA: VolSchemaType
25
49
  CREATE_ENTITY_BASE_SCHEMA: VolDictType
@@ -1,4 +1,4 @@
1
- from ..const import DOMAIN as DOMAIN
1
+ from ..const import DOMAIN as DOMAIN, REPAIR_ISSUE_DATA_SECURE_GROUP_KEY as REPAIR_ISSUE_DATA_SECURE_GROUP_KEY
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.components.file_upload import process_uploaded_file as process_uploaded_file
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant
@@ -1,4 +1,5 @@
1
1
  import voluptuous as vol
2
+ from ..dpt import HaDptClass as HaDptClass, get_supported_dpts as get_supported_dpts
2
3
  from ..validation import ga_validator as ga_validator, maybe_ga_validator as maybe_ga_validator, sync_state_validator as sync_state_validator
3
4
  from .const import CONF_DPT as CONF_DPT, CONF_GA_PASSIVE as CONF_GA_PASSIVE, CONF_GA_STATE as CONF_GA_STATE, CONF_GA_WRITE as CONF_GA_WRITE
4
5
  from .util import dpt_string_to_dict as dpt_string_to_dict
@@ -60,7 +61,7 @@ class GASelector(KNXSelectorBase):
60
61
  dpt: Incomplete
61
62
  valid_dpt: Incomplete
62
63
  schema: Incomplete
63
- def __init__(self, write: bool = True, state: bool = True, passive: bool = True, write_required: bool = False, state_required: bool = False, dpt: type[Enum] | None = None, valid_dpt: str | Iterable[str] | None = None) -> None: ...
64
+ def __init__(self, write: bool = True, state: bool = True, passive: bool = True, write_required: bool = False, state_required: bool = False, dpt: type[Enum] | list[HaDptClass] | None = None, valid_dpt: str | Iterable[str] | None = None) -> None: ...
64
65
  def serialize(self) -> dict[str, Any]: ...
65
66
  def build_schema(self) -> vol.Schema: ...
66
67
  def _add_group_addresses(self, schema: dict[vol.Marker, Any]) -> None: ...
@@ -1,5 +1,7 @@
1
+ from ..const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ
1
2
  from homeassistant.const import Platform as Platform
2
3
  from typing import Any
3
4
 
4
5
  def migrate_1_to_2(data: dict[str, Any]) -> None: ...
5
6
  def _migrate_light_schema_1_to_2(light_knx_data: dict[str, Any]) -> None: ...
7
+ def migrate_2_1_to_2_2(data: dict[str, Any]) -> None: ...
@@ -15,6 +15,7 @@ from xknx.telegram import Telegram as Telegram
15
15
  STORAGE_VERSION: Final[int]
16
16
  STORAGE_KEY: Final[Incomplete]
17
17
  SIGNAL_KNX_TELEGRAM: SignalType[Telegram, TelegramDict]
18
+ SIGNAL_KNX_DATA_SECURE_ISSUE_TELEGRAM: SignalType[Telegram, TelegramDict]
18
19
 
19
20
  class DecodedTelegramPayload(TypedDict):
20
21
  dpt_main: int | None
@@ -38,12 +39,14 @@ class Telegrams:
38
39
  project: Incomplete
39
40
  _history_store: Incomplete
40
41
  _xknx_telegram_cb_handle: Incomplete
42
+ _xknx_data_secure_group_key_issue_cb_handle: Incomplete
41
43
  recent_telegrams: deque[TelegramDict]
42
44
  last_ga_telegrams: dict[str, TelegramDict]
43
45
  def __init__(self, hass: HomeAssistant, xknx: XKNX, project: KNXProject, log_size: int) -> None: ...
44
46
  async def load_history(self) -> None: ...
45
47
  async def save_history(self) -> None: ...
46
48
  def _xknx_telegram_cb(self, telegram: Telegram) -> None: ...
49
+ def _xknx_data_secure_group_key_issue_cb(self, telegram: Telegram) -> None: ...
47
50
  def telegram_to_dict(self, telegram: Telegram) -> TelegramDict: ...
48
51
 
49
52
  def _serializable_decoded_data(value: bool | float | str | DPTComplexData | DPTEnumData) -> bool | str | int | float | dict[str, str | int | float | bool]: ...
@@ -1,29 +1,39 @@
1
- from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
2
- from .entity import KnxYamlEntity as KnxYamlEntity
1
+ from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
2
+ from .entity import KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity
3
3
  from .knx_module import KNXModule as KNXModule
4
+ from .storage.const import CONF_ENTITY as CONF_ENTITY, CONF_GA_TEXT as CONF_GA_TEXT
5
+ from .storage.util import ConfigExtractor as ConfigExtractor
4
6
  from _typeshed import Incomplete
5
7
  from homeassistant import config_entries as config_entries
6
- from homeassistant.components.text import TextEntity as TextEntity
8
+ from homeassistant.components.text import TextEntity as TextEntity, TextMode as TextMode
7
9
  from homeassistant.const import CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_MODE as CONF_MODE, CONF_NAME as CONF_NAME, CONF_TYPE as CONF_TYPE, Platform as Platform, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
8
10
  from homeassistant.core import HomeAssistant as HomeAssistant
9
- from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, async_get_current_platform as async_get_current_platform
10
12
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
11
13
  from homeassistant.helpers.typing import ConfigType as ConfigType
12
- from xknx import XKNX as XKNX
14
+ from propcache.api import cached_property
13
15
  from xknx.devices import Notification as XknxNotification
14
16
 
15
17
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
16
- def _create_notification(xknx: XKNX, config: ConfigType) -> XknxNotification: ...
17
18
 
18
- class KNXText(KnxYamlEntity, TextEntity, RestoreEntity):
19
+ class _KnxText(TextEntity, RestoreEntity):
19
20
  _device: XknxNotification
20
21
  _attr_native_max: int
21
- _attr_mode: Incomplete
22
- _attr_pattern: Incomplete
23
- _attr_entity_category: Incomplete
24
- _attr_unique_id: Incomplete
25
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
26
22
  async def async_added_to_hass(self) -> None: ...
23
+ @cached_property
24
+ def pattern(self) -> str | None: ...
27
25
  @property
28
26
  def native_value(self) -> str | None: ...
29
27
  async def async_set_value(self, value: str) -> None: ...
28
+
29
+ class KnxYamlText(_KnxText, KnxYamlEntity):
30
+ _device: XknxNotification
31
+ _attr_mode: Incomplete
32
+ _attr_entity_category: Incomplete
33
+ _attr_unique_id: Incomplete
34
+ def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
35
+
36
+ class KnxUiText(_KnxText, KnxUiEntity):
37
+ _device: XknxNotification
38
+ _attr_mode: Incomplete
39
+ def __init__(self, knx_module: KNXModule, unique_id: str, config: ConfigType) -> None: ...
@@ -1,27 +1,35 @@
1
- from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
2
- from .entity import KnxYamlEntity as KnxYamlEntity
1
+ from .const import CONF_RESPOND_TO_READ as CONF_RESPOND_TO_READ, CONF_STATE_ADDRESS as CONF_STATE_ADDRESS, CONF_SYNC_STATE as CONF_SYNC_STATE, DOMAIN as DOMAIN, KNX_ADDRESS as KNX_ADDRESS, KNX_MODULE_KEY as KNX_MODULE_KEY
2
+ from .entity import KnxUiEntity as KnxUiEntity, KnxUiEntityPlatformController as KnxUiEntityPlatformController, KnxYamlEntity as KnxYamlEntity
3
3
  from .knx_module import KNXModule as KNXModule
4
+ from .storage.const import CONF_ENTITY as CONF_ENTITY, CONF_GA_TIME as CONF_GA_TIME
5
+ from .storage.util import ConfigExtractor as ConfigExtractor
4
6
  from _typeshed import Incomplete
5
7
  from datetime import time as dt_time
6
8
  from homeassistant import config_entries as config_entries
7
9
  from homeassistant.components.time import TimeEntity as TimeEntity
8
10
  from homeassistant.const import CONF_ENTITY_CATEGORY as CONF_ENTITY_CATEGORY, CONF_NAME as CONF_NAME, Platform as Platform, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
9
11
  from homeassistant.core import HomeAssistant as HomeAssistant
10
- from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
12
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback, async_get_current_platform as async_get_current_platform
11
13
  from homeassistant.helpers.restore_state import RestoreEntity as RestoreEntity
12
14
  from homeassistant.helpers.typing import ConfigType as ConfigType
13
- from xknx import XKNX as XKNX
15
+ from typing import Any
14
16
  from xknx.devices import TimeDevice as XknxTimeDevice
15
17
 
16
18
  async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.ConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
17
- def _create_xknx_device(xknx: XKNX, config: ConfigType) -> XknxTimeDevice: ...
18
19
 
19
- class KNXTimeEntity(KnxYamlEntity, TimeEntity, RestoreEntity):
20
+ class _KNXTime(TimeEntity, RestoreEntity):
20
21
  _device: XknxTimeDevice
21
- _attr_entity_category: Incomplete
22
- _attr_unique_id: Incomplete
23
- def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
24
22
  async def async_added_to_hass(self) -> None: ...
25
23
  @property
26
24
  def native_value(self) -> dt_time | None: ...
27
25
  async def async_set_value(self, value: dt_time) -> None: ...
26
+
27
+ class KnxYamlTime(_KNXTime, KnxYamlEntity):
28
+ _device: XknxTimeDevice
29
+ _attr_entity_category: Incomplete
30
+ _attr_unique_id: Incomplete
31
+ def __init__(self, knx_module: KNXModule, config: ConfigType) -> None: ...
32
+
33
+ class KnxUiTime(_KNXTime, KnxUiEntity):
34
+ _device: XknxTimeDevice
35
+ def __init__(self, knx_module: KNXModule, unique_id: str, config: dict[str, Any]) -> None: ...