homeassistant-stubs 2025.3.3__py3-none-any.whl → 2025.4.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 (324) hide show
  1. homeassistant-stubs/bootstrap.pyi +3 -2
  2. homeassistant-stubs/components/accuweather/const.pyi +3 -1
  3. homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
  4. homeassistant-stubs/components/anova/config_flow.pyi +4 -1
  5. homeassistant-stubs/components/anthemav/media_player.pyi +2 -0
  6. homeassistant-stubs/components/arwn/sensor.pyi +3 -2
  7. homeassistant-stubs/components/assist_pipeline/pipeline.pyi +14 -5
  8. homeassistant-stubs/components/assist_satellite/entity.pyi +5 -3
  9. homeassistant-stubs/components/azure_storage/__init__.pyi +1 -1
  10. homeassistant-stubs/components/azure_storage/backup.pyi +1 -1
  11. homeassistant-stubs/components/azure_storage/config_flow.pyi +7 -0
  12. homeassistant-stubs/components/backup/__init__.pyi +2 -2
  13. homeassistant-stubs/components/backup/agent.pyi +1 -1
  14. homeassistant-stubs/components/backup/backup.pyi +1 -1
  15. homeassistant-stubs/components/backup/config_flow.pyi +7 -0
  16. homeassistant-stubs/components/backup/coordinator.pyi +28 -0
  17. homeassistant-stubs/components/backup/diagnostics.pyi +7 -0
  18. homeassistant-stubs/components/backup/entity.pyi +13 -0
  19. homeassistant-stubs/components/backup/http.pyi +1 -0
  20. homeassistant-stubs/components/backup/manager.pyi +8 -3
  21. homeassistant-stubs/components/backup/sensor.pyi +23 -0
  22. homeassistant-stubs/components/bosch_alarm/__init__.pyi +12 -0
  23. homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +31 -0
  24. homeassistant-stubs/components/bosch_alarm/config_flow.pyi +20 -0
  25. homeassistant-stubs/components/bosch_alarm/const.pyi +4 -0
  26. homeassistant-stubs/components/bring/diagnostics.pyi +5 -0
  27. homeassistant-stubs/components/brother/__init__.pyi +1 -0
  28. homeassistant-stubs/components/brother/coordinator.pyi +1 -0
  29. homeassistant-stubs/components/cloud/backup.pyi +3 -3
  30. homeassistant-stubs/components/cloud/http_api.pyi +6 -3
  31. homeassistant-stubs/components/cloud/tts.pyi +2 -2
  32. homeassistant-stubs/components/comelit/__init__.pyi +11 -0
  33. homeassistant-stubs/components/comelit/alarm_control_panel.pyi +42 -0
  34. homeassistant-stubs/components/comelit/binary_sensor.pyi +22 -0
  35. homeassistant-stubs/components/comelit/climate.pyi +60 -0
  36. homeassistant-stubs/components/comelit/config_flow.pyi +28 -0
  37. homeassistant-stubs/components/comelit/const.pyi +7 -0
  38. homeassistant-stubs/components/comelit/coordinator.pyi +38 -0
  39. homeassistant-stubs/components/comelit/cover.pyi +40 -0
  40. homeassistant-stubs/components/comelit/diagnostics.pyi +10 -0
  41. homeassistant-stubs/components/comelit/humidifier.pyi +61 -0
  42. homeassistant-stubs/components/comelit/light.pyi +28 -0
  43. homeassistant-stubs/components/comelit/sensor.pyi +45 -0
  44. homeassistant-stubs/components/comelit/switch.pyi +27 -0
  45. homeassistant-stubs/components/cover/reproduce_state.pyi +17 -6
  46. homeassistant-stubs/components/demo/valve.pyi +30 -0
  47. homeassistant-stubs/components/discovergy/__init__.pyi +1 -1
  48. homeassistant-stubs/components/energy/data.pyi +1 -0
  49. homeassistant-stubs/components/enigma2/config_flow.pyi +1 -0
  50. homeassistant-stubs/components/esphome/__init__.pyi +1 -1
  51. homeassistant-stubs/components/esphome/assist_satellite.pyi +2 -0
  52. homeassistant-stubs/components/esphome/const.pyi +1 -0
  53. homeassistant-stubs/components/esphome/diagnostics.pyi +0 -1
  54. homeassistant-stubs/components/esphome/manager.pyi +1 -1
  55. homeassistant-stubs/components/frontend/__init__.pyi +9 -10
  56. homeassistant-stubs/components/frontend/storage.pyi +2 -1
  57. homeassistant-stubs/components/gios/__init__.pyi +1 -0
  58. homeassistant-stubs/components/gios/config_flow.pyi +1 -0
  59. homeassistant-stubs/components/gios/coordinator.pyi +2 -2
  60. homeassistant-stubs/components/google/calendar.pyi +3 -2
  61. homeassistant-stubs/components/google_drive/backup.pyi +2 -2
  62. homeassistant-stubs/components/habitica/const.pyi +25 -0
  63. homeassistant-stubs/components/habitica/services.pyi +6 -2
  64. homeassistant-stubs/components/heos/const.pyi +1 -0
  65. homeassistant-stubs/components/heos/coordinator.pyi +5 -5
  66. homeassistant-stubs/components/heos/media_player.pyi +18 -8
  67. homeassistant-stubs/components/home_connect/__init__.pyi +6 -17
  68. homeassistant-stubs/components/home_connect/button.pyi +0 -2
  69. homeassistant-stubs/components/home_connect/const.pyi +1 -6
  70. homeassistant-stubs/components/home_connect/coordinator.pyi +4 -2
  71. homeassistant-stubs/components/home_connect/entity.pyi +7 -2
  72. homeassistant-stubs/components/home_connect/light.pyi +1 -1
  73. homeassistant-stubs/components/home_connect/number.pyi +4 -3
  74. homeassistant-stubs/components/home_connect/select.pyi +7 -3
  75. homeassistant-stubs/components/home_connect/sensor.pyi +3 -1
  76. homeassistant-stubs/components/home_connect/services.pyi +35 -0
  77. homeassistant-stubs/components/home_connect/switch.pyi +1 -1
  78. homeassistant-stubs/components/home_connect/time.pyi +6 -1
  79. homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +15 -0
  80. homeassistant-stubs/components/homeassistant_hardware/update.pyi +69 -0
  81. homeassistant-stubs/components/homeassistant_hardware/util.pyi +6 -1
  82. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +1 -0
  83. homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +1 -1
  84. homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +10 -0
  85. homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +26 -0
  86. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +1 -1
  87. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
  88. homeassistant-stubs/components/homeassistant_yellow/const.pyi +4 -0
  89. homeassistant-stubs/components/homeassistant_yellow/update.pyi +26 -0
  90. homeassistant-stubs/components/homee/binary_sensor.pyi +21 -0
  91. homeassistant-stubs/components/homee/button.pyi +1 -0
  92. homeassistant-stubs/components/homee/cover.pyi +1 -0
  93. homeassistant-stubs/components/homee/light.pyi +1 -0
  94. homeassistant-stubs/components/homee/lock.pyi +25 -0
  95. homeassistant-stubs/components/homee/number.pyi +1 -0
  96. homeassistant-stubs/components/homee/select.pyi +23 -0
  97. homeassistant-stubs/components/homee/sensor.pyi +2 -0
  98. homeassistant-stubs/components/homee/switch.pyi +2 -0
  99. homeassistant-stubs/components/homee/valve.pyi +1 -0
  100. homeassistant-stubs/components/homekit/__init__.pyi +3 -1
  101. homeassistant-stubs/components/homekit/accessories.pyi +1 -0
  102. homeassistant-stubs/components/homekit/type_switches.pyi +6 -0
  103. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +7 -7
  104. homeassistant-stubs/components/incomfort/config_flow.pyi +1 -0
  105. homeassistant-stubs/components/iron_os/coordinator.pyi +2 -0
  106. homeassistant-stubs/components/iron_os/number.pyi +2 -0
  107. homeassistant-stubs/components/iron_os/select.pyi +3 -0
  108. homeassistant-stubs/components/jewish_calendar/__init__.pyi +9 -2
  109. homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +4 -4
  110. homeassistant-stubs/components/jewish_calendar/const.pyi +3 -0
  111. homeassistant-stubs/components/jewish_calendar/entity.pyi +2 -2
  112. homeassistant-stubs/components/jewish_calendar/sensor.pyi +5 -6
  113. homeassistant-stubs/components/jewish_calendar/service.pyi +10 -0
  114. homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -0
  115. homeassistant-stubs/components/linkplay/entity.pyi +0 -1
  116. homeassistant-stubs/components/linkplay/media_player.pyi +3 -2
  117. homeassistant-stubs/components/linkplay/utils.pyi +0 -32
  118. homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
  119. homeassistant-stubs/components/mastodon/config_flow.pyi +2 -1
  120. homeassistant-stubs/components/mastodon/const.pyi +0 -7
  121. homeassistant-stubs/components/mastodon/coordinator.pyi +5 -5
  122. homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -1
  123. homeassistant-stubs/components/mastodon/entity.pyi +1 -1
  124. homeassistant-stubs/components/mastodon/notify.pyi +3 -2
  125. homeassistant-stubs/components/mastodon/sensor.pyi +2 -3
  126. homeassistant-stubs/components/mastodon/services.pyi +1 -0
  127. homeassistant-stubs/components/mastodon/utils.pyi +3 -2
  128. homeassistant-stubs/components/mcp/coordinator.pyi +2 -9
  129. homeassistant-stubs/components/mcp_server/config_flow.pyi +1 -1
  130. homeassistant-stubs/components/mcp_server/const.pyi +1 -2
  131. homeassistant-stubs/components/mcp_server/server.pyi +1 -0
  132. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  133. homeassistant-stubs/components/modbus/climate.pyi +6 -2
  134. homeassistant-stubs/components/modbus/const.pyi +10 -0
  135. homeassistant-stubs/components/mqtt/config_flow.pyi +96 -7
  136. homeassistant-stubs/components/mqtt/const.pyi +65 -0
  137. homeassistant-stubs/components/mqtt/cover.pyi +2 -0
  138. homeassistant-stubs/components/mqtt/entity.pyi +4 -4
  139. homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -2
  140. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -48
  141. homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -14
  142. homeassistant-stubs/components/mqtt/light/schema_template.pyi +1 -12
  143. homeassistant-stubs/components/mqtt/models.pyi +25 -1
  144. homeassistant-stubs/components/mqtt/sensor.pyi +6 -5
  145. homeassistant-stubs/components/mqtt/util.pyi +2 -0
  146. homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
  147. homeassistant-stubs/components/mysensors/binary_sensor.pyi +0 -1
  148. homeassistant-stubs/components/mysensors/climate.pyi +0 -1
  149. homeassistant-stubs/components/mysensors/const.pyi +0 -1
  150. homeassistant-stubs/components/mysensors/cover.pyi +1 -2
  151. homeassistant-stubs/components/mysensors/device_tracker.pyi +0 -1
  152. homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
  153. homeassistant-stubs/components/mysensors/helpers.pyi +1 -3
  154. homeassistant-stubs/components/mysensors/light.pyi +4 -5
  155. homeassistant-stubs/components/mysensors/remote.pyi +0 -1
  156. homeassistant-stubs/components/mysensors/sensor.pyi +0 -1
  157. homeassistant-stubs/components/mysensors/switch.pyi +1 -2
  158. homeassistant-stubs/components/mysensors/text.pyi +0 -1
  159. homeassistant-stubs/components/nam/button.pyi +2 -0
  160. homeassistant-stubs/components/nam/const.pyi +1 -0
  161. homeassistant-stubs/components/nam/sensor.pyi +2 -2
  162. homeassistant-stubs/components/nest/media_source.pyi +5 -0
  163. homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
  164. homeassistant-stubs/components/nextdns/button.pyi +2 -0
  165. homeassistant-stubs/components/nextdns/config_flow.pyi +1 -0
  166. homeassistant-stubs/components/nextdns/switch.pyi +1 -0
  167. homeassistant-stubs/components/nut/__init__.pyi +1 -0
  168. homeassistant-stubs/components/nut/button.pyi +14 -0
  169. homeassistant-stubs/components/nut/entity.pyi +19 -0
  170. homeassistant-stubs/components/nut/sensor.pyi +8 -13
  171. homeassistant-stubs/components/nut/switch.pyi +18 -0
  172. homeassistant-stubs/components/onboarding/views.pyi +1 -0
  173. homeassistant-stubs/components/onedrive/__init__.pyi +4 -0
  174. homeassistant-stubs/components/onedrive/backup.pyi +1 -1
  175. homeassistant-stubs/components/onedrive/services.pyi +15 -0
  176. homeassistant-stubs/components/openai_conversation/__init__.pyi +5 -1
  177. homeassistant-stubs/components/openai_conversation/config_flow.pyi +5 -2
  178. homeassistant-stubs/components/openai_conversation/const.pyi +22 -11
  179. homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -7
  180. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +1 -0
  181. homeassistant-stubs/components/overkiz/water_heater/atlantic_domestic_hot_water_production_v2_io_component.pyi +41 -0
  182. homeassistant-stubs/components/purpleair/__init__.pyi +5 -10
  183. homeassistant-stubs/components/purpleair/const.pyi +6 -4
  184. homeassistant-stubs/components/purpleair/coordinator.pyi +3 -2
  185. homeassistant-stubs/components/purpleair/diagnostics.pyi +2 -4
  186. homeassistant-stubs/components/purpleair/entity.pyi +2 -3
  187. homeassistant-stubs/components/purpleair/sensor.pyi +4 -5
  188. homeassistant-stubs/components/pyload/__init__.pyi +12 -0
  189. homeassistant-stubs/components/pyload/button.pyi +32 -0
  190. homeassistant-stubs/components/pyload/config_flow.pyi +23 -0
  191. homeassistant-stubs/components/pyload/const.pyi +6 -0
  192. homeassistant-stubs/components/pyload/coordinator.pyi +33 -0
  193. homeassistant-stubs/components/pyload/diagnostics.pyi +10 -0
  194. homeassistant-stubs/components/pyload/entity.pyi +13 -0
  195. homeassistant-stubs/components/pyload/sensor.pyi +33 -0
  196. homeassistant-stubs/components/pyload/switch.pyi +37 -0
  197. homeassistant-stubs/components/qbus/climate.pyi +41 -0
  198. homeassistant-stubs/components/qbus/light.pyi +3 -3
  199. homeassistant-stubs/components/recorder/const.pyi +1 -0
  200. homeassistant-stubs/components/recorder/core.pyi +1 -2
  201. homeassistant-stubs/components/recorder/db_schema.pyi +3 -1
  202. homeassistant-stubs/components/recorder/migration.pyi +16 -2
  203. homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
  204. homeassistant-stubs/components/recorder/models/statistics.pyi +10 -2
  205. homeassistant-stubs/components/recorder/statistics.pyi +27 -9
  206. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +5 -3
  207. homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
  208. homeassistant-stubs/components/remote_calendar/__init__.pyi +11 -0
  209. homeassistant-stubs/components/remote_calendar/calendar.pyi +26 -0
  210. homeassistant-stubs/components/remote_calendar/config_flow.pyi +13 -0
  211. homeassistant-stubs/components/remote_calendar/const.pyi +2 -0
  212. homeassistant-stubs/components/remote_calendar/coordinator.pyi +20 -0
  213. homeassistant-stubs/components/remote_calendar/diagnostics.pyi +5 -0
  214. homeassistant-stubs/components/renault/config_flow.pyi +1 -0
  215. homeassistant-stubs/components/reolink/__init__.pyi +1 -1
  216. homeassistant-stubs/components/reolink/binary_sensor.pyi +17 -1
  217. homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
  218. homeassistant-stubs/components/reolink/const.pyi +1 -0
  219. homeassistant-stubs/components/reolink/host.pyi +4 -4
  220. homeassistant-stubs/components/reolink/number.pyi +21 -1
  221. homeassistant-stubs/components/reolink/select.pyi +17 -1
  222. homeassistant-stubs/components/reolink/update.pyi +2 -1
  223. homeassistant-stubs/components/reolink/util.pyi +7 -0
  224. homeassistant-stubs/components/roborock/__init__.pyi +5 -3
  225. homeassistant-stubs/components/roborock/binary_sensor.pyi +4 -1
  226. homeassistant-stubs/components/roborock/button.pyi +11 -1
  227. homeassistant-stubs/components/roborock/config_flow.pyi +7 -3
  228. homeassistant-stubs/components/roborock/const.pyi +7 -1
  229. homeassistant-stubs/components/roborock/coordinator.pyi +18 -3
  230. homeassistant-stubs/components/roborock/entity.pyi +3 -1
  231. homeassistant-stubs/components/roborock/image.pyi +2 -7
  232. homeassistant-stubs/components/roborock/models.pyi +7 -0
  233. homeassistant-stubs/components/roborock/number.pyi +1 -0
  234. homeassistant-stubs/components/roborock/select.pyi +7 -5
  235. homeassistant-stubs/components/roborock/sensor.pyi +14 -1
  236. homeassistant-stubs/components/roborock/switch.pyi +2 -0
  237. homeassistant-stubs/components/roborock/time.pyi +1 -0
  238. homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
  239. homeassistant-stubs/components/sensor/const.pyi +2 -0
  240. homeassistant-stubs/components/sensor/recorder.pyi +15 -3
  241. homeassistant-stubs/components/shelly/__init__.pyi +2 -2
  242. homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +4 -2
  243. homeassistant-stubs/components/shelly/button.pyi +22 -7
  244. homeassistant-stubs/components/shelly/climate.pyi +1 -1
  245. homeassistant-stubs/components/shelly/config_flow.pyi +5 -5
  246. homeassistant-stubs/components/shelly/const.pyi +0 -1
  247. homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
  248. homeassistant-stubs/components/shelly/diagnostics.pyi +1 -2
  249. homeassistant-stubs/components/shelly/entity.pyi +1 -3
  250. homeassistant-stubs/components/shelly/event.pyi +1 -1
  251. homeassistant-stubs/components/shelly/number.pyi +1 -1
  252. homeassistant-stubs/components/shelly/sensor.pyi +2 -2
  253. homeassistant-stubs/components/shelly/switch.pyi +14 -14
  254. homeassistant-stubs/components/shelly/update.pyi +1 -1
  255. homeassistant-stubs/components/shelly/utils.pyi +6 -2
  256. homeassistant-stubs/components/skybell/config_flow.pyi +3 -0
  257. homeassistant-stubs/components/smlight/__init__.pyi +0 -2
  258. homeassistant-stubs/components/smlight/sensor.pyi +5 -2
  259. homeassistant-stubs/components/smlight/update.pyi +0 -1
  260. homeassistant-stubs/components/squeezebox/browse_media.pyi +6 -11
  261. homeassistant-stubs/components/squeezebox/button.pyi +31 -0
  262. homeassistant-stubs/components/squeezebox/entity.pyi +8 -2
  263. homeassistant-stubs/components/squeezebox/media_player.pyi +3 -5
  264. homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -7
  265. homeassistant-stubs/components/synology_dsm/backup.pyi +3 -4
  266. homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -5
  267. homeassistant-stubs/components/synology_dsm/button.pyi +2 -3
  268. homeassistant-stubs/components/synology_dsm/camera.pyi +2 -4
  269. homeassistant-stubs/components/synology_dsm/config_flow.pyi +3 -2
  270. homeassistant-stubs/components/synology_dsm/coordinator.pyi +15 -5
  271. homeassistant-stubs/components/synology_dsm/diagnostics.pyi +3 -4
  272. homeassistant-stubs/components/synology_dsm/media_source.pyi +3 -1
  273. homeassistant-stubs/components/synology_dsm/repairs.pyi +2 -3
  274. homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -5
  275. homeassistant-stubs/components/synology_dsm/service.pyi +1 -1
  276. homeassistant-stubs/components/synology_dsm/switch.pyi +2 -4
  277. homeassistant-stubs/components/synology_dsm/update.pyi +2 -5
  278. homeassistant-stubs/components/tibber/coordinator.pyi +1 -1
  279. homeassistant-stubs/components/todo/intent.pyi +8 -0
  280. homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -0
  281. homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -0
  282. homeassistant-stubs/components/tts/__init__.pyi +66 -51
  283. homeassistant-stubs/components/tts/entity.pyi +54 -0
  284. homeassistant-stubs/components/tts/media_source.pyi +1 -1
  285. homeassistant-stubs/components/update/__init__.pyi +2 -2
  286. homeassistant-stubs/components/usb/__init__.pyi +0 -3
  287. homeassistant-stubs/components/vodafone_station/__init__.pyi +11 -0
  288. homeassistant-stubs/components/vodafone_station/button.pyi +31 -0
  289. homeassistant-stubs/components/vodafone_station/config_flow.pyi +29 -0
  290. homeassistant-stubs/components/vodafone_station/const.pyi +9 -0
  291. homeassistant-stubs/components/vodafone_station/coordinator.pyi +43 -0
  292. homeassistant-stubs/components/vodafone_station/device_tracker.pyi +30 -0
  293. homeassistant-stubs/components/vodafone_station/diagnostics.pyi +10 -0
  294. homeassistant-stubs/components/vodafone_station/helpers.pyi +8 -0
  295. homeassistant-stubs/components/vodafone_station/sensor.pyi +38 -0
  296. homeassistant-stubs/components/zwave_js/__init__.pyi +5 -9
  297. homeassistant-stubs/components/zwave_js/api.pyi +15 -0
  298. homeassistant-stubs/components/zwave_js/config_flow.pyi +0 -1
  299. homeassistant-stubs/config_entries.pyi +2 -5
  300. homeassistant-stubs/helpers/backup.pyi +4 -1
  301. homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +14 -0
  302. homeassistant-stubs/helpers/config_validation.pyi +5 -2
  303. homeassistant-stubs/helpers/frame.pyi +14 -5
  304. homeassistant-stubs/helpers/intent.pyi +13 -4
  305. homeassistant-stubs/helpers/llm.pyi +7 -1
  306. homeassistant-stubs/helpers/selector.pyi +1 -0
  307. homeassistant-stubs/helpers/template.pyi +14 -1
  308. homeassistant-stubs/loader.pyi +18 -8
  309. homeassistant-stubs/scripts/check_config.pyi +0 -1
  310. homeassistant-stubs/util/logging.pyi +16 -1
  311. homeassistant-stubs/util/unit_conversion.pyi +3 -0
  312. homeassistant-stubs/util/unit_system.pyi +12 -10
  313. homeassistant-stubs/util/yaml/__init__.pyi +3 -4
  314. homeassistant-stubs/util/yaml/dumper.pyi +2 -8
  315. homeassistant-stubs/util/yaml/input.pyi +2 -9
  316. homeassistant-stubs/util/yaml/loader.pyi +4 -72
  317. homeassistant-stubs/util/yaml/objects.pyi +2 -26
  318. {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0b0.dist-info}/METADATA +2 -2
  319. {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0b0.dist-info}/RECORD +321 -260
  320. homeassistant-stubs/components/mcp_server/llm_api.pyi +0 -15
  321. homeassistant-stubs/components/synology_dsm/models.pyi +0 -10
  322. homeassistant-stubs/util/yaml/const.pyi +0 -1
  323. {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0b0.dist-info}/WHEEL +0 -0
  324. {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -29,6 +29,7 @@ CONF_TILT_COMMAND_TEMPLATE: str
29
29
  CONF_TILT_STATUS_TOPIC: str
30
30
  CONF_TILT_STATUS_TEMPLATE: str
31
31
  CONF_STATE_STOPPED: str
32
+ CONF_PAYLOAD_STOP_TILT: str
32
33
  CONF_TILT_CLOSED_POSITION: str
33
34
  CONF_TILT_MAX: str
34
35
  CONF_TILT_MIN: str
@@ -98,6 +99,7 @@ class MqttCover(MqttEntity, CoverEntity):
98
99
  async def async_open_cover_tilt(self, **kwargs: Any) -> None: ...
99
100
  async def async_close_cover_tilt(self, **kwargs: Any) -> None: ...
100
101
  async def async_set_cover_tilt_position(self, **kwargs: Any) -> None: ...
102
+ async def async_stop_cover_tilt(self, **kwargs: Any) -> None: ...
101
103
  async def async_set_cover_position(self, **kwargs: Any) -> None: ...
102
104
  async def async_toggle_tilt(self, **kwargs: Any) -> None: ...
103
105
  @callback
@@ -5,9 +5,9 @@ from .client import async_publish as async_publish
5
5
  from .const import ATTR_DISCOVERY_HASH as ATTR_DISCOVERY_HASH, ATTR_DISCOVERY_PAYLOAD as ATTR_DISCOVERY_PAYLOAD, ATTR_DISCOVERY_TOPIC as ATTR_DISCOVERY_TOPIC, AVAILABILITY_ALL as AVAILABILITY_ALL, AVAILABILITY_ANY as AVAILABILITY_ANY, CONF_AVAILABILITY as CONF_AVAILABILITY, CONF_AVAILABILITY_MODE as CONF_AVAILABILITY_MODE, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_CONFIGURATION_URL as CONF_CONFIGURATION_URL, CONF_CONNECTIONS as CONF_CONNECTIONS, CONF_ENABLED_BY_DEFAULT as CONF_ENABLED_BY_DEFAULT, CONF_ENCODING as CONF_ENCODING, CONF_ENTITY_PICTURE as CONF_ENTITY_PICTURE, CONF_HW_VERSION as CONF_HW_VERSION, CONF_IDENTIFIERS as CONF_IDENTIFIERS, CONF_JSON_ATTRS_TEMPLATE as CONF_JSON_ATTRS_TEMPLATE, CONF_JSON_ATTRS_TOPIC as CONF_JSON_ATTRS_TOPIC, CONF_MANUFACTURER as CONF_MANUFACTURER, CONF_OBJECT_ID as CONF_OBJECT_ID, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_SCHEMA as CONF_SCHEMA, CONF_SERIAL_NUMBER as CONF_SERIAL_NUMBER, CONF_SUGGESTED_AREA as CONF_SUGGESTED_AREA, CONF_SW_VERSION as CONF_SW_VERSION, CONF_TOPIC as CONF_TOPIC, CONF_VIA_DEVICE as CONF_VIA_DEVICE, DEFAULT_ENCODING as DEFAULT_ENCODING, DOMAIN as DOMAIN, MQTT_CONNECTION_STATE as MQTT_CONNECTION_STATE
6
6
  from .debug_info import log_message as log_message
7
7
  from .discovery import MQTTDiscoveryPayload as MQTTDiscoveryPayload, MQTT_DISCOVERY_DONE as MQTT_DISCOVERY_DONE, MQTT_DISCOVERY_NEW as MQTT_DISCOVERY_NEW, MQTT_DISCOVERY_UPDATED as MQTT_DISCOVERY_UPDATED, clear_discovery_hash as clear_discovery_hash, get_origin_log_string as get_origin_log_string, get_origin_support_url as get_origin_support_url, set_discovery_hash as set_discovery_hash
8
- from .models import DATA_MQTT as DATA_MQTT, MessageCallbackType as MessageCallbackType, MqttValueTemplate as MqttValueTemplate, MqttValueTemplateException as MqttValueTemplateException, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
8
+ from .models import DATA_MQTT as DATA_MQTT, MessageCallbackType as MessageCallbackType, MqttSubentryData as MqttSubentryData, MqttValueTemplate as MqttValueTemplate, MqttValueTemplateException as MqttValueTemplateException, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
9
9
  from .subscription import EntitySubscription as EntitySubscription, async_prepare_subscribe_topics as async_prepare_subscribe_topics, async_subscribe_topics_internal as async_subscribe_topics_internal, async_unsubscribe_topics as async_unsubscribe_topics
10
- from .util import mqtt_config_entry_enabled as mqtt_config_entry_enabled
10
+ from .util import learn_more_url as learn_more_url, mqtt_config_entry_enabled as mqtt_config_entry_enabled
11
11
  from _typeshed import Incomplete
12
12
  from abc import ABC, abstractmethod
13
13
  from collections.abc import Callable as Callable, Coroutine
@@ -18,7 +18,7 @@ from homeassistant.helpers import entity_registry as er
18
18
  from homeassistant.helpers.device_registry import DeviceEntry as DeviceEntry, DeviceInfo as DeviceInfo, EventDeviceRegistryUpdatedData as EventDeviceRegistryUpdatedData
19
19
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect, async_dispatcher_send as async_dispatcher_send
20
20
  from homeassistant.helpers.entity import Entity as Entity, async_generate_entity_id as async_generate_entity_id
21
- from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
21
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
22
22
  from homeassistant.helpers.event import async_track_device_registry_updated_event as async_track_device_registry_updated_event, async_track_entity_registry_updated_event as async_track_entity_registry_updated_event
23
23
  from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
24
24
  from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as ReceivePayloadType
@@ -40,7 +40,7 @@ class _SetupNonEntityHelperCallbackProtocol(Protocol):
40
40
  @callback
41
41
  def async_setup_non_entity_entry_helper(hass: HomeAssistant, domain: str, async_setup: _SetupNonEntityHelperCallbackProtocol, discovery_schema: vol.Schema) -> None: ...
42
42
  @callback
43
- def async_setup_entity_entry_helper(hass: HomeAssistant, entry: ConfigEntry, entity_class: type[MqttEntity] | None, domain: str, async_add_entities: AddEntitiesCallback, discovery_schema: VolSchemaType, platform_schema_modern: VolSchemaType, schema_class_mapping: dict[str, type[MqttEntity]] | None = None) -> None: ...
43
+ def async_setup_entity_entry_helper(hass: HomeAssistant, entry: ConfigEntry, entity_class: type[MqttEntity] | None, domain: str, async_add_entities: AddConfigEntryEntitiesCallback, discovery_schema: VolSchemaType, platform_schema_modern: VolSchemaType, schema_class_mapping: dict[str, type[MqttEntity]] | None = None) -> None: ...
44
44
  def init_entity_id_from_config(hass: HomeAssistant, entity: Entity, config: ConfigType, entity_id_format: str) -> None: ...
45
45
 
46
46
  class MqttAttributesMixin(Entity):
@@ -8,7 +8,7 @@ from .util import valid_publish_topic as valid_publish_topic, valid_subscribe_to
8
8
  from _typeshed import Incomplete
9
9
  from collections.abc import Callable as Callable
10
10
  from homeassistant.components import lawn_mower as lawn_mower
11
- from homeassistant.components.lawn_mower import LawnMowerActivity as LawnMowerActivity, LawnMowerEntity as LawnMowerEntity, LawnMowerEntityFeature as LawnMowerEntityFeature
11
+ from homeassistant.components.lawn_mower import ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, LawnMowerActivity as LawnMowerActivity, LawnMowerEntity as LawnMowerEntity, LawnMowerEntityFeature as LawnMowerEntityFeature
12
12
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
13
13
  from homeassistant.const import CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC
14
14
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
@@ -28,7 +28,6 @@ CONF_PAUSE_COMMAND_TEMPLATE: str
28
28
  CONF_START_MOWING_COMMAND_TOPIC: str
29
29
  CONF_START_MOWING_COMMAND_TEMPLATE: str
30
30
  DEFAULT_NAME: str
31
- ENTITY_ID_FORMAT: Incomplete
32
31
  MQTT_LAWN_MOWER_ATTRIBUTES_BLOCKED: frozenset[str]
33
32
  FEATURE_DOCK: str
34
33
  FEATURE_PAUSE: str
@@ -1,6 +1,6 @@
1
1
  from .. import subscription as subscription
2
2
  from ..config import MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
3
- from ..const import CONF_COLOR_TEMP_KELVIN as CONF_COLOR_TEMP_KELVIN, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_MAX_KELVIN as CONF_MAX_KELVIN, CONF_MIN_KELVIN as CONF_MIN_KELVIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_STATE_VALUE_TEMPLATE as CONF_STATE_VALUE_TEMPLATE, PAYLOAD_NONE as PAYLOAD_NONE
3
+ from ..const import CONF_BRIGHTNESS_COMMAND_TEMPLATE as CONF_BRIGHTNESS_COMMAND_TEMPLATE, CONF_BRIGHTNESS_COMMAND_TOPIC as CONF_BRIGHTNESS_COMMAND_TOPIC, CONF_BRIGHTNESS_SCALE as CONF_BRIGHTNESS_SCALE, CONF_BRIGHTNESS_STATE_TOPIC as CONF_BRIGHTNESS_STATE_TOPIC, CONF_BRIGHTNESS_VALUE_TEMPLATE as CONF_BRIGHTNESS_VALUE_TEMPLATE, CONF_COLOR_MODE_STATE_TOPIC as CONF_COLOR_MODE_STATE_TOPIC, CONF_COLOR_MODE_VALUE_TEMPLATE as CONF_COLOR_MODE_VALUE_TEMPLATE, CONF_COLOR_TEMP_COMMAND_TEMPLATE as CONF_COLOR_TEMP_COMMAND_TEMPLATE, CONF_COLOR_TEMP_COMMAND_TOPIC as CONF_COLOR_TEMP_COMMAND_TOPIC, CONF_COLOR_TEMP_KELVIN as CONF_COLOR_TEMP_KELVIN, CONF_COLOR_TEMP_STATE_TOPIC as CONF_COLOR_TEMP_STATE_TOPIC, CONF_COLOR_TEMP_VALUE_TEMPLATE as CONF_COLOR_TEMP_VALUE_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_EFFECT_COMMAND_TEMPLATE as CONF_EFFECT_COMMAND_TEMPLATE, CONF_EFFECT_COMMAND_TOPIC as CONF_EFFECT_COMMAND_TOPIC, CONF_EFFECT_LIST as CONF_EFFECT_LIST, CONF_EFFECT_STATE_TOPIC as CONF_EFFECT_STATE_TOPIC, CONF_EFFECT_VALUE_TEMPLATE as CONF_EFFECT_VALUE_TEMPLATE, CONF_HS_COMMAND_TEMPLATE as CONF_HS_COMMAND_TEMPLATE, CONF_HS_COMMAND_TOPIC as CONF_HS_COMMAND_TOPIC, CONF_HS_STATE_TOPIC as CONF_HS_STATE_TOPIC, CONF_HS_VALUE_TEMPLATE as CONF_HS_VALUE_TEMPLATE, CONF_MAX_KELVIN as CONF_MAX_KELVIN, CONF_MAX_MIREDS as CONF_MAX_MIREDS, CONF_MIN_KELVIN as CONF_MIN_KELVIN, CONF_MIN_MIREDS as CONF_MIN_MIREDS, CONF_ON_COMMAND_TYPE as CONF_ON_COMMAND_TYPE, CONF_RGBWW_COMMAND_TEMPLATE as CONF_RGBWW_COMMAND_TEMPLATE, CONF_RGBWW_COMMAND_TOPIC as CONF_RGBWW_COMMAND_TOPIC, CONF_RGBWW_STATE_TOPIC as CONF_RGBWW_STATE_TOPIC, CONF_RGBWW_VALUE_TEMPLATE as CONF_RGBWW_VALUE_TEMPLATE, CONF_RGBW_COMMAND_TEMPLATE as CONF_RGBW_COMMAND_TEMPLATE, CONF_RGBW_COMMAND_TOPIC as CONF_RGBW_COMMAND_TOPIC, CONF_RGBW_STATE_TOPIC as CONF_RGBW_STATE_TOPIC, CONF_RGBW_VALUE_TEMPLATE as CONF_RGBW_VALUE_TEMPLATE, CONF_RGB_COMMAND_TEMPLATE as CONF_RGB_COMMAND_TEMPLATE, CONF_RGB_COMMAND_TOPIC as CONF_RGB_COMMAND_TOPIC, CONF_RGB_STATE_TOPIC as CONF_RGB_STATE_TOPIC, CONF_RGB_VALUE_TEMPLATE as CONF_RGB_VALUE_TEMPLATE, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_STATE_VALUE_TEMPLATE as CONF_STATE_VALUE_TEMPLATE, CONF_WHITE_COMMAND_TOPIC as CONF_WHITE_COMMAND_TOPIC, CONF_WHITE_SCALE as CONF_WHITE_SCALE, CONF_XY_COMMAND_TEMPLATE as CONF_XY_COMMAND_TEMPLATE, CONF_XY_COMMAND_TOPIC as CONF_XY_COMMAND_TOPIC, CONF_XY_STATE_TOPIC as CONF_XY_STATE_TOPIC, CONF_XY_VALUE_TEMPLATE as CONF_XY_VALUE_TEMPLATE, DEFAULT_BRIGHTNESS_SCALE as DEFAULT_BRIGHTNESS_SCALE, DEFAULT_ON_COMMAND_TYPE as DEFAULT_ON_COMMAND_TYPE, DEFAULT_PAYLOAD_OFF as DEFAULT_PAYLOAD_OFF, DEFAULT_PAYLOAD_ON as DEFAULT_PAYLOAD_ON, DEFAULT_WHITE_SCALE as DEFAULT_WHITE_SCALE, PAYLOAD_NONE as PAYLOAD_NONE
4
4
  from ..entity import MqttEntity as MqttEntity
5
5
  from ..models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PayloadSentinel as PayloadSentinel, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage, TemplateVarsType as TemplateVarsType
6
6
  from ..schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
@@ -17,54 +17,8 @@ from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType
17
17
  from typing import Any
18
18
 
19
19
  _LOGGER: Incomplete
20
- CONF_BRIGHTNESS_COMMAND_TEMPLATE: str
21
- CONF_BRIGHTNESS_COMMAND_TOPIC: str
22
- CONF_BRIGHTNESS_SCALE: str
23
- CONF_BRIGHTNESS_STATE_TOPIC: str
24
- CONF_BRIGHTNESS_VALUE_TEMPLATE: str
25
- CONF_COLOR_MODE_STATE_TOPIC: str
26
- CONF_COLOR_MODE_VALUE_TEMPLATE: str
27
- CONF_COLOR_TEMP_COMMAND_TEMPLATE: str
28
- CONF_COLOR_TEMP_COMMAND_TOPIC: str
29
- CONF_COLOR_TEMP_STATE_TOPIC: str
30
- CONF_COLOR_TEMP_VALUE_TEMPLATE: str
31
- CONF_EFFECT_COMMAND_TEMPLATE: str
32
- CONF_EFFECT_COMMAND_TOPIC: str
33
- CONF_EFFECT_LIST: str
34
- CONF_EFFECT_STATE_TOPIC: str
35
- CONF_EFFECT_VALUE_TEMPLATE: str
36
- CONF_HS_COMMAND_TEMPLATE: str
37
- CONF_HS_COMMAND_TOPIC: str
38
- CONF_HS_STATE_TOPIC: str
39
- CONF_HS_VALUE_TEMPLATE: str
40
- CONF_MAX_MIREDS: str
41
- CONF_MIN_MIREDS: str
42
- CONF_RGB_COMMAND_TEMPLATE: str
43
- CONF_RGB_COMMAND_TOPIC: str
44
- CONF_RGB_STATE_TOPIC: str
45
- CONF_RGB_VALUE_TEMPLATE: str
46
- CONF_RGBW_COMMAND_TEMPLATE: str
47
- CONF_RGBW_COMMAND_TOPIC: str
48
- CONF_RGBW_STATE_TOPIC: str
49
- CONF_RGBW_VALUE_TEMPLATE: str
50
- CONF_RGBWW_COMMAND_TEMPLATE: str
51
- CONF_RGBWW_COMMAND_TOPIC: str
52
- CONF_RGBWW_STATE_TOPIC: str
53
- CONF_RGBWW_VALUE_TEMPLATE: str
54
- CONF_XY_COMMAND_TEMPLATE: str
55
- CONF_XY_COMMAND_TOPIC: str
56
- CONF_XY_STATE_TOPIC: str
57
- CONF_XY_VALUE_TEMPLATE: str
58
- CONF_WHITE_COMMAND_TOPIC: str
59
- CONF_WHITE_SCALE: str
60
- CONF_ON_COMMAND_TYPE: str
61
- MQTT_LIGHT_ATTRIBUTES_BLOCKED: Incomplete
62
- DEFAULT_BRIGHTNESS_SCALE: int
63
20
  DEFAULT_NAME: str
64
- DEFAULT_PAYLOAD_OFF: str
65
- DEFAULT_PAYLOAD_ON: str
66
- DEFAULT_WHITE_SCALE: int
67
- DEFAULT_ON_COMMAND_TYPE: str
21
+ MQTT_LIGHT_ATTRIBUTES_BLOCKED: Incomplete
68
22
  VALUES_ON_COMMAND_TYPE: Incomplete
69
23
  COMMAND_TEMPLATE_KEYS: Incomplete
70
24
  VALUE_TEMPLATE_KEYS: Incomplete
@@ -1,6 +1,6 @@
1
1
  from .. import subscription as subscription
2
2
  from ..config import DEFAULT_QOS as DEFAULT_QOS, DEFAULT_RETAIN as DEFAULT_RETAIN, MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
3
- from ..const import CONF_COLOR_TEMP_KELVIN as CONF_COLOR_TEMP_KELVIN, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_MAX_KELVIN as CONF_MAX_KELVIN, CONF_MIN_KELVIN as CONF_MIN_KELVIN, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC
3
+ from ..const import CONF_COLOR_MODE as CONF_COLOR_MODE, CONF_COLOR_TEMP_KELVIN as CONF_COLOR_TEMP_KELVIN, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_EFFECT_LIST as CONF_EFFECT_LIST, CONF_FLASH_TIME_LONG as CONF_FLASH_TIME_LONG, CONF_FLASH_TIME_SHORT as CONF_FLASH_TIME_SHORT, CONF_MAX_KELVIN as CONF_MAX_KELVIN, CONF_MAX_MIREDS as CONF_MAX_MIREDS, CONF_MIN_KELVIN as CONF_MIN_KELVIN, CONF_MIN_MIREDS as CONF_MIN_MIREDS, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_SUPPORTED_COLOR_MODES as CONF_SUPPORTED_COLOR_MODES, DEFAULT_BRIGHTNESS as DEFAULT_BRIGHTNESS, DEFAULT_BRIGHTNESS_SCALE as DEFAULT_BRIGHTNESS_SCALE, DEFAULT_EFFECT as DEFAULT_EFFECT, DEFAULT_FLASH_TIME_LONG as DEFAULT_FLASH_TIME_LONG, DEFAULT_FLASH_TIME_SHORT as DEFAULT_FLASH_TIME_SHORT, DEFAULT_WHITE_SCALE as DEFAULT_WHITE_SCALE
4
4
  from ..entity import MqttEntity as MqttEntity
5
5
  from ..models import ReceiveMessage as ReceiveMessage
6
6
  from ..schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
@@ -19,20 +19,7 @@ from typing import Any
19
19
 
20
20
  _LOGGER: Incomplete
21
21
  DOMAIN: str
22
- DEFAULT_BRIGHTNESS: bool
23
- DEFAULT_EFFECT: bool
24
- DEFAULT_FLASH_TIME_LONG: int
25
- DEFAULT_FLASH_TIME_SHORT: int
26
22
  DEFAULT_NAME: str
27
- DEFAULT_BRIGHTNESS_SCALE: int
28
- DEFAULT_WHITE_SCALE: int
29
- CONF_COLOR_MODE: str
30
- CONF_SUPPORTED_COLOR_MODES: str
31
- CONF_EFFECT_LIST: str
32
- CONF_FLASH_TIME_LONG: str
33
- CONF_FLASH_TIME_SHORT: str
34
- CONF_MAX_MIREDS: str
35
- CONF_MIN_MIREDS: str
36
23
  _PLATFORM_SCHEMA_BASE: Incomplete
37
24
  DISCOVERY_SCHEMA_JSON: Incomplete
38
25
  PLATFORM_SCHEMA_MODERN_JSON: Incomplete
@@ -1,6 +1,6 @@
1
1
  from .. import subscription as subscription
2
2
  from ..config import MQTT_RW_SCHEMA as MQTT_RW_SCHEMA
3
- from ..const import CONF_COLOR_TEMP_KELVIN as CONF_COLOR_TEMP_KELVIN, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_MAX_KELVIN as CONF_MAX_KELVIN, CONF_MIN_KELVIN as CONF_MIN_KELVIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_NONE as PAYLOAD_NONE
3
+ from ..const import CONF_BLUE_TEMPLATE as CONF_BLUE_TEMPLATE, CONF_BRIGHTNESS_TEMPLATE as CONF_BRIGHTNESS_TEMPLATE, CONF_COLOR_TEMP_KELVIN as CONF_COLOR_TEMP_KELVIN, CONF_COLOR_TEMP_TEMPLATE as CONF_COLOR_TEMP_TEMPLATE, CONF_COMMAND_OFF_TEMPLATE as CONF_COMMAND_OFF_TEMPLATE, CONF_COMMAND_ON_TEMPLATE as CONF_COMMAND_ON_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_EFFECT_LIST as CONF_EFFECT_LIST, CONF_EFFECT_TEMPLATE as CONF_EFFECT_TEMPLATE, CONF_GREEN_TEMPLATE as CONF_GREEN_TEMPLATE, CONF_MAX_KELVIN as CONF_MAX_KELVIN, CONF_MAX_MIREDS as CONF_MAX_MIREDS, CONF_MIN_KELVIN as CONF_MIN_KELVIN, CONF_MIN_MIREDS as CONF_MIN_MIREDS, CONF_RED_TEMPLATE as CONF_RED_TEMPLATE, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_NONE as PAYLOAD_NONE
4
4
  from ..entity import MqttEntity as MqttEntity
5
5
  from ..models import MqttCommandTemplate as MqttCommandTemplate, MqttValueTemplate as MqttValueTemplate, PublishPayloadType as PublishPayloadType, ReceiveMessage as ReceiveMessage
6
6
  from ..schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
@@ -19,17 +19,6 @@ from typing import Any
19
19
  _LOGGER: Incomplete
20
20
  DOMAIN: str
21
21
  DEFAULT_NAME: str
22
- CONF_BLUE_TEMPLATE: str
23
- CONF_BRIGHTNESS_TEMPLATE: str
24
- CONF_COLOR_TEMP_TEMPLATE: str
25
- CONF_COMMAND_OFF_TEMPLATE: str
26
- CONF_COMMAND_ON_TEMPLATE: str
27
- CONF_EFFECT_LIST: str
28
- CONF_EFFECT_TEMPLATE: str
29
- CONF_GREEN_TEMPLATE: str
30
- CONF_MAX_MIREDS: str
31
- CONF_MIN_MIREDS: str
32
- CONF_RED_TEMPLATE: str
33
22
  COMMAND_TEMPLATES: Incomplete
34
23
  VALUE_TEMPLATES: Incomplete
35
24
  PLATFORM_SCHEMA_MODERN_TEMPLATE: Incomplete
@@ -19,7 +19,7 @@ from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as Receiv
19
19
  from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType, TemplateVarsType as TemplateVarsType, VolSchemaType as VolSchemaType
20
20
  from homeassistant.util.hass_dict import HassKey as HassKey
21
21
  from paho.mqtt.client import MQTTMessage as MQTTMessage
22
- from typing import TypedDict
22
+ from typing import Any, TypedDict
23
23
 
24
24
  class PayloadSentinel(StrEnum):
25
25
  NONE = 'none'
@@ -139,5 +139,29 @@ class MqttComponentConfig:
139
139
  node_id: str | None
140
140
  discovery_payload: MQTTDiscoveryPayload
141
141
 
142
+ class DeviceMqttOptions(TypedDict, total=False):
143
+ qos: int
144
+
145
+ class MqttDeviceData(TypedDict, total=False):
146
+ name: str
147
+ identifiers: str
148
+ configuration_url: str
149
+ sw_version: str
150
+ hw_version: str
151
+ model: str
152
+ model_id: str
153
+ mqtt_settings: DeviceMqttOptions
154
+
155
+ class MqttAvailabilityData(TypedDict, total=False):
156
+ availability_topic: str
157
+ availability_template: str
158
+ payload_available: str
159
+ payload_not_available: str
160
+
161
+ class MqttSubentryData(TypedDict, total=False):
162
+ device: MqttDeviceData
163
+ components: dict[str, dict[str, Any]]
164
+ availability: MqttAvailabilityData
165
+
142
166
  DATA_MQTT: HassKey[MqttData]
143
167
  DATA_MQTT_AVAILABLE: HassKey[asyncio.Future[bool]]
@@ -1,6 +1,6 @@
1
1
  from . import subscription as subscription
2
2
  from .config import MQTT_RO_SCHEMA as MQTT_RO_SCHEMA
3
- from .const import CONF_OPTIONS as CONF_OPTIONS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, PAYLOAD_NONE as PAYLOAD_NONE
3
+ from .const import CONF_EXPIRE_AFTER as CONF_EXPIRE_AFTER, CONF_LAST_RESET_VALUE_TEMPLATE as CONF_LAST_RESET_VALUE_TEMPLATE, CONF_OPTIONS as CONF_OPTIONS, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_SUGGESTED_DISPLAY_PRECISION as CONF_SUGGESTED_DISPLAY_PRECISION, DOMAIN as DOMAIN, PAYLOAD_NONE as PAYLOAD_NONE
4
4
  from .entity import MqttAvailabilityMixin as MqttAvailabilityMixin, MqttEntity as MqttEntity, async_setup_entity_entry_helper as async_setup_entity_entry_helper
5
5
  from .models import MqttValueTemplate as MqttValueTemplate, PayloadSentinel as PayloadSentinel, ReceiveMessage as ReceiveMessage
6
6
  from .schemas import MQTT_ENTITY_COMMON_SCHEMA as MQTT_ENTITY_COMMON_SCHEMA
@@ -9,23 +9,22 @@ from _typeshed import Incomplete
9
9
  from collections.abc import Callable as Callable
10
10
  from datetime import datetime
11
11
  from homeassistant.components import sensor as sensor
12
- from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, RestoreSensor as RestoreSensor, STATE_CLASSES_SCHEMA as STATE_CLASSES_SCHEMA, SensorDeviceClass as SensorDeviceClass, SensorExtraStoredData as SensorExtraStoredData, SensorStateClass as SensorStateClass
12
+ from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, DEVICE_CLASSES_SCHEMA as DEVICE_CLASSES_SCHEMA, DEVICE_CLASS_UNITS as DEVICE_CLASS_UNITS, ENTITY_ID_FORMAT as ENTITY_ID_FORMAT, RestoreSensor as RestoreSensor, STATE_CLASSES_SCHEMA as STATE_CLASSES_SCHEMA, SensorDeviceClass as SensorDeviceClass, SensorExtraStoredData as SensorExtraStoredData, SensorStateClass as SensorStateClass
13
13
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
14
14
  from homeassistant.const import CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_FORCE_UPDATE as CONF_FORCE_UPDATE, CONF_NAME as CONF_NAME, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE, STATE_UNAVAILABLE as STATE_UNAVAILABLE, STATE_UNKNOWN as STATE_UNKNOWN
15
15
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant, State as State, callback as callback
16
16
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
17
17
  from homeassistant.helpers.event import async_call_later as async_call_later
18
+ from homeassistant.helpers.issue_registry import IssueSeverity as IssueSeverity, async_create_issue as async_create_issue
18
19
  from homeassistant.helpers.service_info.mqtt import ReceivePayloadType as ReceivePayloadType
19
20
  from homeassistant.helpers.typing import ConfigType as ConfigType, VolSchemaType as VolSchemaType
20
21
 
21
22
  _LOGGER: Incomplete
22
23
  PARALLEL_UPDATES: int
23
- CONF_EXPIRE_AFTER: str
24
- CONF_LAST_RESET_VALUE_TEMPLATE: str
25
- CONF_SUGGESTED_DISPLAY_PRECISION: str
26
24
  MQTT_SENSOR_ATTRIBUTES_BLOCKED: Incomplete
27
25
  DEFAULT_NAME: str
28
26
  DEFAULT_FORCE_UPDATE: bool
27
+ URL_DOCS_SUPPORTED_SENSOR_UOM: str
29
28
  _PLATFORM_SCHEMA_BASE: Incomplete
30
29
 
31
30
  def validate_sensor_state_and_device_class_config(config: ConfigType) -> ConfigType: ...
@@ -45,6 +44,8 @@ class MqttSensor(MqttEntity, RestoreSensor):
45
44
  _expired: bool | None
46
45
  _template: Callable[[ReceivePayloadType, PayloadSentinel], ReceivePayloadType] | None
47
46
  _last_reset_template: Callable[[ReceivePayloadType], ReceivePayloadType] | None
47
+ @callback
48
+ def async_check_uom(self) -> None: ...
48
49
  _attr_native_value: Incomplete
49
50
  async def mqtt_async_added_to_hass(self) -> None: ...
50
51
  async def async_will_remove_from_hass(self) -> None: ...
@@ -60,3 +60,5 @@ async def async_create_certificate_temp_files(hass: HomeAssistant, config: Confi
60
60
  def check_state_too_long(logger: logging.Logger, proposed_state: str, entity_id: str, msg: ReceiveMessage) -> bool: ...
61
61
  def get_file_path(option: str, default: str | None = None) -> str | None: ...
62
62
  def migrate_certificate_file_to_content(file_name_or_auto: str) -> str | None: ...
63
+ @callback
64
+ def learn_more_url(platform: str) -> str: ...
@@ -1,4 +1,4 @@
1
- from .const import ATTR_DEVICES as ATTR_DEVICES, DOMAIN as DOMAIN, DevId as DevId, DiscoveryInfo as DiscoveryInfo, MYSENSORS_DISCOVERED_NODES as MYSENSORS_DISCOVERED_NODES, MYSENSORS_GATEWAYS as MYSENSORS_GATEWAYS, MYSENSORS_ON_UNLOAD as MYSENSORS_ON_UNLOAD, PLATFORMS as PLATFORMS, SensorType as SensorType
1
+ from .const import ATTR_DEVICES as ATTR_DEVICES, DOMAIN as DOMAIN, DevId as DevId, DiscoveryInfo as DiscoveryInfo, MYSENSORS_DISCOVERED_NODES as MYSENSORS_DISCOVERED_NODES, MYSENSORS_GATEWAYS as MYSENSORS_GATEWAYS, PLATFORMS as PLATFORMS, SensorType as SensorType
2
2
  from .entity import MySensorsChildEntity as MySensorsChildEntity, get_mysensors_devices as get_mysensors_devices
3
3
  from .gateway import finish_setup as finish_setup, gw_stop as gw_stop, setup_gateway as setup_gateway
4
4
  from _typeshed import Incomplete
@@ -1,7 +1,6 @@
1
1
  from . import setup_mysensors_platform as setup_mysensors_platform
2
2
  from .const import DiscoveryInfo as DiscoveryInfo, MYSENSORS_DISCOVERY as MYSENSORS_DISCOVERY
3
3
  from .entity import MySensorsChildEntity as MySensorsChildEntity
4
- from .helpers import on_unload as on_unload
5
4
  from collections.abc import Callable as Callable
6
5
  from dataclasses import dataclass
7
6
  from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
@@ -1,7 +1,6 @@
1
1
  from . import setup_mysensors_platform as setup_mysensors_platform
2
2
  from .const import DiscoveryInfo as DiscoveryInfo, MYSENSORS_DISCOVERY as MYSENSORS_DISCOVERY
3
3
  from .entity import MySensorsChildEntity as MySensorsChildEntity
4
- from .helpers import on_unload as on_unload
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant.components.climate import ATTR_TARGET_TEMP_HIGH as ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW as ATTR_TARGET_TEMP_LOW, ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, HVACMode as HVACMode
7
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -27,7 +27,6 @@ CHILD_CALLBACK: str
27
27
  NODE_CALLBACK: str
28
28
  MYSENSORS_DISCOVERY: str
29
29
  MYSENSORS_NODE_DISCOVERY: str
30
- MYSENSORS_ON_UNLOAD: str
31
30
  TYPE: Final[str]
32
31
  UPDATE_DELAY: float
33
32
 
@@ -1,11 +1,10 @@
1
1
  from . import setup_mysensors_platform as setup_mysensors_platform
2
2
  from .const import DiscoveryInfo as DiscoveryInfo, MYSENSORS_DISCOVERY as MYSENSORS_DISCOVERY
3
3
  from .entity import MySensorsChildEntity as MySensorsChildEntity
4
- from .helpers import on_unload as on_unload
5
4
  from enum import Enum
6
5
  from homeassistant.components.cover import ATTR_POSITION as ATTR_POSITION, CoverEntity as CoverEntity
7
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
- from homeassistant.const import Platform as Platform, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON
7
+ from homeassistant.const import Platform as Platform, STATE_ON as STATE_ON
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant
10
9
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
11
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -1,7 +1,6 @@
1
1
  from . import setup_mysensors_platform as setup_mysensors_platform
2
2
  from .const import DiscoveryInfo as DiscoveryInfo, MYSENSORS_DISCOVERY as MYSENSORS_DISCOVERY
3
3
  from .entity import MySensorsChildEntity as MySensorsChildEntity
4
- from .helpers import on_unload as on_unload
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant.components.device_tracker import TrackerEntity as TrackerEntity
7
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -1,6 +1,6 @@
1
1
  from .const import CONF_BAUD_RATE as CONF_BAUD_RATE, CONF_GATEWAY_TYPE as CONF_GATEWAY_TYPE, CONF_GATEWAY_TYPE_MQTT as CONF_GATEWAY_TYPE_MQTT, CONF_GATEWAY_TYPE_SERIAL as CONF_GATEWAY_TYPE_SERIAL, CONF_PERSISTENCE_FILE as CONF_PERSISTENCE_FILE, CONF_RETAIN as CONF_RETAIN, CONF_TCP_PORT as CONF_TCP_PORT, CONF_TOPIC_IN_PREFIX as CONF_TOPIC_IN_PREFIX, CONF_TOPIC_OUT_PREFIX as CONF_TOPIC_OUT_PREFIX, CONF_VERSION as CONF_VERSION, ConfGatewayType as ConfGatewayType, DOMAIN as DOMAIN, GatewayId as GatewayId, MYSENSORS_GATEWAY_START_TASK as MYSENSORS_GATEWAY_START_TASK
2
2
  from .handler import HANDLERS as HANDLERS
3
- from .helpers import discover_mysensors_node as discover_mysensors_node, discover_mysensors_platform as discover_mysensors_platform, on_unload as on_unload, validate_child as validate_child, validate_node as validate_node
3
+ from .helpers import discover_mysensors_node as discover_mysensors_node, discover_mysensors_platform as discover_mysensors_platform, validate_child as validate_child, validate_node as validate_node
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from homeassistant.components.mqtt import async_publish as async_publish, async_subscribe as async_subscribe
@@ -1,5 +1,5 @@
1
1
  import voluptuous as vol
2
- from .const import ATTR_DEVICES as ATTR_DEVICES, ATTR_GATEWAY_ID as ATTR_GATEWAY_ID, ATTR_NODE_ID as ATTR_NODE_ID, DOMAIN as DOMAIN, DevId as DevId, FLAT_PLATFORM_TYPES as FLAT_PLATFORM_TYPES, GatewayId as GatewayId, MYSENSORS_DISCOVERED_NODES as MYSENSORS_DISCOVERED_NODES, MYSENSORS_DISCOVERY as MYSENSORS_DISCOVERY, MYSENSORS_NODE_DISCOVERY as MYSENSORS_NODE_DISCOVERY, MYSENSORS_ON_UNLOAD as MYSENSORS_ON_UNLOAD, SensorType as SensorType, TYPE_TO_PLATFORMS as TYPE_TO_PLATFORMS, ValueType as ValueType
2
+ from .const import ATTR_DEVICES as ATTR_DEVICES, ATTR_GATEWAY_ID as ATTR_GATEWAY_ID, ATTR_NODE_ID as ATTR_NODE_ID, DOMAIN as DOMAIN, DevId as DevId, FLAT_PLATFORM_TYPES as FLAT_PLATFORM_TYPES, GatewayId as GatewayId, MYSENSORS_DISCOVERED_NODES as MYSENSORS_DISCOVERED_NODES, MYSENSORS_DISCOVERY as MYSENSORS_DISCOVERY, MYSENSORS_NODE_DISCOVERY as MYSENSORS_NODE_DISCOVERY, SensorType as SensorType, TYPE_TO_PLATFORMS as TYPE_TO_PLATFORMS, ValueType as ValueType
3
3
  from _typeshed import Incomplete
4
4
  from collections import defaultdict
5
5
  from collections.abc import Callable as Callable
@@ -13,8 +13,6 @@ from mysensors.sensor import ChildSensor as ChildSensor
13
13
  _LOGGER: Incomplete
14
14
  SCHEMAS: Registry[tuple[str, str], Callable[[BaseAsyncGateway, ChildSensor, ValueType], vol.Schema]]
15
15
 
16
- @callback
17
- def on_unload(hass: HomeAssistant, gateway_id: GatewayId, fnct: Callable) -> None: ...
18
16
  @callback
19
17
  def discover_mysensors_platform(hass: HomeAssistant, gateway_id: GatewayId, platform: str, new_devices: list[DevId]) -> None: ...
20
18
  @callback
@@ -1,11 +1,10 @@
1
1
  from . import setup_mysensors_platform as setup_mysensors_platform
2
2
  from .const import DiscoveryInfo as DiscoveryInfo, MYSENSORS_DISCOVERY as MYSENSORS_DISCOVERY, SensorType as SensorType
3
3
  from .entity import MySensorsChildEntity as MySensorsChildEntity
4
- from .helpers import on_unload as on_unload
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant.components.light import ATTR_BRIGHTNESS as ATTR_BRIGHTNESS, ATTR_RGBW_COLOR as ATTR_RGBW_COLOR, ATTR_RGB_COLOR as ATTR_RGB_COLOR, ColorMode as ColorMode, LightEntity as LightEntity
7
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
- from homeassistant.const import Platform as Platform, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON
7
+ from homeassistant.const import Platform as Platform, STATE_ON as STATE_ON
9
8
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
9
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
11
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -20,11 +19,11 @@ class MySensorsLight(MySensorsChildEntity, LightEntity):
20
19
  @property
21
20
  def is_on(self) -> bool: ...
22
21
  def _turn_on_light(self) -> None: ...
23
- _attr_brightness: Incomplete
24
22
  def _turn_on_dimmer(self, **kwargs: Any) -> None: ...
25
23
  async def async_turn_off(self, **kwargs: Any) -> None: ...
26
24
  @callback
27
25
  def _async_update_light(self) -> None: ...
26
+ _attr_brightness: Incomplete
28
27
  @callback
29
28
  def _async_update_dimmer(self) -> None: ...
30
29
 
@@ -39,10 +38,10 @@ class MySensorsLightRGB(MySensorsLight):
39
38
  _attr_supported_color_modes: Incomplete
40
39
  _attr_color_mode: Incomplete
41
40
  async def async_turn_on(self, **kwargs: Any) -> None: ...
42
- _attr_rgb_color: Incomplete
43
41
  def _turn_on_rgb(self, **kwargs: Any) -> None: ...
44
42
  @callback
45
43
  def _async_update(self) -> None: ...
44
+ _attr_rgb_color: Incomplete
46
45
  @callback
47
46
  def _async_update_rgb_or_w(self) -> None: ...
48
47
 
@@ -50,7 +49,7 @@ class MySensorsLightRGBW(MySensorsLightRGB):
50
49
  _attr_supported_color_modes: Incomplete
51
50
  _attr_color_mode: Incomplete
52
51
  async def async_turn_on(self, **kwargs: Any) -> None: ...
53
- _attr_rgbw_color: Incomplete
54
52
  def _turn_on_rgbw(self, **kwargs: Any) -> None: ...
53
+ _attr_rgbw_color: Incomplete
55
54
  @callback
56
55
  def _async_update_rgb_or_w(self) -> None: ...
@@ -1,7 +1,6 @@
1
1
  from . import setup_mysensors_platform as setup_mysensors_platform
2
2
  from .const import DiscoveryInfo as DiscoveryInfo, MYSENSORS_DISCOVERY as MYSENSORS_DISCOVERY
3
3
  from .entity import MySensorsChildEntity as MySensorsChildEntity
4
- from .helpers import on_unload as on_unload
5
4
  from collections.abc import Iterable
6
5
  from homeassistant.components.remote import ATTR_COMMAND as ATTR_COMMAND, RemoteEntity as RemoteEntity, RemoteEntityFeature as RemoteEntityFeature
7
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -1,7 +1,6 @@
1
1
  from . import setup_mysensors_platform as setup_mysensors_platform
2
2
  from .const import ATTR_GATEWAY_ID as ATTR_GATEWAY_ID, ATTR_NODE_ID as ATTR_NODE_ID, DOMAIN as DOMAIN, DiscoveryInfo as DiscoveryInfo, MYSENSORS_DISCOVERY as MYSENSORS_DISCOVERY, MYSENSORS_GATEWAYS as MYSENSORS_GATEWAYS, MYSENSORS_NODE_DISCOVERY as MYSENSORS_NODE_DISCOVERY, NodeDiscoveryInfo as NodeDiscoveryInfo
3
3
  from .entity import MySensorNodeEntity as MySensorNodeEntity, MySensorsChildEntity as MySensorsChildEntity
4
- from .helpers import on_unload as on_unload
5
4
  from _typeshed import Incomplete
6
5
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
7
6
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
@@ -1,10 +1,9 @@
1
1
  from . import setup_mysensors_platform as setup_mysensors_platform
2
2
  from .const import DiscoveryInfo as DiscoveryInfo, MYSENSORS_DISCOVERY as MYSENSORS_DISCOVERY, SensorType as SensorType
3
3
  from .entity import MySensorsChildEntity as MySensorsChildEntity
4
- from .helpers import on_unload as on_unload
5
4
  from homeassistant.components.switch import SwitchEntity as SwitchEntity
6
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
- from homeassistant.const import Platform as Platform, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON
6
+ from homeassistant.const import Platform as Platform, STATE_ON as STATE_ON
8
7
  from homeassistant.core import HomeAssistant as HomeAssistant
9
8
  from homeassistant.helpers.dispatcher import async_dispatcher_connect as async_dispatcher_connect
10
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
@@ -1,7 +1,6 @@
1
1
  from . import setup_mysensors_platform as setup_mysensors_platform
2
2
  from .const import DiscoveryInfo as DiscoveryInfo, MYSENSORS_DISCOVERY as MYSENSORS_DISCOVERY
3
3
  from .entity import MySensorsChildEntity as MySensorsChildEntity
4
- from .helpers import on_unload as on_unload
5
4
  from homeassistant.components.text import TextEntity as TextEntity
6
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
6
  from homeassistant.const import Platform as Platform
@@ -1,8 +1,10 @@
1
+ from .const import DOMAIN as DOMAIN
1
2
  from .coordinator import NAMConfigEntry as NAMConfigEntry, NAMDataUpdateCoordinator as NAMDataUpdateCoordinator
2
3
  from _typeshed import Incomplete
3
4
  from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
4
5
  from homeassistant.const import EntityCategory as EntityCategory
5
6
  from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
6
8
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
9
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
8
10
 
@@ -6,6 +6,7 @@ SUFFIX_P0: Final[str]
6
6
  SUFFIX_P1: Final[str]
7
7
  SUFFIX_P2: Final[str]
8
8
  SUFFIX_P4: Final[str]
9
+ ATTR_BH1750_ILLUMINANCE: Final[str]
9
10
  ATTR_BME280_HUMIDITY: Final[str]
10
11
  ATTR_BME280_PRESSURE: Final[str]
11
12
  ATTR_BME280_TEMPERATURE: Final[str]
@@ -1,11 +1,11 @@
1
- from .const import ATTR_BME280_HUMIDITY as ATTR_BME280_HUMIDITY, ATTR_BME280_PRESSURE as ATTR_BME280_PRESSURE, ATTR_BME280_TEMPERATURE as ATTR_BME280_TEMPERATURE, ATTR_BMP180_PRESSURE as ATTR_BMP180_PRESSURE, ATTR_BMP180_TEMPERATURE as ATTR_BMP180_TEMPERATURE, ATTR_BMP280_PRESSURE as ATTR_BMP280_PRESSURE, ATTR_BMP280_TEMPERATURE as ATTR_BMP280_TEMPERATURE, ATTR_DHT22_HUMIDITY as ATTR_DHT22_HUMIDITY, ATTR_DHT22_TEMPERATURE as ATTR_DHT22_TEMPERATURE, ATTR_DS18B20_TEMPERATURE as ATTR_DS18B20_TEMPERATURE, ATTR_HECA_HUMIDITY as ATTR_HECA_HUMIDITY, ATTR_HECA_TEMPERATURE as ATTR_HECA_TEMPERATURE, ATTR_MHZ14A_CARBON_DIOXIDE as ATTR_MHZ14A_CARBON_DIOXIDE, ATTR_PMSX003_CAQI as ATTR_PMSX003_CAQI, ATTR_PMSX003_CAQI_LEVEL as ATTR_PMSX003_CAQI_LEVEL, ATTR_PMSX003_P0 as ATTR_PMSX003_P0, ATTR_PMSX003_P1 as ATTR_PMSX003_P1, ATTR_PMSX003_P2 as ATTR_PMSX003_P2, ATTR_SDS011_CAQI as ATTR_SDS011_CAQI, ATTR_SDS011_CAQI_LEVEL as ATTR_SDS011_CAQI_LEVEL, ATTR_SDS011_P1 as ATTR_SDS011_P1, ATTR_SDS011_P2 as ATTR_SDS011_P2, ATTR_SHT3X_HUMIDITY as ATTR_SHT3X_HUMIDITY, ATTR_SHT3X_TEMPERATURE as ATTR_SHT3X_TEMPERATURE, ATTR_SIGNAL_STRENGTH as ATTR_SIGNAL_STRENGTH, ATTR_SPS30_CAQI as ATTR_SPS30_CAQI, ATTR_SPS30_CAQI_LEVEL as ATTR_SPS30_CAQI_LEVEL, ATTR_SPS30_P0 as ATTR_SPS30_P0, ATTR_SPS30_P1 as ATTR_SPS30_P1, ATTR_SPS30_P2 as ATTR_SPS30_P2, ATTR_SPS30_P4 as ATTR_SPS30_P4, ATTR_UPTIME as ATTR_UPTIME, DOMAIN as DOMAIN, MIGRATION_SENSORS as MIGRATION_SENSORS
1
+ from .const import ATTR_BH1750_ILLUMINANCE as ATTR_BH1750_ILLUMINANCE, ATTR_BME280_HUMIDITY as ATTR_BME280_HUMIDITY, ATTR_BME280_PRESSURE as ATTR_BME280_PRESSURE, ATTR_BME280_TEMPERATURE as ATTR_BME280_TEMPERATURE, ATTR_BMP180_PRESSURE as ATTR_BMP180_PRESSURE, ATTR_BMP180_TEMPERATURE as ATTR_BMP180_TEMPERATURE, ATTR_BMP280_PRESSURE as ATTR_BMP280_PRESSURE, ATTR_BMP280_TEMPERATURE as ATTR_BMP280_TEMPERATURE, ATTR_DHT22_HUMIDITY as ATTR_DHT22_HUMIDITY, ATTR_DHT22_TEMPERATURE as ATTR_DHT22_TEMPERATURE, ATTR_DS18B20_TEMPERATURE as ATTR_DS18B20_TEMPERATURE, ATTR_HECA_HUMIDITY as ATTR_HECA_HUMIDITY, ATTR_HECA_TEMPERATURE as ATTR_HECA_TEMPERATURE, ATTR_MHZ14A_CARBON_DIOXIDE as ATTR_MHZ14A_CARBON_DIOXIDE, ATTR_PMSX003_CAQI as ATTR_PMSX003_CAQI, ATTR_PMSX003_CAQI_LEVEL as ATTR_PMSX003_CAQI_LEVEL, ATTR_PMSX003_P0 as ATTR_PMSX003_P0, ATTR_PMSX003_P1 as ATTR_PMSX003_P1, ATTR_PMSX003_P2 as ATTR_PMSX003_P2, ATTR_SDS011_CAQI as ATTR_SDS011_CAQI, ATTR_SDS011_CAQI_LEVEL as ATTR_SDS011_CAQI_LEVEL, ATTR_SDS011_P1 as ATTR_SDS011_P1, ATTR_SDS011_P2 as ATTR_SDS011_P2, ATTR_SHT3X_HUMIDITY as ATTR_SHT3X_HUMIDITY, ATTR_SHT3X_TEMPERATURE as ATTR_SHT3X_TEMPERATURE, ATTR_SIGNAL_STRENGTH as ATTR_SIGNAL_STRENGTH, ATTR_SPS30_CAQI as ATTR_SPS30_CAQI, ATTR_SPS30_CAQI_LEVEL as ATTR_SPS30_CAQI_LEVEL, ATTR_SPS30_P0 as ATTR_SPS30_P0, ATTR_SPS30_P1 as ATTR_SPS30_P1, ATTR_SPS30_P2 as ATTR_SPS30_P2, ATTR_SPS30_P4 as ATTR_SPS30_P4, ATTR_UPTIME as ATTR_UPTIME, DOMAIN as DOMAIN, MIGRATION_SENSORS as MIGRATION_SENSORS
2
2
  from .coordinator import NAMConfigEntry as NAMConfigEntry, NAMDataUpdateCoordinator as NAMDataUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
6
  from datetime import datetime
7
7
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
- from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature
8
+ from homeassistant.const import CONCENTRATION_MICROGRAMS_PER_CUBIC_METER as CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_MILLION as CONCENTRATION_PARTS_PER_MILLION, EntityCategory as EntityCategory, LIGHT_LUX as LIGHT_LUX, PERCENTAGE as PERCENTAGE, SIGNAL_STRENGTH_DECIBELS_MILLIWATT as SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfPressure as UnitOfPressure, UnitOfTemperature as UnitOfTemperature
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
11
11
  from homeassistant.helpers.typing import StateType as StateType
@@ -1,3 +1,4 @@
1
+ import datetime
1
2
  from .const import DOMAIN as DOMAIN
2
3
  from .device_info import NestDeviceInfo as NestDeviceInfo, async_nest_devices_by_device_id as async_nest_devices_by_device_id
3
4
  from .events import EVENT_NAME_MAP as EVENT_NAME_MAP, MEDIA_SOURCE_EVENT_TITLE_MAP as MEDIA_SOURCE_EVENT_TITLE_MAP
@@ -13,6 +14,7 @@ from homeassistant.components.ffmpeg import get_ffmpeg_manager as get_ffmpeg_man
13
14
  from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass, MediaType as MediaType
14
15
  from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia, Unresolvable as Unresolvable
15
16
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
17
+ from homeassistant.helpers.event import async_track_time_interval as async_track_time_interval
16
18
  from homeassistant.helpers.storage import Store as Store
17
19
  from homeassistant.helpers.template import DATE_STR_FORMAT as DATE_STR_FORMAT
18
20
  from typing import Any
@@ -28,6 +30,7 @@ STORAGE_VERSION: int
28
30
  STORAGE_SAVE_DELAY_SECONDS: int
29
31
  MEDIA_PATH: Incomplete
30
32
  DISK_READ_LRU_MAX_SIZE: int
33
+ ORPHANED_MEDIA_AGE_CUTOFF: Incomplete
31
34
 
32
35
  async def async_get_media_event_store(hass: HomeAssistant, subscriber: GoogleNestSubscriber) -> EventMediaStore: ...
33
36
  async def async_get_transcoder(hass: HomeAssistant) -> Transcoder: ...
@@ -52,6 +55,8 @@ class NestEventMediaStore(EventMediaStore):
52
55
  async def async_save_media(self, media_key: str, content: bytes) -> None: ...
53
56
  async def async_remove_media(self, media_key: str) -> None: ...
54
57
  async def _get_devices(self) -> Mapping[str, str]: ...
58
+ async def async_remove_orphaned_media(self, now: datetime.datetime) -> None: ...
59
+ async def _get_valid_event_timestamps(self) -> dict[str, set[int]]: ...
55
60
 
56
61
  async def async_get_media_source(hass: HomeAssistant) -> MediaSource: ...
57
62
  @callback
@@ -1,4 +1,4 @@
1
- from .const import ATTR_CONNECTION as ATTR_CONNECTION, ATTR_DNSSEC as ATTR_DNSSEC, ATTR_ENCRYPTION as ATTR_ENCRYPTION, ATTR_IP_VERSIONS as ATTR_IP_VERSIONS, ATTR_PROTOCOLS as ATTR_PROTOCOLS, ATTR_SETTINGS as ATTR_SETTINGS, ATTR_STATUS as ATTR_STATUS, CONF_PROFILE_ID as CONF_PROFILE_ID, UPDATE_INTERVAL_ANALYTICS as UPDATE_INTERVAL_ANALYTICS, UPDATE_INTERVAL_CONNECTION as UPDATE_INTERVAL_CONNECTION, UPDATE_INTERVAL_SETTINGS as UPDATE_INTERVAL_SETTINGS
1
+ from .const import ATTR_CONNECTION as ATTR_CONNECTION, ATTR_DNSSEC as ATTR_DNSSEC, ATTR_ENCRYPTION as ATTR_ENCRYPTION, ATTR_IP_VERSIONS as ATTR_IP_VERSIONS, ATTR_PROTOCOLS as ATTR_PROTOCOLS, ATTR_SETTINGS as ATTR_SETTINGS, ATTR_STATUS as ATTR_STATUS, CONF_PROFILE_ID as CONF_PROFILE_ID, DOMAIN as DOMAIN, UPDATE_INTERVAL_ANALYTICS as UPDATE_INTERVAL_ANALYTICS, UPDATE_INTERVAL_CONNECTION as UPDATE_INTERVAL_CONNECTION, UPDATE_INTERVAL_SETTINGS as UPDATE_INTERVAL_SETTINGS
2
2
  from .coordinator import NextDnsConnectionUpdateCoordinator as NextDnsConnectionUpdateCoordinator, NextDnsDnssecUpdateCoordinator as NextDnsDnssecUpdateCoordinator, NextDnsEncryptionUpdateCoordinator as NextDnsEncryptionUpdateCoordinator, NextDnsIpVersionsUpdateCoordinator as NextDnsIpVersionsUpdateCoordinator, NextDnsProtocolsUpdateCoordinator as NextDnsProtocolsUpdateCoordinator, NextDnsSettingsUpdateCoordinator as NextDnsSettingsUpdateCoordinator, NextDnsStatusUpdateCoordinator as NextDnsStatusUpdateCoordinator, NextDnsUpdateCoordinator as NextDnsUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from dataclasses import dataclass
@@ -1,9 +1,11 @@
1
1
  from . import NextDnsConfigEntry as NextDnsConfigEntry
2
+ from .const import DOMAIN as DOMAIN
2
3
  from .coordinator import NextDnsUpdateCoordinator as NextDnsUpdateCoordinator
3
4
  from _typeshed import Incomplete
4
5
  from homeassistant.components.button import ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
5
6
  from homeassistant.const import EntityCategory as EntityCategory
6
7
  from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
7
9
  from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
8
10
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
9
11
  from nextdns import AnalyticsStatus
@@ -9,6 +9,7 @@ from nextdns import NextDns
9
9
  from typing import Any
10
10
 
11
11
  AUTH_SCHEMA: Incomplete
12
+ _LOGGER: Incomplete
12
13
 
13
14
  async def async_init_nextdns(hass: HomeAssistant, api_key: str) -> NextDns: ...
14
15
 
@@ -1,4 +1,5 @@
1
1
  from . import NextDnsConfigEntry as NextDnsConfigEntry
2
+ from .const import DOMAIN as DOMAIN
2
3
  from .coordinator import NextDnsUpdateCoordinator as NextDnsUpdateCoordinator
3
4
  from _typeshed import Incomplete
4
5
  from collections.abc import Callable as Callable
@@ -41,6 +41,7 @@ class PyNUTData:
41
41
  _alias: Incomplete
42
42
  _client: Incomplete
43
43
  ups_list: dict[str, str] | None
44
+ device_name: str | None
44
45
  _status: dict[str, str] | None
45
46
  _device_info: NUTDeviceInfo | None
46
47
  def __init__(self, host: str, port: int, alias: str | None, username: str | None, password: str | None, persistent: bool = True) -> None: ...
@@ -0,0 +1,14 @@
1
+ from . import NutConfigEntry as NutConfigEntry
2
+ from .entity import NUTBaseEntity as NUTBaseEntity
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components.button import ButtonDeviceClass as ButtonDeviceClass, ButtonEntity as ButtonEntity, ButtonEntityDescription as ButtonEntityDescription
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
7
+
8
+ _LOGGER: Incomplete
9
+ PARALLEL_UPDATES: int
10
+
11
+ async def async_setup_entry(hass: HomeAssistant, config_entry: NutConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
12
+
13
+ class NUTButton(NUTBaseEntity, ButtonEntity):
14
+ async def async_press(self) -> None: ...
@@ -0,0 +1,19 @@
1
+ from . import PyNUTData as PyNUTData
2
+ from .const import DOMAIN as DOMAIN
3
+ from _typeshed import Incomplete
4
+ from homeassistant.const import ATTR_MANUFACTURER as ATTR_MANUFACTURER, ATTR_MODEL as ATTR_MODEL, ATTR_SERIAL_NUMBER as ATTR_SERIAL_NUMBER, ATTR_SW_VERSION as ATTR_SW_VERSION
5
+ from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
6
+ from homeassistant.helpers.entity import EntityDescription as EntityDescription
7
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
8
+
9
+ NUT_DEV_INFO_TO_DEV_INFO: dict[str, str]
10
+
11
+ class NUTBaseEntity(CoordinatorEntity[DataUpdateCoordinator]):
12
+ _attr_has_entity_name: bool
13
+ entity_description: Incomplete
14
+ _attr_unique_id: Incomplete
15
+ pynut_data: Incomplete
16
+ _attr_device_info: Incomplete
17
+ def __init__(self, coordinator: DataUpdateCoordinator, entity_description: EntityDescription, data: PyNUTData, unique_id: str) -> None: ...
18
+
19
+ def _get_nut_device_info(data: PyNUTData) -> DeviceInfo: ...