@camera.ui/server 2.0.15 → 2.0.17

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 (656) hide show
  1. package/dist/interface/assets/404-BWRNG7e3.js +1 -0
  2. package/dist/interface/assets/About-CWvfgUA-.js +1 -0
  3. package/dist/interface/assets/Adminpanel-Cat_euTC.js +1 -0
  4. package/dist/interface/assets/{Automation-Cm62xfWQ.css → Automation-BSicfOGF.css} +1 -1
  5. package/dist/interface/assets/Automation-cp0lTCAv.js +3 -0
  6. package/dist/interface/assets/AutomationImport-mCGSgys2.js +2 -0
  7. package/dist/interface/assets/AutomationStore-udNOn3FR.js +2 -0
  8. package/dist/interface/assets/AutomationStoreDetail-CcVksadt.js +2 -0
  9. package/dist/interface/assets/Automations-CcQLbmoN.js +2 -0
  10. package/dist/interface/assets/Camera-Cq466-gT.js +2 -0
  11. package/dist/interface/assets/CameraConsole-A414-zXW.js +7 -0
  12. package/dist/interface/assets/Cameras-CW5XnJ1g.js +652 -0
  13. package/dist/interface/assets/Cameras-DIY20Wlh.css +1 -0
  14. package/dist/interface/assets/{Camview-CS2a2okQ.css → Camview-CaEbdeQZ.css} +1 -1
  15. package/dist/interface/assets/Camview-zK6fnWI0.js +1 -0
  16. package/dist/interface/assets/Config-R2N_QUER.js +2 -0
  17. package/dist/interface/assets/ConfigActionCameraControl-DdW92QxO.js +1 -0
  18. package/dist/interface/assets/{ConfigActionDelay-Bb2XWLM-.js → ConfigActionDelay-BiCLaHDd.js} +1 -1
  19. package/dist/interface/assets/ConfigActionHttp-BvM-8hTt.js +1 -0
  20. package/dist/interface/assets/ConfigActionImageInput-CoyrNloo.js +1 -0
  21. package/dist/interface/assets/ConfigActionMqtt-CY8HOoug.js +1 -0
  22. package/dist/interface/assets/ConfigActionNotification-DP3dTyFB.js +1 -0
  23. package/dist/interface/assets/ConfigActionOutput-BwYwuQ1w.js +1 -0
  24. package/dist/interface/assets/ConfigActionPlugin-DbhT4kyF.js +1 -0
  25. package/dist/interface/assets/ConfigActionSensor-_zmPKdhz.js +1 -0
  26. package/dist/interface/assets/ConfigActionSnapshot-Bc3eukMk.js +1 -0
  27. package/dist/interface/assets/ConfigActionVariable-BeQy6W8G.js +1 -0
  28. package/dist/interface/assets/ConfigConditionIfElse-CiFC5fLv.js +1 -0
  29. package/dist/interface/assets/ConfigConditionSensorState-CGeGdh0d.js +1 -0
  30. package/dist/interface/assets/ConfigConditionSwitch-BjR776j5.js +1 -0
  31. package/dist/interface/assets/{ConfigConditionTime-DoUDxRHq.js → ConfigConditionTime-BAypML9_.js} +1 -1
  32. package/dist/interface/assets/ConfigSensorValueInput-Dis2Kr1r.js +1 -0
  33. package/dist/interface/assets/ConfigTriggerDetection-CqS3IAqj.js +1 -0
  34. package/dist/interface/assets/ConfigTriggerGeofence-BbNpW2l0.js +1 -0
  35. package/dist/interface/assets/{ConfigTriggerManual-BV099ihK.js → ConfigTriggerManual-DiyFl_g-.js} +1 -1
  36. package/dist/interface/assets/ConfigTriggerMqtt-ZXEft2Hi.js +1 -0
  37. package/dist/interface/assets/ConfigTriggerSchedule-Dy3NCMvo.js +1 -0
  38. package/dist/interface/assets/ConfigTriggerSensor-CnSSEh4s.js +1 -0
  39. package/dist/interface/assets/{ConfigTriggerSystem-C2E5WMPm.js → ConfigTriggerSystem-CuKwsM8D.js} +1 -1
  40. package/dist/interface/assets/ConfigTriggerWebhook-DJPepSlC.js +1 -0
  41. package/dist/interface/assets/Console-tfkkZnFl.js +1 -0
  42. package/dist/interface/assets/CuiAutomationRunsDialog-o2aLvK5K.js +1 -0
  43. package/dist/interface/assets/CuiBottomSheet-m_HX6x4G.js +1 -0
  44. package/dist/interface/assets/CuiBottomSheet-v2xnKGrr.js +1 -0
  45. package/dist/interface/assets/CuiCameraPipCard-CId6q8WW.js +1 -0
  46. package/dist/interface/assets/CuiCameraRecordings-C_1UfpAJ.js +1 -0
  47. package/dist/interface/assets/CuiCameraShares-DW_hDX2f.js +1 -0
  48. package/dist/interface/assets/CuiCameraTable-BXzZ-gIg.js +2 -0
  49. package/dist/interface/assets/CuiDataTable-CrL6zx3I.js +1 -0
  50. package/dist/interface/assets/{CuiMarkdownContent-DQPIfY1K.js → CuiMarkdownContent-BwMdbyad.js} +1 -1
  51. package/dist/interface/assets/CuiMarkdownContent-G916_kVN.js +1 -0
  52. package/dist/interface/assets/CuiPluginCard-C38Fk0bQ.js +2 -0
  53. package/dist/interface/assets/CuiPluginCategoryChip-B3XVum_D.js +1 -0
  54. package/dist/interface/assets/CuiPluginOAuthButton-DRJnVV4F.js +2 -0
  55. package/dist/interface/assets/CuiPluginTrustBadge-4xCyAUBM.js +1 -0
  56. package/dist/interface/assets/CuiQRCode-DmsP4eAY.js +1 -0
  57. package/dist/interface/assets/CuiRecordingsGrid-BnL8kQ29.js +1 -0
  58. package/dist/interface/assets/CuiSchema-D2yLW853.js +1 -0
  59. package/dist/interface/assets/CuiTopNavbarItem-_7UaVuQT.js +1 -0
  60. package/dist/interface/assets/Faces-BPgUsyT0.js +1 -0
  61. package/dist/interface/assets/FirstSteps-CKXlbFN-.js +1 -0
  62. package/dist/interface/assets/Instances-BS4UPlay.js +1 -0
  63. package/dist/interface/assets/Logs-UPgu6TsC.js +6 -0
  64. package/dist/interface/assets/Menu-CdewzDV4.js +1 -0
  65. package/dist/interface/assets/OAuthDeviceFlow-SGgJTWAU.js +1 -0
  66. package/dist/interface/assets/Plugin-BSSYZcyQ.js +1 -0
  67. package/dist/interface/assets/PluginConsole-Bm0ify7V.js +7 -0
  68. package/dist/interface/assets/PluginDetail-DY6Uvu3V.js +2 -0
  69. package/dist/interface/assets/PluginSchema-BkM5iKma.js +1 -0
  70. package/dist/interface/assets/PluginSearch-4q_vZHJc.js +2 -0
  71. package/dist/interface/assets/PluginSearch-BvhNP9WQ.js +1 -0
  72. package/dist/interface/assets/Plugins-B1tZxl7k.js +1 -0
  73. package/dist/interface/assets/Recordings-XY32_Jjt.js +1 -0
  74. package/dist/interface/assets/Settings-CXWxt73x.js +1 -0
  75. package/dist/interface/assets/SettingsAccount-MLkJU79V.js +1 -0
  76. package/dist/interface/assets/SettingsAccount-RGvmNkwD.js +1 -0
  77. package/dist/interface/assets/SettingsAppearance-CHRnfQ4O.js +1 -0
  78. package/dist/interface/assets/SettingsAppearance-CyaOt4lL.js +1 -0
  79. package/dist/interface/assets/SettingsBackup-Xjb4i_YZ.js +1 -0
  80. package/dist/interface/assets/SettingsMqtt-CW0uvXrU.js +1 -0
  81. package/dist/interface/assets/SettingsNotifications-BbyXpyHK.js +2 -0
  82. package/dist/interface/assets/SettingsRecordings-DVZPpunU.js +1 -0
  83. package/dist/interface/assets/SettingsRemote-BnFHx9_s.js +1 -0
  84. package/dist/interface/assets/SettingsSystem-C1ne-w59.js +2 -0
  85. package/dist/interface/assets/SettingsUsers-91m0163s.js +1 -0
  86. package/dist/interface/assets/Terminal-D_E-kRbN.js +4 -0
  87. package/dist/interface/assets/VariableInput-BHvGHE7o.js +1 -0
  88. package/dist/interface/assets/{VariableSuggestions-Jya3l4gC.js → VariableSuggestions-uJAwwX7y.js} +1 -1
  89. package/dist/interface/assets/VersionsHandler-DJ00TTHi.js +7 -0
  90. package/dist/interface/assets/Workers-BCBrqShK.js +2 -0
  91. package/dist/interface/assets/{account-Bj9K0GxP.js → account-jONrhXkE.js} +1 -1
  92. package/dist/interface/assets/ace-DYqf8ZN7.js +1 -0
  93. package/dist/interface/assets/{ace.config-BnKJ0Xjj.js → ace.config-C_wgqTLD.js} +1 -1
  94. package/dist/interface/assets/{alert-circle-CIUWSUwz.js → alert-circle-CqEfEWD8.js} +1 -1
  95. package/dist/interface/assets/{alert-outline-Drr1xRLR.js → alert-outline-DcXO2ICo.js} +1 -1
  96. package/dist/interface/assets/api-ByMXkaIi.js +1 -0
  97. package/dist/interface/assets/api-ChlkJnEG.js +2 -0
  98. package/dist/interface/assets/api-Ct6LuJao.css +2 -0
  99. package/dist/interface/assets/{arrow-left-D2D7yHHS.js → arrow-left-DGioEwqJ.js} +1 -1
  100. package/dist/interface/assets/{arrow-right-outline-Dr-uFrTL.js → arrow-right-outline-BrpH6MGt.js} +1 -1
  101. package/dist/interface/assets/auth-B-MND66x.js +1 -0
  102. package/dist/interface/assets/automations-DvpxT4Pa.js +1 -0
  103. package/dist/interface/assets/{back-filled-BKNm4yL0.js → back-filled-DZmo9cAg.js} +1 -1
  104. package/dist/interface/assets/{bell-ring-AbG0SUiu.js → bell-ring-D0h1GDrU.js} +1 -1
  105. package/dist/interface/assets/cameras.schema-2VoKYyFS.js +1 -0
  106. package/dist/interface/assets/{cctv-Dsa9GjK0.js → cctv-CdDfBHME.js} +1 -1
  107. package/dist/interface/assets/{check-circle-M9jSNRsu.js → check-circle-CVNa_reg.js} +1 -1
  108. package/dist/interface/assets/{chevron-down-DHv255ZG.js → chevron-down-BiRUJ9SO.js} +1 -1
  109. package/dist/interface/assets/{chevron-right-25txPYbE.js → chevron-right-Crha-j7O.js} +1 -1
  110. package/dist/interface/assets/{clock-outline-BJld7K8T.js → clock-outline-dv-kmi60.js} +1 -1
  111. package/dist/interface/assets/{close-CmLBRV0p.js → close-BCRtoBTk.js} +1 -1
  112. package/dist/interface/assets/{close-circle-BHvnizih.js → close-circle-raXx3m4Q.js} +1 -1
  113. package/dist/interface/assets/{cloud-check-BugyVe-9.js → cloud-check-CST59Xl_.js} +1 -1
  114. package/dist/interface/assets/cloudHandoff-o_0n9cgb.js +1 -0
  115. package/dist/interface/assets/config-UED3wn2k.js +1 -0
  116. package/dist/interface/assets/{copy-DDVxvyoc.js → copy-C53ZJyaU.js} +1 -1
  117. package/dist/interface/assets/{delete-CtYWBBjD.js → delete-Dvdp44LT.js} +1 -1
  118. package/dist/interface/assets/{dist-DTS9WzwS.js → dist-DZi5AgJB.js} +1 -1
  119. package/dist/interface/assets/{download-DI4SAe-9.js → download-Dq82fWLS.js} +1 -1
  120. package/dist/interface/assets/esm-5O0fbEL-.js +1 -0
  121. package/dist/interface/assets/esm-8JcCIx6p.js +1 -0
  122. package/dist/interface/assets/esm-BIwkRkap.js +1 -0
  123. package/dist/interface/assets/esm-Ba1kg7sT.js +1 -0
  124. package/dist/interface/assets/esm-CI9fumfA.js +1 -0
  125. package/dist/interface/assets/esm-CfqCZ8Ic.js +1 -0
  126. package/dist/interface/assets/esm-Cle2K7IB.js +1 -0
  127. package/dist/interface/assets/esm-DGhY5suq.js +1 -0
  128. package/dist/interface/assets/esm-D_SYso1m.js +1 -0
  129. package/dist/interface/assets/esm-Dg-c_Ys9.js +1 -0
  130. package/dist/interface/assets/esm-IjMpYY_D.js +1 -0
  131. package/dist/interface/assets/esm-JkR46BGF.js +1 -0
  132. package/dist/interface/assets/esm-KCb4USia.js +1 -0
  133. package/dist/interface/assets/esm-fiu1-7Vf.js +1 -0
  134. package/dist/interface/assets/flowSchema-DyobL8Pg.js +1 -0
  135. package/dist/interface/assets/history--LGIMjNU.js +1 -0
  136. package/dist/interface/assets/{home-BJNZT_YD.js → home-C5hRJg9h.js} +1 -1
  137. package/dist/interface/assets/{information-outline-CHe_6DI5.js → information-outline-CjhiKBjG.js} +1 -1
  138. package/dist/interface/assets/lightbulb-outline-BGFG7wv-.js +1 -0
  139. package/dist/interface/assets/main-Cd1DVdC9.js +3 -0
  140. package/dist/interface/assets/{main-xpYSWHxw.css → main-DbPnvfcp.css} +1 -1
  141. package/dist/interface/assets/{microphone-BOOe4oV_.js → microphone-Dp5Yhz6Z.js} +1 -1
  142. package/dist/interface/assets/mqtt-BltdxiuG.js +1 -0
  143. package/dist/interface/assets/native-CNOra93F.js +1 -0
  144. package/dist/interface/assets/native-DAl9Pmov.js +1 -0
  145. package/dist/interface/assets/nodeDefinitions-DkMCR_zX.js +1 -0
  146. package/dist/interface/assets/notifications-D4Mi4q8n.js +1 -0
  147. package/dist/interface/assets/plugin-HHKHhKIh.js +1 -0
  148. package/dist/interface/assets/plugins-DmgMSZSt.js +1 -0
  149. package/dist/interface/assets/{plus-7Bv7p-4I.js → plus-C6l_Q-mY.js} +1 -1
  150. package/dist/interface/assets/{plus-BCms6Xgy.js → plus-DhRnJIfm.js} +1 -1
  151. package/dist/interface/assets/{power-U-0IYm8S.js → power-BfcMaKbx.js} +1 -1
  152. package/dist/interface/assets/{ring-resize-D94sHXpl.js → ring-resize-peEJMXPl.js} +1 -1
  153. package/dist/interface/assets/{round-alt-arrow-left-bold-D32PAlNy.js → round-alt-arrow-left-bold-BcL7KVCG.js} +1 -1
  154. package/dist/interface/assets/round-restart-alt-D1SwcyIw.js +1 -0
  155. package/dist/interface/assets/{search-Bl-cpkGE.js → search-BTu5ntI6.js} +1 -1
  156. package/dist/interface/assets/server-BBvLLocT.js +1 -0
  157. package/dist/interface/assets/{settings-U-eM-yb0.js → settings-wRDwvjf-.js} +1 -1
  158. package/dist/interface/assets/{source-branch-BUtkgBs9.js → source-branch-DejOTyZv.js} +1 -1
  159. package/dist/interface/assets/theme-CHyA8uCs.js +1 -0
  160. package/dist/interface/assets/{trash-2-BC03Elz-.js → trash-2-upauF9j0.js} +1 -1
  161. package/dist/interface/assets/{trash-can-outline-B2dODnEo.js → trash-can-outline-PQys0L3O.js} +1 -1
  162. package/dist/interface/assets/{trash-fill-DP6UF4-i.js → trash-fill-DDHuYpvM.js} +1 -1
  163. package/dist/interface/assets/{trash2-D2pzjkdI.js → trash2-M6P7YvkH.js} +1 -1
  164. package/dist/interface/assets/types-ByD7R6WC.js +1 -0
  165. package/dist/interface/assets/types-DRsoZjsP.js +1 -0
  166. package/dist/interface/assets/types-f9LWayxM.js +1 -0
  167. package/dist/interface/assets/{upload-BohhBI5n.js → upload-DwNCSVAl.js} +1 -1
  168. package/dist/interface/assets/{useAppVersion-IC8NIRbM.js → useAppVersion-dQkatyRF.js} +1 -1
  169. package/dist/interface/assets/useBackupRestore-D6Vxck9i.js +1 -0
  170. package/dist/interface/assets/useCameraOptions-zPRiut_S.js +1 -0
  171. package/dist/interface/assets/useCardSelection-BdYBm23a.js +1 -0
  172. package/dist/interface/assets/useLogsSocket-DzKSWAVf.js +5 -0
  173. package/dist/interface/assets/{useServerRestart-CWWCuwJk.js → useServerRestart-DjaOOudi.js} +1 -1
  174. package/dist/interface/assets/useStreamStatus-DpXFSeOf.js +1 -0
  175. package/dist/interface/assets/useUserOptions-B8T0ROJS.js +1 -0
  176. package/dist/interface/assets/{variable-DRbxOwmi.js → variable-K7DoQHpX.js} +1 -1
  177. package/dist/interface/assets/{vendor-BLNgd-x3.js → vendor-CdGy-Xet.js} +3 -3
  178. package/dist/interface/assets/{vendor-ace-BlP3GAWI.js → vendor-ace-CrklN-bc.js} +1 -1
  179. package/dist/interface/assets/vendor-cameraui-D7o3alq7.js +2039 -0
  180. package/dist/interface/assets/vendor-capacitor-BmJAC1FL.js +2 -0
  181. package/dist/interface/assets/{vendor-chart-Dvv3fqtl.js → vendor-chart-BDu4sN9x.js} +1 -1
  182. package/dist/interface/assets/vendor-core-M6N9PctY.js +1 -0
  183. package/dist/interface/assets/{vendor-dnd-DRBhj_4o.js → vendor-dnd-BN6m9rq8.js} +2 -2
  184. package/dist/interface/assets/{vendor-draggabilly-1XTUOfXs.js → vendor-draggabilly-BLoTmI_a.js} +1 -1
  185. package/dist/interface/assets/vendor-gridstack-DHPnER0W.js +3 -0
  186. package/dist/interface/assets/vendor-gridstack-Dxwp3vpP.css +1 -0
  187. package/dist/interface/assets/{vendor-markdown-CCHIN82I.js → vendor-markdown-D_3Of-Gz.js} +1 -1
  188. package/dist/interface/assets/{vendor-primevue-CpvvTA4S.js → vendor-primevue-BynQnxoR.js} +204 -204
  189. package/dist/interface/assets/{vendor-vueflow-ta6qJibr.js → vendor-vueflow-D7rAeKHv.js} +1 -1
  190. package/dist/interface/assets/vendor-zod-BaT-dXMv.js +127 -0
  191. package/dist/interface/assets/web-B2hT39CL.js +1 -0
  192. package/dist/interface/assets/web-BKoMlshd.js +1 -0
  193. package/dist/interface/assets/web-BjKL51lK-Ut62Hifg.js +1 -0
  194. package/dist/interface/assets/web-C0ZNZcUJ.js +1 -0
  195. package/dist/interface/assets/web-CvKW_k8u.js +1 -0
  196. package/dist/interface/assets/web-CxfYyhSm.js +1 -0
  197. package/dist/interface/assets/web-CzA5zxEf.js +1 -0
  198. package/dist/interface/assets/web-D7XF0rfU.js +1 -0
  199. package/dist/interface/assets/web-DgSunHN1.js +1 -0
  200. package/dist/interface/assets/web-DpgTK9mR.js +1 -0
  201. package/dist/interface/assets/web-Hi4guSgN.js +1 -0
  202. package/dist/interface/assets/web-QaIP1Mop.js +1 -0
  203. package/dist/interface/assets/web-VGpOPxhq.js +1 -0
  204. package/dist/interface/assets/web-g-y7DVV1.js +1 -0
  205. package/dist/interface/assets/{webhook-CdlhvGGB.js → webhook-CQl989bo.js} +1 -1
  206. package/dist/interface/assets/workbox-window.prod.es5-YHyKoEMU.js +1 -0
  207. package/dist/interface/assets/{zoom-in-COcGqk1M.js → zoom-in-2i20zd_d.js} +1 -1
  208. package/dist/interface/index.html +213 -173
  209. package/dist/interface/sw.js +1 -1
  210. package/dist/server/package.json +13 -11
  211. package/dist/server/requirements.txt +2 -2
  212. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +2 -2
  213. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +14 -0
  214. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +12 -0
  215. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +26 -1
  216. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +20 -0
  217. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +6 -0
  218. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/recording.py +27 -0
  219. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +4 -4
  220. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/notifier.py +2 -2
  221. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +4 -0
  222. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/audio.py +2 -2
  223. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +3 -3
  224. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/battery.py +8 -5
  225. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/classifier.py +2 -2
  226. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/contact.py +3 -2
  227. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/detection.py +7 -1
  228. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/doorbell.py +3 -2
  229. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face.py +2 -2
  230. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/garage.py +5 -2
  231. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/humidity.py +3 -2
  232. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/leak.py +3 -2
  233. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/license_plate.py +6 -3
  234. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/light.py +7 -5
  235. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/lock.py +4 -2
  236. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/motion.py +2 -2
  237. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +2 -2
  238. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/occupancy.py +3 -2
  239. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/ptz.py +24 -5
  240. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/security_system.py +4 -2
  241. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/siren.py +7 -5
  242. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/smoke.py +3 -2
  243. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/switch.py +3 -2
  244. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/temperature.py +3 -2
  245. package/dist/server/src/api/controllers/auth.controller.d.ts +1 -0
  246. package/dist/server/src/api/controllers/auth.controller.js +19 -0
  247. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  248. package/dist/server/src/api/controllers/automations.controller.d.ts +1 -0
  249. package/dist/server/src/api/controllers/automations.controller.js +12 -0
  250. package/dist/server/src/api/controllers/automations.controller.js.map +1 -1
  251. package/dist/server/src/api/controllers/cameras.controller.d.ts +4 -1
  252. package/dist/server/src/api/controllers/cameras.controller.js +95 -1
  253. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  254. package/dist/server/src/api/controllers/mqtt.controller.d.ts +1 -0
  255. package/dist/server/src/api/controllers/mqtt.controller.js +8 -0
  256. package/dist/server/src/api/controllers/mqtt.controller.js.map +1 -1
  257. package/dist/server/src/api/database/constants.d.ts +1 -0
  258. package/dist/server/src/api/database/constants.js +1 -0
  259. package/dist/server/src/api/database/constants.js.map +1 -1
  260. package/dist/server/src/api/database/index.d.ts +4 -1
  261. package/dist/server/src/api/database/index.js +37 -3
  262. package/dist/server/src/api/database/index.js.map +1 -1
  263. package/dist/server/src/api/database/migrations/v2-0-51.d.ts +3 -0
  264. package/dist/server/src/api/database/migrations/v2-0-51.js +43 -0
  265. package/dist/server/src/api/database/migrations/v2-0-51.js.map +1 -0
  266. package/dist/server/src/api/database/record-schemas.d.ts +3 -3
  267. package/dist/server/src/api/database/types.d.ts +4 -2
  268. package/dist/server/src/api/index.d.ts +2 -0
  269. package/dist/server/src/api/index.js +92 -6
  270. package/dist/server/src/api/index.js.map +1 -1
  271. package/dist/server/src/api/ingress.d.ts +10 -0
  272. package/dist/server/src/api/ingress.js +54 -0
  273. package/dist/server/src/api/ingress.js.map +1 -0
  274. package/dist/server/src/api/middlewares/socketAuth.middleware.js +5 -1
  275. package/dist/server/src/api/middlewares/socketAuth.middleware.js.map +1 -1
  276. package/dist/server/src/api/render-index.d.ts +3 -0
  277. package/dist/server/src/api/render-index.js +39 -0
  278. package/dist/server/src/api/render-index.js.map +1 -0
  279. package/dist/server/src/api/routes/auth.routes.js +10 -0
  280. package/dist/server/src/api/routes/auth.routes.js.map +1 -1
  281. package/dist/server/src/api/routes/automations.routes.js +11 -0
  282. package/dist/server/src/api/routes/automations.routes.js.map +1 -1
  283. package/dist/server/src/api/routes/backup.routes.js +4 -0
  284. package/dist/server/src/api/routes/backup.routes.js.map +1 -1
  285. package/dist/server/src/api/routes/cameras.routes.js +35 -1
  286. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  287. package/dist/server/src/api/routes/index.js +14 -1
  288. package/dist/server/src/api/routes/index.js.map +1 -1
  289. package/dist/server/src/api/routes/mqtt.routes.js +10 -0
  290. package/dist/server/src/api/routes/mqtt.routes.js.map +1 -1
  291. package/dist/server/src/api/schemas/cameras.schema.d.ts +163 -21
  292. package/dist/server/src/api/schemas/cameras.schema.js +39 -3
  293. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  294. package/dist/server/src/api/schemas/config.schema.d.ts +1 -0
  295. package/dist/server/src/api/schemas/config.schema.js +1 -0
  296. package/dist/server/src/api/schemas/config.schema.js.map +1 -1
  297. package/dist/server/src/api/schemas/users.schema.d.ts +21 -21
  298. package/dist/server/src/api/schemas/users.schema.js +3 -16
  299. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  300. package/dist/server/src/api/schemas/virtualsensors.schema.js.map +1 -1
  301. package/dist/server/src/api/services/automations.service.d.ts +6 -0
  302. package/dist/server/src/api/services/automations.service.js +28 -3
  303. package/dist/server/src/api/services/automations.service.js.map +1 -1
  304. package/dist/server/src/api/services/backup.service.d.ts +6 -1
  305. package/dist/server/src/api/services/backup.service.js +28 -5
  306. package/dist/server/src/api/services/backup.service.js.map +1 -1
  307. package/dist/server/src/api/services/cameras.service.d.ts +2 -0
  308. package/dist/server/src/api/services/cameras.service.js +28 -4
  309. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  310. package/dist/server/src/api/services/mqtt.service.d.ts +1 -0
  311. package/dist/server/src/api/services/mqtt.service.js +3 -0
  312. package/dist/server/src/api/services/mqtt.service.js.map +1 -1
  313. package/dist/server/src/api/services/plugins.service.js +1 -5
  314. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  315. package/dist/server/src/api/types/index.d.ts +12 -0
  316. package/dist/server/src/api/websocket/nsp/events.d.ts +12 -0
  317. package/dist/server/src/api/websocket/nsp/events.js +76 -1
  318. package/dist/server/src/api/websocket/nsp/events.js.map +1 -1
  319. package/dist/server/src/automations/actions/cameraControl.js +4 -3
  320. package/dist/server/src/automations/actions/cameraControl.js.map +1 -1
  321. package/dist/server/src/automations/actions/http.js +1 -1
  322. package/dist/server/src/automations/actions/http.js.map +1 -1
  323. package/dist/server/src/automations/actions/plugin.js +4 -1
  324. package/dist/server/src/automations/actions/plugin.js.map +1 -1
  325. package/dist/server/src/automations/conditions/ifelse.js +7 -6
  326. package/dist/server/src/automations/conditions/ifelse.js.map +1 -1
  327. package/dist/server/src/automations/conditions/switch.js +6 -2
  328. package/dist/server/src/automations/conditions/switch.js.map +1 -1
  329. package/dist/server/src/automations/context.d.ts +2 -1
  330. package/dist/server/src/automations/context.js +47 -25
  331. package/dist/server/src/automations/context.js.map +1 -1
  332. package/dist/server/src/automations/engine.d.ts +3 -0
  333. package/dist/server/src/automations/engine.js +66 -9
  334. package/dist/server/src/automations/engine.js.map +1 -1
  335. package/dist/server/src/automations/parseValue.d.ts +2 -0
  336. package/dist/server/src/automations/parseValue.js +8 -0
  337. package/dist/server/src/automations/parseValue.js.map +1 -1
  338. package/dist/server/src/automations/runner.d.ts +6 -2
  339. package/dist/server/src/automations/runner.js +103 -43
  340. package/dist/server/src/automations/runner.js.map +1 -1
  341. package/dist/server/src/automations/trace.d.ts +25 -0
  342. package/dist/server/src/automations/trace.js +17 -0
  343. package/dist/server/src/automations/trace.js.map +1 -0
  344. package/dist/server/src/automations/triggers/detection.js +2 -1
  345. package/dist/server/src/automations/triggers/detection.js.map +1 -1
  346. package/dist/server/src/automations/triggers/schedule.js +10 -44
  347. package/dist/server/src/automations/triggers/schedule.js.map +1 -1
  348. package/dist/server/src/automations/triggers/sensor.js +9 -2
  349. package/dist/server/src/automations/triggers/sensor.js.map +1 -1
  350. package/dist/server/src/camera/controller.js +6 -1
  351. package/dist/server/src/camera/controller.js.map +1 -1
  352. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +2 -0
  353. package/dist/server/src/camera/decoder/detection-coordinator.js +11 -1
  354. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  355. package/dist/server/src/camera/decoder/event-manager.d.ts +12 -1
  356. package/dist/server/src/camera/decoder/event-manager.js +95 -15
  357. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  358. package/dist/server/src/camera/decoder/plate-vote.d.ts +20 -0
  359. package/dist/server/src/camera/decoder/plate-vote.js +63 -0
  360. package/dist/server/src/camera/decoder/plate-vote.js.map +1 -0
  361. package/dist/server/src/camera/decoder/secondary-stage.d.ts +3 -2
  362. package/dist/server/src/camera/decoder/secondary-stage.js +26 -13
  363. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  364. package/dist/server/src/camera/decoder/stationary-suppressor.d.ts +6 -0
  365. package/dist/server/src/camera/decoder/stationary-suppressor.js +59 -17
  366. package/dist/server/src/camera/decoder/stationary-suppressor.js.map +1 -1
  367. package/dist/server/src/camera/decoder/worker.d.ts +0 -1
  368. package/dist/server/src/camera/decoder/worker.js +0 -3
  369. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  370. package/dist/server/src/camera/index.d.ts +2 -1
  371. package/dist/server/src/camera/index.js +3 -0
  372. package/dist/server/src/camera/index.js.map +1 -1
  373. package/dist/server/src/camera/sensors/controller.js +6 -4
  374. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  375. package/dist/server/src/camera/sensors/semantics.d.ts +3 -0
  376. package/dist/server/src/camera/sensors/semantics.js +12 -0
  377. package/dist/server/src/camera/sensors/semantics.js.map +1 -0
  378. package/dist/server/src/camera/sensors/sensor.js +17 -11
  379. package/dist/server/src/camera/sensors/sensor.js.map +1 -1
  380. package/dist/server/src/camera/sensors/stable-id.d.ts +1 -0
  381. package/dist/server/src/camera/sensors/stable-id.js +5 -1
  382. package/dist/server/src/camera/sensors/stable-id.js.map +1 -1
  383. package/dist/server/src/camera/sensors/types.d.ts +12 -3
  384. package/dist/server/src/camera/sensors/types.js +48 -216
  385. package/dist/server/src/camera/sensors/types.js.map +1 -1
  386. package/dist/server/src/camera/streaming/fmp4-session.js +49 -26
  387. package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
  388. package/dist/server/src/camera/streaming/rtp-session.js +53 -19
  389. package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
  390. package/dist/server/src/internal-bus.d.ts +20 -2
  391. package/dist/server/src/internal-bus.js.map +1 -1
  392. package/dist/server/src/manager/discoveryManager.d.ts +2 -0
  393. package/dist/server/src/manager/discoveryManager.js +11 -7
  394. package/dist/server/src/manager/discoveryManager.js.map +1 -1
  395. package/dist/server/src/mqtt/bridge.d.ts +1 -0
  396. package/dist/server/src/mqtt/bridge.js +11 -7
  397. package/dist/server/src/mqtt/bridge.js.map +1 -1
  398. package/dist/server/src/mqtt/ha-discovery.d.ts +0 -1
  399. package/dist/server/src/mqtt/ha-discovery.js +96 -179
  400. package/dist/server/src/mqtt/ha-discovery.js.map +1 -1
  401. package/dist/server/src/mqtt/manager.d.ts +3 -0
  402. package/dist/server/src/mqtt/manager.js +15 -0
  403. package/dist/server/src/mqtt/manager.js.map +1 -1
  404. package/dist/server/src/plugins/index.js +4 -7
  405. package/dist/server/src/plugins/index.js.map +1 -1
  406. package/dist/server/src/plugins/runtime/go/index.d.ts +0 -1
  407. package/dist/server/src/plugins/runtime/go/index.js +25 -32
  408. package/dist/server/src/plugins/runtime/go/index.js.map +1 -1
  409. package/dist/server/src/plugins/runtime/node/index.js +3 -2
  410. package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
  411. package/dist/server/src/plugins/runtime/node/proxy/sensor.d.ts +0 -1
  412. package/dist/server/src/plugins/runtime/node/proxy/sensor.js +4 -4
  413. package/dist/server/src/plugins/runtime/node/proxy/sensor.js.map +1 -1
  414. package/dist/server/src/plugins/runtime/python/index.js +17 -1
  415. package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
  416. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +5 -0
  417. package/dist/server/src/plugins/worker.js +10 -2
  418. package/dist/server/src/plugins/worker.js.map +1 -1
  419. package/dist/server/src/remote/services/cloudflare-managed.d.ts +1 -0
  420. package/dist/server/src/remote/services/cloudflare-managed.js +7 -1
  421. package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -1
  422. package/dist/server/src/remote/services/cloudflare.js +6 -3
  423. package/dist/server/src/remote/services/cloudflare.js.map +1 -1
  424. package/dist/server/src/remote/services/index.js +3 -0
  425. package/dist/server/src/remote/services/index.js.map +1 -1
  426. package/dist/server/src/rpc/interfaces/sensor.d.ts +1 -0
  427. package/dist/server/src/services/config/index.d.ts +1 -0
  428. package/dist/server/src/services/config/index.js +11 -6
  429. package/dist/server/src/services/config/index.js.map +1 -1
  430. package/dist/server/src/services/config/types.d.ts +1 -1
  431. package/dist/server/src/services/mdns/index.js +3 -0
  432. package/dist/server/src/services/mdns/index.js.map +1 -1
  433. package/dist/server/src/utils/camera.d.ts +1 -0
  434. package/dist/server/src/utils/camera.js +4 -1
  435. package/dist/server/src/utils/camera.js.map +1 -1
  436. package/dist/server/src/utils/path.d.ts +1 -1
  437. package/dist/server/src/utils/path.js +1 -1
  438. package/dist/server/src/utils/path.js.map +1 -1
  439. package/dist/server/src/utils/pythonInstaller.d.ts +1 -0
  440. package/dist/server/src/utils/pythonInstaller.js +18 -6
  441. package/dist/server/src/utils/pythonInstaller.js.map +1 -1
  442. package/dist/server/src/workers/agent.d.ts +1 -0
  443. package/dist/server/src/workers/agent.js +4 -1
  444. package/dist/server/src/workers/agent.js.map +1 -1
  445. package/dist/server/src/workers/capabilities/plugin-host.d.ts +2 -1
  446. package/dist/server/src/workers/capabilities/plugin-host.js +8 -1
  447. package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
  448. package/dist/server/src/workers/manager.d.ts +2 -1
  449. package/dist/server/src/workers/manager.js +12 -0
  450. package/dist/server/src/workers/manager.js.map +1 -1
  451. package/dist/server/src/workers/types.d.ts +7 -0
  452. package/package.json +13 -11
  453. package/dist/interface/assets/404-CHNnQ07B.js +0 -1
  454. package/dist/interface/assets/About-BsaU74tJ.js +0 -1
  455. package/dist/interface/assets/Adminpanel-DtAn7w3q.js +0 -1
  456. package/dist/interface/assets/Automation-B6dndnPV.js +0 -2
  457. package/dist/interface/assets/AutomationImport-DuUOIIyR.js +0 -2
  458. package/dist/interface/assets/AutomationStore-Xah6Ds5s.js +0 -2
  459. package/dist/interface/assets/AutomationStoreDetail-DjgQq4MK.js +0 -2
  460. package/dist/interface/assets/Automations-Z2Esd61q.js +0 -2
  461. package/dist/interface/assets/Camera-D59ItpvH.js +0 -2
  462. package/dist/interface/assets/CameraConsole-H8Dw-cqw.js +0 -7
  463. package/dist/interface/assets/Cameras-2kM76WUB.css +0 -1
  464. package/dist/interface/assets/Cameras-Jowje8rS.js +0 -652
  465. package/dist/interface/assets/Camview-BUf_kn9a.js +0 -1
  466. package/dist/interface/assets/Config-BRr7oxiv.js +0 -2
  467. package/dist/interface/assets/ConfigActionCameraControl-k8QcbpFi.js +0 -1
  468. package/dist/interface/assets/ConfigActionHttp-DghgMG8I.js +0 -1
  469. package/dist/interface/assets/ConfigActionImageInput-DdJ9WVUi.js +0 -1
  470. package/dist/interface/assets/ConfigActionMqtt-CwIl_CUG.js +0 -1
  471. package/dist/interface/assets/ConfigActionNotification-BKumqxEl.js +0 -1
  472. package/dist/interface/assets/ConfigActionOutput-Dtkhn36z.js +0 -1
  473. package/dist/interface/assets/ConfigActionPlugin-eYhvQu7v.js +0 -1
  474. package/dist/interface/assets/ConfigActionSensor-CBGTysP5.js +0 -1
  475. package/dist/interface/assets/ConfigActionSnapshot-DeEZpkGU.js +0 -1
  476. package/dist/interface/assets/ConfigActionVariable-B-OJvgFr.js +0 -1
  477. package/dist/interface/assets/ConfigConditionIfElse-C-GRpawm.js +0 -1
  478. package/dist/interface/assets/ConfigConditionSensorState-BcT1OdkE.js +0 -1
  479. package/dist/interface/assets/ConfigConditionSwitch-DCtfW4os.js +0 -1
  480. package/dist/interface/assets/ConfigSensorValueInput-33yyWBvv.js +0 -1
  481. package/dist/interface/assets/ConfigTriggerDetection-DKXtEYs5.js +0 -1
  482. package/dist/interface/assets/ConfigTriggerGeofence-BDbH0yi3.js +0 -1
  483. package/dist/interface/assets/ConfigTriggerMqtt-3JYUp5bN.js +0 -1
  484. package/dist/interface/assets/ConfigTriggerSchedule-BzMQhwFK.js +0 -1
  485. package/dist/interface/assets/ConfigTriggerSensor-CW4m1Kih.js +0 -1
  486. package/dist/interface/assets/ConfigTriggerWebhook-D1ZxjnBH.js +0 -1
  487. package/dist/interface/assets/Console-BfDxTA0z.js +0 -1
  488. package/dist/interface/assets/CuiActionButton-3g3d4Hty.js +0 -1
  489. package/dist/interface/assets/CuiAvatar-BtMXnhxd.css +0 -1
  490. package/dist/interface/assets/CuiAvatar-DC5kBssG.js +0 -1
  491. package/dist/interface/assets/CuiBBoxPlayground-C-ROFu1J.js +0 -1
  492. package/dist/interface/assets/CuiBBoxPlayground-EFkdOBvq.css +0 -1
  493. package/dist/interface/assets/CuiBottomSheet-DewYUtvd.js +0 -1
  494. package/dist/interface/assets/CuiBottomSheet-DhJ7mPOY.js +0 -1
  495. package/dist/interface/assets/CuiCameraCard-BxGmxXxZ.css +0 -1
  496. package/dist/interface/assets/CuiCameraCard-DW0FQ7bq.js +0 -1
  497. package/dist/interface/assets/CuiCameraPipCard-CvSggtUF.js +0 -1
  498. package/dist/interface/assets/CuiCameraRecordings-rzFWZQ5x.js +0 -1
  499. package/dist/interface/assets/CuiCameraShares-jhAbADz_.js +0 -1
  500. package/dist/interface/assets/CuiCameraSnapshot-B4j7AOCs.js +0 -1
  501. package/dist/interface/assets/CuiCameraTable-CTvIHn1t.js +0 -2
  502. package/dist/interface/assets/CuiDataTable-BCji83l4.js +0 -1
  503. package/dist/interface/assets/CuiFloatingButton-BCfFilF6.js +0 -1
  504. package/dist/interface/assets/CuiImage-BM4g6edi.css +0 -1
  505. package/dist/interface/assets/CuiImage-OMB9QmYG.js +0 -1
  506. package/dist/interface/assets/CuiMarkdownContent-H33iUdE5.js +0 -1
  507. package/dist/interface/assets/CuiMenu-BWUfWLQP.css +0 -1
  508. package/dist/interface/assets/CuiMenu-Cu1XcfTo.js +0 -1
  509. package/dist/interface/assets/CuiPluginCard-BpRfC_LZ.js +0 -2
  510. package/dist/interface/assets/CuiPluginCategoryChip-BQyTd-CO.js +0 -1
  511. package/dist/interface/assets/CuiPluginOAuthButton-DJE7icya.js +0 -2
  512. package/dist/interface/assets/CuiPluginTrustBadge-RbS7zcMn.js +0 -1
  513. package/dist/interface/assets/CuiQRCode-DCu3UUaE.js +0 -1
  514. package/dist/interface/assets/CuiRecordingsGrid-Gd_UBE9S.js +0 -1
  515. package/dist/interface/assets/CuiSchema-CdXvzvH_.js +0 -1
  516. package/dist/interface/assets/CuiTopNavbarItem-CTOystLC.js +0 -1
  517. package/dist/interface/assets/CuiTopbarSlot-BkbPbFkm.js +0 -1
  518. package/dist/interface/assets/Faces-B07vg9aT.js +0 -1
  519. package/dist/interface/assets/FirstSteps-CAm3e-Ps.js +0 -1
  520. package/dist/interface/assets/Instances-5F02xSdP.js +0 -1
  521. package/dist/interface/assets/Logs-aditW96b.js +0 -6
  522. package/dist/interface/assets/Menu-B5bs9Nk6.js +0 -1
  523. package/dist/interface/assets/OAuthDeviceFlow-jvatqxEp.js +0 -1
  524. package/dist/interface/assets/Plugin-Cvf6z--K.js +0 -1
  525. package/dist/interface/assets/PluginConsole-IwnVx03U.js +0 -7
  526. package/dist/interface/assets/PluginDetail-DQkDmMhZ.js +0 -2
  527. package/dist/interface/assets/PluginSchema-BejWv56L.js +0 -1
  528. package/dist/interface/assets/PluginSearch-CbV58if7.js +0 -1
  529. package/dist/interface/assets/PluginSearch-DXVd0zKo.js +0 -2
  530. package/dist/interface/assets/Plugins-BipCK9K1.js +0 -1
  531. package/dist/interface/assets/Recordings-DopujSNl.js +0 -1
  532. package/dist/interface/assets/Settings-C_fZEMd6.js +0 -1
  533. package/dist/interface/assets/SettingsAccount-EIs17fXL.js +0 -1
  534. package/dist/interface/assets/SettingsAccount-fXsR0E9w.js +0 -1
  535. package/dist/interface/assets/SettingsAppearance-1E4ZVOvU.js +0 -1
  536. package/dist/interface/assets/SettingsAppearance-D4AcjKmd.js +0 -1
  537. package/dist/interface/assets/SettingsBackup-CqqJcj9V.js +0 -1
  538. package/dist/interface/assets/SettingsMqtt-Bwsgv7hZ.js +0 -1
  539. package/dist/interface/assets/SettingsNotifications-DVMmqDIN.js +0 -2
  540. package/dist/interface/assets/SettingsRecordings-DkhYVwS5.js +0 -1
  541. package/dist/interface/assets/SettingsRemote-D8Gwkj-H.js +0 -1
  542. package/dist/interface/assets/SettingsSystem-C29jOMdZ.js +0 -2
  543. package/dist/interface/assets/SettingsUsers-DPyFPqNb.js +0 -1
  544. package/dist/interface/assets/Terminal-CkpBS5Dg.js +0 -4
  545. package/dist/interface/assets/VariableInput-DMER1zSR.js +0 -1
  546. package/dist/interface/assets/VersionsHandler-D3-3JG-p.js +0 -7
  547. package/dist/interface/assets/Workers-JrLx-VXf.js +0 -2
  548. package/dist/interface/assets/_plugin-vue_export-helper-BDNMzG2s.js +0 -1
  549. package/dist/interface/assets/ace-6JpPWRIj.js +0 -1
  550. package/dist/interface/assets/api-C-AZSdHz.css +0 -2
  551. package/dist/interface/assets/api-Ci2OPZLb.js +0 -2
  552. package/dist/interface/assets/api-Q22IOG4a.js +0 -1
  553. package/dist/interface/assets/auth-BqaGki6j.js +0 -1
  554. package/dist/interface/assets/automation-5ksuCa47.js +0 -1
  555. package/dist/interface/assets/automations-DhR5Sia9.js +0 -1
  556. package/dist/interface/assets/automations-jd-HryjO.js +0 -1
  557. package/dist/interface/assets/availableVariables-D9VhvJZ1.js +0 -1
  558. package/dist/interface/assets/bell-C9mIWMWk.js +0 -1
  559. package/dist/interface/assets/bell-outline-Dc2jlnIq.js +0 -1
  560. package/dist/interface/assets/bug-zzM1padE.js +0 -1
  561. package/dist/interface/assets/cameras-DveQuCR0.js +0 -1
  562. package/dist/interface/assets/cameras.schema-DBLOCGJX.js +0 -1
  563. package/dist/interface/assets/cctv-tzdxhH3J.js +0 -1
  564. package/dist/interface/assets/check-bBrmKigT.js +0 -1
  565. package/dist/interface/assets/circular-connection-CU7MCuUc.js +0 -1
  566. package/dist/interface/assets/cloud-outline-Buxz0EJ2.js +0 -1
  567. package/dist/interface/assets/cloud-outline-CcWcrU1H.js +0 -1
  568. package/dist/interface/assets/cloudHandoff-9tPkt-ON.js +0 -1
  569. package/dist/interface/assets/cog-Btmv5cTa.js +0 -1
  570. package/dist/interface/assets/cog-outline-COxCsaa7.js +0 -1
  571. package/dist/interface/assets/config-9s9zQBx8.js +0 -1
  572. package/dist/interface/assets/copy-16-filled-DO8QJ5jY.js +0 -1
  573. package/dist/interface/assets/delete-outline-PeGi5HED.js +0 -1
  574. package/dist/interface/assets/download-wKmzxMGG.js +0 -1
  575. package/dist/interface/assets/esm-BbNiWnlM.js +0 -1
  576. package/dist/interface/assets/esm-BdHNBTAD.js +0 -1
  577. package/dist/interface/assets/esm-CA5vOO11.js +0 -1
  578. package/dist/interface/assets/esm-CAWRiYdq.js +0 -1
  579. package/dist/interface/assets/esm-CnaltMuw.js +0 -1
  580. package/dist/interface/assets/esm-Cz7O6U8f2.js +0 -1
  581. package/dist/interface/assets/esm-DF-tHra0.js +0 -1
  582. package/dist/interface/assets/esm-DFbRgfmR.js +0 -1
  583. package/dist/interface/assets/esm-DMPT4YUA.js +0 -1
  584. package/dist/interface/assets/esm-D_25JquT.js +0 -1
  585. package/dist/interface/assets/esm-DaPjB4YE.js +0 -1
  586. package/dist/interface/assets/esm-DvYGT_BI.js +0 -1
  587. package/dist/interface/assets/esm-rmWYkszg.js +0 -1
  588. package/dist/interface/assets/esm-yAVwCMtx.js +0 -1
  589. package/dist/interface/assets/eventIcons-2hVCNchU.css +0 -1
  590. package/dist/interface/assets/eventIcons-uRPqE83F.js +0 -1
  591. package/dist/interface/assets/face-recognition-eRy5sHNg.js +0 -1
  592. package/dist/interface/assets/github-DMYx-QRV.js +0 -1
  593. package/dist/interface/assets/grid-fill-C4zzGgeI.js +0 -1
  594. package/dist/interface/assets/hasPermission-U8rWYs3e.js +0 -1
  595. package/dist/interface/assets/instances-D6pOZ9S2.js +0 -1
  596. package/dist/interface/assets/lightbulb-outline-DvCSmwHW.js +0 -1
  597. package/dist/interface/assets/main-DXE4zBZz.js +0 -3
  598. package/dist/interface/assets/motion-sensor-pRMd7Avm.js +0 -1
  599. package/dist/interface/assets/native-BCmNybfv.js +0 -1
  600. package/dist/interface/assets/native-GPGSceJj.js +0 -1
  601. package/dist/interface/assets/nodeDefinitions-C2RwmaJh.js +0 -1
  602. package/dist/interface/assets/notifications-Dfc5JraF.js +0 -1
  603. package/dist/interface/assets/play-solid-B6TQ0J8_.js +0 -1
  604. package/dist/interface/assets/plugin-DD3mGhTv.js +0 -1
  605. package/dist/interface/assets/plugins-F8HC_aub.js +0 -1
  606. package/dist/interface/assets/puzzle-filled-D4sL3q0q.js +0 -1
  607. package/dist/interface/assets/refresh-rounded-B00F7iZg.js +0 -1
  608. package/dist/interface/assets/round-restart-alt-Dvdf0cs5.js +0 -1
  609. package/dist/interface/assets/router-DZjA6qEF.css +0 -1
  610. package/dist/interface/assets/router-F1vxbpmr.js +0 -2
  611. package/dist/interface/assets/routerState-jp8ZOkH0.js +0 -1
  612. package/dist/interface/assets/server-CVqV-aK8.js +0 -1
  613. package/dist/interface/assets/shares-CgYXFl_V.js +0 -1
  614. package/dist/interface/assets/shield-check-BwIO9FNq.js +0 -1
  615. package/dist/interface/assets/terminal-BASwIORZ.js +0 -1
  616. package/dist/interface/assets/theme-CeTMD7iy.js +0 -1
  617. package/dist/interface/assets/transit-connection-variant-BbMJgsqX.js +0 -1
  618. package/dist/interface/assets/types-BSNzLwmC.js +0 -1
  619. package/dist/interface/assets/types-BxFyoO54.js +0 -1
  620. package/dist/interface/assets/types-C72GH31_.js +0 -1
  621. package/dist/interface/assets/ui-Buqvvz5_.js +0 -1
  622. package/dist/interface/assets/useBackupRestore-B_L5eacS.js +0 -1
  623. package/dist/interface/assets/useBiometricCredentials-XSBauCAw.js +0 -1
  624. package/dist/interface/assets/useCameraOptions-Csn90EfC.js +0 -1
  625. package/dist/interface/assets/useCuiCameraDrawer-CmKK-nWj.js +0 -1
  626. package/dist/interface/assets/useCuiDialog-CsfQVxs9.js +0 -2
  627. package/dist/interface/assets/useFileDownload-Cgl2TsAx.js +0 -1
  628. package/dist/interface/assets/useLogsSocket-DROirzwW.js +0 -5
  629. package/dist/interface/assets/useSharedComposables-Dt2kEWWK.js +0 -1
  630. package/dist/interface/assets/useStreamStatus-GuRUKQIO.js +0 -1
  631. package/dist/interface/assets/useUpdateChannel-C_QBlWej.js +0 -1
  632. package/dist/interface/assets/useUserOptions-CEgftL3b.js +0 -1
  633. package/dist/interface/assets/users.schema-CfQ1Ms-E.js +0 -1
  634. package/dist/interface/assets/vendor-cameraui-C1IKkRDu.js +0 -2039
  635. package/dist/interface/assets/vendor-capacitor-CgsKMKU7.js +0 -2
  636. package/dist/interface/assets/vendor-core-D8HwO28D.js +0 -1
  637. package/dist/interface/assets/vendor-gridstack-DD5uGA3X.js +0 -3
  638. package/dist/interface/assets/vendor-gridstack-Rg2RhwAc.css +0 -1
  639. package/dist/interface/assets/vendor-zod-XsuaxHRY.js +0 -127
  640. package/dist/interface/assets/view-grid-CFIWphbe.js +0 -1
  641. package/dist/interface/assets/view-grid-CWZLWCco.css +0 -1
  642. package/dist/interface/assets/web-B8HJA2eH.js +0 -1
  643. package/dist/interface/assets/web-BGITTsNt.js +0 -1
  644. package/dist/interface/assets/web-BQB4qOgy.js +0 -1
  645. package/dist/interface/assets/web-BSXReJ_Z.js +0 -1
  646. package/dist/interface/assets/web-BhWC15qT.js +0 -1
  647. package/dist/interface/assets/web-BjKL51lK-DdfGLx29.js +0 -1
  648. package/dist/interface/assets/web-C8JXaRi_.js +0 -1
  649. package/dist/interface/assets/web-CoDDbrp3.js +0 -1
  650. package/dist/interface/assets/web-D3SmeLx8.js +0 -1
  651. package/dist/interface/assets/web-DAvyrq3Y.js +0 -1
  652. package/dist/interface/assets/web-GLZJCv4W.js +0 -1
  653. package/dist/interface/assets/web-VstUBouH.js +0 -1
  654. package/dist/interface/assets/web-Yn_laCd7.js +0 -1
  655. package/dist/interface/assets/web-kTiET-EO.js +0 -1
  656. package/dist/interface/assets/workbox-window.prod.es5-CN8kDpb8.js +0 -1
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum
4
+ from enum import StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -10,7 +10,7 @@ from ..observable import Observable
10
10
  from .base import Sensor, SensorCategory, SensorLike, SensorType
11
11
 
12
12
 
13
- class BatteryCapability(str, Enum):
13
+ class BatteryCapability(StrEnum):
14
14
  """Optional capabilities for battery info sensors."""
15
15
 
16
16
  LowBattery = "lowBattery"
@@ -19,15 +19,18 @@ class BatteryCapability(str, Enum):
19
19
  """Sensor reports charging state."""
20
20
 
21
21
 
22
- class BatteryProperty(str, Enum):
22
+ class BatteryProperty(StrEnum):
23
23
  """Properties for battery info sensors."""
24
24
 
25
25
  Level = "level"
26
+ """Battery level percentage (0-100)."""
26
27
  Charging = "charging"
28
+ """Current charging state."""
27
29
  Low = "low"
30
+ """Whether battery is critically low."""
28
31
 
29
32
 
30
- class ChargingState(str, Enum):
33
+ class ChargingState(StrEnum):
31
34
  """Battery charging state."""
32
35
 
33
36
  NotChargeable = "NOT_CHARGEABLE"
@@ -125,7 +128,7 @@ class BatteryInfo(Sensor[BatteryInfoProperties, TStorage, BatteryCapability], Ge
125
128
  """Report a new battery level (percentage). Clamped to [0, 100].
126
129
 
127
130
  Args:
128
- value: Battery level percentage in the range 0100.
131
+ value: Battery level percentage in the range 0-100.
129
132
 
130
133
  Example:
131
134
  ```python
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from abc import abstractmethod
4
4
  from collections.abc import Mapping
5
- from enum import Enum
5
+ from enum import StrEnum
6
6
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
7
7
 
8
8
  from typing_extensions import TypedDict, TypeVar
@@ -13,7 +13,7 @@ from .detection import Detection, VideoFrameData
13
13
  from .spec import ModelSpec
14
14
 
15
15
 
16
- class ClassifierProperty(str, Enum):
16
+ class ClassifierProperty(StrEnum):
17
17
  """Property names of a classifier sensor."""
18
18
 
19
19
  Detected = "detected" # Whether any classification result is active
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum
4
+ from enum import StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -10,10 +10,11 @@ from ..observable import Observable
10
10
  from .base import Sensor, SensorCategory, SensorLike, SensorType
11
11
 
12
12
 
13
- class ContactProperty(str, Enum):
13
+ class ContactProperty(StrEnum):
14
14
  """Properties for contact sensors."""
15
15
 
16
16
  Detected = "detected"
17
+ """Whether the contact is open (true = open, false = closed)."""
17
18
 
18
19
 
19
20
  class ContactSensorProperties(TypedDict):
@@ -4,8 +4,14 @@ from typing import Literal, NotRequired
4
4
 
5
5
  from typing_extensions import TypedDict
6
6
 
7
+ #: Object-detection labels the detector groups its classes into.
8
+ OBJECT_DETECTION_LABELS = ("person", "vehicle", "animal", "package")
9
+
10
+ #: Union of the object-detection label strings.
11
+ ObjectDetectionLabel = Literal["person", "vehicle", "animal", "package"]
12
+
7
13
  #: Built-in detection label types recognized across the system.
8
- DETECTION_LABELS = ("motion", "person", "vehicle", "animal", "package", "audio")
14
+ DETECTION_LABELS = ("motion", *OBJECT_DETECTION_LABELS, "audio")
9
15
 
10
16
  #: Union of the built-in detection label strings.
11
17
  DetectionLabel = Literal["motion", "person", "vehicle", "animal", "package", "audio"]
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import threading
4
4
  from collections.abc import Mapping
5
- from enum import Enum
5
+ from enum import StrEnum
6
6
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
7
7
 
8
8
  from typing_extensions import TypedDict, TypeVar
@@ -11,10 +11,11 @@ from ..observable import Observable
11
11
  from .base import Sensor, SensorCategory, SensorLike, SensorType
12
12
 
13
13
 
14
- class DoorbellProperty(str, Enum):
14
+ class DoorbellProperty(StrEnum):
15
15
  """Properties for doorbell triggers."""
16
16
 
17
17
  Ring = "ring"
18
+ """Whether the doorbell is currently ringing."""
18
19
 
19
20
 
20
21
  class DoorbellTriggerProperties(TypedDict):
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from abc import abstractmethod
4
4
  from collections.abc import Mapping
5
- from enum import Enum
5
+ from enum import StrEnum
6
6
  from typing import Any, Generic, Literal, NotRequired, Protocol, overload, runtime_checkable
7
7
 
8
8
  from typing_extensions import TypedDict, TypeVar
@@ -13,7 +13,7 @@ from .detection import Detection, VideoFrameData
13
13
  from .spec import ModelSpec
14
14
 
15
15
 
16
- class FaceProperty(str, Enum):
16
+ class FaceProperty(StrEnum):
17
17
  """Property names of a face detection sensor."""
18
18
 
19
19
  Detected = "detected" # Whether any face is currently detected
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum, IntEnum
4
+ from enum import IntEnum, StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -20,12 +20,15 @@ class GarageState(IntEnum):
20
20
  Stopped = 4
21
21
 
22
22
 
23
- class GarageProperty(str, Enum):
23
+ class GarageProperty(StrEnum):
24
24
  """Properties for garage controls."""
25
25
 
26
26
  CurrentState = "currentState"
27
+ """The actual current state of the garage door."""
27
28
  TargetState = "targetState"
29
+ """The desired target state (set by user, transitions to currentState)."""
28
30
  ObstructionDetected = "obstructionDetected"
31
+ """Whether an obstruction is detected."""
29
32
 
30
33
 
31
34
  class GarageControlProperties(TypedDict):
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum
4
+ from enum import StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -10,10 +10,11 @@ from ..observable import Observable
10
10
  from .base import Sensor, SensorCategory, SensorLike, SensorType
11
11
 
12
12
 
13
- class HumidityProperty(str, Enum):
13
+ class HumidityProperty(StrEnum):
14
14
  """Properties for humidity info sensors."""
15
15
 
16
16
  Current = "current"
17
+ """Current relative humidity (0-100%)."""
17
18
 
18
19
 
19
20
  class HumidityInfoProperties(TypedDict):
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum
4
+ from enum import StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -10,10 +10,11 @@ from ..observable import Observable
10
10
  from .base import Sensor, SensorCategory, SensorLike, SensorType
11
11
 
12
12
 
13
- class LeakProperty(str, Enum):
13
+ class LeakProperty(StrEnum):
14
14
  """Properties for leak sensors."""
15
15
 
16
16
  Detected = "detected"
17
+ """Whether a leak is detected."""
17
18
 
18
19
 
19
20
  class LeakSensorProperties(TypedDict):
@@ -2,8 +2,8 @@ from __future__ import annotations
2
2
 
3
3
  from abc import abstractmethod
4
4
  from collections.abc import Mapping
5
- from enum import Enum
6
- from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
5
+ from enum import StrEnum
6
+ from typing import Any, Generic, Literal, NotRequired, Protocol, overload, runtime_checkable
7
7
 
8
8
  from typing_extensions import TypedDict, TypeVar
9
9
 
@@ -13,7 +13,7 @@ from .detection import Detection, VideoFrameData
13
13
  from .spec import ModelSpec
14
14
 
15
15
 
16
- class LicensePlateProperty(str, Enum):
16
+ class LicensePlateProperty(StrEnum):
17
17
  """Property names of a license plate detection sensor."""
18
18
 
19
19
  Detected = "detected" # Whether any license plate is currently detected
@@ -25,6 +25,9 @@ class LicensePlateDetection(Detection):
25
25
 
26
26
  attribute: Literal["license_plate"] # type: ignore[misc] # Sub-detection attribute, fixed to "license_plate"
27
27
  plateText: str # Recognized plate text (e.g. "ABC 1234")
28
+ ocrConfidence: NotRequired[
29
+ float
30
+ ] # Average text recognition confidence (0-1), separate from the box confidence
28
31
 
29
32
 
30
33
  class LicensePlateSensorProperties(TypedDict):
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum
4
+ from enum import StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -10,18 +10,20 @@ from ..observable import Observable
10
10
  from .base import Sensor, SensorCategory, SensorLike, SensorType
11
11
 
12
12
 
13
- class LightCapability(str, Enum):
13
+ class LightCapability(StrEnum):
14
14
  """Optional capabilities for light controls."""
15
15
 
16
16
  Brightness = "brightness"
17
- """Light supports brightness adjustment (0100)."""
17
+ """Light supports brightness adjustment (0-100)."""
18
18
 
19
19
 
20
- class LightProperty(str, Enum):
20
+ class LightProperty(StrEnum):
21
21
  """Properties for light controls."""
22
22
 
23
23
  On = "on"
24
+ """Whether the light is on."""
24
25
  Brightness = "brightness"
26
+ """Brightness level (0-100)."""
25
27
 
26
28
 
27
29
  class LightControlProperties(TypedDict):
@@ -134,7 +136,7 @@ class LightControl(Sensor[LightControlProperties, TStorage, LightCapability], Ge
134
136
  succeeds. The default implementation clamps the value to [0, 100].
135
137
 
136
138
  Args:
137
- value: Brightness level in the range 0100.
139
+ value: Brightness level in the range 0-100.
138
140
 
139
141
  Example:
140
142
  ```python
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum, IntEnum
4
+ from enum import IntEnum, StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -18,11 +18,13 @@ class LockState(IntEnum):
18
18
  Unknown = 2
19
19
 
20
20
 
21
- class LockProperty(str, Enum):
21
+ class LockProperty(StrEnum):
22
22
  """Properties for lock controls."""
23
23
 
24
24
  CurrentState = "currentState"
25
+ """The actual current state of the lock."""
25
26
  TargetState = "targetState"
27
+ """The desired target state (set by user, transitions to currentState)."""
26
28
 
27
29
 
28
30
  class LockControlProperties(TypedDict):
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from abc import abstractmethod
4
4
  from collections.abc import Mapping
5
- from enum import Enum
5
+ from enum import StrEnum
6
6
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
7
7
 
8
8
  from typing_extensions import TypedDict, TypeVar
@@ -38,7 +38,7 @@ __all__ = [
38
38
  ]
39
39
 
40
40
 
41
- class MotionProperty(str, Enum):
41
+ class MotionProperty(StrEnum):
42
42
  """Property names of a motion sensor."""
43
43
 
44
44
  Detected = "detected" # Whether motion is currently detected
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from abc import abstractmethod
4
4
  from collections.abc import Mapping
5
- from enum import Enum
5
+ from enum import StrEnum
6
6
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
7
7
 
8
8
  from typing_extensions import TypedDict, TypeVar
@@ -13,7 +13,7 @@ from .detection import Detection, DetectionLabel, VideoFrameData
13
13
  from .spec import ObjectModelSpec
14
14
 
15
15
 
16
- class ObjectProperty(str, Enum):
16
+ class ObjectProperty(StrEnum):
17
17
  """Property names of an object detection sensor."""
18
18
 
19
19
  Detected = "detected" # Whether any object is currently detected
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum
4
+ from enum import StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -10,10 +10,11 @@ from ..observable import Observable
10
10
  from .base import Sensor, SensorCategory, SensorLike, SensorType
11
11
 
12
12
 
13
- class OccupancyProperty(str, Enum):
13
+ class OccupancyProperty(StrEnum):
14
14
  """Properties for occupancy sensors."""
15
15
 
16
16
  Detected = "detected"
17
+ """Whether occupancy is detected (true = occupied)."""
17
18
 
18
19
 
19
20
  class OccupancySensorProperties(TypedDict):
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum
4
+ from enum import StrEnum
5
5
  from typing import Any, Generic, Literal, NotRequired, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -10,28 +10,44 @@ from ..observable import Observable
10
10
  from .base import Sensor, SensorCategory, SensorLike, SensorType
11
11
 
12
12
 
13
- class PTZCapability(str, Enum):
13
+ class PTZCapability(StrEnum):
14
14
  """Optional capabilities for PTZ controls."""
15
15
 
16
16
  Pan = "pan"
17
+ """Camera supports panning (horizontal movement)."""
17
18
  Tilt = "tilt"
19
+ """Camera supports tilting (vertical movement)."""
18
20
  Zoom = "zoom"
21
+ """Camera supports zoom."""
19
22
  Presets = "presets"
23
+ """Camera supports named position presets."""
20
24
  Home = "home"
25
+ """Camera supports a home position."""
21
26
  RelativeMove = "relativeMove"
27
+ """Camera executes relative displacement moves."""
22
28
  AbsolutePosition = "absolutePosition"
29
+ """Camera accepts absolute position writes via `setPosition()`."""
23
30
  VelocityControl = "velocityControl"
31
+ """Camera accepts continuous-move commands via `setVelocity()`."""
24
32
 
25
33
 
26
- class PTZProperty(str, Enum):
34
+ class PTZProperty(StrEnum):
27
35
  """Properties for PTZ controls."""
28
36
 
29
37
  Position = "position"
38
+ """Current pan/tilt/zoom position."""
30
39
  Moving = "moving"
40
+ """Whether the camera is currently moving."""
31
41
  Presets = "presets"
42
+ """List of available preset names."""
32
43
  Velocity = "velocity"
44
+ """Current movement velocity (continuous move)."""
33
45
  TargetPreset = "targetPreset"
46
+ """Target preset to move to."""
34
47
  RelativeMove = "relativeMove"
48
+ """Relative displacement move command (write-only)."""
49
+ Home = "home"
50
+ """Move to the home position (write-only command, carries no state)."""
35
51
 
36
52
 
37
53
  class PTZPosition(TypedDict):
@@ -284,8 +300,8 @@ class PTZControl(Sensor[PTZControlProperties, TStorage, PTZCapability], Generic[
284
300
  """Routes generic property writes to semantic methods.
285
301
 
286
302
  `moving` and `presets` are observed/discovered state and not externally
287
- writable; only `Position`, `Velocity`, `TargetPreset`, and
288
- `RelativeMove` may be set.
303
+ writable; only `Position`, `Velocity`, `TargetPreset`, `RelativeMove`
304
+ and `Home` may be set.
289
305
  """
290
306
  if property == PTZProperty.Position.value:
291
307
  await self.setPosition(value)
@@ -299,4 +315,7 @@ class PTZControl(Sensor[PTZControlProperties, TStorage, PTZCapability], Generic[
299
315
  if property == PTZProperty.RelativeMove.value:
300
316
  await self.setRelativeMove(value)
301
317
  return
318
+ if property == PTZProperty.Home.value:
319
+ await self.goHome()
320
+ return
302
321
  # Unknown / non-writable property (incl. moving, presets) — ignored.
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum, IntEnum
4
+ from enum import IntEnum, StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -25,11 +25,13 @@ class SecuritySystemState(IntEnum):
25
25
  """Alarm is triggered."""
26
26
 
27
27
 
28
- class SecuritySystemProperty(str, Enum):
28
+ class SecuritySystemProperty(StrEnum):
29
29
  """Properties for security system controls."""
30
30
 
31
31
  CurrentState = "currentState"
32
+ """The actual current state of the security system."""
32
33
  TargetState = "targetState"
34
+ """The desired target state (set by user, transitions to currentState)."""
33
35
 
34
36
 
35
37
  class SecuritySystemProperties(TypedDict):
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum
4
+ from enum import StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -10,18 +10,20 @@ from ..observable import Observable
10
10
  from .base import Sensor, SensorCategory, SensorLike, SensorType
11
11
 
12
12
 
13
- class SirenCapability(str, Enum):
13
+ class SirenCapability(StrEnum):
14
14
  """Optional capabilities for siren controls."""
15
15
 
16
16
  Volume = "volume"
17
- """Siren supports volume adjustment (0100)."""
17
+ """Siren supports volume adjustment (0-100)."""
18
18
 
19
19
 
20
- class SirenProperty(str, Enum):
20
+ class SirenProperty(StrEnum):
21
21
  """Properties for siren controls."""
22
22
 
23
23
  Active = "active"
24
+ """Whether the siren is currently active."""
24
25
  Volume = "volume"
26
+ """Volume level (0-100)."""
25
27
 
26
28
 
27
29
  class SirenControlProperties(TypedDict):
@@ -127,7 +129,7 @@ class SirenControl(Sensor[SirenControlProperties, TStorage, SirenCapability], Ge
127
129
  clamps the value to [0, 100].
128
130
 
129
131
  Args:
130
- value: Volume level in the range 0100.
132
+ value: Volume level in the range 0-100.
131
133
 
132
134
  Example:
133
135
  ```python
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum
4
+ from enum import StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -10,10 +10,11 @@ from ..observable import Observable
10
10
  from .base import Sensor, SensorCategory, SensorLike, SensorType
11
11
 
12
12
 
13
- class SmokeProperty(str, Enum):
13
+ class SmokeProperty(StrEnum):
14
14
  """Properties for smoke sensors."""
15
15
 
16
16
  Detected = "detected"
17
+ """Whether smoke is detected."""
17
18
 
18
19
 
19
20
  class SmokeSensorProperties(TypedDict):
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum
4
+ from enum import StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -10,10 +10,11 @@ from ..observable import Observable
10
10
  from .base import Sensor, SensorCategory, SensorLike, SensorType
11
11
 
12
12
 
13
- class SwitchProperty(str, Enum):
13
+ class SwitchProperty(StrEnum):
14
14
  """Properties for switch controls."""
15
15
 
16
16
  On = "on"
17
+ """Whether the switch is on."""
17
18
 
18
19
 
19
20
  class SwitchControlProperties(TypedDict):
@@ -1,7 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Mapping
4
- from enum import Enum
4
+ from enum import StrEnum
5
5
  from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
6
6
 
7
7
  from typing_extensions import TypedDict, TypeVar
@@ -10,10 +10,11 @@ from ..observable import Observable
10
10
  from .base import Sensor, SensorCategory, SensorLike, SensorType
11
11
 
12
12
 
13
- class TemperatureProperty(str, Enum):
13
+ class TemperatureProperty(StrEnum):
14
14
  """Properties for temperature info sensors."""
15
15
 
16
16
  Current = "current"
17
+ """Current temperature in degrees Celsius."""
17
18
 
18
19
 
19
20
  class TemperatureInfoProperties(TypedDict):
@@ -9,6 +9,7 @@ export declare class AuthController {
9
9
  private remoteAccessManager;
10
10
  constructor(_app: FastifyInstance);
11
11
  check(_req: FastifyRequest<AuthLoginRequest>, reply: FastifyReply): FastifyReply;
12
+ me(req: FastifyRequest<AuthLoginRequest>, reply: FastifyReply): FastifyReply;
12
13
  list(req: FastifyRequest<AuthLoginRequest & PaginationRequest>, reply: FastifyReply): FastifyReply | SessionInfo[];
13
14
  listAll(req: FastifyRequest<AuthLoginRequest & PaginationRequest>, reply: FastifyReply): FastifyReply | SessionInfo[];
14
15
  login(req: FastifyRequest<AuthNewLoginRequest>, reply: FastifyReply): Promise<FastifyReply | void>;
@@ -37,6 +37,25 @@ export class AuthController {
37
37
  });
38
38
  }
39
39
  }
40
+ me(req, reply) {
41
+ try {
42
+ const user = req.locals.user;
43
+ return reply.code(200).send({
44
+ _id: user._id,
45
+ username: user.username,
46
+ avatar: user.avatar,
47
+ role: user.role,
48
+ firstLogin: user.firstLogin,
49
+ language: user.preferences.language ?? 'auto',
50
+ });
51
+ }
52
+ catch (error) {
53
+ return reply.code(500).send({
54
+ statusCode: 500,
55
+ message: error.message,
56
+ });
57
+ }
58
+ }
40
59
  list(req, reply) {
41
60
  try {
42
61
  const user = req.locals.user;