homeassistant-stubs 2023.3.6__py3-none-any.whl → 2023.4.0b1__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 (333) hide show
  1. homeassistant-stubs/auth/__init__.pyi +1 -1
  2. homeassistant-stubs/auth/jwt_wrapper.pyi +14 -0
  3. homeassistant-stubs/auth/permissions/models.pyi +3 -3
  4. homeassistant-stubs/bootstrap.pyi +1 -1
  5. homeassistant-stubs/components/aladdin_connect/config_flow.pyi +0 -2
  6. homeassistant-stubs/components/aladdin_connect/cover.pyi +5 -7
  7. homeassistant-stubs/components/alarm_control_panel/device_action.pyi +0 -1
  8. homeassistant-stubs/components/alarm_control_panel/device_condition.pyi +1 -1
  9. homeassistant-stubs/components/alarm_control_panel/device_trigger.pyi +0 -1
  10. homeassistant-stubs/components/amazon_polly/tts.pyi +2 -2
  11. homeassistant-stubs/components/amcrest/camera.pyi +0 -1
  12. homeassistant-stubs/components/awair/sensor.pyi +2 -1
  13. homeassistant-stubs/components/backup/manager.pyi +2 -1
  14. homeassistant-stubs/components/bayesian/issues.pyi +0 -1
  15. homeassistant-stubs/components/bluetooth/wrappers.pyi +1 -0
  16. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +3 -0
  17. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +1 -0
  18. homeassistant-stubs/components/braviatv/media_player.pyi +2 -2
  19. homeassistant-stubs/components/button/device_action.pyi +0 -1
  20. homeassistant-stubs/components/button/device_trigger.pyi +0 -1
  21. homeassistant-stubs/components/calendar/__init__.pyi +8 -4
  22. homeassistant-stubs/components/calendar/const.pyi +2 -2
  23. homeassistant-stubs/components/calendar/trigger.pyi +25 -8
  24. homeassistant-stubs/components/camera/__init__.pyi +1 -1
  25. homeassistant-stubs/components/cover/device_action.pyi +0 -1
  26. homeassistant-stubs/components/cover/device_condition.pyi +1 -1
  27. homeassistant-stubs/components/cover/device_trigger.pyi +0 -1
  28. homeassistant-stubs/components/demo/sensor.pyi +2 -1
  29. homeassistant-stubs/components/demo/stt.pyi +2 -2
  30. homeassistant-stubs/components/device_automation/condition.pyi +2 -4
  31. homeassistant-stubs/components/device_tracker/device_condition.pyi +1 -1
  32. homeassistant-stubs/components/device_tracker/device_trigger.pyi +0 -1
  33. homeassistant-stubs/components/devolo_home_network/device_tracker.pyi +0 -1
  34. homeassistant-stubs/components/devolo_home_network/entity.pyi +1 -0
  35. homeassistant-stubs/components/dlna_dmr/config_flow.pyi +0 -1
  36. homeassistant-stubs/components/dlna_dmr/media_player.pyi +1 -2
  37. homeassistant-stubs/components/dormakaba_dkey/__init__.pyi +1 -1
  38. homeassistant-stubs/components/dormakaba_dkey/config_flow.pyi +5 -1
  39. homeassistant-stubs/components/efergy/sensor.pyi +2 -2
  40. homeassistant-stubs/components/emulated_hue/hue_api.pyi +1 -0
  41. homeassistant-stubs/components/energy/types.pyi +2 -2
  42. homeassistant-stubs/components/energy/websocket_api.pyi +1 -0
  43. homeassistant-stubs/components/esphome/bluetooth/client.pyi +3 -1
  44. homeassistant-stubs/components/esphome/entry_data.pyi +1 -0
  45. homeassistant-stubs/components/esphome/media_player.pyi +1 -1
  46. homeassistant-stubs/components/fan/device_condition.pyi +1 -1
  47. homeassistant-stubs/components/filesize/__init__.pyi +1 -2
  48. homeassistant-stubs/components/fitbit/sensor.pyi +1 -1
  49. homeassistant-stubs/components/fritz/binary_sensor.pyi +7 -11
  50. homeassistant-stubs/components/fritz/common.pyi +25 -3
  51. homeassistant-stubs/components/fritz/sensor.pyi +6 -15
  52. homeassistant-stubs/components/fritzbox/sensor.pyi +0 -1
  53. homeassistant-stubs/components/fronius/coordinator.pyi +2 -3
  54. homeassistant-stubs/components/fronius/sensor.pyi +13 -8
  55. homeassistant-stubs/components/fully_kiosk/media_player.pyi +3 -3
  56. homeassistant-stubs/components/fully_kiosk/sensor.pyi +3 -3
  57. homeassistant-stubs/components/gios/__init__.pyi +3 -3
  58. homeassistant-stubs/components/gios/const.pyi +0 -2
  59. homeassistant-stubs/components/gios/sensor.pyi +10 -13
  60. homeassistant-stubs/components/google/__init__.pyi +1 -1
  61. homeassistant-stubs/components/google/calendar.pyi +1 -1
  62. homeassistant-stubs/components/google/const.pyi +1 -0
  63. homeassistant-stubs/components/group/media_player.pyi +4 -3
  64. homeassistant-stubs/components/group/notify.pyi +1 -1
  65. homeassistant-stubs/components/group/sensor.pyi +2 -0
  66. homeassistant-stubs/components/guardian/util.pyi +0 -1
  67. homeassistant-stubs/components/history/websocket_api.pyi +2 -1
  68. homeassistant-stubs/components/homeassistant_alerts/__init__.pyi +4 -2
  69. homeassistant-stubs/components/homeassistant_hardware/silabs_multiprotocol_addon.pyi +7 -2
  70. homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +2 -8
  71. homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +3 -7
  72. homeassistant-stubs/components/homekit/__init__.pyi +6 -6
  73. homeassistant-stubs/components/homekit/config_flow.pyi +2 -2
  74. homeassistant-stubs/components/homekit/type_triggers.pyi +0 -1
  75. homeassistant-stubs/components/http/__init__.pyi +18 -1
  76. homeassistant-stubs/components/http/auth.pyi +1 -0
  77. homeassistant-stubs/components/http/security_filter.pyi +1 -0
  78. homeassistant-stubs/components/huawei_lte/__init__.pyi +1 -1
  79. homeassistant-stubs/components/huawei_lte/device_tracker.pyi +0 -1
  80. homeassistant-stubs/components/isy994/lock.pyi +8 -3
  81. homeassistant-stubs/components/isy994/services.pyi +6 -0
  82. homeassistant-stubs/components/jellyfin/coordinator.pyi +4 -2
  83. homeassistant-stubs/components/jellyfin/media_player.pyi +3 -3
  84. homeassistant-stubs/components/knx/__init__.pyi +3 -2
  85. homeassistant-stubs/components/knx/device.pyi +18 -0
  86. homeassistant-stubs/components/knx/light.pyi +2 -2
  87. homeassistant-stubs/components/knx/sensor.pyi +33 -2
  88. homeassistant-stubs/components/kraken/sensor.pyi +0 -1
  89. homeassistant-stubs/components/lametric/__init__.pyi +1 -2
  90. homeassistant-stubs/components/lidarr/const.pyi +0 -2
  91. homeassistant-stubs/components/lifx/__init__.pyi +2 -2
  92. homeassistant-stubs/components/light/intent.pyi +1 -1
  93. homeassistant-stubs/components/litejet/__init__.pyi +14 -0
  94. homeassistant-stubs/components/litejet/config_flow.pyi +18 -0
  95. homeassistant-stubs/components/litejet/const.pyi +8 -0
  96. homeassistant-stubs/components/litejet/diagnostics.pyi +7 -0
  97. homeassistant-stubs/components/litejet/light.pyi +39 -0
  98. homeassistant-stubs/components/litejet/scene.pyi +32 -0
  99. homeassistant-stubs/components/litejet/switch.pyi +37 -0
  100. homeassistant-stubs/components/litejet/trigger.pyi +16 -0
  101. homeassistant-stubs/components/litterrobot/select.pyi +11 -6
  102. homeassistant-stubs/components/lock/device_action.pyi +0 -1
  103. homeassistant-stubs/components/lock/device_condition.pyi +1 -1
  104. homeassistant-stubs/components/lock/device_trigger.pyi +0 -1
  105. homeassistant-stubs/components/logbook/__init__.pyi +3 -3
  106. homeassistant-stubs/components/logbook/const.pyi +0 -2
  107. homeassistant-stubs/components/logbook/helpers.pyi +1 -1
  108. homeassistant-stubs/components/logbook/models.pyi +25 -7
  109. homeassistant-stubs/components/logbook/processor.pyi +8 -7
  110. homeassistant-stubs/components/logbook/queries/__init__.pyi +3 -1
  111. homeassistant-stubs/components/logbook/queries/all.pyi +4 -4
  112. homeassistant-stubs/components/logbook/queries/common.pyi +2 -2
  113. homeassistant-stubs/components/logbook/queries/devices.pyi +1 -1
  114. homeassistant-stubs/components/logbook/queries/entities.pyi +6 -6
  115. homeassistant-stubs/components/logbook/queries/entities_and_devices.pyi +5 -5
  116. homeassistant-stubs/components/logbook/websocket_api.pyi +2 -2
  117. homeassistant-stubs/components/logger/helpers.pyi +1 -1
  118. homeassistant-stubs/components/logger/websocket_api.pyi +1 -1
  119. homeassistant-stubs/components/matter/binary_sensor.pyi +5 -1
  120. homeassistant-stubs/components/matter/entity.pyi +5 -1
  121. homeassistant-stubs/components/matter/lock.pyi +44 -0
  122. homeassistant-stubs/components/matter/models.pyi +2 -9
  123. homeassistant-stubs/components/matter/sensor.pyi +5 -1
  124. homeassistant-stubs/components/media_player/__init__.pyi +2 -2
  125. homeassistant-stubs/components/media_player/device_condition.pyi +1 -1
  126. homeassistant-stubs/components/media_player/device_trigger.pyi +0 -1
  127. homeassistant-stubs/components/metoffice/__init__.pyi +0 -2
  128. homeassistant-stubs/components/metoffice/sensor.pyi +2 -1
  129. homeassistant-stubs/components/mikrotik/const.pyi +2 -0
  130. homeassistant-stubs/components/mikrotik/device_tracker.pyi +0 -1
  131. homeassistant-stubs/components/mikrotik/hub.pyi +2 -1
  132. homeassistant-stubs/components/modbus/__init__.pyi +1 -1
  133. homeassistant-stubs/components/modbus/climate.pyi +3 -1
  134. homeassistant-stubs/components/modbus/const.pyi +1 -0
  135. homeassistant-stubs/components/modbus/modbus.pyi +1 -1
  136. homeassistant-stubs/components/modem_callerid/button.pyi +2 -2
  137. homeassistant-stubs/components/modem_callerid/sensor.pyi +2 -2
  138. homeassistant-stubs/components/moon/config_flow.pyi +0 -2
  139. homeassistant-stubs/components/moon/sensor.pyi +2 -7
  140. homeassistant-stubs/components/mqtt/__init__.pyi +5 -7
  141. homeassistant-stubs/components/mqtt/client.pyi +24 -2
  142. homeassistant-stubs/components/mqtt/config_integration.pyi +1 -1
  143. homeassistant-stubs/components/mqtt/const.pyi +0 -1
  144. homeassistant-stubs/components/mqtt/models.pyi +2 -1
  145. homeassistant-stubs/components/mysensors/__init__.pyi +4 -9
  146. homeassistant-stubs/components/mysensors/const.pyi +1 -3
  147. homeassistant-stubs/components/mysensors/device.pyi +1 -1
  148. homeassistant-stubs/components/mysensors/light.pyi +1 -1
  149. homeassistant-stubs/components/mysensors/switch.pyi +6 -20
  150. homeassistant-stubs/components/nam/__init__.pyi +0 -2
  151. homeassistant-stubs/components/nam/sensor.pyi +0 -1
  152. homeassistant-stubs/components/netatmo/device_trigger.pyi +0 -1
  153. homeassistant-stubs/components/nissan_leaf/sensor.pyi +2 -3
  154. homeassistant-stubs/components/notify/legacy.pyi +2 -2
  155. homeassistant-stubs/components/number/const.pyi +2 -0
  156. homeassistant-stubs/components/number/device_action.pyi +0 -1
  157. homeassistant-stubs/components/otbr/__init__.pyi +3 -0
  158. homeassistant-stubs/components/otbr/config_flow.pyi +3 -2
  159. homeassistant-stubs/components/otbr/util.pyi +6 -0
  160. homeassistant-stubs/components/otbr/websocket_api.pyi +7 -3
  161. homeassistant-stubs/components/overkiz/climate_entities/__init__.pyi +1 -0
  162. homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_heater.pyi +2 -0
  163. homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +2 -0
  164. homeassistant-stubs/components/overkiz/climate_entities/atlantic_electrical_towel_dryer.pyi +2 -0
  165. homeassistant-stubs/components/overkiz/climate_entities/atlantic_heat_recovery_ventilation.pyi +2 -0
  166. homeassistant-stubs/components/overkiz/climate_entities/atlantic_pass_apc_heating_zone.pyi +2 -0
  167. homeassistant-stubs/components/overkiz/climate_entities/somfy_thermostat.pyi +2 -2
  168. homeassistant-stubs/components/overkiz/climate_entities/valve_heating_temperature_interface.pyi +37 -0
  169. homeassistant-stubs/components/overkiz/const.pyi +2 -1
  170. homeassistant-stubs/components/overkiz/sensor.pyi +3 -1
  171. homeassistant-stubs/components/overkiz/switch.pyi +2 -2
  172. homeassistant-stubs/components/pi_hole/sensor.pyi +2 -2
  173. homeassistant-stubs/components/rainmachine/util.pyi +0 -1
  174. homeassistant-stubs/components/recorder/__init__.pyi +3 -3
  175. homeassistant-stubs/components/recorder/auto_repairs/__init__.pyi +0 -0
  176. homeassistant-stubs/components/recorder/auto_repairs/events/__init__.pyi +0 -0
  177. homeassistant-stubs/components/recorder/auto_repairs/events/schema.pyi +6 -0
  178. homeassistant-stubs/components/recorder/auto_repairs/schema.pyi +23 -0
  179. homeassistant-stubs/components/recorder/auto_repairs/states/schema.pyi +9 -0
  180. homeassistant-stubs/components/recorder/auto_repairs/statistics/__init__.pyi +0 -0
  181. homeassistant-stubs/components/recorder/auto_repairs/statistics/duplicates.pyi +19 -0
  182. homeassistant-stubs/components/recorder/auto_repairs/statistics/schema.pyi +9 -0
  183. homeassistant-stubs/components/recorder/const.pyi +10 -0
  184. homeassistant-stubs/components/recorder/core.pyi +33 -29
  185. homeassistant-stubs/components/recorder/db_schema.pyi +36 -6
  186. homeassistant-stubs/components/recorder/entity_registry.pyi +10 -0
  187. homeassistant-stubs/components/recorder/filters.pyi +13 -11
  188. homeassistant-stubs/components/recorder/history/__init__.pyi +13 -0
  189. homeassistant-stubs/components/recorder/history/common.pyi +4 -0
  190. homeassistant-stubs/components/recorder/history/const.pyi +9 -0
  191. homeassistant-stubs/components/recorder/{history.pyi → history/legacy.pyi} +9 -14
  192. homeassistant-stubs/components/recorder/history/modern.pyi +41 -0
  193. homeassistant-stubs/components/recorder/migration.pyi +34 -6
  194. homeassistant-stubs/components/recorder/models/__init__.pyi +5 -0
  195. homeassistant-stubs/components/recorder/models/context.pyi +6 -0
  196. homeassistant-stubs/components/recorder/models/database.pyi +14 -0
  197. homeassistant-stubs/components/recorder/models/legacy.pyi +39 -0
  198. homeassistant-stubs/components/recorder/models/state.pyi +43 -0
  199. homeassistant-stubs/components/recorder/models/state_attributes.pyi +9 -0
  200. homeassistant-stubs/components/recorder/models/statistics.pyi +50 -0
  201. homeassistant-stubs/components/recorder/models/time.pyi +20 -0
  202. homeassistant-stubs/components/recorder/purge.pyi +9 -12
  203. homeassistant-stubs/components/recorder/queries.pyi +19 -3
  204. homeassistant-stubs/components/recorder/services.pyi +1 -1
  205. homeassistant-stubs/components/recorder/statistics.pyi +40 -42
  206. homeassistant-stubs/components/recorder/table_managers/__init__.pyi +20 -0
  207. homeassistant-stubs/components/recorder/table_managers/event_data.pyi +26 -0
  208. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +20 -0
  209. homeassistant-stubs/components/recorder/{run_history.pyi → table_managers/recorder_runs.pyi} +3 -3
  210. homeassistant-stubs/components/recorder/table_managers/state_attributes.pyi +29 -0
  211. homeassistant-stubs/components/recorder/table_managers/states.pyi +14 -0
  212. homeassistant-stubs/components/recorder/table_managers/states_meta.pyi +23 -0
  213. homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +35 -0
  214. homeassistant-stubs/components/recorder/tasks.pyi +39 -4
  215. homeassistant-stubs/components/recorder/util.pyi +2 -1
  216. homeassistant-stubs/components/recorder/websocket_api.pyi +2 -2
  217. homeassistant-stubs/components/renault/renault_vehicle.pyi +1 -0
  218. homeassistant-stubs/components/rest/__init__.pyi +1 -1
  219. homeassistant-stubs/components/rest/const.pyi +2 -0
  220. homeassistant-stubs/components/rest/data.pyi +3 -2
  221. homeassistant-stubs/components/rest/schema.pyi +1 -1
  222. homeassistant-stubs/components/ridwell/calendar.pyi +22 -0
  223. homeassistant-stubs/components/ridwell/coordinator.pyi +2 -2
  224. homeassistant-stubs/components/ridwell/entity.pyi +2 -4
  225. homeassistant-stubs/components/ridwell/sensor.pyi +2 -1
  226. homeassistant-stubs/components/ridwell/switch.pyi +4 -0
  227. homeassistant-stubs/components/roku/media_player.pyi +4 -4
  228. homeassistant-stubs/components/samsungtv/device_trigger.pyi +19 -0
  229. homeassistant-stubs/components/samsungtv/helpers.pyi +8 -0
  230. homeassistant-stubs/components/samsungtv/media_player.pyi +7 -2
  231. homeassistant-stubs/components/samsungtv/trigger.pyi +12 -0
  232. homeassistant-stubs/components/samsungtv/triggers/__init__.pyi +0 -0
  233. homeassistant-stubs/components/samsungtv/triggers/turn_on.pyi +14 -0
  234. homeassistant-stubs/components/scrape/config_flow.pyi +1 -1
  235. homeassistant-stubs/components/scrape/const.pyi +2 -0
  236. homeassistant-stubs/components/scrape/sensor.pyi +3 -6
  237. homeassistant-stubs/components/select/device_action.pyi +0 -1
  238. homeassistant-stubs/components/select/device_condition.pyi +1 -1
  239. homeassistant-stubs/components/select/device_trigger.pyi +0 -1
  240. homeassistant-stubs/components/sensor/const.pyi +2 -0
  241. homeassistant-stubs/components/sensor/recorder.pyi +3 -1
  242. homeassistant-stubs/components/sfr_box/__init__.pyi +1 -1
  243. homeassistant-stubs/components/sfr_box/binary_sensor.pyi +3 -1
  244. homeassistant-stubs/components/sfr_box/models.pyi +4 -2
  245. homeassistant-stubs/components/sfr_box/sensor.pyi +2 -1
  246. homeassistant-stubs/components/sleepiq/entity.pyi +0 -1
  247. homeassistant-stubs/components/statistics/sensor.pyi +2 -2
  248. homeassistant-stubs/components/sun/__init__.pyi +1 -1
  249. homeassistant-stubs/components/sun/sensor.pyi +36 -0
  250. homeassistant-stubs/components/switcher_kis/__init__.pyi +1 -1
  251. homeassistant-stubs/components/switcher_kis/button.pyi +0 -1
  252. homeassistant-stubs/components/switcher_kis/climate.pyi +0 -1
  253. homeassistant-stubs/components/switcher_kis/cover.pyi +0 -1
  254. homeassistant-stubs/components/switcher_kis/sensor.pyi +0 -1
  255. homeassistant-stubs/components/switcher_kis/switch.pyi +1 -1
  256. homeassistant-stubs/components/synology_dsm/sensor.pyi +5 -4
  257. homeassistant-stubs/components/threshold/__init__.pyi +7 -0
  258. homeassistant-stubs/components/threshold/binary_sensor.pyi +55 -0
  259. homeassistant-stubs/components/threshold/config_flow.pyi +19 -0
  260. homeassistant-stubs/components/threshold/const.pyi +5 -0
  261. homeassistant-stubs/components/tibber/config_flow.pyi +3 -0
  262. homeassistant-stubs/components/tibber/sensor.pyi +2 -1
  263. homeassistant-stubs/components/tplink/light.pyi +1 -1
  264. homeassistant-stubs/components/tplink_omada/__init__.pyi +1 -0
  265. homeassistant-stubs/components/tplink_omada/controller.pyi +21 -0
  266. homeassistant-stubs/components/tplink_omada/coordinator.pyi +3 -4
  267. homeassistant-stubs/components/tplink_omada/entity.pyi +6 -4
  268. homeassistant-stubs/components/tplink_omada/switch.pyi +4 -6
  269. homeassistant-stubs/components/tplink_omada/update.pyi +43 -0
  270. homeassistant-stubs/components/tradfri/sensor.pyi +0 -1
  271. homeassistant-stubs/components/tts/__init__.pyi +2 -1
  272. homeassistant-stubs/components/unifi/__init__.pyi +33 -0
  273. homeassistant-stubs/components/unifi/config_flow.pyi +46 -0
  274. homeassistant-stubs/components/unifi/const.pyi +30 -0
  275. homeassistant-stubs/components/unifi/controller.pyi +77 -0
  276. homeassistant-stubs/components/unifi/device_tracker.pyi +70 -0
  277. homeassistant-stubs/components/unifi/diagnostics.pyi +19 -0
  278. homeassistant-stubs/components/unifi/entity.pyi +58 -0
  279. homeassistant-stubs/components/unifi/errors.pyi +8 -0
  280. homeassistant-stubs/components/unifi/sensor.pyi +37 -0
  281. homeassistant-stubs/components/unifi/services.pyi +17 -0
  282. homeassistant-stubs/components/unifi/switch.pyi +55 -0
  283. homeassistant-stubs/components/unifi/update.pyi +1 -1
  284. homeassistant-stubs/components/unifiprotect/select.pyi +2 -2
  285. homeassistant-stubs/components/vacuum/device_action.pyi +0 -1
  286. homeassistant-stubs/components/vacuum/device_condition.pyi +1 -1
  287. homeassistant-stubs/components/vacuum/device_trigger.pyi +0 -1
  288. homeassistant-stubs/components/velbus/__init__.pyi +0 -2
  289. homeassistant-stubs/components/velbus/light.pyi +1 -1
  290. homeassistant-stubs/components/velbus/select.pyi +21 -0
  291. homeassistant-stubs/components/water_heater/device_action.pyi +0 -1
  292. homeassistant-stubs/components/weather/__init__.pyi +2 -23
  293. homeassistant-stubs/components/weather/const.pyi +25 -0
  294. homeassistant-stubs/components/weather/websocket_api.pyi +7 -0
  295. homeassistant-stubs/components/webostv/trigger.pyi +3 -3
  296. homeassistant-stubs/components/webostv/triggers/__init__.pyi +0 -5
  297. homeassistant-stubs/components/websocket_api/commands.pyi +2 -2
  298. homeassistant-stubs/components/websocket_api/connection.pyi +7 -1
  299. homeassistant-stubs/components/zwave_js/__init__.pyi +4 -4
  300. homeassistant-stubs/components/zwave_js/api.pyi +0 -1
  301. homeassistant-stubs/components/zwave_js/device_action.pyi +0 -1
  302. homeassistant-stubs/components/zwave_js/device_trigger.pyi +0 -1
  303. homeassistant-stubs/components/zwave_js/diagnostics.pyi +2 -1
  304. homeassistant-stubs/components/zwave_js/discovery.pyi +1 -1
  305. homeassistant-stubs/components/zwave_js/update.pyi +18 -8
  306. homeassistant-stubs/config_entries.pyi +4 -1
  307. homeassistant-stubs/core.pyi +4 -3
  308. homeassistant-stubs/helpers/condition.pyi +11 -3
  309. homeassistant-stubs/helpers/config_validation.pyi +1 -1
  310. homeassistant-stubs/helpers/debounce.pyi +1 -0
  311. homeassistant-stubs/helpers/device_registry.pyi +1 -1
  312. homeassistant-stubs/helpers/entity.pyi +1 -0
  313. homeassistant-stubs/helpers/entity_platform.pyi +2 -1
  314. homeassistant-stubs/helpers/entity_registry.pyi +9 -1
  315. homeassistant-stubs/helpers/event.pyi +3 -1
  316. homeassistant-stubs/helpers/httpx_client.pyi +1 -0
  317. homeassistant-stubs/helpers/integration_platform.pyi +3 -3
  318. homeassistant-stubs/helpers/script.pyi +5 -3
  319. homeassistant-stubs/helpers/selector.pyi +29 -12
  320. homeassistant-stubs/helpers/service.pyi +11 -0
  321. homeassistant-stubs/helpers/template.pyi +24 -3
  322. homeassistant-stubs/scripts/check_config.pyi +0 -1
  323. homeassistant-stubs/util/ssl.pyi +8 -0
  324. homeassistant-stubs/util/ulid.pyi +2 -1
  325. homeassistant-stubs/util/yaml/dumper.pyi +1 -1
  326. homeassistant-stubs/util/yaml/loader.pyi +4 -5
  327. homeassistant-stubs/util/yaml/objects.pyi +1 -0
  328. {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/METADATA +2 -2
  329. {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/RECORD +331 -265
  330. homeassistant-stubs/components/mysensors/notify.pyi +0 -23
  331. homeassistant-stubs/components/recorder/models.pyi +0 -148
  332. {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/LICENSE +0 -0
  333. {homeassistant_stubs-2023.3.6.dist-info → homeassistant_stubs-2023.4.0b1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,16 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from collections.abc import Callable as Callable
4
+ from homeassistant.const import CONF_PLATFORM as CONF_PLATFORM
5
+ from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HassJob as HassJob, HomeAssistant as HomeAssistant, callback as callback
6
+ from homeassistant.helpers.event import track_point_in_utc_time as track_point_in_utc_time
7
+ from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
8
+ from homeassistant.helpers.typing import ConfigType as ConfigType
9
+ from pylitejet import LiteJet as LiteJet
10
+
11
+ CONF_NUMBER: str
12
+ CONF_HELD_MORE_THAN: str
13
+ CONF_HELD_LESS_THAN: str
14
+ TRIGGER_SCHEMA: Incomplete
15
+
16
+ async def async_attach_trigger(hass: HomeAssistant, config: ConfigType, action: TriggerActionType, trigger_info: TriggerInfo) -> CALLBACK_TYPE: ...
@@ -8,29 +8,34 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
8
8
  from homeassistant.const import EntityCategory as EntityCategory, UnitOfTime as UnitOfTime
9
9
  from homeassistant.core import HomeAssistant as HomeAssistant
10
10
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
11
+ from pylitterbot import Robot as Robot
12
+ from pylitterbot.robot.litterrobot4 import BrightnessLevel
11
13
  from typing import Any, TypeVar
12
14
 
13
- _CastTypeT = TypeVar('_CastTypeT', int, float)
15
+ _CastTypeT = TypeVar('_CastTypeT', int, float, str)
16
+ BRIGHTNESS_LEVEL_ICON_MAP: dict[Union[BrightnessLevel, None], str]
14
17
 
15
18
  class RequiredKeysMixin:
16
- current_fn: Callable[[_RobotT], _CastTypeT]
19
+ current_fn: Callable[[_RobotT], Union[_CastTypeT, None]]
17
20
  options_fn: Callable[[_RobotT], list[_CastTypeT]]
18
21
  select_fn: Callable[[_RobotT, str], Coroutine[Any, Any, bool]]
19
22
  def __init__(self, current_fn, options_fn, select_fn) -> None: ...
20
23
 
21
24
  class RobotSelectEntityDescription(SelectEntityDescription, RequiredKeysMixin[_RobotT, _CastTypeT]):
22
25
  entity_category: EntityCategory
23
- def __init__(self, current_fn, options_fn, select_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, options) -> None: ...
26
+ icon_fn: Union[Callable[[_RobotT], str], None]
27
+ def __init__(self, current_fn, options_fn, select_fn, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, options, icon_fn) -> None: ...
24
28
 
25
- LITTER_ROBOT_SELECT: Incomplete
26
- FEEDER_ROBOT_SELECT: Incomplete
29
+ ROBOT_SELECT_MAP: dict[type[Robot], RobotSelectEntityDescription]
27
30
 
28
31
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
29
32
 
30
- class LitterRobotSelect(LitterRobotEntity[_RobotT], SelectEntity):
33
+ class LitterRobotSelectEntity(LitterRobotEntity[_RobotT], SelectEntity):
31
34
  entity_description: RobotSelectEntityDescription[_RobotT, _CastTypeT]
32
35
  _attr_options: Incomplete
33
36
  def __init__(self, robot: _RobotT, hub: LitterRobotHub, description: RobotSelectEntityDescription[_RobotT, _CastTypeT]) -> None: ...
34
37
  @property
38
+ def icon(self) -> Union[str, None]: ...
39
+ @property
35
40
  def current_option(self) -> Union[str, None]: ...
36
41
  async def async_select_option(self, option: str) -> None: ...
@@ -2,7 +2,6 @@ from . import DOMAIN as DOMAIN, LockEntityFeature as LockEntityFeature
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE, SERVICE_LOCK as SERVICE_LOCK, SERVICE_OPEN as SERVICE_OPEN, SERVICE_UNLOCK as SERVICE_UNLOCK
4
4
  from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant
5
- from homeassistant.helpers import entity_registry as entity_registry
6
5
  from homeassistant.helpers.entity import get_supported_features as get_supported_features
7
6
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
8
7
 
@@ -2,7 +2,7 @@ from . import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE, STATE_JAMMED as STATE_JAMMED, STATE_LOCKED as STATE_LOCKED, STATE_LOCKING as STATE_LOCKING, STATE_UNLOCKED as STATE_UNLOCKED, STATE_UNLOCKING as STATE_UNLOCKING
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
- from homeassistant.helpers import condition as condition, entity_registry as entity_registry
5
+ from homeassistant.helpers import condition as condition
6
6
  from homeassistant.helpers.config_validation import DEVICE_CONDITION_BASE_SCHEMA as DEVICE_CONDITION_BASE_SCHEMA
7
7
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
8
8
 
@@ -4,7 +4,6 @@ from _typeshed import Incomplete
4
4
  from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA
5
5
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_PLATFORM as CONF_PLATFORM, CONF_TYPE as CONF_TYPE, STATE_JAMMED as STATE_JAMMED, STATE_LOCKED as STATE_LOCKED, STATE_LOCKING as STATE_LOCKING, STATE_UNLOCKED as STATE_UNLOCKED, STATE_UNLOCKING as STATE_UNLOCKING
6
6
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
7
- from homeassistant.helpers import entity_registry as entity_registry
8
7
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
9
8
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
9
 
@@ -1,12 +1,12 @@
1
1
  from . import rest_api as rest_api, websocket_api as websocket_api
2
- from .const import ATTR_MESSAGE as ATTR_MESSAGE, DOMAIN as DOMAIN, LOGBOOK_ENTITIES_FILTER as LOGBOOK_ENTITIES_FILTER, LOGBOOK_ENTRY_CONTEXT_ID as LOGBOOK_ENTRY_CONTEXT_ID, LOGBOOK_ENTRY_DOMAIN as LOGBOOK_ENTRY_DOMAIN, LOGBOOK_ENTRY_ENTITY_ID as LOGBOOK_ENTRY_ENTITY_ID, LOGBOOK_ENTRY_ICON as LOGBOOK_ENTRY_ICON, LOGBOOK_ENTRY_MESSAGE as LOGBOOK_ENTRY_MESSAGE, LOGBOOK_ENTRY_NAME as LOGBOOK_ENTRY_NAME, LOGBOOK_ENTRY_SOURCE as LOGBOOK_ENTRY_SOURCE, LOGBOOK_FILTERS as LOGBOOK_FILTERS
3
- from .models import LazyEventPartialState as LazyEventPartialState
2
+ from .const import ATTR_MESSAGE as ATTR_MESSAGE, DOMAIN as DOMAIN, LOGBOOK_ENTRY_CONTEXT_ID as LOGBOOK_ENTRY_CONTEXT_ID, LOGBOOK_ENTRY_DOMAIN as LOGBOOK_ENTRY_DOMAIN, LOGBOOK_ENTRY_ENTITY_ID as LOGBOOK_ENTRY_ENTITY_ID, LOGBOOK_ENTRY_ICON as LOGBOOK_ENTRY_ICON, LOGBOOK_ENTRY_MESSAGE as LOGBOOK_ENTRY_MESSAGE, LOGBOOK_ENTRY_NAME as LOGBOOK_ENTRY_NAME, LOGBOOK_ENTRY_SOURCE as LOGBOOK_ENTRY_SOURCE
3
+ from .models import LazyEventPartialState as LazyEventPartialState, LogbookConfig as LogbookConfig
4
4
  from _typeshed import Incomplete
5
5
  from collections.abc import Callable as Callable
6
6
  from homeassistant.components import frontend as frontend
7
7
  from homeassistant.components.recorder.filters import extract_include_exclude_filter_conf as extract_include_exclude_filter_conf, merge_include_exclude_filters as merge_include_exclude_filters, sqlalchemy_filter_from_include_exclude_conf as sqlalchemy_filter_from_include_exclude_conf
8
8
  from homeassistant.const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_NAME as ATTR_NAME, EVENT_LOGBOOK_ENTRY as EVENT_LOGBOOK_ENTRY
9
- from homeassistant.core import Context as Context, Event as Event, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
9
+ from homeassistant.core import Context as Context, HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, callback as callback
10
10
  from homeassistant.helpers.entityfilter import INCLUDE_EXCLUDE_BASE_FILTER_SCHEMA as INCLUDE_EXCLUDE_BASE_FILTER_SCHEMA, convert_include_exclude_filter as convert_include_exclude_filter
11
11
  from homeassistant.helpers.integration_platform import async_process_integration_platforms as async_process_integration_platforms
12
12
  from homeassistant.helpers.typing import ConfigType as ConfigType
@@ -28,5 +28,3 @@ LOGBOOK_ENTRY_STATE: str
28
28
  LOGBOOK_ENTRY_WHEN: str
29
29
  AUTOMATION_EVENTS: Incomplete
30
30
  BUILT_IN_EVENTS: Incomplete
31
- LOGBOOK_FILTERS: str
32
- LOGBOOK_ENTITIES_FILTER: str
@@ -1,5 +1,5 @@
1
1
  from .const import ALWAYS_CONTINUOUS_DOMAINS as ALWAYS_CONTINUOUS_DOMAINS, AUTOMATION_EVENTS as AUTOMATION_EVENTS, BUILT_IN_EVENTS as BUILT_IN_EVENTS, DOMAIN as DOMAIN
2
- from .models import LazyEventPartialState as LazyEventPartialState
2
+ from .models import LogbookConfig as LogbookConfig
3
3
  from collections.abc import Callable as Callable
4
4
  from homeassistant.components.sensor import ATTR_STATE_CLASS as ATTR_STATE_CLASS
5
5
  from homeassistant.const import ATTR_DEVICE_ID as ATTR_DEVICE_ID, ATTR_DOMAIN as ATTR_DOMAIN, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_UNIT_OF_MEASUREMENT as ATTR_UNIT_OF_MEASUREMENT, EVENT_LOGBOOK_ENTRY as EVENT_LOGBOOK_ENTRY, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED
@@ -1,9 +1,21 @@
1
1
  from _typeshed import Incomplete
2
+ from collections.abc import Callable as Callable
3
+ from homeassistant.components.recorder.filters import Filters as Filters
4
+ from homeassistant.components.recorder.models import bytes_to_ulid_or_none as bytes_to_ulid_or_none, bytes_to_uuid_hex_or_none as bytes_to_uuid_hex_or_none, ulid_to_bytes_or_none as ulid_to_bytes_or_none, uuid_hex_to_bytes_or_none as uuid_hex_to_bytes_or_none
2
5
  from homeassistant.const import ATTR_ICON as ATTR_ICON, EVENT_STATE_CHANGED as EVENT_STATE_CHANGED
3
6
  from homeassistant.core import Context as Context, Event as Event, State as State, callback as callback
7
+ from homeassistant.helpers.entityfilter import EntityFilter as EntityFilter
8
+ from homeassistant.util.json import json_loads as json_loads
9
+ from homeassistant.util.ulid import ulid_to_bytes as ulid_to_bytes
4
10
  from sqlalchemy.engine.row import Row as Row
5
11
  from typing import Any
6
12
 
13
+ class LogbookConfig:
14
+ external_events: dict[str, tuple[str, Callable[[LazyEventPartialState], dict[str, Any]]]]
15
+ sqlalchemy_filter: Union[Filters, None]
16
+ entity_filter: Union[EntityFilter, None]
17
+ def __init__(self, external_events, sqlalchemy_filter, entity_filter) -> None: ...
18
+
7
19
  class LazyEventPartialState:
8
20
  __slots__: Incomplete
9
21
  row: Incomplete
@@ -12,16 +24,22 @@ class LazyEventPartialState:
12
24
  event_type: Incomplete
13
25
  entity_id: Incomplete
14
26
  state: Incomplete
15
- context_id: Incomplete
16
- context_user_id: Incomplete
17
- context_parent_id: Incomplete
27
+ context_id_bin: Incomplete
28
+ context_user_id_bin: Incomplete
29
+ context_parent_id_bin: Incomplete
18
30
  data: Incomplete
19
31
  def __init__(self, row: Union[Row, EventAsRow], event_data_cache: dict[str, dict[str, Any]]) -> None: ...
32
+ @property
33
+ def context_id(self) -> Union[str, None]: ...
34
+ @property
35
+ def context_user_id(self) -> Union[str, None]: ...
36
+ @property
37
+ def context_parent_id(self) -> Union[str, None]: ...
20
38
 
21
39
  class EventAsRow:
22
40
  data: dict[str, Any]
23
41
  context: Context
24
- context_id: str
42
+ context_id_bin: bytes
25
43
  time_fired_ts: float
26
44
  state_id: int
27
45
  event_data: Union[str, None]
@@ -29,12 +47,12 @@ class EventAsRow:
29
47
  event_id: None
30
48
  entity_id: Union[str, None]
31
49
  icon: Union[str, None]
32
- context_user_id: Union[str, None]
33
- context_parent_id: Union[str, None]
50
+ context_user_id_bin: Union[bytes, None]
51
+ context_parent_id_bin: Union[bytes, None]
34
52
  event_type: Union[str, None]
35
53
  state: Union[str, None]
36
54
  shared_data: Union[str, None]
37
55
  context_only: None
38
- def __init__(self, data, context, context_id, time_fired_ts, state_id, event_data, old_format_icon, event_id, entity_id, icon, context_user_id, context_parent_id, event_type, state, shared_data, context_only) -> None: ...
56
+ def __init__(self, data, context, context_id_bin, time_fired_ts, state_id, event_data, old_format_icon, event_id, entity_id, icon, context_user_id_bin, context_parent_id_bin, event_type, state, shared_data, context_only) -> None: ...
39
57
 
40
58
  def async_event_to_row(event: Event) -> EventAsRow: ...
@@ -1,13 +1,14 @@
1
- from .const import ATTR_MESSAGE as ATTR_MESSAGE, CONTEXT_DOMAIN as CONTEXT_DOMAIN, CONTEXT_ENTITY_ID as CONTEXT_ENTITY_ID, CONTEXT_ENTITY_ID_NAME as CONTEXT_ENTITY_ID_NAME, CONTEXT_EVENT_TYPE as CONTEXT_EVENT_TYPE, CONTEXT_MESSAGE as CONTEXT_MESSAGE, CONTEXT_NAME as CONTEXT_NAME, CONTEXT_SERVICE as CONTEXT_SERVICE, CONTEXT_SOURCE as CONTEXT_SOURCE, CONTEXT_STATE as CONTEXT_STATE, CONTEXT_USER_ID as CONTEXT_USER_ID, DOMAIN as DOMAIN, LOGBOOK_ENTRY_DOMAIN as LOGBOOK_ENTRY_DOMAIN, LOGBOOK_ENTRY_ENTITY_ID as LOGBOOK_ENTRY_ENTITY_ID, LOGBOOK_ENTRY_ICON as LOGBOOK_ENTRY_ICON, LOGBOOK_ENTRY_MESSAGE as LOGBOOK_ENTRY_MESSAGE, LOGBOOK_ENTRY_NAME as LOGBOOK_ENTRY_NAME, LOGBOOK_ENTRY_SOURCE as LOGBOOK_ENTRY_SOURCE, LOGBOOK_ENTRY_STATE as LOGBOOK_ENTRY_STATE, LOGBOOK_ENTRY_WHEN as LOGBOOK_ENTRY_WHEN, LOGBOOK_FILTERS as LOGBOOK_FILTERS
1
+ from .const import ATTR_MESSAGE as ATTR_MESSAGE, CONTEXT_DOMAIN as CONTEXT_DOMAIN, CONTEXT_ENTITY_ID as CONTEXT_ENTITY_ID, CONTEXT_ENTITY_ID_NAME as CONTEXT_ENTITY_ID_NAME, CONTEXT_EVENT_TYPE as CONTEXT_EVENT_TYPE, CONTEXT_MESSAGE as CONTEXT_MESSAGE, CONTEXT_NAME as CONTEXT_NAME, CONTEXT_SERVICE as CONTEXT_SERVICE, CONTEXT_SOURCE as CONTEXT_SOURCE, CONTEXT_STATE as CONTEXT_STATE, CONTEXT_USER_ID as CONTEXT_USER_ID, DOMAIN as DOMAIN, LOGBOOK_ENTRY_DOMAIN as LOGBOOK_ENTRY_DOMAIN, LOGBOOK_ENTRY_ENTITY_ID as LOGBOOK_ENTRY_ENTITY_ID, LOGBOOK_ENTRY_ICON as LOGBOOK_ENTRY_ICON, LOGBOOK_ENTRY_MESSAGE as LOGBOOK_ENTRY_MESSAGE, LOGBOOK_ENTRY_NAME as LOGBOOK_ENTRY_NAME, LOGBOOK_ENTRY_SOURCE as LOGBOOK_ENTRY_SOURCE, LOGBOOK_ENTRY_STATE as LOGBOOK_ENTRY_STATE, LOGBOOK_ENTRY_WHEN as LOGBOOK_ENTRY_WHEN
2
2
  from .helpers import is_sensor_continuous as is_sensor_continuous
3
- from .models import EventAsRow as EventAsRow, LazyEventPartialState as LazyEventPartialState, async_event_to_row as async_event_to_row
3
+ from .models import EventAsRow as EventAsRow, LazyEventPartialState as LazyEventPartialState, LogbookConfig as LogbookConfig, async_event_to_row as async_event_to_row
4
4
  from .queries import statement_for_request as statement_for_request
5
5
  from .queries.common import PSEUDO_EVENT_STATE_CHANGED as PSEUDO_EVENT_STATE_CHANGED
6
6
  from _typeshed import Incomplete
7
7
  from collections.abc import Callable as Callable, Generator, Sequence
8
8
  from datetime import datetime as dt
9
+ from homeassistant.components.recorder import get_instance as get_instance
9
10
  from homeassistant.components.recorder.filters import Filters as Filters
10
- from homeassistant.components.recorder.models import process_datetime_to_timestamp as process_datetime_to_timestamp, process_timestamp_to_utc_isoformat as process_timestamp_to_utc_isoformat
11
+ from homeassistant.components.recorder.models import bytes_to_uuid_hex_or_none as bytes_to_uuid_hex_or_none, extract_metadata_ids as extract_metadata_ids, process_datetime_to_timestamp as process_datetime_to_timestamp, process_timestamp_to_utc_isoformat as process_timestamp_to_utc_isoformat
11
12
  from homeassistant.components.recorder.util import session_scope as session_scope
12
13
  from homeassistant.const import ATTR_DOMAIN as ATTR_DOMAIN, ATTR_ENTITY_ID as ATTR_ENTITY_ID, ATTR_FRIENDLY_NAME as ATTR_FRIENDLY_NAME, ATTR_NAME as ATTR_NAME, ATTR_SERVICE as ATTR_SERVICE, EVENT_CALL_SERVICE as EVENT_CALL_SERVICE, EVENT_LOGBOOK_ENTRY as EVENT_LOGBOOK_ENTRY
13
14
  from homeassistant.core import HomeAssistant as HomeAssistant, split_entity_id as split_entity_id
@@ -49,9 +50,9 @@ class ContextLookup:
49
50
  _memorize_new: bool
50
51
  _lookup: Incomplete
51
52
  def __init__(self, hass: HomeAssistant) -> None: ...
52
- def memorize(self, row: Union[Row, EventAsRow]) -> Union[str, None]: ...
53
+ def memorize(self, row: Union[Row, EventAsRow]) -> Union[bytes, None]: ...
53
54
  def clear(self) -> None: ...
54
- def get(self, context_id: str) -> Union[Row, EventAsRow, None]: ...
55
+ def get(self, context_id_bin: bytes) -> Union[Row, EventAsRow, None]: ...
55
56
 
56
57
  class ContextAugmenter:
57
58
  context_lookup: Incomplete
@@ -60,8 +61,8 @@ class ContextAugmenter:
60
61
  event_cache: Incomplete
61
62
  include_entity_name: Incomplete
62
63
  def __init__(self, logbook_run: LogbookRun) -> None: ...
63
- def _get_context_row(self, context_id: Union[str, None], row: Union[Row, EventAsRow]) -> Union[Row, EventAsRow, None]: ...
64
- def augment(self, data: dict[str, Any], row: Union[Row, EventAsRow], context_id: Union[str, None]) -> None: ...
64
+ def _get_context_row(self, context_id: Union[bytes, None], row: Union[Row, EventAsRow]) -> Union[Row, EventAsRow, None]: ...
65
+ def augment(self, data: dict[str, Any], row: Union[Row, EventAsRow], context_id: Union[bytes, None]) -> None: ...
65
66
 
66
67
  def _rows_match(row: Union[Row, EventAsRow], other_row: Union[Row, EventAsRow]) -> bool: ...
67
68
  def _row_time_fired_isoformat(row: Union[Row, EventAsRow]) -> str: ...
@@ -2,9 +2,11 @@ from .all import all_stmt as all_stmt
2
2
  from .devices import devices_stmt as devices_stmt
3
3
  from .entities import entities_stmt as entities_stmt
4
4
  from .entities_and_devices import entities_devices_stmt as entities_devices_stmt
5
+ from collections.abc import Collection
5
6
  from datetime import datetime as dt
6
7
  from homeassistant.components.recorder.filters import Filters as Filters
8
+ from homeassistant.components.recorder.models import ulid_to_bytes_or_none as ulid_to_bytes_or_none
7
9
  from homeassistant.helpers.json import json_dumps as json_dumps
8
10
  from sqlalchemy.sql.lambdas import StatementLambdaElement as StatementLambdaElement
9
11
 
10
- def statement_for_request(start_day_dt: dt, end_day_dt: dt, event_types: tuple[str, ...], entity_ids: Union[list[str], None] = ..., device_ids: Union[list[str], None] = ..., filters: Union[Filters, None] = ..., context_id: Union[str, None] = ...) -> StatementLambdaElement: ...
12
+ def statement_for_request(start_day_dt: dt, end_day_dt: dt, event_types: tuple[str, ...], entity_ids: Union[list[str], None] = ..., states_metadata_ids: Union[Collection[int], None] = ..., device_ids: Union[list[str], None] = ..., filters: Union[Filters, None] = ..., context_id: Union[str, None] = ...) -> StatementLambdaElement: ...
@@ -1,10 +1,10 @@
1
- from .common import apply_states_filters as apply_states_filters, legacy_select_events_context_id as legacy_select_events_context_id, select_events_without_states as select_events_without_states, select_states as select_states
1
+ from .common import apply_states_filters as apply_states_filters, select_events_without_states as select_events_without_states, select_states as select_states
2
2
  from homeassistant.components.recorder.db_schema import Events as Events, LAST_UPDATED_INDEX_TS as LAST_UPDATED_INDEX_TS, States as States
3
- from sqlalchemy.sql.elements import ColumnElement as ColumnElement
3
+ from homeassistant.components.recorder.filters import Filters as Filters
4
4
  from sqlalchemy.sql.lambdas import StatementLambdaElement as StatementLambdaElement
5
5
  from sqlalchemy.sql.selectable import Select as Select
6
6
 
7
- def all_stmt(start_day: float, end_day: float, event_types: tuple[str, ...], states_entity_filter: Union[ColumnElement, None] = ..., events_entity_filter: Union[ColumnElement, None] = ..., context_id: Union[str, None] = ...) -> StatementLambdaElement: ...
7
+ def all_stmt(start_day: float, end_day: float, event_types: tuple[str, ...], filters: Union[Filters, None], context_id_bin: Union[bytes, None] = ...) -> StatementLambdaElement: ...
8
8
  def _states_query_for_all(start_day: float, end_day: float) -> Select: ...
9
9
  def _apply_all_hints(sel: Select) -> Select: ...
10
- def _states_query_for_context_id(start_day: float, end_day: float, context_id: str) -> Select: ...
10
+ def _states_query_for_context_id(start_day: float, end_day: float, context_id_bin: bytes) -> Select: ...
@@ -1,7 +1,8 @@
1
1
  from ..const import ALWAYS_CONTINUOUS_DOMAINS as ALWAYS_CONTINUOUS_DOMAINS, CONDITIONALLY_CONTINUOUS_DOMAINS as CONDITIONALLY_CONTINUOUS_DOMAINS
2
2
  from _typeshed import Incomplete
3
- from homeassistant.components.recorder.db_schema import EVENTS_CONTEXT_ID_INDEX as EVENTS_CONTEXT_ID_INDEX, EventData as EventData, Events as Events, OLD_FORMAT_ATTRS_JSON as OLD_FORMAT_ATTRS_JSON, OLD_STATE as OLD_STATE, SHARED_ATTRS_JSON as SHARED_ATTRS_JSON, STATES_CONTEXT_ID_INDEX as STATES_CONTEXT_ID_INDEX, StateAttributes as StateAttributes, States as States
3
+ from homeassistant.components.recorder.db_schema import EVENTS_CONTEXT_ID_BIN_INDEX as EVENTS_CONTEXT_ID_BIN_INDEX, EventData as EventData, EventTypes as EventTypes, Events as Events, OLD_FORMAT_ATTRS_JSON as OLD_FORMAT_ATTRS_JSON, OLD_STATE as OLD_STATE, SHARED_ATTRS_JSON as SHARED_ATTRS_JSON, STATES_CONTEXT_ID_BIN_INDEX as STATES_CONTEXT_ID_BIN_INDEX, StateAttributes as StateAttributes, States as States, StatesMeta as StatesMeta
4
4
  from homeassistant.components.recorder.filters import like_domain_matchers as like_domain_matchers
5
+ from homeassistant.components.recorder.queries import select_event_type_ids as select_event_type_ids
5
6
  from sqlalchemy.sql.elements import BooleanClauseList as BooleanClauseList, ColumnElement as ColumnElement
6
7
  from sqlalchemy.sql.selectable import Select as Select
7
8
  from typing import Final
@@ -25,7 +26,6 @@ def select_events_context_only() -> Select: ...
25
26
  def select_states_context_only() -> Select: ...
26
27
  def select_events_without_states(start_day: float, end_day: float, event_types: tuple[str, ...]) -> Select: ...
27
28
  def select_states() -> Select: ...
28
- def legacy_select_events_context_id(start_day: float, end_day: float, context_id: str) -> Select: ...
29
29
  def apply_states_filters(sel: Select, start_day: float, end_day: float) -> Select: ...
30
30
  def _missing_state_matcher() -> ColumnElement[bool]: ...
31
31
  def _not_continuous_entity_matcher() -> ColumnElement[bool]: ...
@@ -1,6 +1,6 @@
1
1
  from .common import apply_events_context_hints as apply_events_context_hints, apply_states_context_hints as apply_states_context_hints, select_events_context_id_subquery as select_events_context_id_subquery, select_events_context_only as select_events_context_only, select_events_without_states as select_events_without_states, select_states_context_only as select_states_context_only
2
2
  from collections.abc import Iterable
3
- from homeassistant.components.recorder.db_schema import DEVICE_ID_IN_EVENT as DEVICE_ID_IN_EVENT, EventData as EventData, Events as Events, States as States
3
+ from homeassistant.components.recorder.db_schema import DEVICE_ID_IN_EVENT as DEVICE_ID_IN_EVENT, EventData as EventData, EventTypes as EventTypes, Events as Events, States as States, StatesMeta as StatesMeta
4
4
  from sqlalchemy.sql.elements import BooleanClauseList as BooleanClauseList
5
5
  from sqlalchemy.sql.lambdas import StatementLambdaElement as StatementLambdaElement
6
6
  from sqlalchemy.sql.selectable import CTE as CTE, CompoundSelect as CompoundSelect, Select as Select
@@ -1,13 +1,13 @@
1
1
  from .common import apply_events_context_hints as apply_events_context_hints, apply_states_context_hints as apply_states_context_hints, apply_states_filters as apply_states_filters, select_events_context_id_subquery as select_events_context_id_subquery, select_events_context_only as select_events_context_only, select_events_without_states as select_events_without_states, select_states as select_states, select_states_context_only as select_states_context_only
2
- from collections.abc import Iterable
3
- from homeassistant.components.recorder.db_schema import ENTITY_ID_IN_EVENT as ENTITY_ID_IN_EVENT, ENTITY_ID_LAST_UPDATED_INDEX_TS as ENTITY_ID_LAST_UPDATED_INDEX_TS, EventData as EventData, Events as Events, OLD_ENTITY_ID_IN_EVENT as OLD_ENTITY_ID_IN_EVENT, States as States
2
+ from collections.abc import Collection, Iterable
3
+ from homeassistant.components.recorder.db_schema import ENTITY_ID_IN_EVENT as ENTITY_ID_IN_EVENT, EventData as EventData, EventTypes as EventTypes, Events as Events, METADATA_ID_LAST_UPDATED_INDEX_TS as METADATA_ID_LAST_UPDATED_INDEX_TS, OLD_ENTITY_ID_IN_EVENT as OLD_ENTITY_ID_IN_EVENT, States as States, StatesMeta as StatesMeta
4
4
  from sqlalchemy.sql.elements import ColumnElement as ColumnElement
5
5
  from sqlalchemy.sql.lambdas import StatementLambdaElement as StatementLambdaElement
6
6
  from sqlalchemy.sql.selectable import CTE as CTE, CompoundSelect as CompoundSelect, Select as Select
7
7
 
8
- def _select_entities_context_ids_sub_query(start_day: float, end_day: float, event_types: tuple[str, ...], entity_ids: list[str], json_quoted_entity_ids: list[str]) -> Select: ...
9
- def _apply_entities_context_union(sel: Select, start_day: float, end_day: float, event_types: tuple[str, ...], entity_ids: list[str], json_quoted_entity_ids: list[str]) -> CompoundSelect: ...
10
- def entities_stmt(start_day: float, end_day: float, event_types: tuple[str, ...], entity_ids: list[str], json_quoted_entity_ids: list[str]) -> StatementLambdaElement: ...
11
- def states_select_for_entity_ids(start_day: float, end_day: float, entity_ids: list[str]) -> Select: ...
8
+ def _select_entities_context_ids_sub_query(start_day: float, end_day: float, event_types: tuple[str, ...], states_metadata_ids: Collection[int], json_quoted_entity_ids: list[str]) -> Select: ...
9
+ def _apply_entities_context_union(sel: Select, start_day: float, end_day: float, event_types: tuple[str, ...], states_metadata_ids: Collection[int], json_quoted_entity_ids: list[str]) -> CompoundSelect: ...
10
+ def entities_stmt(start_day: float, end_day: float, event_types: tuple[str, ...], states_metadata_ids: Collection[int], json_quoted_entity_ids: list[str]) -> StatementLambdaElement: ...
11
+ def states_select_for_entity_ids(start_day: float, end_day: float, states_metadata_ids: Collection[int]) -> Select: ...
12
12
  def apply_event_entity_id_matchers(json_quoted_entity_ids: Iterable[str]) -> ColumnElement[bool]: ...
13
13
  def apply_entities_hints(sel: Select) -> Select: ...
@@ -1,13 +1,13 @@
1
1
  from .common import apply_events_context_hints as apply_events_context_hints, apply_states_context_hints as apply_states_context_hints, select_events_context_id_subquery as select_events_context_id_subquery, select_events_context_only as select_events_context_only, select_events_without_states as select_events_without_states, select_states_context_only as select_states_context_only
2
2
  from .devices import apply_event_device_id_matchers as apply_event_device_id_matchers
3
3
  from .entities import apply_entities_hints as apply_entities_hints, apply_event_entity_id_matchers as apply_event_entity_id_matchers, states_select_for_entity_ids as states_select_for_entity_ids
4
- from collections.abc import Iterable
5
- from homeassistant.components.recorder.db_schema import EventData as EventData, Events as Events, States as States
4
+ from collections.abc import Collection, Iterable
5
+ from homeassistant.components.recorder.db_schema import EventData as EventData, EventTypes as EventTypes, Events as Events, States as States, StatesMeta as StatesMeta
6
6
  from sqlalchemy.sql.elements import ColumnElement as ColumnElement
7
7
  from sqlalchemy.sql.lambdas import StatementLambdaElement as StatementLambdaElement
8
8
  from sqlalchemy.sql.selectable import CTE as CTE, CompoundSelect as CompoundSelect, Select as Select
9
9
 
10
- def _select_entities_device_id_context_ids_sub_query(start_day: float, end_day: float, event_types: tuple[str, ...], entity_ids: list[str], json_quoted_entity_ids: list[str], json_quoted_device_ids: list[str]) -> Select: ...
11
- def _apply_entities_devices_context_union(sel: Select, start_day: float, end_day: float, event_types: tuple[str, ...], entity_ids: list[str], json_quoted_entity_ids: list[str], json_quoted_device_ids: list[str]) -> CompoundSelect: ...
12
- def entities_devices_stmt(start_day: float, end_day: float, event_types: tuple[str, ...], entity_ids: list[str], json_quoted_entity_ids: list[str], json_quoted_device_ids: list[str]) -> StatementLambdaElement: ...
10
+ def _select_entities_device_id_context_ids_sub_query(start_day: float, end_day: float, event_types: tuple[str, ...], states_metadata_ids: Collection[int], json_quoted_entity_ids: list[str], json_quoted_device_ids: list[str]) -> Select: ...
11
+ def _apply_entities_devices_context_union(sel: Select, start_day: float, end_day: float, event_types: tuple[str, ...], states_metadata_ids: Collection[int], json_quoted_entity_ids: list[str], json_quoted_device_ids: list[str]) -> CompoundSelect: ...
12
+ def entities_devices_stmt(start_day: float, end_day: float, event_types: tuple[str, ...], states_metadata_ids: Collection[int], json_quoted_entity_ids: list[str], json_quoted_device_ids: list[str]) -> StatementLambdaElement: ...
13
13
  def _apply_event_entity_id_device_id_matchers(json_quoted_entity_ids: Iterable[str], json_quoted_device_ids: Iterable[str]) -> ColumnElement[bool]: ...
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
- from .const import LOGBOOK_ENTITIES_FILTER as LOGBOOK_ENTITIES_FILTER
2
+ from .const import DOMAIN as DOMAIN
3
3
  from .helpers import async_determine_event_types as async_determine_event_types, async_filter_entities as async_filter_entities, async_subscribe_events as async_subscribe_events
4
- from .models import async_event_to_row as async_event_to_row
4
+ from .models import LogbookConfig as LogbookConfig, async_event_to_row as async_event_to_row
5
5
  from .processor import EventProcessor as EventProcessor
6
6
  from _typeshed import Incomplete
7
7
  from collections.abc import Callable as Callable
@@ -14,7 +14,7 @@ def set_default_log_level(hass: HomeAssistant, level: int) -> None: ...
14
14
  def set_log_levels(hass: HomeAssistant, logpoints: Mapping[str, int]) -> None: ...
15
15
  def _set_log_level(logger: logging.Logger, level: int) -> None: ...
16
16
  def _chattiest_log_level(level1: int, level2: int) -> int: ...
17
- async def get_integration_loggers(hass: HomeAssistant, domain: str) -> list[str]: ...
17
+ async def get_integration_loggers(hass: HomeAssistant, domain: str) -> set[str]: ...
18
18
 
19
19
  class LoggerSetting:
20
20
  level: str
@@ -8,6 +8,6 @@ from homeassistant.setup import async_get_loaded_integrations as async_get_loade
8
8
  from typing import Any
9
9
 
10
10
  def async_load_websocket_api(hass: HomeAssistant) -> None: ...
11
- async def handle_integration_log_info(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
11
+ def handle_integration_log_info(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
12
12
  async def handle_integration_log_level(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
13
13
  async def handle_module_log_level(hass: HomeAssistant, connection: ActiveConnection, msg: dict[str, Any]) -> None: ...
@@ -1,4 +1,4 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
@@ -12,7 +12,11 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
12
12
 
13
13
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
14
14
 
15
+ class MatterBinarySensorEntityDescription(BinarySensorEntityDescription, MatterEntityDescription):
16
+ def __init__(self, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, measurement_to_ha) -> None: ...
17
+
15
18
  class MatterBinarySensor(MatterEntity, BinarySensorEntity):
19
+ entity_description: MatterBinarySensorEntityDescription
16
20
  _attr_is_on: Incomplete
17
21
  def _update_from_device(self) -> None: ...
18
22
 
@@ -7,7 +7,7 @@ from abc import abstractmethod
7
7
  from chip.clusters.Objects import ClusterAttributeDescriptor as ClusterAttributeDescriptor
8
8
  from collections.abc import Callable as Callable
9
9
  from homeassistant.core import callback as callback
10
- from homeassistant.helpers.entity import DeviceInfo as DeviceInfo, Entity as Entity
10
+ from homeassistant.helpers.entity import DeviceInfo as DeviceInfo, Entity as Entity, EntityDescription as EntityDescription
11
11
  from matter_server.client import MatterClient as MatterClient
12
12
  from matter_server.client.models.node import MatterEndpoint as MatterEndpoint
13
13
  from matter_server.common.models import EventType
@@ -15,6 +15,10 @@ from typing import Any
15
15
 
16
16
  LOGGER: Incomplete
17
17
 
18
+ class MatterEntityDescription(EntityDescription):
19
+ measurement_to_ha: Union[Callable[[Any], Any], None]
20
+ def __init__(self, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, measurement_to_ha) -> None: ...
21
+
18
22
  class MatterEntity(Entity, metaclass=abc.ABCMeta):
19
23
  _attr_should_poll: bool
20
24
  _attr_has_entity_name: bool
@@ -0,0 +1,44 @@
1
+ from .const import LOGGER as LOGGER
2
+ from .entity import MatterEntity as MatterEntity
3
+ from .helpers import get_matter as get_matter
4
+ from .models import MatterDiscoverySchema as MatterDiscoverySchema
5
+ from _typeshed import Incomplete
6
+ from chip.clusters import Objects as clusters
7
+ from enum import IntFlag
8
+ from homeassistant.components.lock import LockEntity as LockEntity, LockEntityDescription as LockEntityDescription
9
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
10
+ from homeassistant.const import Platform as Platform
11
+ from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
12
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
13
+ from typing import Any
14
+
15
+ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
+
17
+ class MatterLock(MatterEntity, LockEntity):
18
+ features: Union[int, None]
19
+ @property
20
+ def supports_door_position_sensor(self) -> bool: ...
21
+ async def send_device_command(self, command: clusters.ClusterCommand, timed_request_timeout_ms: int = ...) -> None: ...
22
+ async def async_lock(self, **kwargs: Any) -> None: ...
23
+ async def async_unlock(self, **kwargs: Any) -> None: ...
24
+ _attr_is_locked: bool
25
+ _attr_is_locking: bool
26
+ _attr_is_unlocking: bool
27
+ _attr_is_jammed: Incomplete
28
+ def _update_from_device(self) -> None: ...
29
+
30
+ class DoorLockFeature(IntFlag):
31
+ kPinCredential: int
32
+ kRfidCredential: int
33
+ kFingerCredentials: int
34
+ kLogging: int
35
+ kWeekDayAccessSchedules: int
36
+ kDoorPositionSensor: int
37
+ kFaceCredentials: int
38
+ kCredentialsOverTheAirAccess: int
39
+ kUser: int
40
+ kNotification: int
41
+ kYearDayAccessSchedules: int
42
+ kHolidaySchedules: int
43
+
44
+ DISCOVERY_SCHEMAS: Incomplete
@@ -1,14 +1,9 @@
1
1
  from _typeshed import Incomplete
2
2
  from chip.clusters.Objects import ClusterAttributeDescriptor as ClusterAttributeDescriptor
3
- from collections.abc import Callable as Callable
4
3
  from homeassistant.const import Platform as Platform
5
4
  from homeassistant.helpers.entity import EntityDescription as EntityDescription
6
5
  from matter_server.client.models.device_types import DeviceType as DeviceType
7
6
  from matter_server.client.models.node import MatterEndpoint as MatterEndpoint
8
- from typing import Any
9
-
10
- class DataclassMustHaveAtLeastOne:
11
- def __post_init__(self) -> None: ...
12
7
 
13
8
  SensorValueTypes: Incomplete
14
9
 
@@ -18,10 +13,9 @@ class MatterEntityInfo:
18
13
  attributes_to_watch: list[type[ClusterAttributeDescriptor]]
19
14
  entity_description: EntityDescription
20
15
  entity_class: type
21
- measurement_to_ha: Union[Callable[[SensorValueTypes], SensorValueTypes], None]
22
16
  @property
23
17
  def primary_attribute(self) -> type[ClusterAttributeDescriptor]: ...
24
- def __init__(self, endpoint, platform, attributes_to_watch, entity_description, entity_class, measurement_to_ha) -> None: ...
18
+ def __init__(self, endpoint, platform, attributes_to_watch, entity_description, entity_class) -> None: ...
25
19
 
26
20
  class MatterDiscoverySchema:
27
21
  platform: Platform
@@ -36,5 +30,4 @@ class MatterDiscoverySchema:
36
30
  absent_attributes: Union[tuple[type[ClusterAttributeDescriptor], ...], None]
37
31
  optional_attributes: Union[tuple[type[ClusterAttributeDescriptor], ...], None]
38
32
  allow_multi: bool
39
- measurement_to_ha: Union[Callable[[Any], Any], None]
40
- def __init__(self, platform, entity_description, entity_class, required_attributes, device_type, not_device_type, vendor_id, product_name, endpoint_id, absent_attributes, optional_attributes, allow_multi, measurement_to_ha) -> None: ...
33
+ def __init__(self, platform, entity_description, entity_class, required_attributes, device_type, not_device_type, vendor_id, product_name, endpoint_id, absent_attributes, optional_attributes, allow_multi) -> None: ...
@@ -1,4 +1,4 @@
1
- from .entity import MatterEntity as MatterEntity
1
+ from .entity import MatterEntity as MatterEntity, MatterEntityDescription as MatterEntityDescription
2
2
  from .helpers import get_matter as get_matter
3
3
  from .models import MatterDiscoverySchema as MatterDiscoverySchema
4
4
  from _typeshed import Incomplete
@@ -11,8 +11,12 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEnti
11
11
 
12
12
  async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
13
 
14
+ class MatterSensorEntityDescription(SensorEntityDescription, MatterEntityDescription):
15
+ def __init__(self, key, device_class, entity_category, entity_registry_enabled_default, entity_registry_visible_default, force_update, icon, has_entity_name, name, translation_key, unit_of_measurement, measurement_to_ha, last_reset, native_unit_of_measurement, options, state_class, suggested_display_precision, suggested_unit_of_measurement) -> None: ...
16
+
14
17
  class MatterSensor(MatterEntity, SensorEntity):
15
18
  _attr_state_class: Incomplete
19
+ entity_description: MatterSensorEntityDescription
16
20
  _attr_native_value: Incomplete
17
21
  def _update_from_device(self) -> None: ...
18
22
 
@@ -249,7 +249,7 @@ class MediaPlayerEntity(Entity):
249
249
  def capability_attributes(self) -> dict[str, Any]: ...
250
250
  @property
251
251
  def state_attributes(self) -> dict[str, Any]: ...
252
- async def async_browse_media(self, media_content_type: Union[str, None] = ..., media_content_id: Union[str, None] = ...) -> BrowseMedia: ...
252
+ async def async_browse_media(self, media_content_type: Union[MediaType, str, None] = ..., media_content_id: Union[str, None] = ...) -> BrowseMedia: ...
253
253
  def join_players(self, group_members: list[str]) -> None: ...
254
254
  async def async_join_players(self, group_members: list[str]) -> None: ...
255
255
  def unjoin_player(self) -> None: ...
@@ -265,7 +265,7 @@ class MediaPlayerImageView(HomeAssistantView):
265
265
  extra_urls: Incomplete
266
266
  component: Incomplete
267
267
  def __init__(self, component: EntityComponent[MediaPlayerEntity]) -> None: ...
268
- async def get(self, request: web.Request, entity_id: str, media_content_type: Union[str, None] = ..., media_content_id: Union[str, None] = ...) -> web.Response: ...
268
+ async def get(self, request: web.Request, entity_id: str, media_content_type: Union[MediaType, str, None] = ..., media_content_id: Union[str, None] = ...) -> web.Response: ...
269
269
 
270
270
  async def websocket_browse_media(hass: HomeAssistant, connection: websocket_api.connection.ActiveConnection, msg: dict[str, Any]) -> None: ...
271
271
  async def async_fetch_image(logger: logging.Logger, hass: HomeAssistant, url: str) -> tuple[Union[bytes, None], Union[str, None]]: ...
@@ -2,7 +2,7 @@ from .const import DOMAIN as DOMAIN
2
2
  from _typeshed import Incomplete
3
3
  from homeassistant.const import ATTR_ENTITY_ID as ATTR_ENTITY_ID, CONF_CONDITION as CONF_CONDITION, CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_TYPE as CONF_TYPE, STATE_BUFFERING as STATE_BUFFERING, STATE_IDLE as STATE_IDLE, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_PAUSED as STATE_PAUSED, STATE_PLAYING as STATE_PLAYING
4
4
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
5
- from homeassistant.helpers import condition as condition, entity_registry as entity_registry
5
+ from homeassistant.helpers import condition as condition
6
6
  from homeassistant.helpers.config_validation import DEVICE_CONDITION_BASE_SCHEMA as DEVICE_CONDITION_BASE_SCHEMA
7
7
  from homeassistant.helpers.typing import ConfigType as ConfigType, TemplateVarsType as TemplateVarsType
8
8
 
@@ -4,7 +4,6 @@ from _typeshed import Incomplete
4
4
  from homeassistant.components.device_automation import DEVICE_TRIGGER_BASE_SCHEMA as DEVICE_TRIGGER_BASE_SCHEMA, entity as entity
5
5
  from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_PLATFORM as CONF_PLATFORM, CONF_TYPE as CONF_TYPE, STATE_BUFFERING as STATE_BUFFERING, STATE_IDLE as STATE_IDLE, STATE_OFF as STATE_OFF, STATE_ON as STATE_ON, STATE_PAUSED as STATE_PAUSED, STATE_PLAYING as STATE_PLAYING
6
6
  from homeassistant.core import CALLBACK_TYPE as CALLBACK_TYPE, HomeAssistant as HomeAssistant
7
- from homeassistant.helpers import entity_registry as entity_registry
8
7
  from homeassistant.helpers.trigger import TriggerActionType as TriggerActionType, TriggerInfo as TriggerInfo
9
8
  from homeassistant.helpers.typing import ConfigType as ConfigType
10
9
 
@@ -6,8 +6,6 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.const import CONF_API_KEY as CONF_API_KEY, CONF_LATITUDE as CONF_LATITUDE, CONF_LONGITUDE as CONF_LONGITUDE, CONF_NAME as CONF_NAME, Platform as Platform
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
- from homeassistant.helpers import entity_registry as entity_registry
10
- from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntryType
11
9
  from homeassistant.helpers.entity import DeviceInfo as DeviceInfo
12
10
  from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator
13
11
 
@@ -7,6 +7,7 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
7
7
  from homeassistant.const import PERCENTAGE as PERCENTAGE, UV_INDEX as UV_INDEX, UnitOfLength as UnitOfLength, UnitOfSpeed as UnitOfSpeed, UnitOfTemperature as UnitOfTemperature
8
8
  from homeassistant.core import HomeAssistant as HomeAssistant
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
+ from homeassistant.helpers.typing import StateType as StateType
10
11
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity, DataUpdateCoordinator as DataUpdateCoordinator
11
12
  from typing import Any
12
13
 
@@ -28,7 +29,7 @@ class MetOfficeCurrentSensor(CoordinatorEntity[DataUpdateCoordinator[MetOfficeDa
28
29
  _attr_entity_registry_enabled_default: Incomplete
29
30
  def __init__(self, coordinator: DataUpdateCoordinator[MetOfficeData], hass_data: dict[str, Any], use_3hourly: bool, description: SensorEntityDescription) -> None: ...
30
31
  @property
31
- def native_value(self) -> Union[Any, None]: ...
32
+ def native_value(self) -> StateType: ...
32
33
  @property
33
34
  def icon(self) -> Union[str, None]: ...
34
35
  @property
@@ -19,7 +19,9 @@ ARP: Final[str]
19
19
  CAPSMAN: Final[str]
20
20
  DHCP: Final[str]
21
21
  WIRELESS: Final[str]
22
+ WIFIWAVE2: Final[str]
22
23
  IS_WIRELESS: Final[str]
23
24
  IS_CAPSMAN: Final[str]
25
+ IS_WIFIWAVE2: Final[str]
24
26
  MIKROTIK_SERVICES: Final[Incomplete]
25
27
  ATTR_DEVICE_TRACKER: Final[Incomplete]
@@ -4,7 +4,6 @@ from _typeshed import Incomplete
4
4
  from homeassistant.components.device_tracker import ScannerEntity as ScannerEntity, SourceType as SourceType
5
5
  from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
6
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
7
- from homeassistant.helpers import entity_registry as entity_registry
8
7
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
8
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
10
9
  from typing import Any
@@ -1,5 +1,5 @@
1
1
  import librouteros
2
- from .const import ARP as ARP, ATTR_FIRMWARE as ATTR_FIRMWARE, ATTR_MODEL as ATTR_MODEL, ATTR_SERIAL_NUMBER as ATTR_SERIAL_NUMBER, CAPSMAN as CAPSMAN, CONF_ARP_PING as CONF_ARP_PING, CONF_DETECTION_TIME as CONF_DETECTION_TIME, CONF_FORCE_DHCP as CONF_FORCE_DHCP, DEFAULT_DETECTION_TIME as DEFAULT_DETECTION_TIME, DHCP as DHCP, DOMAIN as DOMAIN, IDENTITY as IDENTITY, INFO as INFO, IS_CAPSMAN as IS_CAPSMAN, IS_WIRELESS as IS_WIRELESS, MIKROTIK_SERVICES as MIKROTIK_SERVICES, NAME as NAME, WIRELESS as WIRELESS
2
+ from .const import ARP as ARP, ATTR_FIRMWARE as ATTR_FIRMWARE, ATTR_MODEL as ATTR_MODEL, ATTR_SERIAL_NUMBER as ATTR_SERIAL_NUMBER, CAPSMAN as CAPSMAN, CONF_ARP_PING as CONF_ARP_PING, CONF_DETECTION_TIME as CONF_DETECTION_TIME, CONF_FORCE_DHCP as CONF_FORCE_DHCP, DEFAULT_DETECTION_TIME as DEFAULT_DETECTION_TIME, DHCP as DHCP, DOMAIN as DOMAIN, IDENTITY as IDENTITY, INFO as INFO, IS_CAPSMAN as IS_CAPSMAN, IS_WIFIWAVE2 as IS_WIFIWAVE2, IS_WIRELESS as IS_WIRELESS, MIKROTIK_SERVICES as MIKROTIK_SERVICES, NAME as NAME, WIFIWAVE2 as WIFIWAVE2, WIRELESS as WIRELESS
3
3
  from .device import Device as Device
4
4
  from .errors import CannotConnect as CannotConnect, LoginError as LoginError
5
5
  from _typeshed import Incomplete
@@ -22,6 +22,7 @@ class MikrotikData:
22
22
  devices: Incomplete
23
23
  support_capsman: bool
24
24
  support_wireless: bool
25
+ support_wifiwave2: bool
25
26
  hostname: str
26
27
  model: str
27
28
  firmware: str