homeassistant-stubs 2024.12.5__py3-none-any.whl → 2025.1.0b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (572) hide show
  1. homeassistant-stubs/auth/__init__.pyi +1 -1
  2. homeassistant-stubs/auth/mfa_modules/__init__.pyi +6 -4
  3. homeassistant-stubs/auth/mfa_modules/notify.pyi +2 -3
  4. homeassistant-stubs/auth/mfa_modules/totp.pyi +2 -3
  5. homeassistant-stubs/auth/providers/__init__.pyi +6 -4
  6. homeassistant-stubs/auth/providers/command_line.pyi +2 -2
  7. homeassistant-stubs/auth/providers/homeassistant.pyi +2 -2
  8. homeassistant-stubs/auth/providers/insecure_example.pyi +2 -2
  9. homeassistant-stubs/auth/providers/trusted_networks.pyi +2 -2
  10. homeassistant-stubs/backup_restore.pyi +11 -4
  11. homeassistant-stubs/components/abode/light.pyi +4 -3
  12. homeassistant-stubs/components/acaia/__init__.pyi +9 -0
  13. homeassistant-stubs/components/acaia/binary_sensor.pyi +24 -0
  14. homeassistant-stubs/components/acaia/button.pyi +24 -0
  15. homeassistant-stubs/components/acaia/config_flow.pyi +18 -0
  16. homeassistant-stubs/components/acaia/const.pyi +2 -0
  17. homeassistant-stubs/components/acaia/coordinator.pyi +19 -0
  18. homeassistant-stubs/components/{stookalert → acaia}/diagnostics.pyi +2 -3
  19. homeassistant-stubs/components/acaia/entity.pyi +17 -0
  20. homeassistant-stubs/components/acaia/sensor.pyi +44 -0
  21. homeassistant-stubs/components/adax/climate.pyi +0 -1
  22. homeassistant-stubs/components/airtouch5/climate.pyi +0 -1
  23. homeassistant-stubs/components/airzone/climate.pyi +0 -1
  24. homeassistant-stubs/components/airzone_cloud/climate.pyi +3 -2
  25. homeassistant-stubs/components/alarm_control_panel/__init__.pyi +1 -6
  26. homeassistant-stubs/components/alarm_control_panel/const.pyi +0 -14
  27. homeassistant-stubs/components/analytics_insights/config_flow.pyi +3 -2
  28. homeassistant-stubs/components/autarco/__init__.pyi +1 -0
  29. homeassistant-stubs/components/autarco/config_flow.pyi +4 -0
  30. homeassistant-stubs/components/autarco/coordinator.pyi +1 -0
  31. homeassistant-stubs/components/automation/__init__.pyi +1 -10
  32. homeassistant-stubs/components/backup/__init__.pyi +4 -11
  33. homeassistant-stubs/components/backup/agent.pyi +35 -0
  34. homeassistant-stubs/components/backup/backup.pyi +29 -0
  35. homeassistant-stubs/components/backup/config.pyi +117 -0
  36. homeassistant-stubs/components/backup/const.pyi +2 -0
  37. homeassistant-stubs/components/backup/http.pyi +3 -2
  38. homeassistant-stubs/components/backup/manager.pyi +191 -51
  39. homeassistant-stubs/components/backup/models.pyi +35 -0
  40. homeassistant-stubs/components/backup/store.pyi +24 -0
  41. homeassistant-stubs/components/backup/util.pyi +12 -0
  42. homeassistant-stubs/components/backup/websocket.pyi +9 -1
  43. homeassistant-stubs/components/baf/climate.pyi +0 -1
  44. homeassistant-stubs/components/baf/fan.pyi +0 -1
  45. homeassistant-stubs/components/baf/light.pyi +4 -5
  46. homeassistant-stubs/components/bang_olufsen/const.pyi +3 -0
  47. homeassistant-stubs/components/bang_olufsen/media_player.pyi +2 -2
  48. homeassistant-stubs/components/binary_sensor/__init__.pyi +0 -33
  49. homeassistant-stubs/components/bluesound/__init__.pyi +0 -1
  50. homeassistant-stubs/components/bluesound/media_player.pyi +13 -8
  51. homeassistant-stubs/components/bluesound/utils.pyi +2 -0
  52. homeassistant-stubs/components/bmw_connected_drive/__init__.pyi +4 -12
  53. homeassistant-stubs/components/bmw_connected_drive/binary_sensor.pyi +1 -0
  54. homeassistant-stubs/components/bmw_connected_drive/button.pyi +1 -0
  55. homeassistant-stubs/components/bmw_connected_drive/config_flow.pyi +8 -4
  56. homeassistant-stubs/components/bmw_connected_drive/coordinator.pyi +4 -3
  57. homeassistant-stubs/components/bmw_connected_drive/device_tracker.pyi +2 -2
  58. homeassistant-stubs/components/bmw_connected_drive/diagnostics.pyi +1 -0
  59. homeassistant-stubs/components/bmw_connected_drive/lock.pyi +1 -0
  60. homeassistant-stubs/components/bmw_connected_drive/notify.pyi +2 -1
  61. homeassistant-stubs/components/bmw_connected_drive/number.pyi +1 -0
  62. homeassistant-stubs/components/bmw_connected_drive/select.pyi +1 -0
  63. homeassistant-stubs/components/bmw_connected_drive/sensor.pyi +1 -0
  64. homeassistant-stubs/components/bmw_connected_drive/switch.pyi +1 -0
  65. homeassistant-stubs/components/bryant_evolution/climate.pyi +0 -1
  66. homeassistant-stubs/components/cambridge_audio/config_flow.pyi +4 -1
  67. homeassistant-stubs/components/cambridge_audio/media_browser.pyi +8 -0
  68. homeassistant-stubs/components/cambridge_audio/media_player.pyi +4 -3
  69. homeassistant-stubs/components/cambridge_audio/select.pyi +2 -2
  70. homeassistant-stubs/components/cambridge_audio/switch.pyi +2 -2
  71. homeassistant-stubs/components/camera/__init__.pyi +1 -5
  72. homeassistant-stubs/components/camera/const.pyi +0 -8
  73. homeassistant-stubs/components/cert_expiry/config_flow.pyi +0 -1
  74. homeassistant-stubs/components/cert_expiry/sensor.pyi +2 -10
  75. homeassistant-stubs/components/climate/__init__.pyi +1 -12
  76. homeassistant-stubs/components/climate/const.pyi +0 -25
  77. homeassistant-stubs/components/cloud/backup.pyi +36 -0
  78. homeassistant-stubs/components/cloud/const.pyi +2 -0
  79. homeassistant-stubs/components/cloud/http_api.pyi +7 -2
  80. homeassistant-stubs/components/cookidoo/__init__.pyi +9 -0
  81. homeassistant-stubs/components/cookidoo/config_flow.pyi +24 -0
  82. homeassistant-stubs/components/cookidoo/const.pyi +1 -0
  83. homeassistant-stubs/components/cookidoo/coordinator.pyi +25 -0
  84. homeassistant-stubs/components/cookidoo/entity.pyi +10 -0
  85. homeassistant-stubs/components/cookidoo/todo.pyi +32 -0
  86. homeassistant-stubs/components/cover/__init__.pyi +0 -18
  87. homeassistant-stubs/components/crownstone/config_flow.pyi +1 -1
  88. homeassistant-stubs/components/deconz/climate.pyi +0 -1
  89. homeassistant-stubs/components/deconz/fan.pyi +0 -1
  90. homeassistant-stubs/components/deconz/light.pyi +7 -5
  91. homeassistant-stubs/components/demo/climate.pyi +0 -1
  92. homeassistant-stubs/components/demo/fan.pyi +0 -1
  93. homeassistant-stubs/components/demo/light.pyi +4 -2
  94. homeassistant-stubs/components/demo/vacuum.pyi +2 -4
  95. homeassistant-stubs/components/device_tracker/__init__.pyi +1 -7
  96. homeassistant-stubs/components/device_tracker/const.pyi +0 -8
  97. homeassistant-stubs/components/devolo_home_control/__init__.pyi +1 -1
  98. homeassistant-stubs/components/devolo_home_control/binary_sensor.pyi +3 -2
  99. homeassistant-stubs/components/devolo_home_control/climate.pyi +0 -1
  100. homeassistant-stubs/components/devolo_home_control/config_flow.pyi +1 -2
  101. homeassistant-stubs/components/devolo_home_control/const.pyi +0 -2
  102. homeassistant-stubs/components/devolo_home_control/sensor.pyi +1 -3
  103. homeassistant-stubs/components/discovergy/__init__.pyi +2 -2
  104. homeassistant-stubs/components/duotecno/climate.pyi +0 -1
  105. homeassistant-stubs/components/easyenergy/__init__.pyi +4 -5
  106. homeassistant-stubs/components/easyenergy/coordinator.pyi +3 -2
  107. homeassistant-stubs/components/easyenergy/diagnostics.pyi +2 -5
  108. homeassistant-stubs/components/easyenergy/sensor.pyi +2 -3
  109. homeassistant-stubs/components/easyenergy/services.pyi +4 -4
  110. homeassistant-stubs/components/ecovacs/button.pyi +13 -2
  111. homeassistant-stubs/components/ecovacs/const.pyi +1 -0
  112. homeassistant-stubs/components/ecovacs/number.pyi +1 -1
  113. homeassistant-stubs/components/ecovacs/select.pyi +2 -2
  114. homeassistant-stubs/components/ecovacs/sensor.pyi +1 -1
  115. homeassistant-stubs/components/ecovacs/util.pyi +1 -0
  116. homeassistant-stubs/components/ecovacs/vacuum.pyi +3 -3
  117. homeassistant-stubs/components/eheimdigital/__init__.pyi +14 -0
  118. homeassistant-stubs/components/eheimdigital/config_flow.pyi +18 -0
  119. homeassistant-stubs/components/eheimdigital/const.pyi +8 -0
  120. homeassistant-stubs/components/eheimdigital/coordinator.pyi +25 -0
  121. homeassistant-stubs/components/eheimdigital/entity.pyi +20 -0
  122. homeassistant-stubs/components/eheimdigital/light.pyi +36 -0
  123. homeassistant-stubs/components/electrasmart/climate.pyi +0 -1
  124. homeassistant-stubs/components/elevenlabs/__init__.pyi +6 -7
  125. homeassistant-stubs/components/elevenlabs/config_flow.pyi +4 -3
  126. homeassistant-stubs/components/elevenlabs/tts.pyi +6 -3
  127. homeassistant-stubs/components/elgato/__init__.pyi +3 -5
  128. homeassistant-stubs/components/elgato/button.pyi +4 -3
  129. homeassistant-stubs/components/elgato/config_flow.pyi +1 -1
  130. homeassistant-stubs/components/elgato/coordinator.pyi +4 -3
  131. homeassistant-stubs/components/elgato/diagnostics.pyi +2 -2
  132. homeassistant-stubs/components/elgato/light.pyi +6 -7
  133. homeassistant-stubs/components/elgato/sensor.pyi +4 -3
  134. homeassistant-stubs/components/elgato/switch.pyi +4 -3
  135. homeassistant-stubs/components/elkm1/climate.pyi +0 -1
  136. homeassistant-stubs/components/emulated_hue/hue_api.pyi +1 -1
  137. homeassistant-stubs/components/energyzero/__init__.pyi +4 -5
  138. homeassistant-stubs/components/energyzero/coordinator.pyi +2 -1
  139. homeassistant-stubs/components/energyzero/diagnostics.pyi +2 -5
  140. homeassistant-stubs/components/energyzero/sensor.pyi +2 -3
  141. homeassistant-stubs/components/energyzero/services.pyi +4 -4
  142. homeassistant-stubs/components/enigma2/coordinator.pyi +1 -0
  143. homeassistant-stubs/components/enigma2/media_player.pyi +0 -1
  144. homeassistant-stubs/components/enphase_envoy/binary_sensor.pyi +2 -0
  145. homeassistant-stubs/components/enphase_envoy/config_flow.pyi +2 -1
  146. homeassistant-stubs/components/enphase_envoy/coordinator.pyi +2 -2
  147. homeassistant-stubs/components/enphase_envoy/number.pyi +2 -0
  148. homeassistant-stubs/components/enphase_envoy/select.pyi +2 -0
  149. homeassistant-stubs/components/enphase_envoy/sensor.pyi +35 -1
  150. homeassistant-stubs/components/enphase_envoy/switch.pyi +2 -0
  151. homeassistant-stubs/components/esphome/climate.pyi +0 -1
  152. homeassistant-stubs/components/esphome/fan.pyi +0 -1
  153. homeassistant-stubs/components/esphome/light.pyi +0 -2
  154. homeassistant-stubs/components/evohome/climate.pyi +0 -1
  155. homeassistant-stubs/components/fan/__init__.pyi +0 -15
  156. homeassistant-stubs/components/feedreader/__init__.pyi +3 -8
  157. homeassistant-stubs/components/feedreader/config_flow.pyi +1 -6
  158. homeassistant-stubs/components/flexit_bacnet/climate.pyi +0 -1
  159. homeassistant-stubs/components/flexit_bacnet/number.pyi +3 -0
  160. homeassistant-stubs/components/flux_led/light.pyi +4 -5
  161. homeassistant-stubs/components/fritzbox/climate.pyi +0 -1
  162. homeassistant-stubs/components/fritzbox/coordinator.pyi +2 -1
  163. homeassistant-stubs/components/fritzbox/light.pyi +3 -4
  164. homeassistant-stubs/components/fritzbox_callmonitor/base.pyi +13 -2
  165. homeassistant-stubs/components/fritzbox_callmonitor/config_flow.pyi +2 -2
  166. homeassistant-stubs/components/fritzbox_callmonitor/sensor.pyi +4 -4
  167. homeassistant-stubs/components/fronius/__init__.pyi +1 -1
  168. homeassistant-stubs/components/fronius/const.pyi +3 -3
  169. homeassistant-stubs/components/fronius/coordinator.pyi +1 -1
  170. homeassistant-stubs/components/fronius/sensor.pyi +2 -1
  171. homeassistant-stubs/components/fujitsu_fglair/climate.pyi +0 -1
  172. homeassistant-stubs/components/fyta/__init__.pyi +2 -2
  173. homeassistant-stubs/components/fyta/entity.pyi +2 -2
  174. homeassistant-stubs/components/generic_thermostat/climate.pyi +1 -4
  175. homeassistant-stubs/components/generic_thermostat/config_flow.pyi +1 -1
  176. homeassistant-stubs/components/generic_thermostat/const.pyi +2 -0
  177. homeassistant-stubs/components/group/fan.pyi +0 -1
  178. homeassistant-stubs/components/group/registry.pyi +1 -1
  179. homeassistant-stubs/components/history/__init__.pyi +1 -1
  180. homeassistant-stubs/components/history/helpers.pyi +1 -2
  181. homeassistant-stubs/components/history/websocket_api.pyi +1 -1
  182. homeassistant-stubs/components/holiday/__init__.pyi +2 -1
  183. homeassistant-stubs/components/holiday/calendar.pyi +4 -3
  184. homeassistant-stubs/components/holiday/config_flow.pyi +13 -3
  185. homeassistant-stubs/components/holiday/const.pyi +1 -0
  186. homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +5 -3
  187. homeassistant-stubs/components/homekit/doorbell.pyi +23 -0
  188. homeassistant-stubs/components/homekit/type_cameras.pyi +4 -12
  189. homeassistant-stubs/components/homekit/type_locks.pyi +3 -2
  190. homeassistant-stubs/components/homekit/type_switches.pyi +1 -1
  191. homeassistant-stubs/components/homekit/util.pyi +1 -0
  192. homeassistant-stubs/components/homewizard/sensor.pyi +1 -1
  193. homeassistant-stubs/components/humidifier/__init__.pyi +1 -8
  194. homeassistant-stubs/components/humidifier/const.pyi +0 -9
  195. homeassistant-stubs/components/husqvarna_automower/__init__.pyi +2 -2
  196. homeassistant-stubs/components/husqvarna_automower/binary_sensor.pyi +1 -0
  197. homeassistant-stubs/components/husqvarna_automower/calendar.pyi +1 -0
  198. homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +4 -4
  199. homeassistant-stubs/components/husqvarna_automower/device_tracker.pyi +2 -0
  200. homeassistant-stubs/components/husqvarna_automower/diagnostics.pyi +1 -2
  201. homeassistant-stubs/components/husqvarna_automower/entity.pyi +4 -3
  202. homeassistant-stubs/components/husqvarna_automower/sensor.pyi +1 -0
  203. homeassistant-stubs/components/idasen_desk/__init__.pyi +5 -16
  204. homeassistant-stubs/components/idasen_desk/button.pyi +7 -12
  205. homeassistant-stubs/components/idasen_desk/coordinator.pyi +2 -3
  206. homeassistant-stubs/components/idasen_desk/cover.pyi +8 -17
  207. homeassistant-stubs/components/idasen_desk/entity.pyi +12 -0
  208. homeassistant-stubs/components/idasen_desk/sensor.pyi +7 -20
  209. homeassistant-stubs/components/image_upload/media_source.pyi +14 -0
  210. homeassistant-stubs/components/imap/config_flow.pyi +3 -2
  211. homeassistant-stubs/components/imap/coordinator.pyi +5 -5
  212. homeassistant-stubs/components/imap/sensor.pyi +1 -0
  213. homeassistant-stubs/components/intent/__init__.pyi +2 -1
  214. homeassistant-stubs/components/iotty/switch.pyi +8 -6
  215. homeassistant-stubs/components/iron_os/__init__.pyi +21 -0
  216. homeassistant-stubs/components/iron_os/binary_sensor.pyi +19 -0
  217. homeassistant-stubs/components/iron_os/config_flow.pyi +15 -0
  218. homeassistant-stubs/components/iron_os/const.pyi +7 -0
  219. homeassistant-stubs/components/iron_os/coordinator.pyi +43 -0
  220. homeassistant-stubs/components/iron_os/entity.pyi +13 -0
  221. homeassistant-stubs/components/iron_os/number.pyi +62 -0
  222. homeassistant-stubs/components/iron_os/select.pyi +49 -0
  223. homeassistant-stubs/components/iron_os/sensor.pyi +46 -0
  224. homeassistant-stubs/components/iron_os/update.pyi +29 -0
  225. homeassistant-stubs/components/isy994/climate.pyi +0 -1
  226. homeassistant-stubs/components/isy994/fan.pyi +0 -1
  227. homeassistant-stubs/components/knx/climate.pyi +0 -1
  228. homeassistant-stubs/components/knx/config_flow.pyi +4 -0
  229. homeassistant-stubs/components/knx/fan.pyi +0 -1
  230. homeassistant-stubs/components/knx/services.pyi +5 -5
  231. homeassistant-stubs/components/lamarzocco/__init__.pyi +4 -5
  232. homeassistant-stubs/components/lamarzocco/binary_sensor.pyi +9 -3
  233. homeassistant-stubs/components/lamarzocco/calendar.pyi +1 -0
  234. homeassistant-stubs/components/lamarzocco/config_flow.pyi +6 -5
  235. homeassistant-stubs/components/lamarzocco/coordinator.pyi +39 -16
  236. homeassistant-stubs/components/lamarzocco/entity.pyi +7 -3
  237. homeassistant-stubs/components/lamarzocco/number.pyi +8 -4
  238. homeassistant-stubs/components/lamarzocco/select.pyi +8 -4
  239. homeassistant-stubs/components/lamarzocco/sensor.pyi +10 -3
  240. homeassistant-stubs/components/lamarzocco/switch.pyi +1 -1
  241. homeassistant-stubs/components/lametric/notify.pyi +2 -1
  242. homeassistant-stubs/components/lametric/number.pyi +2 -1
  243. homeassistant-stubs/components/lametric/services.pyi +2 -1
  244. homeassistant-stubs/components/lametric/switch.pyi +2 -1
  245. homeassistant-stubs/components/lcn/__init__.pyi +3 -1
  246. homeassistant-stubs/components/lcn/climate.pyi +0 -1
  247. homeassistant-stubs/components/lcn/const.pyi +1 -0
  248. homeassistant-stubs/components/lcn/helpers.pyi +1 -1
  249. homeassistant-stubs/components/lcn/services.pyi +7 -4
  250. homeassistant-stubs/components/lifx/const.pyi +1 -0
  251. homeassistant-stubs/components/lifx/manager.pyi +2 -2
  252. homeassistant-stubs/components/lifx/util.pyi +2 -2
  253. homeassistant-stubs/components/light/__init__.pyi +31 -55
  254. homeassistant-stubs/components/light/const.pyi +33 -0
  255. homeassistant-stubs/components/light/device_action.pyi +2 -1
  256. homeassistant-stubs/components/light/device_condition.pyi +1 -1
  257. homeassistant-stubs/components/light/device_trigger.pyi +1 -1
  258. homeassistant-stubs/components/light/intent.pyi +2 -1
  259. homeassistant-stubs/components/light/reproduce_state.pyi +2 -1
  260. homeassistant-stubs/components/light/significant_change.pyi +1 -1
  261. homeassistant-stubs/components/litterrobot/vacuum.pyi +2 -2
  262. homeassistant-stubs/components/lock/__init__.pyi +1 -2
  263. homeassistant-stubs/components/lookin/climate.pyi +0 -1
  264. homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
  265. homeassistant-stubs/components/mastodon/config_flow.pyi +1 -2
  266. homeassistant-stubs/components/mastodon/sensor.pyi +2 -0
  267. homeassistant-stubs/components/matter/climate.pyi +0 -1
  268. homeassistant-stubs/components/matter/fan.pyi +0 -1
  269. homeassistant-stubs/components/matter/light.pyi +5 -5
  270. homeassistant-stubs/components/matter/vacuum.pyi +3 -3
  271. homeassistant-stubs/components/mealie/__init__.pyi +18 -0
  272. homeassistant-stubs/components/mealie/calendar.pyi +21 -0
  273. homeassistant-stubs/components/mealie/config_flow.pyi +20 -0
  274. homeassistant-stubs/components/mealie/const.pyi +14 -0
  275. homeassistant-stubs/components/mealie/coordinator.pyi +53 -0
  276. homeassistant-stubs/components/mealie/diagnostics.pyi +5 -0
  277. homeassistant-stubs/components/mealie/entity.pyi +11 -0
  278. homeassistant-stubs/components/mealie/sensor.pyi +29 -0
  279. homeassistant-stubs/components/mealie/services.pyi +21 -0
  280. homeassistant-stubs/components/mealie/todo.pyi +36 -0
  281. homeassistant-stubs/components/mealie/utils.pyi +3 -0
  282. homeassistant-stubs/components/media_player/__init__.pyi +0 -2
  283. homeassistant-stubs/components/modbus/climate.pyi +0 -1
  284. homeassistant-stubs/components/modbus/fan.pyi +0 -1
  285. homeassistant-stubs/components/modbus/modbus.pyi +3 -3
  286. homeassistant-stubs/components/mqtt/client.pyi +1 -1
  287. homeassistant-stubs/components/mqtt/climate.pyi +0 -1
  288. homeassistant-stubs/components/mqtt/config_flow.pyi +2 -1
  289. homeassistant-stubs/components/mqtt/fan.pyi +0 -1
  290. homeassistant-stubs/components/mqtt/light/schema_basic.pyi +5 -5
  291. homeassistant-stubs/components/mqtt/light/schema_json.pyi +4 -4
  292. homeassistant-stubs/components/mqtt/light/schema_template.pyi +4 -4
  293. homeassistant-stubs/components/mqtt/switch.pyi +1 -1
  294. homeassistant-stubs/components/mqtt/vacuum.pyi +10 -4
  295. homeassistant-stubs/components/music_assistant/__init__.pyi +4 -0
  296. homeassistant-stubs/components/music_assistant/actions.pyi +18 -0
  297. homeassistant-stubs/components/music_assistant/const.pyi +48 -0
  298. homeassistant-stubs/components/music_assistant/media_player.pyi +9 -16
  299. homeassistant-stubs/components/music_assistant/schemas.pyi +20 -0
  300. homeassistant-stubs/components/mysensors/climate.pyi +0 -1
  301. homeassistant-stubs/components/myuplink/__init__.pyi +5 -2
  302. homeassistant-stubs/components/myuplink/binary_sensor.pyi +2 -2
  303. homeassistant-stubs/components/myuplink/config_flow.pyi +4 -1
  304. homeassistant-stubs/components/myuplink/number.pyi +2 -2
  305. homeassistant-stubs/components/myuplink/select.pyi +3 -2
  306. homeassistant-stubs/components/myuplink/switch.pyi +1 -1
  307. homeassistant-stubs/components/nanoleaf/light.pyi +4 -4
  308. homeassistant-stubs/components/neato/vacuum.pyi +3 -3
  309. homeassistant-stubs/components/nest/__init__.pyi +6 -6
  310. homeassistant-stubs/components/nest/camera.pyi +2 -4
  311. homeassistant-stubs/components/nest/climate.pyi +2 -5
  312. homeassistant-stubs/components/nest/const.pyi +0 -2
  313. homeassistant-stubs/components/nest/device_info.pyi +2 -1
  314. homeassistant-stubs/components/nest/diagnostics.pyi +4 -8
  315. homeassistant-stubs/components/nest/event.pyi +2 -4
  316. homeassistant-stubs/components/nest/sensor.pyi +2 -4
  317. homeassistant-stubs/components/nest/types.pyi +11 -0
  318. homeassistant-stubs/components/netatmo/climate.pyi +0 -1
  319. homeassistant-stubs/components/netatmo/fan.pyi +0 -1
  320. homeassistant-stubs/components/nordpool/__init__.pyi +6 -0
  321. homeassistant-stubs/components/nordpool/coordinator.pyi +5 -2
  322. homeassistant-stubs/components/nordpool/entity.pyi +1 -1
  323. homeassistant-stubs/components/nordpool/sensor.pyi +10 -6
  324. homeassistant-stubs/components/nordpool/services.pyi +19 -0
  325. homeassistant-stubs/components/number/const.pyi +0 -8
  326. homeassistant-stubs/components/onkyo/config_flow.pyi +2 -0
  327. homeassistant-stubs/components/onkyo/media_player.pyi +10 -7
  328. homeassistant-stubs/components/overkiz/__init__.pyi +4 -3
  329. homeassistant-stubs/components/overkiz/alarm_control_panel.pyi +2 -4
  330. homeassistant-stubs/components/overkiz/binary_sensor.pyi +3 -4
  331. homeassistant-stubs/components/overkiz/button.pyi +4 -5
  332. homeassistant-stubs/components/overkiz/climate/__init__.pyi +3 -4
  333. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater.pyi +0 -1
  334. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_heater_with_adjustable_temperature_setpoint.pyi +0 -1
  335. homeassistant-stubs/components/overkiz/climate/atlantic_electrical_towel_dryer.pyi +1 -2
  336. homeassistant-stubs/components/overkiz/climate/atlantic_heat_recovery_ventilation.pyi +0 -1
  337. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_heat_pump_main_component.pyi +0 -1
  338. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_heating_zone.pyi +0 -1
  339. homeassistant-stubs/components/overkiz/climate/atlantic_pass_apc_zone_control.pyi +0 -1
  340. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_air_heat_pump_hlrrwifi.pyi +0 -1
  341. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_air_heat_pump_ovp.pyi +0 -1
  342. homeassistant-stubs/components/overkiz/climate/hitachi_air_to_water_heating_zone.pyi +34 -0
  343. homeassistant-stubs/components/overkiz/climate/somfy_heating_temperature_interface.pyi +0 -1
  344. homeassistant-stubs/components/overkiz/climate/somfy_thermostat.pyi +0 -1
  345. homeassistant-stubs/components/overkiz/climate/valve_heating_temperature_interface.pyi +0 -1
  346. homeassistant-stubs/components/overkiz/cover/__init__.pyi +2 -4
  347. homeassistant-stubs/components/overkiz/diagnostics.pyi +4 -5
  348. homeassistant-stubs/components/overkiz/light.pyi +2 -4
  349. homeassistant-stubs/components/overkiz/lock.pyi +2 -4
  350. homeassistant-stubs/components/overkiz/number.pyi +3 -4
  351. homeassistant-stubs/components/overkiz/scene.pyi +2 -4
  352. homeassistant-stubs/components/overkiz/select.pyi +3 -4
  353. homeassistant-stubs/components/overkiz/sensor.pyi +2 -3
  354. homeassistant-stubs/components/overkiz/siren.pyi +2 -4
  355. homeassistant-stubs/components/overkiz/switch.pyi +2 -4
  356. homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +2 -4
  357. homeassistant-stubs/components/peblar/__init__.pyi +11 -0
  358. homeassistant-stubs/components/peblar/binary_sensor.pyi +25 -0
  359. homeassistant-stubs/components/peblar/button.pyi +27 -0
  360. homeassistant-stubs/components/peblar/config_flow.pyi +18 -0
  361. homeassistant-stubs/components/peblar/const.pyi +7 -0
  362. homeassistant-stubs/components/peblar/coordinator.pyi +50 -0
  363. homeassistant-stubs/components/peblar/diagnostics.pyi +5 -0
  364. homeassistant-stubs/components/peblar/entity.pyi +15 -0
  365. homeassistant-stubs/components/peblar/helpers.pyi +7 -0
  366. homeassistant-stubs/components/peblar/number.pyi +33 -0
  367. homeassistant-stubs/components/peblar/select.pyi +30 -0
  368. homeassistant-stubs/components/peblar/sensor.pyi +29 -0
  369. homeassistant-stubs/components/peblar/switch.pyi +32 -0
  370. homeassistant-stubs/components/peblar/update.pyi +26 -0
  371. homeassistant-stubs/components/plugwise/binary_sensor.pyi +1 -0
  372. homeassistant-stubs/components/plugwise/button.pyi +2 -0
  373. homeassistant-stubs/components/plugwise/climate.pyi +3 -4
  374. homeassistant-stubs/components/plugwise/config_flow.pyi +7 -1
  375. homeassistant-stubs/components/plugwise/entity.pyi +0 -1
  376. homeassistant-stubs/components/plugwise/number.pyi +2 -0
  377. homeassistant-stubs/components/plugwise/select.pyi +2 -0
  378. homeassistant-stubs/components/plugwise/sensor.pyi +2 -0
  379. homeassistant-stubs/components/plugwise/switch.pyi +2 -0
  380. homeassistant-stubs/components/plugwise/util.pyi +1 -0
  381. homeassistant-stubs/components/powerfox/__init__.pyi +12 -0
  382. homeassistant-stubs/components/powerfox/config_flow.pyi +16 -0
  383. homeassistant-stubs/components/{stookalert → powerfox}/const.pyi +1 -2
  384. homeassistant-stubs/components/powerfox/coordinator.pyi +14 -0
  385. homeassistant-stubs/components/powerfox/diagnostics.pyi +5 -0
  386. homeassistant-stubs/components/powerfox/entity.pyi +11 -0
  387. homeassistant-stubs/components/powerfox/sensor.pyi +28 -0
  388. homeassistant-stubs/components/powerwall/sensor.pyi +3 -5
  389. homeassistant-stubs/components/rabbitair/fan.pyi +0 -1
  390. homeassistant-stubs/components/recorder/db_schema.pyi +19 -4
  391. homeassistant-stubs/components/recorder/history/legacy.pyi +4 -4
  392. homeassistant-stubs/components/recorder/history/modern.pyi +5 -5
  393. homeassistant-stubs/components/recorder/migration.pyi +29 -19
  394. homeassistant-stubs/components/recorder/models/state.pyi +3 -0
  395. homeassistant-stubs/components/recorder/queries.pyi +3 -4
  396. homeassistant-stubs/components/recorder/statistics.pyi +2 -2
  397. homeassistant-stubs/components/recorder/table_managers/event_types.pyi +0 -1
  398. homeassistant-stubs/components/recorder/table_managers/recorder_runs.pyi +1 -12
  399. homeassistant-stubs/components/recorder/table_managers/states.pyi +7 -0
  400. homeassistant-stubs/components/remote/__init__.pyi +0 -10
  401. homeassistant-stubs/components/renault/binary_sensor.pyi +2 -0
  402. homeassistant-stubs/components/renault/button.pyi +2 -0
  403. homeassistant-stubs/components/renault/coordinator.pyi +2 -1
  404. homeassistant-stubs/components/renault/device_tracker.pyi +2 -0
  405. homeassistant-stubs/components/renault/select.pyi +2 -0
  406. homeassistant-stubs/components/renault/sensor.pyi +2 -0
  407. homeassistant-stubs/components/reolink/button.pyi +1 -2
  408. homeassistant-stubs/components/reolink/camera.pyi +1 -2
  409. homeassistant-stubs/components/reolink/light.pyi +1 -2
  410. homeassistant-stubs/components/reolink/number.pyi +1 -2
  411. homeassistant-stubs/components/reolink/select.pyi +1 -2
  412. homeassistant-stubs/components/reolink/services.pyi +2 -2
  413. homeassistant-stubs/components/reolink/siren.pyi +1 -2
  414. homeassistant-stubs/components/reolink/switch.pyi +1 -2
  415. homeassistant-stubs/components/reolink/update.pyi +1 -0
  416. homeassistant-stubs/components/reolink/util.pyi +7 -0
  417. homeassistant-stubs/components/roborock/vacuum.pyi +2 -2
  418. homeassistant-stubs/components/roku/__init__.pyi +5 -4
  419. homeassistant-stubs/components/roku/binary_sensor.pyi +4 -3
  420. homeassistant-stubs/components/roku/config_flow.pyi +5 -3
  421. homeassistant-stubs/components/roku/diagnostics.pyi +2 -4
  422. homeassistant-stubs/components/roku/media_player.pyi +4 -3
  423. homeassistant-stubs/components/roku/remote.pyi +4 -4
  424. homeassistant-stubs/components/roku/select.pyi +4 -4
  425. homeassistant-stubs/components/roku/sensor.pyi +4 -4
  426. homeassistant-stubs/components/romy/vacuum.pyi +2 -2
  427. homeassistant-stubs/components/russound_rio/__init__.pyi +14 -0
  428. homeassistant-stubs/components/russound_rio/config_flow.pyi +14 -0
  429. homeassistant-stubs/components/russound_rio/const.pyi +7 -0
  430. homeassistant-stubs/components/russound_rio/diagnostics.pyi +5 -0
  431. homeassistant-stubs/components/russound_rio/entity.pyi +25 -0
  432. homeassistant-stubs/components/russound_rio/media_player.pyi +56 -0
  433. homeassistant-stubs/components/schlage/__init__.pyi +11 -0
  434. homeassistant-stubs/components/schlage/binary_sensor.pyi +26 -0
  435. homeassistant-stubs/components/schlage/config_flow.pyi +19 -0
  436. homeassistant-stubs/components/schlage/const.pyi +6 -0
  437. homeassistant-stubs/components/schlage/coordinator.pyi +31 -0
  438. homeassistant-stubs/components/schlage/diagnostics.pyi +5 -0
  439. homeassistant-stubs/components/schlage/entity.pyi +19 -0
  440. homeassistant-stubs/components/schlage/lock.pyi +21 -0
  441. homeassistant-stubs/components/schlage/select.pyi +20 -0
  442. homeassistant-stubs/components/schlage/sensor.pyi +19 -0
  443. homeassistant-stubs/components/schlage/switch.pyi +32 -0
  444. homeassistant-stubs/components/sensibo/climate.pyi +2 -3
  445. homeassistant-stubs/components/sensibo/coordinator.pyi +1 -1
  446. homeassistant-stubs/components/sensor/const.pyi +0 -7
  447. homeassistant-stubs/components/senz/climate.pyi +0 -1
  448. homeassistant-stubs/components/shelly/climate.pyi +0 -2
  449. homeassistant-stubs/components/siren/__init__.pyi +1 -6
  450. homeassistant-stubs/components/siren/const.pyi +0 -11
  451. homeassistant-stubs/components/snooz/fan.pyi +0 -1
  452. homeassistant-stubs/components/solarlog/config_flow.pyi +2 -5
  453. homeassistant-stubs/components/solarlog/const.pyi +0 -1
  454. homeassistant-stubs/components/solarlog/coordinator.pyi +0 -1
  455. homeassistant-stubs/components/starlink/coordinator.pyi +4 -2
  456. homeassistant-stubs/components/starlink/sensor.pyi +1 -1
  457. homeassistant-stubs/components/statistics/sensor.pyi +43 -40
  458. homeassistant-stubs/components/stream/__init__.pyi +13 -0
  459. homeassistant-stubs/components/suez_water/__init__.pyi +3 -5
  460. homeassistant-stubs/components/suez_water/coordinator.pyi +7 -9
  461. homeassistant-stubs/components/suez_water/sensor.pyi +5 -6
  462. homeassistant-stubs/components/sun/__init__.pyi +2 -0
  463. homeassistant-stubs/components/sun/entity.pyi +1 -2
  464. homeassistant-stubs/components/switch/__init__.pyi +0 -7
  465. homeassistant-stubs/components/switch_as_x/fan.pyi +0 -1
  466. homeassistant-stubs/components/switchbee/climate.pyi +0 -1
  467. homeassistant-stubs/components/switchbot_cloud/climate.pyi +0 -1
  468. homeassistant-stubs/components/switchbot_cloud/sensor.pyi +12 -3
  469. homeassistant-stubs/components/switchbot_cloud/switch.pyi +4 -0
  470. homeassistant-stubs/components/switchbot_cloud/vacuum.pyi +3 -3
  471. homeassistant-stubs/components/switcher_kis/climate.pyi +1 -2
  472. homeassistant-stubs/components/switcher_kis/cover.pyi +0 -4
  473. homeassistant-stubs/components/switcher_kis/entity.pyi +6 -0
  474. homeassistant-stubs/components/switcher_kis/light.pyi +0 -4
  475. homeassistant-stubs/components/switcher_kis/switch.pyi +0 -2
  476. homeassistant-stubs/components/tailwind/__init__.pyi +2 -4
  477. homeassistant-stubs/components/tailwind/binary_sensor.pyi +1 -1
  478. homeassistant-stubs/components/tailwind/button.pyi +1 -1
  479. homeassistant-stubs/components/tailwind/coordinator.pyi +2 -1
  480. homeassistant-stubs/components/tailwind/cover.pyi +1 -1
  481. homeassistant-stubs/components/tailwind/diagnostics.pyi +1 -1
  482. homeassistant-stubs/components/tailwind/number.pyi +1 -1
  483. homeassistant-stubs/components/tedee/__init__.pyi +2 -3
  484. homeassistant-stubs/components/tedee/binary_sensor.pyi +2 -0
  485. homeassistant-stubs/components/tedee/sensor.pyi +2 -0
  486. homeassistant-stubs/components/tibber/services.pyi +1 -1
  487. homeassistant-stubs/components/tolo/climate.pyi +0 -1
  488. homeassistant-stubs/components/tolo/fan.pyi +0 -1
  489. homeassistant-stubs/components/tplink/__init__.pyi +1 -1
  490. homeassistant-stubs/components/tplink/binary_sensor.pyi +2 -2
  491. homeassistant-stubs/components/tplink/button.pyi +2 -2
  492. homeassistant-stubs/components/tplink/camera.pyi +49 -0
  493. homeassistant-stubs/components/tplink/climate.pyi +1 -2
  494. homeassistant-stubs/components/tplink/config_flow.pyi +11 -5
  495. homeassistant-stubs/components/tplink/const.pyi +2 -0
  496. homeassistant-stubs/components/tplink/entity.pyi +9 -2
  497. homeassistant-stubs/components/tplink/fan.pyi +1 -2
  498. homeassistant-stubs/components/tplink/light.pyi +2 -2
  499. homeassistant-stubs/components/tplink/models.pyi +4 -1
  500. homeassistant-stubs/components/tplink/number.pyi +2 -2
  501. homeassistant-stubs/components/tplink/select.pyi +2 -2
  502. homeassistant-stubs/components/tplink/sensor.pyi +2 -2
  503. homeassistant-stubs/components/tplink/siren.pyi +1 -1
  504. homeassistant-stubs/components/tplink/switch.pyi +2 -2
  505. homeassistant-stubs/components/tractive/sensor.pyi +1 -1
  506. homeassistant-stubs/components/tradfri/fan.pyi +0 -1
  507. homeassistant-stubs/components/tradfri/light.pyi +4 -4
  508. homeassistant-stubs/components/transmission/__init__.pyi +1 -1
  509. homeassistant-stubs/components/transmission/const.pyi +1 -0
  510. homeassistant-stubs/components/twentemilieu/__init__.pyi +3 -11
  511. homeassistant-stubs/components/twentemilieu/calendar.pyi +1 -1
  512. homeassistant-stubs/components/twentemilieu/coordinator.pyi +14 -0
  513. homeassistant-stubs/components/twentemilieu/diagnostics.pyi +2 -2
  514. homeassistant-stubs/components/twentemilieu/entity.pyi +2 -3
  515. homeassistant-stubs/components/twentemilieu/sensor.pyi +3 -3
  516. homeassistant-stubs/components/unifi/sensor.pyi +1 -1
  517. homeassistant-stubs/components/unifiprotect/const.pyi +6 -0
  518. homeassistant-stubs/components/unifiprotect/event.pyi +5 -3
  519. homeassistant-stubs/components/unifiprotect/services.pyi +16 -9
  520. homeassistant-stubs/components/update/__init__.pyi +0 -2
  521. homeassistant-stubs/components/vacuum/__init__.pyi +16 -7
  522. homeassistant-stubs/components/vacuum/const.pyi +18 -5
  523. homeassistant-stubs/components/vacuum/device_condition.pyi +1 -1
  524. homeassistant-stubs/components/vacuum/device_trigger.pyi +1 -1
  525. homeassistant-stubs/components/vacuum/reproduce_state.pyi +2 -2
  526. homeassistant-stubs/components/vallox/fan.pyi +0 -1
  527. homeassistant-stubs/components/velbus/__init__.pyi +22 -9
  528. homeassistant-stubs/components/velbus/binary_sensor.pyi +4 -3
  529. homeassistant-stubs/components/velbus/button.pyi +4 -3
  530. homeassistant-stubs/components/velbus/climate.pyi +4 -3
  531. homeassistant-stubs/components/velbus/cover.pyi +4 -3
  532. homeassistant-stubs/components/velbus/diagnostics.pyi +3 -4
  533. homeassistant-stubs/components/velbus/light.pyi +4 -3
  534. homeassistant-stubs/components/velbus/select.pyi +4 -3
  535. homeassistant-stubs/components/velbus/sensor.pyi +4 -3
  536. homeassistant-stubs/components/velbus/services.pyi +7 -0
  537. homeassistant-stubs/components/velbus/switch.pyi +4 -3
  538. homeassistant-stubs/components/water_heater/__init__.pyi +7 -12
  539. homeassistant-stubs/components/wemo/fan.pyi +0 -1
  540. homeassistant-stubs/components/wemo/light.pyi +4 -2
  541. homeassistant-stubs/components/wiz/light.pyi +4 -5
  542. homeassistant-stubs/components/yale_smart_alarm/__init__.pyi +4 -4
  543. homeassistant-stubs/components/yale_smart_alarm/alarm_control_panel.pyi +0 -1
  544. homeassistant-stubs/components/yale_smart_alarm/config_flow.pyi +3 -2
  545. homeassistant-stubs/components/yale_smart_alarm/coordinator.pyi +3 -3
  546. homeassistant-stubs/components/yale_smart_alarm/entity.pyi +1 -1
  547. homeassistant-stubs/components/yale_smart_alarm/lock.pyi +1 -1
  548. homeassistant-stubs/components/zwave_js/api.pyi +2 -0
  549. homeassistant-stubs/components/zwave_js/climate.pyi +0 -1
  550. homeassistant-stubs/components/zwave_js/fan.pyi +0 -1
  551. homeassistant-stubs/components/zwave_js/light.pyi +7 -9
  552. homeassistant-stubs/const.pyi +2 -151
  553. homeassistant-stubs/core.pyi +3 -6
  554. homeassistant-stubs/core_config.pyi +2 -1
  555. homeassistant-stubs/data_entry_flow.pyi +0 -13
  556. homeassistant-stubs/exceptions.pyi +6 -0
  557. homeassistant-stubs/helpers/device_registry.pyi +1 -9
  558. homeassistant-stubs/helpers/entity.pyi +1 -2
  559. homeassistant-stubs/helpers/event.pyi +3 -4
  560. homeassistant-stubs/helpers/service.pyi +1 -1
  561. homeassistant-stubs/helpers/service_info/mqtt.pyi +1 -1
  562. homeassistant-stubs/helpers/template.pyi +1 -1
  563. homeassistant-stubs/util/dt.pyi +1 -0
  564. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0b0.dist-info}/METADATA +2 -2
  565. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0b0.dist-info}/RECORD +567 -474
  566. homeassistant-stubs/components/bluesound/services.pyi +0 -21
  567. homeassistant-stubs/components/stookalert/__init__.pyi +0 -10
  568. homeassistant-stubs/components/stookalert/binary_sensor.pyi +0 -24
  569. homeassistant-stubs/components/stookalert/config_flow.pyi +0 -7
  570. homeassistant-stubs/components/tailwind/typing.pyi +0 -4
  571. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0b0.dist-info}/WHEEL +0 -0
  572. {homeassistant_stubs-2024.12.5.dist-info → homeassistant_stubs-2025.1.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,12 @@
1
+ from . import IdasenDeskCoordinator as IdasenDeskCoordinator
2
+ from _typeshed import Incomplete
3
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
4
+
5
+ class IdasenDeskEntity(CoordinatorEntity[IdasenDeskCoordinator]):
6
+ _attr_has_entity_name: bool
7
+ _attr_unique_id: Incomplete
8
+ _attr_device_info: Incomplete
9
+ _desk: Incomplete
10
+ def __init__(self, unique_id: str, coordinator: IdasenDeskCoordinator) -> None: ...
11
+ @property
12
+ def available(self) -> bool: ...
@@ -1,16 +1,12 @@
1
- from . import DeskData as DeskData, IdasenDeskCoordinator as IdasenDeskCoordinator
2
- from .const import DOMAIN as DOMAIN
1
+ from . import IdasenDeskConfigEntry as IdasenDeskConfigEntry, IdasenDeskCoordinator as IdasenDeskCoordinator
2
+ from .entity import IdasenDeskEntity as IdasenDeskEntity
3
3
  from _typeshed import Incomplete
4
4
  from collections.abc import Callable as Callable
5
5
  from dataclasses import dataclass
6
- from homeassistant import config_entries as config_entries
7
6
  from homeassistant.components.sensor import SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
8
7
  from homeassistant.const import UnitOfLength as UnitOfLength
9
- from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
10
- from homeassistant.helpers.device_registry import DeviceInfo as DeviceInfo
8
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
- from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
13
- from typing import Any
14
10
 
15
11
  @dataclass(frozen=True, kw_only=True)
16
12
  class IdasenDeskSensorDescription(SensorEntityDescription):
@@ -19,19 +15,10 @@ class IdasenDeskSensorDescription(SensorEntityDescription):
19
15
 
20
16
  SENSORS: Incomplete
21
17
 
22
- async def async_setup_entry(hass: HomeAssistant, entry: config_entries.ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
18
+ async def async_setup_entry(hass: HomeAssistant, entry: IdasenDeskConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
23
19
 
24
- class IdasenDeskSensor(CoordinatorEntity[IdasenDeskCoordinator], SensorEntity):
20
+ class IdasenDeskSensor(IdasenDeskEntity, SensorEntity):
25
21
  entity_description: IdasenDeskSensorDescription
26
- _attr_has_entity_name: bool
27
- _attr_unique_id: Incomplete
28
- _attr_device_info: Incomplete
29
- _address: Incomplete
30
- _desk: Incomplete
31
- def __init__(self, address: str, device_info: DeviceInfo, coordinator: IdasenDeskCoordinator, description: IdasenDeskSensorDescription) -> None: ...
32
- async def async_added_to_hass(self) -> None: ...
22
+ def __init__(self, coordinator: IdasenDeskCoordinator, description: IdasenDeskSensorDescription) -> None: ...
33
23
  @property
34
- def available(self) -> bool: ...
35
- def _handle_coordinator_update(self, *args: Any) -> None: ...
36
- _attr_native_value: Incomplete
37
- def _update_native_value(self) -> None: ...
24
+ def native_value(self) -> float | None: ...
@@ -0,0 +1,14 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from homeassistant.components.media_player import BrowseError as BrowseError, MediaClass as MediaClass
4
+ from homeassistant.components.media_source import BrowseMediaSource as BrowseMediaSource, MediaSource as MediaSource, MediaSourceItem as MediaSourceItem, PlayMedia as PlayMedia, Unresolvable as Unresolvable
5
+ from homeassistant.core import HomeAssistant as HomeAssistant
6
+
7
+ async def async_get_media_source(hass: HomeAssistant) -> ImageUploadMediaSource: ...
8
+
9
+ class ImageUploadMediaSource(MediaSource):
10
+ name: str
11
+ hass: Incomplete
12
+ def __init__(self, hass: HomeAssistant) -> None: ...
13
+ async def async_resolve_media(self, item: MediaSourceItem) -> PlayMedia: ...
14
+ async def async_browse_media(self, item: MediaSourceItem) -> BrowseMediaSource: ...
@@ -1,9 +1,10 @@
1
+ from . import ImapConfigEntry as ImapConfigEntry
1
2
  from .const import CONF_CHARSET as CONF_CHARSET, CONF_CUSTOM_EVENT_DATA_TEMPLATE as CONF_CUSTOM_EVENT_DATA_TEMPLATE, CONF_ENABLE_PUSH as CONF_ENABLE_PUSH, CONF_EVENT_MESSAGE_DATA as CONF_EVENT_MESSAGE_DATA, CONF_FOLDER as CONF_FOLDER, CONF_MAX_MESSAGE_SIZE as CONF_MAX_MESSAGE_SIZE, CONF_SEARCH as CONF_SEARCH, CONF_SERVER as CONF_SERVER, CONF_SSL_CIPHER_LIST as CONF_SSL_CIPHER_LIST, DEFAULT_MAX_MESSAGE_SIZE as DEFAULT_MAX_MESSAGE_SIZE, DEFAULT_PORT as DEFAULT_PORT, DOMAIN as DOMAIN, MAX_MESSAGE_SIZE_LIMIT as MAX_MESSAGE_SIZE_LIMIT, MESSAGE_DATA_OPTIONS as MESSAGE_DATA_OPTIONS
2
3
  from .coordinator import connect_to_server as connect_to_server
3
4
  from .errors import InvalidAuth as InvalidAuth, InvalidFolder as InvalidFolder
4
5
  from _typeshed import Incomplete
5
6
  from collections.abc import Mapping
6
- from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
7
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, OptionsFlow as OptionsFlow
7
8
  from homeassistant.const import CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL
8
9
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
9
10
  from homeassistant.data_entry_flow import AbortFlow as AbortFlow
@@ -28,7 +29,7 @@ class IMAPConfigFlow(ConfigFlow, domain=DOMAIN):
28
29
  async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> ConfigFlowResult: ...
29
30
  async def async_step_reauth_confirm(self, user_input: dict[str, str] | None = None) -> ConfigFlowResult: ...
30
31
  @staticmethod
31
- def async_get_options_flow(config_entry: ConfigEntry) -> ImapOptionsFlow: ...
32
+ def async_get_options_flow(config_entry: ImapConfigEntry) -> ImapOptionsFlow: ...
32
33
 
33
34
  class ImapOptionsFlow(OptionsFlow):
34
35
  async def async_step_init(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -1,3 +1,4 @@
1
+ from . import ImapConfigEntry as ImapConfigEntry
1
2
  from .const import CONF_CHARSET as CONF_CHARSET, CONF_CUSTOM_EVENT_DATA_TEMPLATE as CONF_CUSTOM_EVENT_DATA_TEMPLATE, CONF_EVENT_MESSAGE_DATA as CONF_EVENT_MESSAGE_DATA, CONF_FOLDER as CONF_FOLDER, CONF_MAX_MESSAGE_SIZE as CONF_MAX_MESSAGE_SIZE, CONF_SEARCH as CONF_SEARCH, CONF_SERVER as CONF_SERVER, CONF_SSL_CIPHER_LIST as CONF_SSL_CIPHER_LIST, DEFAULT_MAX_MESSAGE_SIZE as DEFAULT_MAX_MESSAGE_SIZE, DOMAIN as DOMAIN, MESSAGE_DATA_OPTIONS as MESSAGE_DATA_OPTIONS
2
3
  from .errors import InvalidAuth as InvalidAuth, InvalidFolder as InvalidFolder
3
4
  from _typeshed import Incomplete
@@ -5,7 +6,6 @@ from aioimaplib import IMAP4_SSL
5
6
  from collections.abc import Mapping
6
7
  from datetime import datetime, timedelta
7
8
  from email.message import Message
8
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
9
9
  from homeassistant.const import CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_USERNAME as CONF_USERNAME, CONF_VERIFY_SSL as CONF_VERIFY_SSL, CONTENT_TYPE_TEXT_PLAIN as CONTENT_TYPE_TEXT_PLAIN
10
10
  from homeassistant.core import HomeAssistant as HomeAssistant
11
11
  from homeassistant.exceptions import ConfigEntryAuthFailed as ConfigEntryAuthFailed, ConfigEntryError as ConfigEntryError, TemplateError as TemplateError
@@ -43,7 +43,7 @@ class ImapMessage:
43
43
  def text(self) -> str: ...
44
44
 
45
45
  class ImapDataUpdateCoordinator(DataUpdateCoordinator[int | None]):
46
- config_entry: ConfigEntry
46
+ config_entry: ImapConfigEntry
47
47
  custom_event_template: Template | None
48
48
  imap_client: Incomplete
49
49
  auth_errors: int
@@ -52,7 +52,7 @@ class ImapDataUpdateCoordinator(DataUpdateCoordinator[int | None]):
52
52
  _diagnostics_data: Incomplete
53
53
  _event_data_keys: Incomplete
54
54
  _max_event_size: Incomplete
55
- def __init__(self, hass: HomeAssistant, imap_client: IMAP4_SSL, entry: ConfigEntry, update_interval: timedelta | None) -> None: ...
55
+ def __init__(self, hass: HomeAssistant, imap_client: IMAP4_SSL, entry: ImapConfigEntry, update_interval: timedelta | None) -> None: ...
56
56
  async def async_start(self) -> None: ...
57
57
  async def _async_reconnect_if_needed(self) -> None: ...
58
58
  async def _async_process_event(self, last_message_uid: str) -> None: ...
@@ -64,14 +64,14 @@ class ImapDataUpdateCoordinator(DataUpdateCoordinator[int | None]):
64
64
  def diagnostics_data(self) -> dict[str, Any]: ...
65
65
 
66
66
  class ImapPollingDataUpdateCoordinator(ImapDataUpdateCoordinator):
67
- def __init__(self, hass: HomeAssistant, imap_client: IMAP4_SSL, entry: ConfigEntry) -> None: ...
67
+ def __init__(self, hass: HomeAssistant, imap_client: IMAP4_SSL, entry: ImapConfigEntry) -> None: ...
68
68
  auth_errors: int
69
69
  async def _async_update_data(self) -> int | None: ...
70
70
 
71
71
  class ImapPushDataUpdateCoordinator(ImapDataUpdateCoordinator):
72
72
  _push_wait_task: Incomplete
73
73
  number_of_messages: Incomplete
74
- def __init__(self, hass: HomeAssistant, imap_client: IMAP4_SSL, entry: ConfigEntry) -> None: ...
74
+ def __init__(self, hass: HomeAssistant, imap_client: IMAP4_SSL, entry: ImapConfigEntry) -> None: ...
75
75
  async def _async_update_data(self) -> int | None: ...
76
76
  async def async_start(self) -> None: ...
77
77
  auth_errors: int
@@ -9,6 +9,7 @@ from homeassistant.helpers.device_registry import DeviceEntryType as DeviceEntry
9
9
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
10
10
  from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
11
11
 
12
+ PARALLEL_UPDATES: int
12
13
  IMAP_MAIL_COUNT_DESCRIPTION: Incomplete
13
14
 
14
15
  async def async_setup_entry(hass: HomeAssistant, entry: ImapConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
@@ -40,9 +40,10 @@ class GetCurrentTimeIntentHandler(intent.IntentHandler):
40
40
  description: str
41
41
  async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
42
42
 
43
- class HelloIntentHandler(intent.IntentHandler):
43
+ class RespondIntentHandler(intent.IntentHandler):
44
44
  intent_type: Incomplete
45
45
  description: str
46
+ slot_schema: Incomplete
46
47
  async def async_handle(self, intent_obj: intent.Intent) -> intent.IntentResponse: ...
47
48
 
48
49
  class IntentHandleView(http.HomeAssistantView):
@@ -3,21 +3,23 @@ from .api import IottyProxy as IottyProxy
3
3
  from .coordinator import IottyDataUpdateCoordinator as IottyDataUpdateCoordinator
4
4
  from .entity import IottyEntity as IottyEntity
5
5
  from _typeshed import Incomplete
6
- from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity
6
+ from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass, SwitchEntity as SwitchEntity, SwitchEntityDescription as SwitchEntityDescription
7
7
  from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
8
8
  from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
9
- from iottycloud.device import Device as Device
10
9
  from iottycloud.lightswitch import LightSwitch
10
+ from iottycloud.outlet import Outlet
11
11
  from typing import Any
12
12
 
13
13
  _LOGGER: Incomplete
14
+ ENTITIES: dict[str, SwitchEntityDescription]
14
15
 
15
16
  async def async_setup_entry(hass: HomeAssistant, config_entry: IottyConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
16
17
 
17
- class IottyLightSwitch(IottyEntity, SwitchEntity):
18
- _attr_device_class: Incomplete
19
- _iotty_device: LightSwitch
20
- def __init__(self, coordinator: IottyDataUpdateCoordinator, iotty_cloud: IottyProxy, iotty_device: LightSwitch) -> None: ...
18
+ class IottySwitch(IottyEntity, SwitchEntity):
19
+ _attr_device_class: SwitchDeviceClass | None
20
+ _iotty_device: LightSwitch | Outlet
21
+ entity_description: Incomplete
22
+ def __init__(self, coordinator: IottyDataUpdateCoordinator, iotty_cloud: IottyProxy, iotty_device: LightSwitch | Outlet, entity_description: SwitchEntityDescription) -> None: ...
21
23
  @property
22
24
  def is_on(self) -> bool: ...
23
25
  async def async_turn_on(self, **kwargs: Any) -> None: ...
@@ -0,0 +1,21 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from .coordinator import IronOSCoordinators as IronOSCoordinators, IronOSFirmwareUpdateCoordinator as IronOSFirmwareUpdateCoordinator, IronOSLiveDataCoordinator as IronOSLiveDataCoordinator, IronOSSettingsCoordinator as IronOSSettingsCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.components import bluetooth as bluetooth
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.const import CONF_NAME as CONF_NAME, Platform as Platform
7
+ from homeassistant.core import HomeAssistant as HomeAssistant
8
+ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
9
+ from homeassistant.helpers.aiohttp_client import async_get_clientsession as async_get_clientsession
10
+ from homeassistant.helpers.typing import ConfigType as ConfigType
11
+ from homeassistant.util.hass_dict import HassKey as HassKey
12
+
13
+ PLATFORMS: list[Platform]
14
+ CONFIG_SCHEMA: Incomplete
15
+ type IronOSConfigEntry = ConfigEntry[IronOSCoordinators]
16
+ IRON_OS_KEY: HassKey[IronOSFirmwareUpdateCoordinator]
17
+ _LOGGER: Incomplete
18
+
19
+ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
20
+ async def async_setup_entry(hass: HomeAssistant, entry: IronOSConfigEntry) -> bool: ...
21
+ async def async_unload_entry(hass: HomeAssistant, entry: IronOSConfigEntry) -> bool: ...
@@ -0,0 +1,19 @@
1
+ from . import IronOSConfigEntry as IronOSConfigEntry
2
+ from .coordinator import IronOSLiveDataCoordinator as IronOSLiveDataCoordinator
3
+ from .entity import IronOSBaseEntity as IronOSBaseEntity
4
+ from enum import StrEnum
5
+ from homeassistant.components.binary_sensor import BinarySensorDeviceClass as BinarySensorDeviceClass, BinarySensorEntity as BinarySensorEntity, BinarySensorEntityDescription as BinarySensorEntityDescription
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
+
9
+ PARALLEL_UPDATES: int
10
+
11
+ class PinecilBinarySensor(StrEnum):
12
+ TIP_CONNECTED = 'tip_connected'
13
+
14
+ async def async_setup_entry(hass: HomeAssistant, entry: IronOSConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
15
+
16
+ class IronOSBinarySensorEntity(IronOSBaseEntity, BinarySensorEntity):
17
+ coordinator: IronOSLiveDataCoordinator
18
+ @property
19
+ def is_on(self) -> bool | None: ...
@@ -0,0 +1,15 @@
1
+ from .const import DISCOVERY_SVC_UUID as DISCOVERY_SVC_UUID, DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from habluetooth import BluetoothServiceInfoBleak as BluetoothServiceInfoBleak
4
+ from homeassistant.components.bluetooth.api import async_discovered_service_info as async_discovered_service_info
5
+ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
6
+ from homeassistant.const import CONF_ADDRESS as CONF_ADDRESS
7
+ from typing import Any
8
+
9
+ class IronOSConfigFlow(ConfigFlow, domain=DOMAIN):
10
+ _discovery_info: Incomplete
11
+ _discovered_devices: Incomplete
12
+ def __init__(self) -> None: ...
13
+ async def async_step_bluetooth(self, discovery_info: BluetoothServiceInfoBleak) -> ConfigFlowResult: ...
14
+ async def async_step_bluetooth_confirm(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
15
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
@@ -0,0 +1,7 @@
1
+ DOMAIN: str
2
+ MANUFACTURER: str
3
+ MODEL: str
4
+ OHM: str
5
+ DISCOVERY_SVC_UUID: str
6
+ MAX_TEMP: int
7
+ MIN_TEMP: int
@@ -0,0 +1,43 @@
1
+ from .const import DOMAIN as DOMAIN
2
+ from _typeshed import Incomplete
3
+ from dataclasses import dataclass
4
+ from datetime import timedelta
5
+ from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.debounce import Debouncer as Debouncer
8
+ from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
9
+ from pynecil import DeviceInfoResponse as DeviceInfoResponse, IronOSUpdate as IronOSUpdate, LatestRelease, LiveDataResponse, Pynecil as Pynecil, SettingsDataResponse
10
+
11
+ _LOGGER: Incomplete
12
+ SCAN_INTERVAL: Incomplete
13
+ SCAN_INTERVAL_GITHUB: Incomplete
14
+ SCAN_INTERVAL_SETTINGS: Incomplete
15
+
16
+ @dataclass
17
+ class IronOSCoordinators:
18
+ live_data: IronOSLiveDataCoordinator
19
+ settings: IronOSSettingsCoordinator
20
+ def __init__(self, live_data, settings) -> None: ...
21
+
22
+ class IronOSBaseCoordinator[_DataT](DataUpdateCoordinator[_DataT]):
23
+ device_info: DeviceInfoResponse
24
+ config_entry: ConfigEntry
25
+ device: Incomplete
26
+ def __init__(self, hass: HomeAssistant, device: Pynecil, update_interval: timedelta) -> None: ...
27
+ async def _async_setup(self) -> None: ...
28
+
29
+ class IronOSLiveDataCoordinator(IronOSBaseCoordinator[LiveDataResponse]):
30
+ def __init__(self, hass: HomeAssistant, device: Pynecil) -> None: ...
31
+ device_info: Incomplete
32
+ async def _async_update_data(self) -> LiveDataResponse: ...
33
+ @property
34
+ def has_tip(self) -> bool: ...
35
+
36
+ class IronOSFirmwareUpdateCoordinator(DataUpdateCoordinator[LatestRelease]):
37
+ github: Incomplete
38
+ def __init__(self, hass: HomeAssistant, github: IronOSUpdate) -> None: ...
39
+ async def _async_update_data(self) -> LatestRelease: ...
40
+
41
+ class IronOSSettingsCoordinator(IronOSBaseCoordinator[SettingsDataResponse]):
42
+ def __init__(self, hass: HomeAssistant, device: Pynecil) -> None: ...
43
+ async def _async_update_data(self) -> SettingsDataResponse: ...
@@ -0,0 +1,13 @@
1
+ from .const import MANUFACTURER as MANUFACTURER, MODEL as MODEL
2
+ from .coordinator import IronOSLiveDataCoordinator as IronOSLiveDataCoordinator
3
+ from _typeshed import Incomplete
4
+ from homeassistant.helpers.device_registry import CONNECTION_BLUETOOTH as CONNECTION_BLUETOOTH, DeviceInfo as DeviceInfo
5
+ from homeassistant.helpers.entity import EntityDescription as EntityDescription
6
+ from homeassistant.helpers.update_coordinator import CoordinatorEntity as CoordinatorEntity
7
+
8
+ class IronOSBaseEntity(CoordinatorEntity[IronOSLiveDataCoordinator]):
9
+ _attr_has_entity_name: bool
10
+ entity_description: Incomplete
11
+ _attr_unique_id: Incomplete
12
+ _attr_device_info: Incomplete
13
+ def __init__(self, coordinator: IronOSLiveDataCoordinator, entity_description: EntityDescription) -> None: ...
@@ -0,0 +1,62 @@
1
+ from . import IronOSConfigEntry as IronOSConfigEntry
2
+ from .const import DOMAIN as DOMAIN, MAX_TEMP as MAX_TEMP, MIN_TEMP as MIN_TEMP
3
+ from .coordinator import IronOSCoordinators as IronOSCoordinators
4
+ from .entity import IronOSBaseEntity as IronOSBaseEntity
5
+ from _typeshed import Incomplete
6
+ from collections.abc import Callable as Callable
7
+ from dataclasses import dataclass
8
+ from enum import StrEnum
9
+ from homeassistant.components.number import DEFAULT_MAX_VALUE as DEFAULT_MAX_VALUE, NumberDeviceClass as NumberDeviceClass, NumberEntity as NumberEntity, NumberEntityDescription as NumberEntityDescription, NumberMode as NumberMode
10
+ from homeassistant.const import EntityCategory as EntityCategory, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
11
+ from homeassistant.core import HomeAssistant as HomeAssistant
12
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
13
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
+ from pynecil import CharSetting, LiveDataResponse as LiveDataResponse, SettingsDataResponse as SettingsDataResponse
15
+
16
+ PARALLEL_UPDATES: int
17
+
18
+ @dataclass(frozen=True, kw_only=True)
19
+ class IronOSNumberEntityDescription(NumberEntityDescription):
20
+ value_fn: Callable[[LiveDataResponse, SettingsDataResponse], float | int | None]
21
+ max_value_fn: Callable[[LiveDataResponse], float | int] | None = ...
22
+ characteristic: CharSetting
23
+ raw_value_fn: Callable[[float], float | int] | None = ...
24
+ 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=..., translation_placeholders=..., unit_of_measurement=..., max_value=..., min_value=..., mode=..., native_max_value=..., native_min_value=..., native_step=..., native_unit_of_measurement=..., step=..., value_fn, max_value_fn=..., characteristic, raw_value_fn=...) -> None: ...
25
+
26
+ class PinecilNumber(StrEnum):
27
+ SETPOINT_TEMP = 'setpoint_temperature'
28
+ SLEEP_TEMP = 'sleep_temperature'
29
+ SLEEP_TIMEOUT = 'sleep_timeout'
30
+ QC_MAX_VOLTAGE = 'qc_max_voltage'
31
+ PD_TIMEOUT = 'pd_timeout'
32
+ BOOST_TEMP = 'boost_temp'
33
+ SHUTDOWN_TIMEOUT = 'shutdown_timeout'
34
+ DISPLAY_BRIGHTNESS = 'display_brightness'
35
+ POWER_LIMIT = 'power_limit'
36
+ CALIBRATION_OFFSET = 'calibration_offset'
37
+ HALL_SENSITIVITY = 'hall_sensitivity'
38
+ MIN_VOLTAGE_PER_CELL = 'min_voltage_per_cell'
39
+ ACCEL_SENSITIVITY = 'accel_sensitivity'
40
+ KEEP_AWAKE_PULSE_POWER = 'keep_awake_pulse_power'
41
+ KEEP_AWAKE_PULSE_DELAY = 'keep_awake_pulse_delay'
42
+ KEEP_AWAKE_PULSE_DURATION = 'keep_awake_pulse_duration'
43
+ VOLTAGE_DIV = 'voltage_div'
44
+ TEMP_INCREMENT_SHORT = 'temp_increment_short'
45
+ TEMP_INCREMENT_LONG = 'temp_increment_long'
46
+
47
+ def multiply(value: float | None, multiplier: float) -> float | None: ...
48
+
49
+ PINECIL_NUMBER_DESCRIPTIONS: tuple[IronOSNumberEntityDescription, ...]
50
+
51
+ async def async_setup_entry(hass: HomeAssistant, entry: IronOSConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
52
+
53
+ class IronOSNumberEntity(IronOSBaseEntity, NumberEntity):
54
+ entity_description: IronOSNumberEntityDescription
55
+ settings: Incomplete
56
+ def __init__(self, coordinators: IronOSCoordinators, entity_description: IronOSNumberEntityDescription) -> None: ...
57
+ async def async_set_native_value(self, value: float) -> None: ...
58
+ @property
59
+ def native_value(self) -> float | int | None: ...
60
+ @property
61
+ def native_max_value(self) -> float: ...
62
+ async def async_added_to_hass(self) -> None: ...
@@ -0,0 +1,49 @@
1
+ from . import IronOSConfigEntry as IronOSConfigEntry
2
+ from .const import DOMAIN as DOMAIN
3
+ from .coordinator import IronOSCoordinators as IronOSCoordinators
4
+ from .entity import IronOSBaseEntity as IronOSBaseEntity
5
+ from _typeshed import Incomplete
6
+ from collections.abc import Callable as Callable
7
+ from dataclasses import dataclass
8
+ from enum import Enum, StrEnum
9
+ from homeassistant.components.select import SelectEntity as SelectEntity, SelectEntityDescription as SelectEntityDescription
10
+ from homeassistant.const import EntityCategory as EntityCategory
11
+ from homeassistant.core import HomeAssistant as HomeAssistant
12
+ from homeassistant.exceptions import ServiceValidationError as ServiceValidationError
13
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
14
+ from pynecil import CharSetting, SettingsDataResponse as SettingsDataResponse
15
+ from typing import Any
16
+
17
+ PARALLEL_UPDATES: int
18
+
19
+ @dataclass(frozen=True, kw_only=True)
20
+ class IronOSSelectEntityDescription(SelectEntityDescription):
21
+ value_fn: Callable[[SettingsDataResponse], str | None]
22
+ characteristic: CharSetting
23
+ raw_value_fn: Callable[[str], Any] | None = ...
24
+ 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=..., translation_placeholders=..., unit_of_measurement=..., options=..., value_fn, characteristic, raw_value_fn=...) -> None: ...
25
+
26
+ class PinecilSelect(StrEnum):
27
+ MIN_DC_VOLTAGE_CELLS = 'min_dc_voltage_cells'
28
+ ORIENTATION_MODE = 'orientation_mode'
29
+ ANIMATION_SPEED = 'animation_speed'
30
+ AUTOSTART_MODE = 'autostart_mode'
31
+ TEMP_UNIT = 'temp_unit'
32
+ DESC_SCROLL_SPEED = 'desc_scroll_speed'
33
+ LOCKING_MODE = 'locking_mode'
34
+ LOGO_DURATION = 'logo_duration'
35
+
36
+ def enum_to_str(enum: Enum | None) -> str | None: ...
37
+
38
+ PINECIL_SELECT_DESCRIPTIONS: tuple[IronOSSelectEntityDescription, ...]
39
+
40
+ async def async_setup_entry(hass: HomeAssistant, entry: IronOSConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
41
+
42
+ class IronOSSelectEntity(IronOSBaseEntity, SelectEntity):
43
+ entity_description: IronOSSelectEntityDescription
44
+ settings: Incomplete
45
+ def __init__(self, coordinators: IronOSCoordinators, entity_description: IronOSSelectEntityDescription) -> None: ...
46
+ @property
47
+ def current_option(self) -> str | None: ...
48
+ async def async_select_option(self, option: str) -> None: ...
49
+ async def async_added_to_hass(self) -> None: ...
@@ -0,0 +1,46 @@
1
+ from . import IronOSConfigEntry as IronOSConfigEntry
2
+ from .const import OHM as OHM
3
+ from .coordinator import IronOSLiveDataCoordinator as IronOSLiveDataCoordinator
4
+ from .entity import IronOSBaseEntity as IronOSBaseEntity
5
+ from collections.abc import Callable as Callable
6
+ from dataclasses import dataclass
7
+ from enum import StrEnum
8
+ from homeassistant.components.sensor import EntityCategory as EntityCategory, SensorDeviceClass as SensorDeviceClass, SensorEntity as SensorEntity, SensorEntityDescription as SensorEntityDescription, SensorStateClass as SensorStateClass
9
+ from homeassistant.const import PERCENTAGE as PERCENTAGE, UnitOfElectricPotential as UnitOfElectricPotential, UnitOfPower as UnitOfPower, UnitOfTemperature as UnitOfTemperature, UnitOfTime as UnitOfTime
10
+ from homeassistant.core import HomeAssistant as HomeAssistant
11
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
12
+ from homeassistant.helpers.typing import StateType as StateType
13
+ from pynecil import LiveDataResponse as LiveDataResponse
14
+
15
+ PARALLEL_UPDATES: int
16
+
17
+ class PinecilSensor(StrEnum):
18
+ LIVE_TEMP = 'live_temperature'
19
+ SETPOINT_TEMP = 'setpoint_temperature'
20
+ DC_VOLTAGE = 'voltage'
21
+ HANDLETEMP = 'handle_temperature'
22
+ PWMLEVEL = 'power_pwm_level'
23
+ POWER_SRC = 'power_source'
24
+ TIP_RESISTANCE = 'tip_resistance'
25
+ UPTIME = 'uptime'
26
+ MOVEMENT_TIME = 'movement_time'
27
+ MAX_TIP_TEMP_ABILITY = 'max_tip_temp_ability'
28
+ TIP_VOLTAGE = 'tip_voltage'
29
+ HALL_SENSOR = 'hall_sensor'
30
+ OPERATING_MODE = 'operating_mode'
31
+ ESTIMATED_POWER = 'estimated_power'
32
+
33
+ @dataclass(frozen=True, kw_only=True)
34
+ class IronOSSensorEntityDescription(SensorEntityDescription):
35
+ value_fn: Callable[[LiveDataResponse, bool], StateType]
36
+ 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=..., translation_placeholders=..., unit_of_measurement=..., last_reset=..., native_unit_of_measurement=..., options=..., state_class=..., suggested_display_precision=..., suggested_unit_of_measurement=..., value_fn) -> None: ...
37
+
38
+ PINECIL_SENSOR_DESCRIPTIONS: tuple[IronOSSensorEntityDescription, ...]
39
+
40
+ async def async_setup_entry(hass: HomeAssistant, entry: IronOSConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
41
+
42
+ class IronOSSensorEntity(IronOSBaseEntity, SensorEntity):
43
+ entity_description: IronOSSensorEntityDescription
44
+ coordinator: IronOSLiveDataCoordinator
45
+ @property
46
+ def native_value(self) -> StateType: ...
@@ -0,0 +1,29 @@
1
+ from . import IRON_OS_KEY as IRON_OS_KEY, IronOSConfigEntry as IronOSConfigEntry, IronOSLiveDataCoordinator as IronOSLiveDataCoordinator
2
+ from .coordinator import IronOSFirmwareUpdateCoordinator as IronOSFirmwareUpdateCoordinator
3
+ from .entity import IronOSBaseEntity as IronOSBaseEntity
4
+ from _typeshed import Incomplete
5
+ from homeassistant.components.update import UpdateDeviceClass as UpdateDeviceClass, UpdateEntity as UpdateEntity, UpdateEntityDescription as UpdateEntityDescription, UpdateEntityFeature as UpdateEntityFeature
6
+ from homeassistant.core import HomeAssistant as HomeAssistant
7
+ from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
8
+
9
+ PARALLEL_UPDATES: int
10
+ UPDATE_DESCRIPTION: Incomplete
11
+
12
+ async def async_setup_entry(hass: HomeAssistant, entry: IronOSConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...
13
+
14
+ class IronOSUpdate(IronOSBaseEntity, UpdateEntity):
15
+ _attr_supported_features: Incomplete
16
+ firmware_update: Incomplete
17
+ def __init__(self, coordinator: IronOSLiveDataCoordinator, firmware_update: IronOSFirmwareUpdateCoordinator, entity_description: UpdateEntityDescription) -> None: ...
18
+ @property
19
+ def installed_version(self) -> str | None: ...
20
+ @property
21
+ def title(self) -> str | None: ...
22
+ @property
23
+ def release_url(self) -> str | None: ...
24
+ @property
25
+ def latest_version(self) -> str | None: ...
26
+ async def async_release_notes(self) -> str | None: ...
27
+ async def async_added_to_hass(self) -> None: ...
28
+ @property
29
+ def available(self) -> bool: ...
@@ -21,7 +21,6 @@ class ISYThermostatEntity(ISYNodeEntity, ClimateEntity):
21
21
  _attr_supported_features: Incomplete
22
22
  _attr_target_temperature_step: float
23
23
  _attr_fan_modes: Incomplete
24
- _enable_turn_on_off_backwards_compatibility: bool
25
24
  _uom: Incomplete
26
25
  def __init__(self, node: Node, device_info: DeviceInfo | None = None) -> None: ...
27
26
  @property
@@ -18,7 +18,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_e
18
18
 
19
19
  class ISYFanEntity(ISYNodeEntity, FanEntity):
20
20
  _attr_supported_features: Incomplete
21
- _enable_turn_on_off_backwards_compatibility: bool
22
21
  @property
23
22
  def percentage(self) -> int | None: ...
24
23
  @property
@@ -23,7 +23,6 @@ class KNXClimate(KnxYamlEntity, ClimateEntity):
23
23
  _device: XknxClimate
24
24
  _attr_temperature_unit: Incomplete
25
25
  _attr_translation_key: str
26
- _enable_turn_on_off_backwards_compatibility: bool
27
26
  _attr_entity_category: Incomplete
28
27
  _attr_supported_features: Incomplete
29
28
  _attr_preset_modes: Incomplete
@@ -10,6 +10,7 @@ from homeassistant.core import callback as callback
10
10
  from homeassistant.helpers import selector as selector
11
11
  from homeassistant.helpers.typing import UNDEFINED as UNDEFINED, VolDictType as VolDictType
12
12
  from typing import Any, Final
13
+ from xknx import XKNX
13
14
  from xknx.io.gateway_scanner import GatewayDescriptor as GatewayDescriptor
14
15
  from xknx.secure.keyring import Keyring as Keyring, XMLInterface as XMLInterface
15
16
 
@@ -36,6 +37,8 @@ class KNXCommonFlow(ABC, ConfigEntryBaseFlow, metaclass=abc.ABCMeta):
36
37
  _gatewayscanner: Incomplete
37
38
  _async_scan_gen: Incomplete
38
39
  def __init__(self, initial_data: KNXConfigEntryData) -> None: ...
40
+ @property
41
+ def _xknx(self) -> XKNX: ...
39
42
  @abstractmethod
40
43
  def finish_flow(self) -> ConfigFlowResult: ...
41
44
  @property
@@ -44,6 +47,7 @@ class KNXCommonFlow(ABC, ConfigEntryBaseFlow, metaclass=abc.ABCMeta):
44
47
  def tunnel_endpoint_ia(self) -> str | None: ...
45
48
  async def async_step_connection_type(self, user_input: dict | None = None) -> ConfigFlowResult: ...
46
49
  async def async_step_tunnel(self, user_input: dict | None = None) -> ConfigFlowResult: ...
50
+ async def async_step_tcp_tunnel_endpoint(self, user_input: dict | None = None) -> ConfigFlowResult: ...
47
51
  async def async_step_manual_tunnel(self, user_input: dict | None = None) -> ConfigFlowResult: ...
48
52
  async def async_step_secure_tunnel_manual(self, user_input: dict | None = None) -> ConfigFlowResult: ...
49
53
  async def async_step_secure_routing_manual(self, user_input: dict | None = None) -> ConfigFlowResult: ...
@@ -20,7 +20,6 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: config_entries.Co
20
20
 
21
21
  class KNXFan(KnxYamlEntity, FanEntity):
22
22
  _device: XknxFan
23
- _enable_turn_on_off_backwards_compatibility: bool
24
23
  _step_range: Incomplete
25
24
  _attr_entity_category: Incomplete
26
25
  _attr_unique_id: Incomplete
@@ -15,17 +15,17 @@ def get_knx_module(hass: HomeAssistant) -> KNXModule: ...
15
15
 
16
16
  SERVICE_KNX_EVENT_REGISTER_SCHEMA: Incomplete
17
17
 
18
- async def service_event_register_modify(hass: HomeAssistant, call: ServiceCall) -> None: ...
18
+ async def service_event_register_modify(call: ServiceCall) -> None: ...
19
19
 
20
20
  SERVICE_KNX_EXPOSURE_REGISTER_SCHEMA: Incomplete
21
21
 
22
- async def service_exposure_register_modify(hass: HomeAssistant, call: ServiceCall) -> None: ...
22
+ async def service_exposure_register_modify(call: ServiceCall) -> None: ...
23
23
 
24
24
  SERVICE_KNX_SEND_SCHEMA: Incomplete
25
25
 
26
- async def service_send_to_knx_bus(hass: HomeAssistant, call: ServiceCall) -> None: ...
26
+ async def service_send_to_knx_bus(call: ServiceCall) -> None: ...
27
27
 
28
28
  SERVICE_KNX_READ_SCHEMA: Incomplete
29
29
 
30
- async def service_read_to_knx_bus(hass: HomeAssistant, call: ServiceCall) -> None: ...
31
- async def service_reload_integration(hass: HomeAssistant, call: ServiceCall) -> None: ...
30
+ async def service_read_to_knx_bus(call: ServiceCall) -> None: ...
31
+ async def service_reload_integration(call: ServiceCall) -> None: ...
@@ -1,15 +1,14 @@
1
1
  from .const import CONF_USE_BLUETOOTH as CONF_USE_BLUETOOTH, DOMAIN as DOMAIN
2
- from .coordinator import LaMarzoccoConfigEntry as LaMarzoccoConfigEntry, LaMarzoccoUpdateCoordinator as LaMarzoccoUpdateCoordinator
2
+ from .coordinator import LaMarzoccoConfigEntry as LaMarzoccoConfigEntry, LaMarzoccoConfigUpdateCoordinator as LaMarzoccoConfigUpdateCoordinator, LaMarzoccoFirmwareUpdateCoordinator as LaMarzoccoFirmwareUpdateCoordinator, LaMarzoccoRuntimeData as LaMarzoccoRuntimeData, LaMarzoccoStatisticsUpdateCoordinator as LaMarzoccoStatisticsUpdateCoordinator
3
3
  from _typeshed import Incomplete
4
4
  from homeassistant.components.bluetooth import async_discovered_service_info as async_discovered_service_info
5
- from homeassistant.config_entries import ConfigEntry as ConfigEntry
6
5
  from homeassistant.const import CONF_HOST as CONF_HOST, CONF_MAC as CONF_MAC, CONF_MODEL as CONF_MODEL, CONF_NAME as CONF_NAME, CONF_PASSWORD as CONF_PASSWORD, CONF_TOKEN as CONF_TOKEN, CONF_USERNAME as CONF_USERNAME, Platform as Platform
7
6
  from homeassistant.core import HomeAssistant as HomeAssistant
8
- from homeassistant.helpers.httpx_client import create_async_httpx_client as create_async_httpx_client
7
+ from homeassistant.helpers.aiohttp_client import async_create_clientsession as async_create_clientsession
9
8
 
10
9
  PLATFORMS: Incomplete
11
10
  _LOGGER: Incomplete
12
11
 
13
12
  async def async_setup_entry(hass: HomeAssistant, entry: LaMarzoccoConfigEntry) -> bool: ...
14
- async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
15
- async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ...
13
+ async def async_unload_entry(hass: HomeAssistant, entry: LaMarzoccoConfigEntry) -> bool: ...
14
+ async def async_migrate_entry(hass: HomeAssistant, entry: LaMarzoccoConfigEntry) -> bool: ...