@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.
- package/dist/interface/assets/404-BWRNG7e3.js +1 -0
- package/dist/interface/assets/About-CWvfgUA-.js +1 -0
- package/dist/interface/assets/Adminpanel-Cat_euTC.js +1 -0
- package/dist/interface/assets/{Automation-Cm62xfWQ.css → Automation-BSicfOGF.css} +1 -1
- package/dist/interface/assets/Automation-cp0lTCAv.js +3 -0
- package/dist/interface/assets/AutomationImport-mCGSgys2.js +2 -0
- package/dist/interface/assets/AutomationStore-udNOn3FR.js +2 -0
- package/dist/interface/assets/AutomationStoreDetail-CcVksadt.js +2 -0
- package/dist/interface/assets/Automations-CcQLbmoN.js +2 -0
- package/dist/interface/assets/Camera-Cq466-gT.js +2 -0
- package/dist/interface/assets/CameraConsole-A414-zXW.js +7 -0
- package/dist/interface/assets/Cameras-CW5XnJ1g.js +652 -0
- package/dist/interface/assets/Cameras-DIY20Wlh.css +1 -0
- package/dist/interface/assets/{Camview-CS2a2okQ.css → Camview-CaEbdeQZ.css} +1 -1
- package/dist/interface/assets/Camview-zK6fnWI0.js +1 -0
- package/dist/interface/assets/Config-R2N_QUER.js +2 -0
- package/dist/interface/assets/ConfigActionCameraControl-DdW92QxO.js +1 -0
- package/dist/interface/assets/{ConfigActionDelay-Bb2XWLM-.js → ConfigActionDelay-BiCLaHDd.js} +1 -1
- package/dist/interface/assets/ConfigActionHttp-BvM-8hTt.js +1 -0
- package/dist/interface/assets/ConfigActionImageInput-CoyrNloo.js +1 -0
- package/dist/interface/assets/ConfigActionMqtt-CY8HOoug.js +1 -0
- package/dist/interface/assets/ConfigActionNotification-DP3dTyFB.js +1 -0
- package/dist/interface/assets/ConfigActionOutput-BwYwuQ1w.js +1 -0
- package/dist/interface/assets/ConfigActionPlugin-DbhT4kyF.js +1 -0
- package/dist/interface/assets/ConfigActionSensor-_zmPKdhz.js +1 -0
- package/dist/interface/assets/ConfigActionSnapshot-Bc3eukMk.js +1 -0
- package/dist/interface/assets/ConfigActionVariable-BeQy6W8G.js +1 -0
- package/dist/interface/assets/ConfigConditionIfElse-CiFC5fLv.js +1 -0
- package/dist/interface/assets/ConfigConditionSensorState-CGeGdh0d.js +1 -0
- package/dist/interface/assets/ConfigConditionSwitch-BjR776j5.js +1 -0
- package/dist/interface/assets/{ConfigConditionTime-DoUDxRHq.js → ConfigConditionTime-BAypML9_.js} +1 -1
- package/dist/interface/assets/ConfigSensorValueInput-Dis2Kr1r.js +1 -0
- package/dist/interface/assets/ConfigTriggerDetection-CqS3IAqj.js +1 -0
- package/dist/interface/assets/ConfigTriggerGeofence-BbNpW2l0.js +1 -0
- package/dist/interface/assets/{ConfigTriggerManual-BV099ihK.js → ConfigTriggerManual-DiyFl_g-.js} +1 -1
- package/dist/interface/assets/ConfigTriggerMqtt-ZXEft2Hi.js +1 -0
- package/dist/interface/assets/ConfigTriggerSchedule-Dy3NCMvo.js +1 -0
- package/dist/interface/assets/ConfigTriggerSensor-CnSSEh4s.js +1 -0
- package/dist/interface/assets/{ConfigTriggerSystem-C2E5WMPm.js → ConfigTriggerSystem-CuKwsM8D.js} +1 -1
- package/dist/interface/assets/ConfigTriggerWebhook-DJPepSlC.js +1 -0
- package/dist/interface/assets/Console-tfkkZnFl.js +1 -0
- package/dist/interface/assets/CuiAutomationRunsDialog-o2aLvK5K.js +1 -0
- package/dist/interface/assets/CuiBottomSheet-m_HX6x4G.js +1 -0
- package/dist/interface/assets/CuiBottomSheet-v2xnKGrr.js +1 -0
- package/dist/interface/assets/CuiCameraPipCard-CId6q8WW.js +1 -0
- package/dist/interface/assets/CuiCameraRecordings-C_1UfpAJ.js +1 -0
- package/dist/interface/assets/CuiCameraShares-DW_hDX2f.js +1 -0
- package/dist/interface/assets/CuiCameraTable-BXzZ-gIg.js +2 -0
- package/dist/interface/assets/CuiDataTable-CrL6zx3I.js +1 -0
- package/dist/interface/assets/{CuiMarkdownContent-DQPIfY1K.js → CuiMarkdownContent-BwMdbyad.js} +1 -1
- package/dist/interface/assets/CuiMarkdownContent-G916_kVN.js +1 -0
- package/dist/interface/assets/CuiPluginCard-C38Fk0bQ.js +2 -0
- package/dist/interface/assets/CuiPluginCategoryChip-B3XVum_D.js +1 -0
- package/dist/interface/assets/CuiPluginOAuthButton-DRJnVV4F.js +2 -0
- package/dist/interface/assets/CuiPluginTrustBadge-4xCyAUBM.js +1 -0
- package/dist/interface/assets/CuiQRCode-DmsP4eAY.js +1 -0
- package/dist/interface/assets/CuiRecordingsGrid-BnL8kQ29.js +1 -0
- package/dist/interface/assets/CuiSchema-D2yLW853.js +1 -0
- package/dist/interface/assets/CuiTopNavbarItem-_7UaVuQT.js +1 -0
- package/dist/interface/assets/Faces-BPgUsyT0.js +1 -0
- package/dist/interface/assets/FirstSteps-CKXlbFN-.js +1 -0
- package/dist/interface/assets/Instances-BS4UPlay.js +1 -0
- package/dist/interface/assets/Logs-UPgu6TsC.js +6 -0
- package/dist/interface/assets/Menu-CdewzDV4.js +1 -0
- package/dist/interface/assets/OAuthDeviceFlow-SGgJTWAU.js +1 -0
- package/dist/interface/assets/Plugin-BSSYZcyQ.js +1 -0
- package/dist/interface/assets/PluginConsole-Bm0ify7V.js +7 -0
- package/dist/interface/assets/PluginDetail-DY6Uvu3V.js +2 -0
- package/dist/interface/assets/PluginSchema-BkM5iKma.js +1 -0
- package/dist/interface/assets/PluginSearch-4q_vZHJc.js +2 -0
- package/dist/interface/assets/PluginSearch-BvhNP9WQ.js +1 -0
- package/dist/interface/assets/Plugins-B1tZxl7k.js +1 -0
- package/dist/interface/assets/Recordings-XY32_Jjt.js +1 -0
- package/dist/interface/assets/Settings-CXWxt73x.js +1 -0
- package/dist/interface/assets/SettingsAccount-MLkJU79V.js +1 -0
- package/dist/interface/assets/SettingsAccount-RGvmNkwD.js +1 -0
- package/dist/interface/assets/SettingsAppearance-CHRnfQ4O.js +1 -0
- package/dist/interface/assets/SettingsAppearance-CyaOt4lL.js +1 -0
- package/dist/interface/assets/SettingsBackup-Xjb4i_YZ.js +1 -0
- package/dist/interface/assets/SettingsMqtt-CW0uvXrU.js +1 -0
- package/dist/interface/assets/SettingsNotifications-BbyXpyHK.js +2 -0
- package/dist/interface/assets/SettingsRecordings-DVZPpunU.js +1 -0
- package/dist/interface/assets/SettingsRemote-BnFHx9_s.js +1 -0
- package/dist/interface/assets/SettingsSystem-C1ne-w59.js +2 -0
- package/dist/interface/assets/SettingsUsers-91m0163s.js +1 -0
- package/dist/interface/assets/Terminal-D_E-kRbN.js +4 -0
- package/dist/interface/assets/VariableInput-BHvGHE7o.js +1 -0
- package/dist/interface/assets/{VariableSuggestions-Jya3l4gC.js → VariableSuggestions-uJAwwX7y.js} +1 -1
- package/dist/interface/assets/VersionsHandler-DJ00TTHi.js +7 -0
- package/dist/interface/assets/Workers-BCBrqShK.js +2 -0
- package/dist/interface/assets/{account-Bj9K0GxP.js → account-jONrhXkE.js} +1 -1
- package/dist/interface/assets/ace-DYqf8ZN7.js +1 -0
- package/dist/interface/assets/{ace.config-BnKJ0Xjj.js → ace.config-C_wgqTLD.js} +1 -1
- package/dist/interface/assets/{alert-circle-CIUWSUwz.js → alert-circle-CqEfEWD8.js} +1 -1
- package/dist/interface/assets/{alert-outline-Drr1xRLR.js → alert-outline-DcXO2ICo.js} +1 -1
- package/dist/interface/assets/api-ByMXkaIi.js +1 -0
- package/dist/interface/assets/api-ChlkJnEG.js +2 -0
- package/dist/interface/assets/api-Ct6LuJao.css +2 -0
- package/dist/interface/assets/{arrow-left-D2D7yHHS.js → arrow-left-DGioEwqJ.js} +1 -1
- package/dist/interface/assets/{arrow-right-outline-Dr-uFrTL.js → arrow-right-outline-BrpH6MGt.js} +1 -1
- package/dist/interface/assets/auth-B-MND66x.js +1 -0
- package/dist/interface/assets/automations-DvpxT4Pa.js +1 -0
- package/dist/interface/assets/{back-filled-BKNm4yL0.js → back-filled-DZmo9cAg.js} +1 -1
- package/dist/interface/assets/{bell-ring-AbG0SUiu.js → bell-ring-D0h1GDrU.js} +1 -1
- package/dist/interface/assets/cameras.schema-2VoKYyFS.js +1 -0
- package/dist/interface/assets/{cctv-Dsa9GjK0.js → cctv-CdDfBHME.js} +1 -1
- package/dist/interface/assets/{check-circle-M9jSNRsu.js → check-circle-CVNa_reg.js} +1 -1
- package/dist/interface/assets/{chevron-down-DHv255ZG.js → chevron-down-BiRUJ9SO.js} +1 -1
- package/dist/interface/assets/{chevron-right-25txPYbE.js → chevron-right-Crha-j7O.js} +1 -1
- package/dist/interface/assets/{clock-outline-BJld7K8T.js → clock-outline-dv-kmi60.js} +1 -1
- package/dist/interface/assets/{close-CmLBRV0p.js → close-BCRtoBTk.js} +1 -1
- package/dist/interface/assets/{close-circle-BHvnizih.js → close-circle-raXx3m4Q.js} +1 -1
- package/dist/interface/assets/{cloud-check-BugyVe-9.js → cloud-check-CST59Xl_.js} +1 -1
- package/dist/interface/assets/cloudHandoff-o_0n9cgb.js +1 -0
- package/dist/interface/assets/config-UED3wn2k.js +1 -0
- package/dist/interface/assets/{copy-DDVxvyoc.js → copy-C53ZJyaU.js} +1 -1
- package/dist/interface/assets/{delete-CtYWBBjD.js → delete-Dvdp44LT.js} +1 -1
- package/dist/interface/assets/{dist-DTS9WzwS.js → dist-DZi5AgJB.js} +1 -1
- package/dist/interface/assets/{download-DI4SAe-9.js → download-Dq82fWLS.js} +1 -1
- package/dist/interface/assets/esm-5O0fbEL-.js +1 -0
- package/dist/interface/assets/esm-8JcCIx6p.js +1 -0
- package/dist/interface/assets/esm-BIwkRkap.js +1 -0
- package/dist/interface/assets/esm-Ba1kg7sT.js +1 -0
- package/dist/interface/assets/esm-CI9fumfA.js +1 -0
- package/dist/interface/assets/esm-CfqCZ8Ic.js +1 -0
- package/dist/interface/assets/esm-Cle2K7IB.js +1 -0
- package/dist/interface/assets/esm-DGhY5suq.js +1 -0
- package/dist/interface/assets/esm-D_SYso1m.js +1 -0
- package/dist/interface/assets/esm-Dg-c_Ys9.js +1 -0
- package/dist/interface/assets/esm-IjMpYY_D.js +1 -0
- package/dist/interface/assets/esm-JkR46BGF.js +1 -0
- package/dist/interface/assets/esm-KCb4USia.js +1 -0
- package/dist/interface/assets/esm-fiu1-7Vf.js +1 -0
- package/dist/interface/assets/flowSchema-DyobL8Pg.js +1 -0
- package/dist/interface/assets/history--LGIMjNU.js +1 -0
- package/dist/interface/assets/{home-BJNZT_YD.js → home-C5hRJg9h.js} +1 -1
- package/dist/interface/assets/{information-outline-CHe_6DI5.js → information-outline-CjhiKBjG.js} +1 -1
- package/dist/interface/assets/lightbulb-outline-BGFG7wv-.js +1 -0
- package/dist/interface/assets/main-Cd1DVdC9.js +3 -0
- package/dist/interface/assets/{main-xpYSWHxw.css → main-DbPnvfcp.css} +1 -1
- package/dist/interface/assets/{microphone-BOOe4oV_.js → microphone-Dp5Yhz6Z.js} +1 -1
- package/dist/interface/assets/mqtt-BltdxiuG.js +1 -0
- package/dist/interface/assets/native-CNOra93F.js +1 -0
- package/dist/interface/assets/native-DAl9Pmov.js +1 -0
- package/dist/interface/assets/nodeDefinitions-DkMCR_zX.js +1 -0
- package/dist/interface/assets/notifications-D4Mi4q8n.js +1 -0
- package/dist/interface/assets/plugin-HHKHhKIh.js +1 -0
- package/dist/interface/assets/plugins-DmgMSZSt.js +1 -0
- package/dist/interface/assets/{plus-7Bv7p-4I.js → plus-C6l_Q-mY.js} +1 -1
- package/dist/interface/assets/{plus-BCms6Xgy.js → plus-DhRnJIfm.js} +1 -1
- package/dist/interface/assets/{power-U-0IYm8S.js → power-BfcMaKbx.js} +1 -1
- package/dist/interface/assets/{ring-resize-D94sHXpl.js → ring-resize-peEJMXPl.js} +1 -1
- package/dist/interface/assets/{round-alt-arrow-left-bold-D32PAlNy.js → round-alt-arrow-left-bold-BcL7KVCG.js} +1 -1
- package/dist/interface/assets/round-restart-alt-D1SwcyIw.js +1 -0
- package/dist/interface/assets/{search-Bl-cpkGE.js → search-BTu5ntI6.js} +1 -1
- package/dist/interface/assets/server-BBvLLocT.js +1 -0
- package/dist/interface/assets/{settings-U-eM-yb0.js → settings-wRDwvjf-.js} +1 -1
- package/dist/interface/assets/{source-branch-BUtkgBs9.js → source-branch-DejOTyZv.js} +1 -1
- package/dist/interface/assets/theme-CHyA8uCs.js +1 -0
- package/dist/interface/assets/{trash-2-BC03Elz-.js → trash-2-upauF9j0.js} +1 -1
- package/dist/interface/assets/{trash-can-outline-B2dODnEo.js → trash-can-outline-PQys0L3O.js} +1 -1
- package/dist/interface/assets/{trash-fill-DP6UF4-i.js → trash-fill-DDHuYpvM.js} +1 -1
- package/dist/interface/assets/{trash2-D2pzjkdI.js → trash2-M6P7YvkH.js} +1 -1
- package/dist/interface/assets/types-ByD7R6WC.js +1 -0
- package/dist/interface/assets/types-DRsoZjsP.js +1 -0
- package/dist/interface/assets/types-f9LWayxM.js +1 -0
- package/dist/interface/assets/{upload-BohhBI5n.js → upload-DwNCSVAl.js} +1 -1
- package/dist/interface/assets/{useAppVersion-IC8NIRbM.js → useAppVersion-dQkatyRF.js} +1 -1
- package/dist/interface/assets/useBackupRestore-D6Vxck9i.js +1 -0
- package/dist/interface/assets/useCameraOptions-zPRiut_S.js +1 -0
- package/dist/interface/assets/useCardSelection-BdYBm23a.js +1 -0
- package/dist/interface/assets/useLogsSocket-DzKSWAVf.js +5 -0
- package/dist/interface/assets/{useServerRestart-CWWCuwJk.js → useServerRestart-DjaOOudi.js} +1 -1
- package/dist/interface/assets/useStreamStatus-DpXFSeOf.js +1 -0
- package/dist/interface/assets/useUserOptions-B8T0ROJS.js +1 -0
- package/dist/interface/assets/{variable-DRbxOwmi.js → variable-K7DoQHpX.js} +1 -1
- package/dist/interface/assets/{vendor-BLNgd-x3.js → vendor-CdGy-Xet.js} +3 -3
- package/dist/interface/assets/{vendor-ace-BlP3GAWI.js → vendor-ace-CrklN-bc.js} +1 -1
- package/dist/interface/assets/vendor-cameraui-D7o3alq7.js +2039 -0
- package/dist/interface/assets/vendor-capacitor-BmJAC1FL.js +2 -0
- package/dist/interface/assets/{vendor-chart-Dvv3fqtl.js → vendor-chart-BDu4sN9x.js} +1 -1
- package/dist/interface/assets/vendor-core-M6N9PctY.js +1 -0
- package/dist/interface/assets/{vendor-dnd-DRBhj_4o.js → vendor-dnd-BN6m9rq8.js} +2 -2
- package/dist/interface/assets/{vendor-draggabilly-1XTUOfXs.js → vendor-draggabilly-BLoTmI_a.js} +1 -1
- package/dist/interface/assets/vendor-gridstack-DHPnER0W.js +3 -0
- package/dist/interface/assets/vendor-gridstack-Dxwp3vpP.css +1 -0
- package/dist/interface/assets/{vendor-markdown-CCHIN82I.js → vendor-markdown-D_3Of-Gz.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-CpvvTA4S.js → vendor-primevue-BynQnxoR.js} +204 -204
- package/dist/interface/assets/{vendor-vueflow-ta6qJibr.js → vendor-vueflow-D7rAeKHv.js} +1 -1
- package/dist/interface/assets/vendor-zod-BaT-dXMv.js +127 -0
- package/dist/interface/assets/web-B2hT39CL.js +1 -0
- package/dist/interface/assets/web-BKoMlshd.js +1 -0
- package/dist/interface/assets/web-BjKL51lK-Ut62Hifg.js +1 -0
- package/dist/interface/assets/web-C0ZNZcUJ.js +1 -0
- package/dist/interface/assets/web-CvKW_k8u.js +1 -0
- package/dist/interface/assets/web-CxfYyhSm.js +1 -0
- package/dist/interface/assets/web-CzA5zxEf.js +1 -0
- package/dist/interface/assets/web-D7XF0rfU.js +1 -0
- package/dist/interface/assets/web-DgSunHN1.js +1 -0
- package/dist/interface/assets/web-DpgTK9mR.js +1 -0
- package/dist/interface/assets/web-Hi4guSgN.js +1 -0
- package/dist/interface/assets/web-QaIP1Mop.js +1 -0
- package/dist/interface/assets/web-VGpOPxhq.js +1 -0
- package/dist/interface/assets/web-g-y7DVV1.js +1 -0
- package/dist/interface/assets/{webhook-CdlhvGGB.js → webhook-CQl989bo.js} +1 -1
- package/dist/interface/assets/workbox-window.prod.es5-YHyKoEMU.js +1 -0
- package/dist/interface/assets/{zoom-in-COcGqk1M.js → zoom-in-2i20zd_d.js} +1 -1
- package/dist/interface/index.html +213 -173
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +13 -11
- package/dist/server/requirements.txt +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +14 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +12 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +26 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +20 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +6 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/recording.py +27 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +4 -4
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/notifier.py +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +4 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/audio.py +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +3 -3
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/battery.py +8 -5
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/classifier.py +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/contact.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/detection.py +7 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/doorbell.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face.py +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/garage.py +5 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/humidity.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/leak.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/license_plate.py +6 -3
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/light.py +7 -5
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/lock.py +4 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/motion.py +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/occupancy.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/ptz.py +24 -5
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/security_system.py +4 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/siren.py +7 -5
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/smoke.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/switch.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/temperature.py +3 -2
- package/dist/server/src/api/controllers/auth.controller.d.ts +1 -0
- package/dist/server/src/api/controllers/auth.controller.js +19 -0
- package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
- package/dist/server/src/api/controllers/automations.controller.d.ts +1 -0
- package/dist/server/src/api/controllers/automations.controller.js +12 -0
- package/dist/server/src/api/controllers/automations.controller.js.map +1 -1
- package/dist/server/src/api/controllers/cameras.controller.d.ts +4 -1
- package/dist/server/src/api/controllers/cameras.controller.js +95 -1
- package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
- package/dist/server/src/api/controllers/mqtt.controller.d.ts +1 -0
- package/dist/server/src/api/controllers/mqtt.controller.js +8 -0
- package/dist/server/src/api/controllers/mqtt.controller.js.map +1 -1
- package/dist/server/src/api/database/constants.d.ts +1 -0
- package/dist/server/src/api/database/constants.js +1 -0
- package/dist/server/src/api/database/constants.js.map +1 -1
- package/dist/server/src/api/database/index.d.ts +4 -1
- package/dist/server/src/api/database/index.js +37 -3
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/database/migrations/v2-0-51.d.ts +3 -0
- package/dist/server/src/api/database/migrations/v2-0-51.js +43 -0
- package/dist/server/src/api/database/migrations/v2-0-51.js.map +1 -0
- package/dist/server/src/api/database/record-schemas.d.ts +3 -3
- package/dist/server/src/api/database/types.d.ts +4 -2
- package/dist/server/src/api/index.d.ts +2 -0
- package/dist/server/src/api/index.js +92 -6
- package/dist/server/src/api/index.js.map +1 -1
- package/dist/server/src/api/ingress.d.ts +10 -0
- package/dist/server/src/api/ingress.js +54 -0
- package/dist/server/src/api/ingress.js.map +1 -0
- package/dist/server/src/api/middlewares/socketAuth.middleware.js +5 -1
- package/dist/server/src/api/middlewares/socketAuth.middleware.js.map +1 -1
- package/dist/server/src/api/render-index.d.ts +3 -0
- package/dist/server/src/api/render-index.js +39 -0
- package/dist/server/src/api/render-index.js.map +1 -0
- package/dist/server/src/api/routes/auth.routes.js +10 -0
- package/dist/server/src/api/routes/auth.routes.js.map +1 -1
- package/dist/server/src/api/routes/automations.routes.js +11 -0
- package/dist/server/src/api/routes/automations.routes.js.map +1 -1
- package/dist/server/src/api/routes/backup.routes.js +4 -0
- package/dist/server/src/api/routes/backup.routes.js.map +1 -1
- package/dist/server/src/api/routes/cameras.routes.js +35 -1
- package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
- package/dist/server/src/api/routes/index.js +14 -1
- package/dist/server/src/api/routes/index.js.map +1 -1
- package/dist/server/src/api/routes/mqtt.routes.js +10 -0
- package/dist/server/src/api/routes/mqtt.routes.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +163 -21
- package/dist/server/src/api/schemas/cameras.schema.js +39 -3
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/config.schema.d.ts +1 -0
- package/dist/server/src/api/schemas/config.schema.js +1 -0
- package/dist/server/src/api/schemas/config.schema.js.map +1 -1
- package/dist/server/src/api/schemas/users.schema.d.ts +21 -21
- package/dist/server/src/api/schemas/users.schema.js +3 -16
- package/dist/server/src/api/schemas/users.schema.js.map +1 -1
- package/dist/server/src/api/schemas/virtualsensors.schema.js.map +1 -1
- package/dist/server/src/api/services/automations.service.d.ts +6 -0
- package/dist/server/src/api/services/automations.service.js +28 -3
- package/dist/server/src/api/services/automations.service.js.map +1 -1
- package/dist/server/src/api/services/backup.service.d.ts +6 -1
- package/dist/server/src/api/services/backup.service.js +28 -5
- package/dist/server/src/api/services/backup.service.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.d.ts +2 -0
- package/dist/server/src/api/services/cameras.service.js +28 -4
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/api/services/mqtt.service.d.ts +1 -0
- package/dist/server/src/api/services/mqtt.service.js +3 -0
- package/dist/server/src/api/services/mqtt.service.js.map +1 -1
- package/dist/server/src/api/services/plugins.service.js +1 -5
- package/dist/server/src/api/services/plugins.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +12 -0
- package/dist/server/src/api/websocket/nsp/events.d.ts +12 -0
- package/dist/server/src/api/websocket/nsp/events.js +76 -1
- package/dist/server/src/api/websocket/nsp/events.js.map +1 -1
- package/dist/server/src/automations/actions/cameraControl.js +4 -3
- package/dist/server/src/automations/actions/cameraControl.js.map +1 -1
- package/dist/server/src/automations/actions/http.js +1 -1
- package/dist/server/src/automations/actions/http.js.map +1 -1
- package/dist/server/src/automations/actions/plugin.js +4 -1
- package/dist/server/src/automations/actions/plugin.js.map +1 -1
- package/dist/server/src/automations/conditions/ifelse.js +7 -6
- package/dist/server/src/automations/conditions/ifelse.js.map +1 -1
- package/dist/server/src/automations/conditions/switch.js +6 -2
- package/dist/server/src/automations/conditions/switch.js.map +1 -1
- package/dist/server/src/automations/context.d.ts +2 -1
- package/dist/server/src/automations/context.js +47 -25
- package/dist/server/src/automations/context.js.map +1 -1
- package/dist/server/src/automations/engine.d.ts +3 -0
- package/dist/server/src/automations/engine.js +66 -9
- package/dist/server/src/automations/engine.js.map +1 -1
- package/dist/server/src/automations/parseValue.d.ts +2 -0
- package/dist/server/src/automations/parseValue.js +8 -0
- package/dist/server/src/automations/parseValue.js.map +1 -1
- package/dist/server/src/automations/runner.d.ts +6 -2
- package/dist/server/src/automations/runner.js +103 -43
- package/dist/server/src/automations/runner.js.map +1 -1
- package/dist/server/src/automations/trace.d.ts +25 -0
- package/dist/server/src/automations/trace.js +17 -0
- package/dist/server/src/automations/trace.js.map +1 -0
- package/dist/server/src/automations/triggers/detection.js +2 -1
- package/dist/server/src/automations/triggers/detection.js.map +1 -1
- package/dist/server/src/automations/triggers/schedule.js +10 -44
- package/dist/server/src/automations/triggers/schedule.js.map +1 -1
- package/dist/server/src/automations/triggers/sensor.js +9 -2
- package/dist/server/src/automations/triggers/sensor.js.map +1 -1
- package/dist/server/src/camera/controller.js +6 -1
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-coordinator.d.ts +2 -0
- package/dist/server/src/camera/decoder/detection-coordinator.js +11 -1
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/event-manager.d.ts +12 -1
- package/dist/server/src/camera/decoder/event-manager.js +95 -15
- package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
- package/dist/server/src/camera/decoder/plate-vote.d.ts +20 -0
- package/dist/server/src/camera/decoder/plate-vote.js +63 -0
- package/dist/server/src/camera/decoder/plate-vote.js.map +1 -0
- package/dist/server/src/camera/decoder/secondary-stage.d.ts +3 -2
- package/dist/server/src/camera/decoder/secondary-stage.js +26 -13
- package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
- package/dist/server/src/camera/decoder/stationary-suppressor.d.ts +6 -0
- package/dist/server/src/camera/decoder/stationary-suppressor.js +59 -17
- package/dist/server/src/camera/decoder/stationary-suppressor.js.map +1 -1
- package/dist/server/src/camera/decoder/worker.d.ts +0 -1
- package/dist/server/src/camera/decoder/worker.js +0 -3
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/camera/index.d.ts +2 -1
- package/dist/server/src/camera/index.js +3 -0
- package/dist/server/src/camera/index.js.map +1 -1
- package/dist/server/src/camera/sensors/controller.js +6 -4
- package/dist/server/src/camera/sensors/controller.js.map +1 -1
- package/dist/server/src/camera/sensors/semantics.d.ts +3 -0
- package/dist/server/src/camera/sensors/semantics.js +12 -0
- package/dist/server/src/camera/sensors/semantics.js.map +1 -0
- package/dist/server/src/camera/sensors/sensor.js +17 -11
- package/dist/server/src/camera/sensors/sensor.js.map +1 -1
- package/dist/server/src/camera/sensors/stable-id.d.ts +1 -0
- package/dist/server/src/camera/sensors/stable-id.js +5 -1
- package/dist/server/src/camera/sensors/stable-id.js.map +1 -1
- package/dist/server/src/camera/sensors/types.d.ts +12 -3
- package/dist/server/src/camera/sensors/types.js +48 -216
- package/dist/server/src/camera/sensors/types.js.map +1 -1
- package/dist/server/src/camera/streaming/fmp4-session.js +49 -26
- package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
- package/dist/server/src/camera/streaming/rtp-session.js +53 -19
- package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
- package/dist/server/src/internal-bus.d.ts +20 -2
- package/dist/server/src/internal-bus.js.map +1 -1
- package/dist/server/src/manager/discoveryManager.d.ts +2 -0
- package/dist/server/src/manager/discoveryManager.js +11 -7
- package/dist/server/src/manager/discoveryManager.js.map +1 -1
- package/dist/server/src/mqtt/bridge.d.ts +1 -0
- package/dist/server/src/mqtt/bridge.js +11 -7
- package/dist/server/src/mqtt/bridge.js.map +1 -1
- package/dist/server/src/mqtt/ha-discovery.d.ts +0 -1
- package/dist/server/src/mqtt/ha-discovery.js +96 -179
- package/dist/server/src/mqtt/ha-discovery.js.map +1 -1
- package/dist/server/src/mqtt/manager.d.ts +3 -0
- package/dist/server/src/mqtt/manager.js +15 -0
- package/dist/server/src/mqtt/manager.js.map +1 -1
- package/dist/server/src/plugins/index.js +4 -7
- package/dist/server/src/plugins/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/go/index.d.ts +0 -1
- package/dist/server/src/plugins/runtime/go/index.js +25 -32
- package/dist/server/src/plugins/runtime/go/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/index.js +3 -2
- package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/sensor.d.ts +0 -1
- package/dist/server/src/plugins/runtime/node/proxy/sensor.js +4 -4
- package/dist/server/src/plugins/runtime/node/proxy/sensor.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/index.js +17 -1
- package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +5 -0
- package/dist/server/src/plugins/worker.js +10 -2
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/remote/services/cloudflare-managed.d.ts +1 -0
- package/dist/server/src/remote/services/cloudflare-managed.js +7 -1
- package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -1
- package/dist/server/src/remote/services/cloudflare.js +6 -3
- package/dist/server/src/remote/services/cloudflare.js.map +1 -1
- package/dist/server/src/remote/services/index.js +3 -0
- package/dist/server/src/remote/services/index.js.map +1 -1
- package/dist/server/src/rpc/interfaces/sensor.d.ts +1 -0
- package/dist/server/src/services/config/index.d.ts +1 -0
- package/dist/server/src/services/config/index.js +11 -6
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/services/config/types.d.ts +1 -1
- package/dist/server/src/services/mdns/index.js +3 -0
- package/dist/server/src/services/mdns/index.js.map +1 -1
- package/dist/server/src/utils/camera.d.ts +1 -0
- package/dist/server/src/utils/camera.js +4 -1
- package/dist/server/src/utils/camera.js.map +1 -1
- package/dist/server/src/utils/path.d.ts +1 -1
- package/dist/server/src/utils/path.js +1 -1
- package/dist/server/src/utils/path.js.map +1 -1
- package/dist/server/src/utils/pythonInstaller.d.ts +1 -0
- package/dist/server/src/utils/pythonInstaller.js +18 -6
- package/dist/server/src/utils/pythonInstaller.js.map +1 -1
- package/dist/server/src/workers/agent.d.ts +1 -0
- package/dist/server/src/workers/agent.js +4 -1
- package/dist/server/src/workers/agent.js.map +1 -1
- package/dist/server/src/workers/capabilities/plugin-host.d.ts +2 -1
- package/dist/server/src/workers/capabilities/plugin-host.js +8 -1
- package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
- package/dist/server/src/workers/manager.d.ts +2 -1
- package/dist/server/src/workers/manager.js +12 -0
- package/dist/server/src/workers/manager.js.map +1 -1
- package/dist/server/src/workers/types.d.ts +7 -0
- package/package.json +13 -11
- package/dist/interface/assets/404-CHNnQ07B.js +0 -1
- package/dist/interface/assets/About-BsaU74tJ.js +0 -1
- package/dist/interface/assets/Adminpanel-DtAn7w3q.js +0 -1
- package/dist/interface/assets/Automation-B6dndnPV.js +0 -2
- package/dist/interface/assets/AutomationImport-DuUOIIyR.js +0 -2
- package/dist/interface/assets/AutomationStore-Xah6Ds5s.js +0 -2
- package/dist/interface/assets/AutomationStoreDetail-DjgQq4MK.js +0 -2
- package/dist/interface/assets/Automations-Z2Esd61q.js +0 -2
- package/dist/interface/assets/Camera-D59ItpvH.js +0 -2
- package/dist/interface/assets/CameraConsole-H8Dw-cqw.js +0 -7
- package/dist/interface/assets/Cameras-2kM76WUB.css +0 -1
- package/dist/interface/assets/Cameras-Jowje8rS.js +0 -652
- package/dist/interface/assets/Camview-BUf_kn9a.js +0 -1
- package/dist/interface/assets/Config-BRr7oxiv.js +0 -2
- package/dist/interface/assets/ConfigActionCameraControl-k8QcbpFi.js +0 -1
- package/dist/interface/assets/ConfigActionHttp-DghgMG8I.js +0 -1
- package/dist/interface/assets/ConfigActionImageInput-DdJ9WVUi.js +0 -1
- package/dist/interface/assets/ConfigActionMqtt-CwIl_CUG.js +0 -1
- package/dist/interface/assets/ConfigActionNotification-BKumqxEl.js +0 -1
- package/dist/interface/assets/ConfigActionOutput-Dtkhn36z.js +0 -1
- package/dist/interface/assets/ConfigActionPlugin-eYhvQu7v.js +0 -1
- package/dist/interface/assets/ConfigActionSensor-CBGTysP5.js +0 -1
- package/dist/interface/assets/ConfigActionSnapshot-DeEZpkGU.js +0 -1
- package/dist/interface/assets/ConfigActionVariable-B-OJvgFr.js +0 -1
- package/dist/interface/assets/ConfigConditionIfElse-C-GRpawm.js +0 -1
- package/dist/interface/assets/ConfigConditionSensorState-BcT1OdkE.js +0 -1
- package/dist/interface/assets/ConfigConditionSwitch-DCtfW4os.js +0 -1
- package/dist/interface/assets/ConfigSensorValueInput-33yyWBvv.js +0 -1
- package/dist/interface/assets/ConfigTriggerDetection-DKXtEYs5.js +0 -1
- package/dist/interface/assets/ConfigTriggerGeofence-BDbH0yi3.js +0 -1
- package/dist/interface/assets/ConfigTriggerMqtt-3JYUp5bN.js +0 -1
- package/dist/interface/assets/ConfigTriggerSchedule-BzMQhwFK.js +0 -1
- package/dist/interface/assets/ConfigTriggerSensor-CW4m1Kih.js +0 -1
- package/dist/interface/assets/ConfigTriggerWebhook-D1ZxjnBH.js +0 -1
- package/dist/interface/assets/Console-BfDxTA0z.js +0 -1
- package/dist/interface/assets/CuiActionButton-3g3d4Hty.js +0 -1
- package/dist/interface/assets/CuiAvatar-BtMXnhxd.css +0 -1
- package/dist/interface/assets/CuiAvatar-DC5kBssG.js +0 -1
- package/dist/interface/assets/CuiBBoxPlayground-C-ROFu1J.js +0 -1
- package/dist/interface/assets/CuiBBoxPlayground-EFkdOBvq.css +0 -1
- package/dist/interface/assets/CuiBottomSheet-DewYUtvd.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-DhJ7mPOY.js +0 -1
- package/dist/interface/assets/CuiCameraCard-BxGmxXxZ.css +0 -1
- package/dist/interface/assets/CuiCameraCard-DW0FQ7bq.js +0 -1
- package/dist/interface/assets/CuiCameraPipCard-CvSggtUF.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-rzFWZQ5x.js +0 -1
- package/dist/interface/assets/CuiCameraShares-jhAbADz_.js +0 -1
- package/dist/interface/assets/CuiCameraSnapshot-B4j7AOCs.js +0 -1
- package/dist/interface/assets/CuiCameraTable-CTvIHn1t.js +0 -2
- package/dist/interface/assets/CuiDataTable-BCji83l4.js +0 -1
- package/dist/interface/assets/CuiFloatingButton-BCfFilF6.js +0 -1
- package/dist/interface/assets/CuiImage-BM4g6edi.css +0 -1
- package/dist/interface/assets/CuiImage-OMB9QmYG.js +0 -1
- package/dist/interface/assets/CuiMarkdownContent-H33iUdE5.js +0 -1
- package/dist/interface/assets/CuiMenu-BWUfWLQP.css +0 -1
- package/dist/interface/assets/CuiMenu-Cu1XcfTo.js +0 -1
- package/dist/interface/assets/CuiPluginCard-BpRfC_LZ.js +0 -2
- package/dist/interface/assets/CuiPluginCategoryChip-BQyTd-CO.js +0 -1
- package/dist/interface/assets/CuiPluginOAuthButton-DJE7icya.js +0 -2
- package/dist/interface/assets/CuiPluginTrustBadge-RbS7zcMn.js +0 -1
- package/dist/interface/assets/CuiQRCode-DCu3UUaE.js +0 -1
- package/dist/interface/assets/CuiRecordingsGrid-Gd_UBE9S.js +0 -1
- package/dist/interface/assets/CuiSchema-CdXvzvH_.js +0 -1
- package/dist/interface/assets/CuiTopNavbarItem-CTOystLC.js +0 -1
- package/dist/interface/assets/CuiTopbarSlot-BkbPbFkm.js +0 -1
- package/dist/interface/assets/Faces-B07vg9aT.js +0 -1
- package/dist/interface/assets/FirstSteps-CAm3e-Ps.js +0 -1
- package/dist/interface/assets/Instances-5F02xSdP.js +0 -1
- package/dist/interface/assets/Logs-aditW96b.js +0 -6
- package/dist/interface/assets/Menu-B5bs9Nk6.js +0 -1
- package/dist/interface/assets/OAuthDeviceFlow-jvatqxEp.js +0 -1
- package/dist/interface/assets/Plugin-Cvf6z--K.js +0 -1
- package/dist/interface/assets/PluginConsole-IwnVx03U.js +0 -7
- package/dist/interface/assets/PluginDetail-DQkDmMhZ.js +0 -2
- package/dist/interface/assets/PluginSchema-BejWv56L.js +0 -1
- package/dist/interface/assets/PluginSearch-CbV58if7.js +0 -1
- package/dist/interface/assets/PluginSearch-DXVd0zKo.js +0 -2
- package/dist/interface/assets/Plugins-BipCK9K1.js +0 -1
- package/dist/interface/assets/Recordings-DopujSNl.js +0 -1
- package/dist/interface/assets/Settings-C_fZEMd6.js +0 -1
- package/dist/interface/assets/SettingsAccount-EIs17fXL.js +0 -1
- package/dist/interface/assets/SettingsAccount-fXsR0E9w.js +0 -1
- package/dist/interface/assets/SettingsAppearance-1E4ZVOvU.js +0 -1
- package/dist/interface/assets/SettingsAppearance-D4AcjKmd.js +0 -1
- package/dist/interface/assets/SettingsBackup-CqqJcj9V.js +0 -1
- package/dist/interface/assets/SettingsMqtt-Bwsgv7hZ.js +0 -1
- package/dist/interface/assets/SettingsNotifications-DVMmqDIN.js +0 -2
- package/dist/interface/assets/SettingsRecordings-DkhYVwS5.js +0 -1
- package/dist/interface/assets/SettingsRemote-D8Gwkj-H.js +0 -1
- package/dist/interface/assets/SettingsSystem-C29jOMdZ.js +0 -2
- package/dist/interface/assets/SettingsUsers-DPyFPqNb.js +0 -1
- package/dist/interface/assets/Terminal-CkpBS5Dg.js +0 -4
- package/dist/interface/assets/VariableInput-DMER1zSR.js +0 -1
- package/dist/interface/assets/VersionsHandler-D3-3JG-p.js +0 -7
- package/dist/interface/assets/Workers-JrLx-VXf.js +0 -2
- package/dist/interface/assets/_plugin-vue_export-helper-BDNMzG2s.js +0 -1
- package/dist/interface/assets/ace-6JpPWRIj.js +0 -1
- package/dist/interface/assets/api-C-AZSdHz.css +0 -2
- package/dist/interface/assets/api-Ci2OPZLb.js +0 -2
- package/dist/interface/assets/api-Q22IOG4a.js +0 -1
- package/dist/interface/assets/auth-BqaGki6j.js +0 -1
- package/dist/interface/assets/automation-5ksuCa47.js +0 -1
- package/dist/interface/assets/automations-DhR5Sia9.js +0 -1
- package/dist/interface/assets/automations-jd-HryjO.js +0 -1
- package/dist/interface/assets/availableVariables-D9VhvJZ1.js +0 -1
- package/dist/interface/assets/bell-C9mIWMWk.js +0 -1
- package/dist/interface/assets/bell-outline-Dc2jlnIq.js +0 -1
- package/dist/interface/assets/bug-zzM1padE.js +0 -1
- package/dist/interface/assets/cameras-DveQuCR0.js +0 -1
- package/dist/interface/assets/cameras.schema-DBLOCGJX.js +0 -1
- package/dist/interface/assets/cctv-tzdxhH3J.js +0 -1
- package/dist/interface/assets/check-bBrmKigT.js +0 -1
- package/dist/interface/assets/circular-connection-CU7MCuUc.js +0 -1
- package/dist/interface/assets/cloud-outline-Buxz0EJ2.js +0 -1
- package/dist/interface/assets/cloud-outline-CcWcrU1H.js +0 -1
- package/dist/interface/assets/cloudHandoff-9tPkt-ON.js +0 -1
- package/dist/interface/assets/cog-Btmv5cTa.js +0 -1
- package/dist/interface/assets/cog-outline-COxCsaa7.js +0 -1
- package/dist/interface/assets/config-9s9zQBx8.js +0 -1
- package/dist/interface/assets/copy-16-filled-DO8QJ5jY.js +0 -1
- package/dist/interface/assets/delete-outline-PeGi5HED.js +0 -1
- package/dist/interface/assets/download-wKmzxMGG.js +0 -1
- package/dist/interface/assets/esm-BbNiWnlM.js +0 -1
- package/dist/interface/assets/esm-BdHNBTAD.js +0 -1
- package/dist/interface/assets/esm-CA5vOO11.js +0 -1
- package/dist/interface/assets/esm-CAWRiYdq.js +0 -1
- package/dist/interface/assets/esm-CnaltMuw.js +0 -1
- package/dist/interface/assets/esm-Cz7O6U8f2.js +0 -1
- package/dist/interface/assets/esm-DF-tHra0.js +0 -1
- package/dist/interface/assets/esm-DFbRgfmR.js +0 -1
- package/dist/interface/assets/esm-DMPT4YUA.js +0 -1
- package/dist/interface/assets/esm-D_25JquT.js +0 -1
- package/dist/interface/assets/esm-DaPjB4YE.js +0 -1
- package/dist/interface/assets/esm-DvYGT_BI.js +0 -1
- package/dist/interface/assets/esm-rmWYkszg.js +0 -1
- package/dist/interface/assets/esm-yAVwCMtx.js +0 -1
- package/dist/interface/assets/eventIcons-2hVCNchU.css +0 -1
- package/dist/interface/assets/eventIcons-uRPqE83F.js +0 -1
- package/dist/interface/assets/face-recognition-eRy5sHNg.js +0 -1
- package/dist/interface/assets/github-DMYx-QRV.js +0 -1
- package/dist/interface/assets/grid-fill-C4zzGgeI.js +0 -1
- package/dist/interface/assets/hasPermission-U8rWYs3e.js +0 -1
- package/dist/interface/assets/instances-D6pOZ9S2.js +0 -1
- package/dist/interface/assets/lightbulb-outline-DvCSmwHW.js +0 -1
- package/dist/interface/assets/main-DXE4zBZz.js +0 -3
- package/dist/interface/assets/motion-sensor-pRMd7Avm.js +0 -1
- package/dist/interface/assets/native-BCmNybfv.js +0 -1
- package/dist/interface/assets/native-GPGSceJj.js +0 -1
- package/dist/interface/assets/nodeDefinitions-C2RwmaJh.js +0 -1
- package/dist/interface/assets/notifications-Dfc5JraF.js +0 -1
- package/dist/interface/assets/play-solid-B6TQ0J8_.js +0 -1
- package/dist/interface/assets/plugin-DD3mGhTv.js +0 -1
- package/dist/interface/assets/plugins-F8HC_aub.js +0 -1
- package/dist/interface/assets/puzzle-filled-D4sL3q0q.js +0 -1
- package/dist/interface/assets/refresh-rounded-B00F7iZg.js +0 -1
- package/dist/interface/assets/round-restart-alt-Dvdf0cs5.js +0 -1
- package/dist/interface/assets/router-DZjA6qEF.css +0 -1
- package/dist/interface/assets/router-F1vxbpmr.js +0 -2
- package/dist/interface/assets/routerState-jp8ZOkH0.js +0 -1
- package/dist/interface/assets/server-CVqV-aK8.js +0 -1
- package/dist/interface/assets/shares-CgYXFl_V.js +0 -1
- package/dist/interface/assets/shield-check-BwIO9FNq.js +0 -1
- package/dist/interface/assets/terminal-BASwIORZ.js +0 -1
- package/dist/interface/assets/theme-CeTMD7iy.js +0 -1
- package/dist/interface/assets/transit-connection-variant-BbMJgsqX.js +0 -1
- package/dist/interface/assets/types-BSNzLwmC.js +0 -1
- package/dist/interface/assets/types-BxFyoO54.js +0 -1
- package/dist/interface/assets/types-C72GH31_.js +0 -1
- package/dist/interface/assets/ui-Buqvvz5_.js +0 -1
- package/dist/interface/assets/useBackupRestore-B_L5eacS.js +0 -1
- package/dist/interface/assets/useBiometricCredentials-XSBauCAw.js +0 -1
- package/dist/interface/assets/useCameraOptions-Csn90EfC.js +0 -1
- package/dist/interface/assets/useCuiCameraDrawer-CmKK-nWj.js +0 -1
- package/dist/interface/assets/useCuiDialog-CsfQVxs9.js +0 -2
- package/dist/interface/assets/useFileDownload-Cgl2TsAx.js +0 -1
- package/dist/interface/assets/useLogsSocket-DROirzwW.js +0 -5
- package/dist/interface/assets/useSharedComposables-Dt2kEWWK.js +0 -1
- package/dist/interface/assets/useStreamStatus-GuRUKQIO.js +0 -1
- package/dist/interface/assets/useUpdateChannel-C_QBlWej.js +0 -1
- package/dist/interface/assets/useUserOptions-CEgftL3b.js +0 -1
- package/dist/interface/assets/users.schema-CfQ1Ms-E.js +0 -1
- package/dist/interface/assets/vendor-cameraui-C1IKkRDu.js +0 -2039
- package/dist/interface/assets/vendor-capacitor-CgsKMKU7.js +0 -2
- package/dist/interface/assets/vendor-core-D8HwO28D.js +0 -1
- package/dist/interface/assets/vendor-gridstack-DD5uGA3X.js +0 -3
- package/dist/interface/assets/vendor-gridstack-Rg2RhwAc.css +0 -1
- package/dist/interface/assets/vendor-zod-XsuaxHRY.js +0 -127
- package/dist/interface/assets/view-grid-CFIWphbe.js +0 -1
- package/dist/interface/assets/view-grid-CWZLWCco.css +0 -1
- package/dist/interface/assets/web-B8HJA2eH.js +0 -1
- package/dist/interface/assets/web-BGITTsNt.js +0 -1
- package/dist/interface/assets/web-BQB4qOgy.js +0 -1
- package/dist/interface/assets/web-BSXReJ_Z.js +0 -1
- package/dist/interface/assets/web-BhWC15qT.js +0 -1
- package/dist/interface/assets/web-BjKL51lK-DdfGLx29.js +0 -1
- package/dist/interface/assets/web-C8JXaRi_.js +0 -1
- package/dist/interface/assets/web-CoDDbrp3.js +0 -1
- package/dist/interface/assets/web-D3SmeLx8.js +0 -1
- package/dist/interface/assets/web-DAvyrq3Y.js +0 -1
- package/dist/interface/assets/web-GLZJCv4W.js +0 -1
- package/dist/interface/assets/web-VstUBouH.js +0 -1
- package/dist/interface/assets/web-Yn_laCd7.js +0 -1
- package/dist/interface/assets/web-kTiET-EO.js +0 -1
- 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
|
|
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(
|
|
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(
|
|
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(
|
|
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 0
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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",
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
13
|
+
class LightCapability(StrEnum):
|
|
14
14
|
"""Optional capabilities for light controls."""
|
|
15
15
|
|
|
16
16
|
Brightness = "brightness"
|
|
17
|
-
"""Light supports brightness adjustment (0
|
|
17
|
+
"""Light supports brightness adjustment (0-100)."""
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
class LightProperty(
|
|
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 0
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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(
|
|
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`,
|
|
288
|
-
`
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
13
|
+
class SirenCapability(StrEnum):
|
|
14
14
|
"""Optional capabilities for siren controls."""
|
|
15
15
|
|
|
16
16
|
Volume = "volume"
|
|
17
|
-
"""Siren supports volume adjustment (0
|
|
17
|
+
"""Siren supports volume adjustment (0-100)."""
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
class SirenProperty(
|
|
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 0
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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;
|