@camera.ui/server 2.1.12 → 2.1.14-beta.0
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-BDi1TzED.js → 404-CVkDpT0X.js} +1 -1
- package/dist/interface/assets/{About-DeHiJp3n.js → About-CUgIR2xi.js} +1 -1
- package/dist/interface/assets/Automation-BYRKp0AC.js +3 -0
- package/dist/interface/assets/{AutomationImport-B3bCE-yS.js → AutomationImport-L_OzZZgi.js} +2 -2
- package/dist/interface/assets/{AutomationStore-BoWd7IW9.js → AutomationStore-DaNQqJoT.js} +2 -2
- package/dist/interface/assets/AutomationStoreDetail-Seor4Ohh.js +2 -0
- package/dist/interface/assets/Automations-BMQIkpUa.js +2 -0
- package/dist/interface/assets/Camera-3umh2Xjc.js +2 -0
- package/dist/interface/assets/{CameraConsole-C8XSUr7X.js → CameraConsole-BLlgkKDp.js} +2 -2
- package/dist/interface/assets/Cameras-DvK8E1Vk.js +651 -0
- package/dist/interface/assets/{Camview-Lp3QU0de.css → Camview-DIEa8IRE.css} +1 -1
- package/dist/interface/assets/Camview-DSO2lWxT.js +1 -0
- package/dist/interface/assets/{CertificateUpload-Cg89m_cM.js → CertificateUpload-BsnlaxRS.js} +1 -1
- package/dist/interface/assets/{Config-BDa4dy1w.js → Config-BXj83-No.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-DNmRpuPG.js → ConfigActionCameraControl-BGfvT6ME.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-Reg_tEG_.js → ConfigActionDelay-D10_C6yo.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-CqRBOSa3.js → ConfigActionHttp-DL4jh9Wz.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-GWECLY4I.js → ConfigActionImageInput-DVvMUzrT.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-Di4ZTig8.js → ConfigActionMqtt-BqK3q4cC.js} +1 -1
- package/dist/interface/assets/ConfigActionNotification-D_H5Q68D.js +1 -0
- package/dist/interface/assets/{ConfigActionNotificationControl-B_p8dnc4.js → ConfigActionNotificationControl-BnTJl4dr.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-B31cj20h.js → ConfigActionOutput-udY95_rH.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-DCUhDIiJ.js → ConfigActionPlugin-C51LrkZb.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-De63wYQU.js → ConfigActionSensor-B2tFf8x6.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-DZJDjOMT.js → ConfigActionSnapshot-BzmeByH3.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-Q3QXVMbR.js → ConfigActionVariable-BagC3lj5.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-DKonPxli.js → ConfigConditionIfElse-CQOZJ19Y.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-C_J6ERzt.js → ConfigConditionSensorState-SGYpkNP5.js} +1 -1
- package/dist/interface/assets/ConfigConditionSwitch-BXR6xUN8.js +1 -0
- package/dist/interface/assets/{ConfigConditionTime-CRDI58_P.js → ConfigConditionTime-BrEhw1R9.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-C3ep90ds.js → ConfigSensorValueInput-DezTWtbA.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-CbVFlyI8.js → ConfigTriggerDetection-xo0imE_3.js} +1 -1
- package/dist/interface/assets/ConfigTriggerGeofence-BmJpP4Ew.js +1 -0
- package/dist/interface/assets/{ConfigTriggerManual-7kAukUgk.js → ConfigTriggerManual-CmAdnZQK.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-DUCZZt2j.js → ConfigTriggerMqtt-F19dhVm1.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-lAiLdu1W.js → ConfigTriggerSchedule-BGci3Aed.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-DIhCfhcN.js → ConfigTriggerSensor-DSEDGB2X.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-DZu6Fp2j.js → ConfigTriggerSystem-DPy8Zir4.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-D3a5f6vl.js → ConfigTriggerWebhook-Dv0Kmwg8.js} +1 -1
- package/dist/interface/assets/Console-Cuh-Vc4u.js +1 -0
- package/dist/interface/assets/{CuiAutomationRunsDialog-CgzW_s6M.js → CuiAutomationRunsDialog-B1UeVC6Q.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-C7UdIQu1.js → CuiBottomSheet-BjkDE7_9.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-C9G-NoMU.js +1 -0
- package/dist/interface/assets/CuiCameraPipCard-nrln9zp-.js +1 -0
- package/dist/interface/assets/CuiCameraRecordings-B7BhgPpP.css +1 -0
- package/dist/interface/assets/CuiCameraRecordings-HKwhFpea.js +1 -0
- package/dist/interface/assets/{CuiCameraShares-D3fAJNWF.js → CuiCameraShares-D-fhJCro.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-ApLSxeO4.js → CuiCameraTable-BTVfK-HY.js} +2 -2
- package/dist/interface/assets/CuiCameraTable-DGg4_c_u.js +1 -0
- package/dist/interface/assets/{CuiChartTable-BeEij8SL.js → CuiChartTable-DAUYP-EW.js} +1 -1
- package/dist/interface/assets/{CuiConsole-CMxpzZ51.js → CuiConsole-C7aZj4wK.js} +2 -2
- package/dist/interface/assets/{CuiDataTable-f_QVzRqq.js → CuiDataTable-1B8aaZQO.js} +1 -1
- package/dist/interface/assets/CuiLightControl-CSA1PYc8.js +1 -0
- package/dist/interface/assets/{CuiList-C3oJKyJC.js → CuiList-D-hOSNou.js} +1 -1
- package/dist/interface/assets/CuiPluginCard-D1Hkyiy4.js +2 -0
- package/dist/interface/assets/{CuiPluginCategoryChip-EJhup0nM.js → CuiPluginCategoryChip-qnn-HD6g.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-CbPU8trR.js → CuiPluginOAuthButton-CXextmBv.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-B4bxBl3A.js → CuiPluginTrustBadge-C-8MN2Qc.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-CycvR5wz.js → CuiQRCode-D1qmU4qU.js} +1 -1
- package/dist/interface/assets/CuiSchema-DnHOpBg4.js +1 -0
- package/dist/interface/assets/{CuiTopNavbarItem-D4qP-WpK.js → CuiTopNavbarItem-Csb3O1-n.js} +1 -1
- package/dist/interface/assets/Faces-C0QpQxuF.js +1 -0
- package/dist/interface/assets/FirstSteps-BqZQovY7.js +1 -0
- package/dist/interface/assets/{Floorplan-Da5gt435.css → Floorplan-Bxhdg4C2.css} +1 -1
- package/dist/interface/assets/Floorplan-CW-W5ZkV.js +1 -0
- package/dist/interface/assets/Instances-VSkiqKKf.js +1 -0
- package/dist/interface/assets/{Logs-BBZMBN6a.js → Logs-DQFS2AUi.js} +2 -2
- package/dist/interface/assets/{Menu-CRLIo98F.js → Menu-COvvZ_vz.js} +1 -1
- package/dist/interface/assets/Metrics-cvbQzChA.js +9 -0
- package/dist/interface/assets/OAuthDeviceFlow-3ZC2QCAs.js +1 -0
- package/dist/interface/assets/Plugin-DjQd3Y9J.js +1 -0
- package/dist/interface/assets/{PluginConsole-D2SUwFDo.js → PluginConsole-BaUkghQD.js} +2 -2
- package/dist/interface/assets/PluginDetail-Ofj1hk2q.js +2 -0
- package/dist/interface/assets/{PluginSchema-U4q4c9ak.js → PluginSchema-f-ER7hlx.js} +1 -1
- package/dist/interface/assets/PluginSearch-Ce3S1HDv.js +1 -0
- package/dist/interface/assets/PluginSearch-D5eQsj5p.js +2 -0
- package/dist/interface/assets/{PluginUpdateProgress-DWcs6NlJ.js → PluginUpdateProgress-BfYNLvVX.js} +1 -1
- package/dist/interface/assets/Plugins-DtDN9z0k.js +1 -0
- package/dist/interface/assets/Recordings-CQGnTZFt.js +1 -0
- package/dist/interface/assets/SensorEdit-BZtiJyoI.js +1 -0
- package/dist/interface/assets/{SensorHistory-B16b4-Um.js → SensorHistory-BFkT3teu.js} +1 -1
- package/dist/interface/assets/{Sensors-BsLHVGqk.css → Sensors-CaKl4PQY.css} +1 -1
- package/dist/interface/assets/Sensors-DSR-AUqb.js +2 -0
- package/dist/interface/assets/{Settings-BOd4EPix.js → Settings-DV3JZFjc.js} +1 -1
- package/dist/interface/assets/SettingsAccount-Cd5JPsv2.js +1 -0
- package/dist/interface/assets/SettingsAccount-D4ib7Asi.js +1 -0
- package/dist/interface/assets/SettingsAppearance-BYsQmdyo.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-DZGa_aiI.js → SettingsAppearance-CC6StMAi.js} +1 -1
- package/dist/interface/assets/{SettingsBackup-DyblUiF8.js → SettingsBackup-BcVFCbhB.js} +1 -1
- package/dist/interface/assets/{SettingsList-DM0yAFkS.js → SettingsList-04HiM3OT.js} +1 -1
- package/dist/interface/assets/SettingsMqtt-XaJdsYPn.js +1 -0
- package/dist/interface/assets/SettingsNotifications-CUoYMHwr.js +1 -0
- package/dist/interface/assets/{SettingsPermissions-w2ptf4wy.js → SettingsPermissions-gFDNSlTh.js} +1 -1
- package/dist/interface/assets/SettingsRecordings-Bw64UZWe.js +1 -0
- package/dist/interface/assets/SettingsRemote-BnFW-uT-.js +2 -0
- package/dist/interface/assets/{SettingsSystem-BsXkYsRC.js → SettingsSystem-Cdjg5GNY.js} +2 -2
- package/dist/interface/assets/{SettingsUsers-BSsmo6T0.js → SettingsUsers-DphPL78H.js} +1 -1
- package/dist/interface/assets/{Terminal-cU-8dVL_.js → Terminal-CrNjqzTs.js} +2 -2
- package/dist/interface/assets/{Updates-dw0MwgsN.js → Updates-V5B9LSD-.js} +1 -1
- package/dist/interface/assets/{VariableInput-JSpyezJa.js → VariableInput-n0TxKRqq.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-DZbWgsck.js → VariableSuggestions-C4LmaCAo.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-C_mzsgfj.js → VersionsHandler-BPocJcb0.js} +2 -2
- package/dist/interface/assets/{VirtualSensorCreate-3mJ8c6Tl.js → VirtualSensorCreate-BPvbrzGS.js} +1 -1
- package/dist/interface/assets/Workers-DEvQNzUi.js +2 -0
- package/dist/interface/assets/{lightbulb-outline-BtraGBwO.js → alert-outline-DtiCgufF.js} +1 -1
- package/dist/interface/assets/{api-COPnjVh2.js → api-BXmkXIE8.js} +1 -1
- package/dist/interface/assets/api-DO5wBndX.css +2 -0
- package/dist/interface/assets/api-x8zXlvtm.js +4 -0
- package/dist/interface/assets/{auth-owqLfbdn.js → auth-BKJnreuu.js} +1 -1
- package/dist/interface/assets/{automations-Bql07EFx.js → automations-CVuIXlAQ.js} +1 -1
- package/dist/interface/assets/cameraSources-C3cl6FVD.js +1 -0
- package/dist/interface/assets/cloudHandoff-BZvvihwX.js +1 -0
- package/dist/interface/assets/{config-soN-D-nC.js → config-Sw94rZxF.js} +1 -1
- package/dist/interface/assets/{flowSchema-BFZ6n5Su.js → flowSchema-BOrDqdeG.js} +1 -1
- package/dist/interface/assets/{intercomService-Bjn0OsVT.js → intercomService-CfCIMUlA.js} +1 -1
- package/dist/interface/assets/main-Jl93jEZK.js +3 -0
- package/dist/interface/assets/{main-BF8Mg561.css → main-Qqk3RyYP.css} +1 -1
- package/dist/interface/assets/{mqtt-CMdU36uB.js → mqtt-BaCMJJk_.js} +1 -1
- package/dist/interface/assets/nodeDefinitions-a8iyp3yk.js +1 -0
- package/dist/interface/assets/{notifications-C_CbT9aA.js → notifications-l-x8vA4D.js} +1 -1
- package/dist/interface/assets/{plugins-CGDE1O2F.js → plugins-GA9v-eQx.js} +1 -1
- package/dist/interface/assets/{rooms-BnJo8QbU.js → rooms-DX7PBdpP.js} +1 -1
- package/dist/interface/assets/sensorIcons-BTgouEmX.js +1 -0
- package/dist/interface/assets/{sensors-Bshdwbki.js → sensors-LJkBCaMk.js} +1 -1
- package/dist/interface/assets/{server-CaRDiFTF.js → server-dOx3q8o1.js} +1 -1
- package/dist/interface/assets/theme-DgrclY58.js +1 -0
- package/dist/interface/assets/types-CSWXRySW.js +1 -0
- package/dist/interface/assets/{types-Dwu7_YVv.js → types-D19FOdYo.js} +1 -1
- package/dist/interface/assets/types-Yq0FH8fa.js +1 -0
- package/dist/interface/assets/ungrouped-B_u9a5wm.js +1 -0
- package/dist/interface/assets/{ungrouped-uv64nr5n.css → ungrouped-DTYy_Pud.css} +1 -1
- package/dist/interface/assets/{updates-DelnBMM3.js → updates-BVN6uGXy.js} +1 -1
- package/dist/interface/assets/{useAppVersion-DeQeb6UF.js → useAppVersion-BUDIkitU.js} +1 -1
- package/dist/interface/assets/useBackupRestore-CnSZNCC8.js +1 -0
- package/dist/interface/assets/{useCameraOptions-DgMpN00_.js → useCameraOptions-Cgb4eV2d.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-BKPqNCOv.js → useLogsSocket-CGKtL049.js} +1 -1
- package/dist/interface/assets/{useNavLayout-BJhl8UVM.js → useNavLayout-Dcngcb73.js} +1 -1
- package/dist/interface/assets/{usePermissions-Eyt2t6_8.js → usePermissions-zJF4LCPm.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-wfckuNy_.js → usePluginUpdates-DP--lRxm.js} +1 -1
- package/dist/interface/assets/{usePushRegistration-jcfB8ujf.js → usePushRegistration-BhPBp28J.js} +1 -1
- package/dist/interface/assets/{useServerRestart-XnqHaTb7.js → useServerRestart-BpCDYbPH.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-8bE5h_fQ.js → useStreamStatus-BoVMk6KT.js} +1 -1
- package/dist/interface/assets/{useTabSwipe-DxZfseQO.js → useTabSwipe--t-Qqa31.js} +1 -1
- package/dist/interface/assets/{useUpdateChannel-CjxdE3h1.js → useUpdateChannel-DAuhU-__.js} +1 -1
- package/dist/interface/assets/{useUpdatesSocket-DFt7_yr8.js → useUpdatesSocket-C-j3b3tU.js} +1 -1
- package/dist/interface/assets/{useUserOptions-DStio0f5.js → useUserOptions-CcLVC73O.js} +1 -1
- package/dist/interface/assets/vendor-cameraui-phsC2Mmi.js +2326 -0
- package/dist/interface/assets/vendor-core-C0ZWoGJD.js +1 -0
- package/dist/interface/assets/{vendor-primevue-DXXRO7Z5.js → vendor-primevue-nPess0JU.js} +76 -76
- package/dist/interface/assets/vendor-zod-CJ7LAMqQ.js +99 -0
- package/dist/interface/ha/404-PedrGUiq.js +60 -0
- package/dist/interface/ha/About-l5fkBqG7.js +55 -0
- package/dist/interface/ha/Automation-CaSlGjT4.js +2015 -0
- package/dist/interface/ha/AutomationImport-BNavtjDq.js +206 -0
- package/dist/interface/ha/AutomationStore-BVSW8TVt.js +335 -0
- package/dist/interface/ha/AutomationStoreDetail-DHZwlpz0.js +122 -0
- package/dist/interface/ha/Automations-CZ2jvH6d.js +437 -0
- package/dist/interface/ha/Camera-CggUrrPm.js +625 -0
- package/dist/interface/ha/CameraConsole-DpzF48TF.js +52 -0
- package/dist/interface/ha/Cameras-K-kQF5tG.js +1970 -0
- package/dist/interface/ha/Camview-zJVP7JwZ.js +1337 -0
- package/dist/interface/ha/CertificateUpload-DbBQ87OT.js +117 -0
- package/dist/interface/ha/Config-Bsud2DYI.js +356 -0
- package/dist/interface/ha/ConfigActionCameraControl-Czkfw_NO.js +152 -0
- package/dist/interface/ha/ConfigActionDelay-BHug57u7.js +61 -0
- package/dist/interface/ha/ConfigActionHttp-LfbxbfgG.js +134 -0
- package/dist/interface/ha/ConfigActionImageInput-Ce2GJzCm.js +171 -0
- package/dist/interface/ha/ConfigActionMqtt-KmCGcNZb.js +81 -0
- package/dist/interface/ha/ConfigActionNotification-DUMY_3IT.js +199 -0
- package/dist/interface/ha/ConfigActionNotificationControl-B9Z2i5WR.js +111 -0
- package/dist/interface/ha/ConfigActionOutput-CX-ZQjcs.js +98 -0
- package/dist/interface/ha/ConfigActionPlugin-y5PuPwdk.js +172 -0
- package/dist/interface/ha/ConfigActionSensor-CC39Rpxi.js +139 -0
- package/dist/interface/ha/ConfigActionSnapshot-CWyhx6rk.js +48 -0
- package/dist/interface/ha/ConfigActionVariable-BNRLCthd.js +88 -0
- package/dist/interface/ha/ConfigConditionIfElse-BayS5_Dr.js +124 -0
- package/dist/interface/ha/ConfigConditionSensorState-DLXNqL-R.js +192 -0
- package/dist/interface/ha/ConfigConditionSwitch-BBesQgWi.js +128 -0
- package/dist/interface/ha/ConfigConditionTime-aD8mk2aa.js +95 -0
- package/dist/interface/ha/ConfigSensorValueInput-5JzesEuD.js +169 -0
- package/dist/interface/ha/ConfigTriggerDetection--BcjPuyh.js +241 -0
- package/dist/interface/ha/ConfigTriggerGeofence-BZi5a2Yv.js +4896 -0
- package/dist/interface/ha/ConfigTriggerManual-ConxhgNx.js +14 -0
- package/dist/interface/ha/ConfigTriggerMqtt-B6C9injX.js +134 -0
- package/dist/interface/ha/ConfigTriggerSchedule-Vv5iNKL3.js +72 -0
- package/dist/interface/ha/ConfigTriggerSensor-beixHfSD.js +73 -0
- package/dist/interface/ha/ConfigTriggerSystem-BHDpn485.js +188 -0
- package/dist/interface/ha/ConfigTriggerWebhook-D9cuCU_p.js +94 -0
- package/dist/interface/ha/Console-CbQnrt6X.js +348 -0
- package/dist/interface/ha/CuiAutomationRunsDialog-CckgCRNS.js +130 -0
- package/dist/interface/ha/CuiBottomSheet-juhGdTsO.js +270 -0
- package/dist/interface/ha/CuiCameraRecordings-CLzZiXhk.js +552 -0
- package/dist/interface/ha/CuiCameraShares-Dzx1jZGE.js +121 -0
- package/dist/interface/ha/CuiCameraTable-ug0ik9N-.js +153 -0
- package/dist/interface/ha/CuiChartTable-7EnAA-WG.js +6784 -0
- package/dist/interface/ha/CuiConsole-DOnyBSL7.js +244 -0
- package/dist/interface/ha/CuiDataTable-Cx9GBqsV.js +8725 -0
- package/dist/interface/ha/CuiList-C45psxFZ.js +57 -0
- package/dist/interface/ha/CuiMarkdownContent-D7sCtnNQ.js +4716 -0
- package/dist/interface/ha/CuiPluginCard-ChLIfOms.js +769 -0
- package/dist/interface/ha/CuiPluginOAuthButton-B6vPOEx2.js +105 -0
- package/dist/interface/ha/CuiPluginTrustBadge-BvPV93D0.js +123 -0
- package/dist/interface/ha/CuiQRCode-Djr3z54t.js +86 -0
- package/dist/interface/ha/CuiSchema-dl7TXv-k.js +963 -0
- package/dist/interface/ha/CuiTopNavbarItem-BXoda5eM.js +141 -0
- package/dist/interface/ha/Faces-DnqWMGWW.js +1281 -0
- package/dist/interface/ha/FirstSteps-CFawb017.js +251 -0
- package/dist/interface/ha/Floorplan-Mv-Ootly.js +3677 -0
- package/dist/interface/ha/Instances-DJjZ3btI.js +680 -0
- package/dist/interface/ha/Logs-CLFhW1xq.js +418 -0
- package/dist/interface/ha/Menu-D7QTRqMJ.js +161 -0
- package/dist/interface/ha/Metrics-CCvFtezL.js +1330 -0
- package/dist/interface/ha/OAuthDeviceFlow-4YupTNsK.js +112 -0
- package/dist/interface/ha/Plugin-BHU0yhBa.js +1404 -0
- package/dist/interface/ha/PluginConsole-CNrLuFQM.js +56 -0
- package/dist/interface/ha/PluginDetail-Bm3X-xN4.js +230 -0
- package/dist/interface/ha/PluginSearch-C0be8cYD.js +475 -0
- package/dist/interface/ha/PluginUpdateProgress-DVvgYMLG.js +34 -0
- package/dist/interface/ha/Plugins-R-uz0Se-.js +705 -0
- package/dist/interface/ha/Recordings-DAwbihs8.js +1463 -0
- package/dist/interface/ha/SensorEdit-BxE1cRLR.js +1460 -0
- package/dist/interface/ha/SensorHistory-DUGlH2pU.js +54 -0
- package/dist/interface/ha/Sensors-Cax5RlPH.js +1358 -0
- package/dist/interface/ha/Settings-DKtlCoyz.js +218 -0
- package/dist/interface/ha/SettingsAccount-2e_Vjpev.js +970 -0
- package/dist/interface/ha/SettingsAppearance-DCm60FhX.js +220 -0
- package/dist/interface/ha/SettingsBackup-CiM_nNWt.js +556 -0
- package/dist/interface/ha/SettingsList-D4D3cmLo.js +40 -0
- package/dist/interface/ha/SettingsMqtt-CID4L0PD.js +526 -0
- package/dist/interface/ha/SettingsNotifications-DGJkhm8T.js +529 -0
- package/dist/interface/ha/SettingsPermissions-Cd0rtgli.js +84 -0
- package/dist/interface/ha/SettingsRecordings-pR4L0wgy.js +151 -0
- package/dist/interface/ha/SettingsRemote-CYg-LSQK.js +1810 -0
- package/dist/interface/ha/SettingsSystem-BeYJN1Ut.js +376 -0
- package/dist/interface/ha/SettingsUsers-F4CZggSR.js +379 -0
- package/dist/interface/ha/Terminal-iQahUx9P.js +631 -0
- package/dist/interface/ha/Updates-ClQ77p-o.js +356 -0
- package/dist/interface/ha/VariableInput-BOHBmNff.js +52 -0
- package/dist/interface/ha/VariableSuggestions-BE06z6SW.js +201 -0
- package/dist/interface/ha/VersionsHandler-Cx9u0oj8.js +211 -0
- package/dist/interface/ha/VirtualSensorCreate-CvSzLo4N.js +101 -0
- package/dist/interface/ha/Workers-CEJtdSu-.js +765 -0
- package/dist/interface/ha/accordion-BT2wHwK8.js +577 -0
- package/dist/interface/ha/account-B1xL2wxD.js +19 -0
- package/dist/interface/ha/ace-Dh61T4RV.js +13238 -0
- package/dist/interface/ha/ace.config-HyzcNHkM.js +1429 -0
- package/dist/interface/ha/alert-circle-CLRn5GAd.js +19 -0
- package/dist/interface/ha/alert-outline-CGTMAqXf.js +75 -0
- package/dist/interface/ha/api-BmNBy1ay.js +29 -0
- package/dist/interface/ha/api-CWJkvtnM.js +60866 -0
- package/dist/interface/ha/arrow-left-DkvcResi.js +19 -0
- package/dist/interface/ha/auth-X6tkVYJs.js +271 -0
- package/dist/interface/ha/autocomplete-L_jK3s3m.js +1373 -0
- package/dist/interface/ha/automationBlueprint-D1TiCF7R.js +249 -0
- package/dist/interface/ha/back-filled-Cxzg5vQg.js +20 -0
- package/dist/interface/ha/base-D_LAf3cS.js +26 -0
- package/dist/interface/ha/base-c1lsE5TW.js +125 -0
- package/dist/interface/ha/bell-ring-xrXdzNHW.js +19 -0
- package/dist/interface/ha/brain-DyOOk3m3.js +19 -0
- package/dist/interface/ha/browser-Bxx7joo_.js +1227 -0
- package/dist/interface/ha/browserconfig.xml +11 -0
- package/dist/interface/ha/button-BlYuI0Q7.js +406 -0
- package/dist/interface/ha/cameraui-cards.js +190 -0
- package/dist/interface/ha/cards-CNOyNWMA.js +13316 -0
- package/dist/interface/ha/cctv-Bz6BH0ns.js +19 -0
- package/dist/interface/ha/check-circle-D_wDxrLs.js +19 -0
- package/dist/interface/ha/chevron-down-P5MtUhJO.js +19 -0
- package/dist/interface/ha/chip-DxGABeun.js +149 -0
- package/dist/interface/ha/clock-outline-JxApewmA.js +19 -0
- package/dist/interface/ha/close-Eq3txTBS.js +19 -0
- package/dist/interface/ha/close-circle-C2nTtN_-.js +19 -0
- package/dist/interface/ha/config-E4Jkelkr.js +116 -0
- package/dist/interface/ha/content-copy-DpPXKtKE.js +19 -0
- package/dist/interface/ha/copy-C48Ur26H.js +22 -0
- package/dist/interface/ha/datepicker-BuvKhBWJ.js +3236 -0
- package/dist/interface/ha/definitions-E-sY7Cxg.js +23 -0
- package/dist/interface/ha/delete-D-m8mqly.js +19 -0
- package/dist/interface/ha/dist-B7lgvbyI.js +279 -0
- package/dist/interface/ha/dist-Ca9_5rzq.js +3457 -0
- package/dist/interface/ha/divider-jkWvVbPJ.js +110 -0
- package/dist/interface/ha/download-Cnr7IQKX.js +19 -0
- package/dist/interface/ha/esm-1sIZN4t7.js +6 -0
- package/dist/interface/ha/esm-6hnPZcZr.js +15 -0
- package/dist/interface/ha/esm-B72ViJ7F.js +5 -0
- package/dist/interface/ha/esm-BGlkcEes.js +156 -0
- package/dist/interface/ha/esm-BKPZuThK.js +5 -0
- package/dist/interface/ha/esm-BMx7MsZ_.js +15 -0
- package/dist/interface/ha/esm-CChFtwcx.js +21 -0
- package/dist/interface/ha/esm-CMTmAdHP.js +5 -0
- package/dist/interface/ha/esm-CkoEL9YX.js +7 -0
- package/dist/interface/ha/esm-CvxDASXR.js +23 -0
- package/dist/interface/ha/esm-Demxl4zQ.js +5 -0
- package/dist/interface/ha/esm-DiBhi9zp.js +5 -0
- package/dist/interface/ha/esm-XFPB9fYb.js +15 -0
- package/dist/interface/ha/eventLabels-B4C1_4vT.js +42 -0
- package/dist/interface/ha/eye-off-AdumIw0H.js +33 -0
- package/dist/interface/ha/eye-off-outline-DO3xfiua.js +19 -0
- package/dist/interface/ha/fonts/InterVariable.woff2 +0 -0
- package/dist/interface/ha/history-BoZc8mgf.js +19 -0
- package/dist/interface/ha/home-am0tRTsk.js +19 -0
- package/dist/interface/ha/information-outline-DIdNxPCN.js +19 -0
- package/dist/interface/ha/inputicon-6-vaPLbw.js +324 -0
- package/dist/interface/ha/inputnumber-B1Buq8Nc.js +1033 -0
- package/dist/interface/ha/inputtext-DGIESrd0.js +257 -0
- package/dist/interface/ha/intercomService-jB2mTgsn.js +1406 -0
- package/dist/interface/ha/message-C8U_kMBA.js +244 -0
- package/dist/interface/ha/minus-DKa9TXat.js +19 -0
- package/dist/interface/ha/minus-QyTgaT70.js +46 -0
- package/dist/interface/ha/mqtt-BmDCmG9h.js +56 -0
- package/dist/interface/ha/multiselect-BbgV_fPx.js +1492 -0
- package/dist/interface/ha/native-BaNeloQn.js +35 -0
- package/dist/interface/ha/native-C8PbNqsJ.js +29 -0
- package/dist/interface/ha/notifications-B51yvrGL.js +159 -0
- package/dist/interface/ha/og-share.png +0 -0
- package/dist/interface/ha/pencil-outline-BqfTDXIh.js +19 -0
- package/dist/interface/ha/pinia-3D39Do4a.js +6934 -0
- package/dist/interface/ha/platformLabels-C3d1PLg-.js +27 -0
- package/dist/interface/ha/plugin-DAGqBiG_.js +38 -0
- package/dist/interface/ha/plugins-dkWbXWVM.js +592 -0
- package/dist/interface/ha/plus-CNdrByQb.js +46 -0
- package/dist/interface/ha/plus-d_caPq5l.js +19 -0
- package/dist/interface/ha/progressbar-CIoPoMSe.js +95 -0
- package/dist/interface/ha/protocol-BB4jdtUC-K1r3LFCq.js +706 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-1136x640.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-1334x750.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-1792x828.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-2048x1536.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-2160x1620.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-2208x1242.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-2224x1668.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-2388x1668.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-2436x1125.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-2532x1170.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-2556x1179.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-2688x1242.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-2732x2048.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-2778x1284.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-dark-2796x1290.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-1136x640.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-1334x750.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-1792x828.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-2048x1536.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-2160x1620.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-2208x1242.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-2224x1668.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-2388x1668.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-2436x1125.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-2532x1170.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-2556x1179.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-2688x1242.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-2732x2048.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-2778x1284.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-landscape-light-2796x1290.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-1125x2436.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-1170x2532.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-1179x2556.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-1242x2208.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-1242x2688.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-1284x2778.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-1290x2796.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-1536x2048.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-1620x2160.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-1668x2224.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-1668x2388.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-2048x2732.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-640x1136.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-750x1334.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-dark-828x1792.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-1125x2436.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-1170x2532.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-1179x2556.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-1242x2208.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-1242x2688.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-1284x2778.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-1290x2796.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-1536x2048.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-1620x2160.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-1668x2224.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-1668x2388.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-2048x2732.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-640x1136.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-750x1334.png +0 -0
- package/dist/interface/ha/pwa/apple-splash-portrait-light-828x1792.png +0 -0
- package/dist/interface/ha/pwa/apple-touch-icon-180x180.png +0 -0
- package/dist/interface/ha/pwa/favicon-16.ico +0 -0
- package/dist/interface/ha/pwa/favicon-32.ico +0 -0
- package/dist/interface/ha/pwa/favicon-48.ico +0 -0
- package/dist/interface/ha/pwa/favicon-64.ico +0 -0
- package/dist/interface/ha/pwa/logo.svg +1 -0
- package/dist/interface/ha/pwa/maskable-icon-1240x600.png +0 -0
- package/dist/interface/ha/pwa/maskable-icon-512x512.png +0 -0
- package/dist/interface/ha/pwa/maskable-icon-620x300.png +0 -0
- package/dist/interface/ha/pwa/pwa-1024x1024.png +0 -0
- package/dist/interface/ha/pwa/pwa-120x120.png +0 -0
- package/dist/interface/ha/pwa/pwa-144x144.png +0 -0
- package/dist/interface/ha/pwa/pwa-152x152.png +0 -0
- package/dist/interface/ha/pwa/pwa-167x167.png +0 -0
- package/dist/interface/ha/pwa/pwa-180x180.png +0 -0
- package/dist/interface/ha/pwa/pwa-192x192.png +0 -0
- package/dist/interface/ha/pwa/pwa-24x24.png +0 -0
- package/dist/interface/ha/pwa/pwa-300x300.png +0 -0
- package/dist/interface/ha/pwa/pwa-36x36.png +0 -0
- package/dist/interface/ha/pwa/pwa-48x48.png +0 -0
- package/dist/interface/ha/pwa/pwa-50x50.png +0 -0
- package/dist/interface/ha/pwa/pwa-64x64.png +0 -0
- package/dist/interface/ha/pwa/pwa-72x72.png +0 -0
- package/dist/interface/ha/pwa/pwa-88x88.png +0 -0
- package/dist/interface/ha/pwa/pwa-96x96.png +0 -0
- package/dist/interface/ha/radar-C7lI26j4.js +19 -0
- package/dist/interface/ha/refresh-BIhepekY.js +19 -0
- package/dist/interface/ha/ring-resize-VS4MSeBv.js +16 -0
- package/dist/interface/ha/ripple-BilzxWfY.js +2928 -0
- package/dist/interface/ha/robots.txt +2 -0
- package/dist/interface/ha/rolldown-runtime-CEFd7nDs.js +30 -0
- package/dist/interface/ha/rooms-B-FUXQ1p.js +45 -0
- package/dist/interface/ha/round-alt-arrow-left-bold-CWEg-ZLF.js +37 -0
- package/dist/interface/ha/runtime-core.esm-bundler-D8slQ3BU.js +3295 -0
- package/dist/interface/ha/search-CoOsbgeb.js +19 -0
- package/dist/interface/ha/select-DjWkRqsI.js +1382 -0
- package/dist/interface/ha/server-CKJKoFfg.js +239 -0
- package/dist/interface/ha/settings-EKkSQLzv.js +22 -0
- package/dist/interface/ha/source-branch-CZwSOrQA.js +19 -0
- package/dist/interface/ha/speeddial-Dv9txWte.js +682 -0
- package/dist/interface/ha/spinner-D6iUldg9.js +46 -0
- package/dist/interface/ha/synapse-CGrlyQDE.js +35 -0
- package/dist/interface/ha/tag-CXgC9OZ6.js +95 -0
- package/dist/interface/ha/textarea-DvLkfUX7.js +130 -0
- package/dist/interface/ha/tooltip-BIrD_hC8.js +277 -0
- package/dist/interface/ha/trash-2-C4zSCZfs.js +23 -0
- package/dist/interface/ha/trash-can-outline-DCqsCOd2.js +19 -0
- package/dist/interface/ha/trash-fill-BPsrwR8X.js +21 -0
- package/dist/interface/ha/types-C7MzwoQR.js +28 -0
- package/dist/interface/ha/types-J_J0HKlK.js +1032 -0
- package/dist/interface/ha/ungrouped-BpaM88Y-.js +1116 -0
- package/dist/interface/ha/updates-BdVmkKAa.js +341 -0
- package/dist/interface/ha/upload-2xJkVPZE.js +19 -0
- package/dist/interface/ha/upload-wQHBRZX_.js +23 -0
- package/dist/interface/ha/useAppVersion-DzDaOsKc.js +22 -0
- package/dist/interface/ha/useLogsSocket-CWUE-KXV.js +59 -0
- package/dist/interface/ha/useNavLayout-BqpyvD2F.js +125 -0
- package/dist/interface/ha/usePermissions-BIUeW4ef.js +72 -0
- package/dist/interface/ha/useServerRestart-0c4gA1fG.js +23 -0
- package/dist/interface/ha/useTabSwipe-C8LdKw23.js +45 -0
- package/dist/interface/ha/useUpdateChannel-CHVLthZB.js +22 -0
- package/dist/interface/ha/useUpdatesSocket-CaxEs511.js +34 -0
- package/dist/interface/ha/useUserOptions-Rk_71WAK.js +15 -0
- package/dist/interface/ha/utils-DYtBrGDz.js +7 -0
- package/dist/interface/ha/virtualscroller-s_gNqN5p.js +996 -0
- package/dist/interface/ha/vue-flow-background-B0Vu4-8M.js +6840 -0
- package/dist/interface/ha/vue-i18n-Dcb07o5U.js +2409 -0
- package/dist/interface/ha/web-0Kyq65na.js +78 -0
- package/dist/interface/ha/web-B7Dt2zZN.js +340 -0
- package/dist/interface/ha/web-BNdrPSpb.js +102 -0
- package/dist/interface/ha/web-BPBZBCtX.js +8 -0
- package/dist/interface/ha/web-BjKL51lK-qwJdIpM1.js +221 -0
- package/dist/interface/ha/web-C01i9qI1.js +57 -0
- package/dist/interface/ha/web-CH3JeXWa.js +211 -0
- package/dist/interface/ha/web-Cpm1-DVe.js +33 -0
- package/dist/interface/ha/web-DqRMXrnx.js +31 -0
- package/dist/interface/ha/web-DtVT7WYt.js +17 -0
- package/dist/interface/ha/web-DxJQZCiR.js +59 -0
- package/dist/interface/ha/web-I7Urp4AE.js +46 -0
- package/dist/interface/ha/web-aSaPk7kr.js +57 -0
- package/dist/interface/ha/web-pMey9p3Y.js +79 -0
- package/dist/interface/ha/xterm-B6xA6E5i.js +14833 -0
- package/dist/interface/ha/zoom-in-CNVB9H3D.js +41 -0
- package/dist/interface/index.html +29 -29
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +9 -9
- package/dist/server/requirements.txt +3 -3
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +9 -6
- 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 +4 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +8 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +4 -3
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/__init__.py +6 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/sensor_rpc.py +17 -6
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +24 -70
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +46 -19
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +2 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +65 -8
- package/dist/server/src/api/database/index.d.ts +1 -1
- package/dist/server/src/api/database/index.js +4 -32
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/database/migrations/v2-1-18.d.ts +3 -0
- package/dist/server/src/api/database/migrations/v2-1-18.js +24 -0
- package/dist/server/src/api/database/migrations/v2-1-18.js.map +1 -0
- package/dist/server/src/api/database/record-schemas.d.ts +1 -0
- package/dist/server/src/api/database/types.d.ts +4 -3
- package/dist/server/src/api/schemas/cameras.schema.d.ts +53 -15
- package/dist/server/src/api/schemas/cameras.schema.js +5 -1
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/users.schema.d.ts +7 -0
- package/dist/server/src/api/schemas/users.schema.js +1 -1
- package/dist/server/src/api/schemas/users.schema.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.js +14 -21
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/api/services/sensors.service.d.ts +3 -3
- package/dist/server/src/api/services/sensors.service.js +3 -24
- package/dist/server/src/api/services/sensors.service.js.map +1 -1
- package/dist/server/src/api/utils/regex.d.ts +2 -0
- package/dist/server/src/api/utils/regex.js +2 -0
- package/dist/server/src/api/utils/regex.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/sensors.d.ts +3 -1
- package/dist/server/src/api/websocket/nsp/sensors.js +13 -3
- package/dist/server/src/api/websocket/nsp/sensors.js.map +1 -1
- package/dist/server/src/camera/decoder/debug/detection-record.d.ts +3 -1
- package/dist/server/src/camera/decoder/debug/detection-record.js +6 -2
- package/dist/server/src/camera/decoder/debug/detection-record.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 +44 -25
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-pipeline.d.ts +3 -1
- package/dist/server/src/camera/decoder/detection-pipeline.js +3 -22
- package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
- package/dist/server/src/camera/decoder/event-manager.d.ts +4 -3
- package/dist/server/src/camera/decoder/event-manager.js +17 -5
- package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
- package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +3 -0
- package/dist/server/src/camera/decoder/event-thumbnailer.js +13 -8
- package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
- package/dist/server/src/camera/decoder/event-trace.d.ts +58 -0
- package/dist/server/src/camera/decoder/event-trace.js +118 -0
- package/dist/server/src/camera/decoder/event-trace.js.map +1 -0
- package/dist/server/src/camera/decoder/nvr-sink.d.ts +2 -0
- package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
- package/dist/server/src/camera/decoder/reconnect-backoff.js +1 -1
- package/dist/server/src/camera/decoder/reconnect-backoff.js.map +1 -1
- package/dist/server/src/camera/decoder/sources/analysis-source.d.ts +1 -0
- package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +7 -1
- package/dist/server/src/camera/decoder/sources/buffered-source.js +27 -15
- package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
- package/dist/server/src/camera/decoder/sources/frame-handle.d.ts +2 -1
- package/dist/server/src/camera/decoder/sources/frame-handle.js +5 -3
- package/dist/server/src/camera/decoder/sources/frame-handle.js.map +1 -1
- package/dist/server/src/camera/decoder/sources/frame-source.d.ts +1 -0
- package/dist/server/src/camera/decoder/sources/frame-source.js +7 -2
- package/dist/server/src/camera/decoder/sources/frame-source.js.map +1 -1
- package/dist/server/src/camera/decoder/sources/rtp-index.d.ts +9 -0
- package/dist/server/src/camera/decoder/sources/rtp-index.js +24 -0
- package/dist/server/src/camera/decoder/sources/rtp-index.js.map +1 -0
- package/dist/server/src/camera/decoder/worker.js +1 -0
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/go2rtc/types.d.ts +1 -1
- package/dist/server/src/go2rtc/types.js +1 -1
- package/dist/server/src/go2rtc/types.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/child.js +1 -0
- package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +3 -0
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/sensorManager.d.ts +2 -5
- package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +95 -24
- package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/child.py +1 -0
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +9 -0
- package/dist/server/src/plugins/runtime/python/proxy/sensor.py +2 -1
- package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +185 -88
- package/dist/server/src/plugins/runtime/python/typings.py +18 -0
- package/dist/server/src/rpc/interfaces/sensor.d.ts +19 -4
- package/dist/server/src/sensors/discovery.d.ts +1 -1
- package/dist/server/src/sensors/discovery.js +10 -19
- package/dist/server/src/sensors/discovery.js.map +1 -1
- package/dist/server/src/sensors/registry.d.ts +6 -2
- package/dist/server/src/sensors/registry.js +75 -6
- package/dist/server/src/sensors/registry.js.map +1 -1
- package/dist/server/src/utils/camera.d.ts +12 -2
- package/dist/server/src/utils/camera.js +27 -1
- package/dist/server/src/utils/camera.js.map +1 -1
- package/dist/server/src/workers/pairing.js +17 -8
- package/dist/server/src/workers/pairing.js.map +1 -1
- package/package.json +9 -9
- package/dist/interface/assets/Automation-4HPAjq1i.js +0 -3
- package/dist/interface/assets/AutomationStoreDetail-C2ntfGP-.js +0 -2
- package/dist/interface/assets/Automations-CUUq9dxs.js +0 -2
- package/dist/interface/assets/Camera-DmrRrgqQ.js +0 -2
- package/dist/interface/assets/Cameras-B-aQUuPk.js +0 -652
- package/dist/interface/assets/Camview-B-W5jpCR.js +0 -1
- package/dist/interface/assets/ConfigActionNotification-Bq28CjsJ.js +0 -1
- package/dist/interface/assets/ConfigConditionSwitch-DYAlj5no.js +0 -1
- package/dist/interface/assets/ConfigTriggerGeofence-ClKyzb-x.js +0 -1
- package/dist/interface/assets/Console-ctbGFtCH.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-Bo1wUyiN.js +0 -1
- package/dist/interface/assets/CuiCameraPipCard-BEAE44of.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-BzbwSK8-.css +0 -1
- package/dist/interface/assets/CuiCameraRecordings-C1evIMhc.js +0 -1
- package/dist/interface/assets/CuiCameraTable-BAjQ8h5H.js +0 -1
- package/dist/interface/assets/CuiLightControl-9OhT9YYt.js +0 -1
- package/dist/interface/assets/CuiPluginCard-DQgVasi7.js +0 -2
- package/dist/interface/assets/CuiSchema-juKEra_J.js +0 -1
- package/dist/interface/assets/Faces-Ce3mKYc7.js +0 -1
- package/dist/interface/assets/FirstSteps-BBLzX2bl.js +0 -1
- package/dist/interface/assets/Floorplan-B7BVj65t.js +0 -1
- package/dist/interface/assets/Instances-4VxGT2fm.js +0 -1
- package/dist/interface/assets/Metrics-DudHV8Ov.js +0 -9
- package/dist/interface/assets/OAuthDeviceFlow-Z3Cesvs9.js +0 -1
- package/dist/interface/assets/Plugin-DwadariU.js +0 -1
- package/dist/interface/assets/PluginDetail-C_XghvQz.js +0 -2
- package/dist/interface/assets/PluginSearch-11dsxfvW.js +0 -1
- package/dist/interface/assets/PluginSearch-DgQOryM2.js +0 -2
- package/dist/interface/assets/Plugins-QheVcYZB.js +0 -1
- package/dist/interface/assets/Recordings-DwPnYsd6.js +0 -1
- package/dist/interface/assets/SensorEdit-C9Ejdxaz.js +0 -1
- package/dist/interface/assets/Sensors-D4tY50d4.js +0 -2
- package/dist/interface/assets/SettingsAccount-DMvvar8D.js +0 -1
- package/dist/interface/assets/SettingsAccount-DYCCnjWY.js +0 -1
- package/dist/interface/assets/SettingsAppearance-vLBhLEag.js +0 -1
- package/dist/interface/assets/SettingsMqtt-Cj9ywnP2.js +0 -1
- package/dist/interface/assets/SettingsNotifications-flx3W4Uo.js +0 -1
- package/dist/interface/assets/SettingsRecordings-D3b6y2SX.js +0 -1
- package/dist/interface/assets/SettingsRemote-o01wgKPR.js +0 -2
- package/dist/interface/assets/Workers-CdaYj6Ap.js +0 -2
- package/dist/interface/assets/alert-outline-KxFvd3i6.js +0 -1
- package/dist/interface/assets/api-2VPaKkqc.js +0 -2
- package/dist/interface/assets/api-CEbDxsSY.css +0 -2
- package/dist/interface/assets/cameras.schema-CnSdfqqj.js +0 -1
- package/dist/interface/assets/cloudHandoff-B1z5dyPD.js +0 -1
- package/dist/interface/assets/main-BfL5CDS8.js +0 -3
- package/dist/interface/assets/nodeDefinitions-D6zhuw60.js +0 -1
- package/dist/interface/assets/sensorIcons-FPxm3pDg.js +0 -1
- package/dist/interface/assets/theme-CRQoJiuY.js +0 -1
- package/dist/interface/assets/types-BHgaZSm2.js +0 -1
- package/dist/interface/assets/types-CQpPteyx.js +0 -1
- package/dist/interface/assets/ungrouped-BbOtmmDD.js +0 -1
- package/dist/interface/assets/useBackupRestore-CT1PYJDW.js +0 -1
- package/dist/interface/assets/vendor-cameraui-ZyqPntQ7.js +0 -2326
- package/dist/interface/assets/vendor-core-DN-bpg68.js +0 -1
- package/dist/interface/assets/vendor-zod-B0ZFM2Pr.js +0 -127
|
@@ -0,0 +1,1358 @@
|
|
|
1
|
+
import { r as e } from "./rolldown-runtime-CEFd7nDs.js";
|
|
2
|
+
import { m as t } from "./ripple-BilzxWfY.js";
|
|
3
|
+
import { B as n, H as r, Jt as i, Wt as a, Y as ee, _t as o, bt as s, d as c, f as l, ft as te, gt as ne, kt as u, l as d, lt as f, ot as re, p, qt as ie, r as ae, rt as oe, u as m, ut as h, v as g, x as se, xt as _, y as v, yt as ce, z as le } from "./runtime-core.esm-bundler-D8slQ3BU.js";
|
|
4
|
+
import { t as ue } from "./tooltip-BIrD_hC8.js";
|
|
5
|
+
import { t as de } from "./history-BoZc8mgf.js";
|
|
6
|
+
import { $ as y, B as fe, Br as pe, Dn as me, Er as he, Gr as b, L as x, Pi as ge, Q as S, R as _e, Tr as ve, W as ye, X as C, Yr as be, Z as w, _i as T, _t as E, dr as xe, et as D, gi as Se, gn as O, gt as Ce, it as k, mi as A, nt as j, qi as M, qt as we, ra as Te, rn as Ee, rt as De, si as Oe, tt as ke, un as Ae, vr as je, wr as Me, yr as Ne } from "./api-CWJkvtnM.js";
|
|
7
|
+
import { M as Pe } from "./protocol-BB4jdtUC-K1r3LFCq.js";
|
|
8
|
+
import { i as Fe } from "./intercomService-jB2mTgsn.js";
|
|
9
|
+
import { r as Ie } from "./pinia-3D39Do4a.js";
|
|
10
|
+
import { n as Le } from "./vue-i18n-Dcb07o5U.js";
|
|
11
|
+
import { ft as N, v as Re } from "./dist-Ca9_5rzq.js";
|
|
12
|
+
import { n as ze } from "./alert-outline-CGTMAqXf.js";
|
|
13
|
+
import { n as Be, t as Ve } from "./button-BlYuI0Q7.js";
|
|
14
|
+
import { n as He, t as Ue } from "./inputicon-6-vaPLbw.js";
|
|
15
|
+
import { t as We } from "./inputtext-DGIESrd0.js";
|
|
16
|
+
import { a as Ge } from "./datepicker-BuvKhBWJ.js";
|
|
17
|
+
import { t as Ke } from "./close-Eq3txTBS.js";
|
|
18
|
+
import { t as qe } from "./chip-DxGABeun.js";
|
|
19
|
+
import { i as Je, t as Ye } from "./CuiDataTable-Cx9GBqsV.js";
|
|
20
|
+
import { t as Xe } from "./ring-resize-VS4MSeBv.js";
|
|
21
|
+
import { t as Ze } from "./search-CoOsbgeb.js";
|
|
22
|
+
import { t as Qe } from "./trash-can-outline-DCqsCOd2.js";
|
|
23
|
+
import { t as $e } from "./back-filled-Cxzg5vQg.js";
|
|
24
|
+
import { t as et } from "./plus-d_caPq5l.js";
|
|
25
|
+
import { t as tt } from "./settings-EKkSQLzv.js";
|
|
26
|
+
import { t as nt } from "./radar-C7lI26j4.js";
|
|
27
|
+
import { t as rt } from "./eye-off-outline-DO3xfiua.js";
|
|
28
|
+
//#region ~icons/mdi/waveform
|
|
29
|
+
var it = {
|
|
30
|
+
viewBox: "0 0 24 24",
|
|
31
|
+
width: "1.2em",
|
|
32
|
+
height: "1.2em"
|
|
33
|
+
};
|
|
34
|
+
function P(e, t) {
|
|
35
|
+
return r(), p("svg", it, [...t[0] ||= [m("path", {
|
|
36
|
+
fill: "currentColor",
|
|
37
|
+
d: "m22 12l-2 1l-1 1l-1-1l-1 3l-1-3l-1 8l-1-8l-1 2l-1-2l-1 4l-1-4l-1 9l-1-9l-1 6l-1-6l-1 1l-1-1l-2-1l2-1l1-1l1 1l1-6l1 6l1-9l1 9l1-4l1 4l1-2l1 2l1-8l1 8l1-3l1 3l1-1l1 1z"
|
|
38
|
+
}, null, -1)]]);
|
|
39
|
+
}
|
|
40
|
+
var F = o({
|
|
41
|
+
name: "mdi-waveform",
|
|
42
|
+
render: P
|
|
43
|
+
}), at = {
|
|
44
|
+
viewBox: "0 0 24 24",
|
|
45
|
+
width: "1.2em",
|
|
46
|
+
height: "1.2em"
|
|
47
|
+
};
|
|
48
|
+
function ot(e, t) {
|
|
49
|
+
return r(), p("svg", at, [...t[0] ||= [m("path", {
|
|
50
|
+
fill: "currentColor",
|
|
51
|
+
d: "M16 10H8V6h8m.67-2H15V2H9v2H7.33A1.33 1.33 0 0 0 6 5.33v15.34C6 21.4 6.6 22 7.33 22h9.34A1.33 1.33 0 0 0 18 20.67V5.33C18 4.6 17.4 4 16.67 4"
|
|
52
|
+
}, null, -1)]]);
|
|
53
|
+
}
|
|
54
|
+
var I = o({
|
|
55
|
+
name: "mdi-battery-70",
|
|
56
|
+
render: ot
|
|
57
|
+
}), L = {
|
|
58
|
+
viewBox: "0 0 24 24",
|
|
59
|
+
width: "1.2em",
|
|
60
|
+
height: "1.2em"
|
|
61
|
+
};
|
|
62
|
+
function st(e, t) {
|
|
63
|
+
return r(), p("svg", L, [...t[0] ||= [m("path", {
|
|
64
|
+
fill: "currentColor",
|
|
65
|
+
d: "M12 18a6 6 0 0 1-6-6a6 6 0 0 1 6-6a6 6 0 0 1 6 6a6 6 0 0 1-6 6m8-2.69L23.31 12L20 8.69V4h-4.69L12 .69L8.69 4H4v4.69L.69 12L4 15.31V20h4.69L12 23.31L15.31 20H20z"
|
|
66
|
+
}, null, -1)]]);
|
|
67
|
+
}
|
|
68
|
+
var ct = o({
|
|
69
|
+
name: "mdi-brightness-5",
|
|
70
|
+
render: st
|
|
71
|
+
}), lt = {
|
|
72
|
+
viewBox: "0 0 24 24",
|
|
73
|
+
width: "1.2em",
|
|
74
|
+
height: "1.2em"
|
|
75
|
+
};
|
|
76
|
+
function ut(e, t) {
|
|
77
|
+
return r(), p("svg", lt, [...t[0] ||= [m("path", {
|
|
78
|
+
fill: "currentColor",
|
|
79
|
+
d: "M5 7a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h3v-2H5V9h3V7zm6 0a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zm0 2h2v6h-2zm5 1.5V12h3v1.5h-1.5A1.5 1.5 0 0 0 16 15v3h4.5v-1.5h-3V15H19a1.5 1.5 0 0 0 1.5-1.5V12a1.5 1.5 0 0 0-1.5-1.5z"
|
|
80
|
+
}, null, -1)]]);
|
|
81
|
+
}
|
|
82
|
+
var R = o({
|
|
83
|
+
name: "mdi-molecule-co2",
|
|
84
|
+
render: ut
|
|
85
|
+
}), z = {
|
|
86
|
+
viewBox: "0 0 24 24",
|
|
87
|
+
width: "1.2em",
|
|
88
|
+
height: "1.2em"
|
|
89
|
+
};
|
|
90
|
+
function B(e, t) {
|
|
91
|
+
return r(), p("svg", z, [...t[0] ||= [m("path", {
|
|
92
|
+
fill: "currentColor",
|
|
93
|
+
d: "M4 18h9l-2 2H4c-.5 0-1.03-.21-1.41-.59S2 18.5 2 18V8h2zM17.63 4.84C17.27 4.33 16.67 4 16 4H8c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h8c.67 0 1.27-.34 1.63-.85L22 10zM16 14H8V6h8l3.55 4Z"
|
|
94
|
+
}, null, -1)]]);
|
|
95
|
+
}
|
|
96
|
+
var V = o({
|
|
97
|
+
name: "mdi-label-multiple-outline",
|
|
98
|
+
render: B
|
|
99
|
+
}), dt = {
|
|
100
|
+
viewBox: "0 0 24 24",
|
|
101
|
+
width: "1.2em",
|
|
102
|
+
height: "1.2em"
|
|
103
|
+
};
|
|
104
|
+
function ft(e, t) {
|
|
105
|
+
return r(), p("svg", dt, [...t[0] ||= [m("path", {
|
|
106
|
+
fill: "currentColor",
|
|
107
|
+
d: "M15.5 9c.7 0 1.29-.24 1.77-.73c.49-.48.73-1.07.73-1.77c0-.67-.24-1.27-.73-1.77c-.48-.5-1.07-.73-1.77-.73c-.67 0-1.27.23-1.77.73S13 5.83 13 6.5c0 .7.23 1.29.73 1.77c.5.49 1.1.73 1.77.73m3.81-.09l3.1 3.09L21 13.41l-3.14-3.1c-.78.47-1.58.69-2.39.69c-1.25 0-2.31-.42-3.17-1.3c-.85-.87-1.3-1.93-1.3-3.2c0-1.23.45-2.3 1.33-3.17C13.2 2.45 14.27 2 15.5 2c1.27 0 2.33.45 3.2 1.33c.88.87 1.3 1.94 1.3 3.17c0 .83-.22 1.63-.69 2.41M16.5 18h-11l2.75-3.5l1.97 2.33l2.72-3.52zm1.5-5l2 2v5c0 .55-.19 1-.59 1.4c-.41.39-.88.6-1.41.6H4c-.55 0-1-.21-1.4-.6c-.39-.4-.6-.85-.6-1.4V6c0-.53.21-1 .6-1.41C3 4.19 3.45 4 4 4h5.5c-.3.64-.47 1.31-.5 2H4v14h14z"
|
|
108
|
+
}, null, -1)]]);
|
|
109
|
+
}
|
|
110
|
+
var pt = o({
|
|
111
|
+
name: "mdi-image-search-outline",
|
|
112
|
+
render: ft
|
|
113
|
+
}), H = {
|
|
114
|
+
viewBox: "0 0 24 24",
|
|
115
|
+
width: "1.2em",
|
|
116
|
+
height: "1.2em"
|
|
117
|
+
};
|
|
118
|
+
function mt(e, t) {
|
|
119
|
+
return r(), p("svg", H, [...t[0] ||= [m("path", {
|
|
120
|
+
fill: "currentColor",
|
|
121
|
+
d: "M8 3c-1.11 0-2 .89-2 2v16h12V5c0-1.11-.89-2-2-2zm0 2h8v14H8zm5 6v2h2v-2z"
|
|
122
|
+
}, null, -1)]]);
|
|
123
|
+
}
|
|
124
|
+
var U = o({
|
|
125
|
+
name: "mdi-door",
|
|
126
|
+
render: mt
|
|
127
|
+
}), ht = {
|
|
128
|
+
viewBox: "0 0 24 24",
|
|
129
|
+
width: "1.2em",
|
|
130
|
+
height: "1.2em"
|
|
131
|
+
};
|
|
132
|
+
function gt(e, t) {
|
|
133
|
+
return r(), p("svg", ht, [...t[0] ||= [m("path", {
|
|
134
|
+
fill: "currentColor",
|
|
135
|
+
d: "M12 3.25S6 10 6 14c0 3.32 2.69 6 6 6a6 6 0 0 0 6-6c0-4-6-10.75-6-10.75m2.47 6.72l1.06 1.06l-6 6l-1.06-1.06M9.75 10A1.25 1.25 0 0 1 11 11.25a1.25 1.25 0 0 1-1.25 1.25a1.25 1.25 0 0 1-1.25-1.25A1.25 1.25 0 0 1 9.75 10m4.5 4.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 14.25 17A1.25 1.25 0 0 1 13 15.75a1.25 1.25 0 0 1 1.25-1.25"
|
|
136
|
+
}, null, -1)]]);
|
|
137
|
+
}
|
|
138
|
+
var W = o({
|
|
139
|
+
name: "mdi-water-percent",
|
|
140
|
+
render: gt
|
|
141
|
+
}), _t = {
|
|
142
|
+
viewBox: "0 0 24 24",
|
|
143
|
+
width: "1.2em",
|
|
144
|
+
height: "1.2em"
|
|
145
|
+
};
|
|
146
|
+
function vt(e, t) {
|
|
147
|
+
return r(), p("svg", _t, [...t[0] ||= [m("path", {
|
|
148
|
+
fill: "currentColor",
|
|
149
|
+
d: "M9.61 16.11c0-2.08.98-3.92 2.49-5.11H5l1.5-4.5h11l1.22 3.66c.84.37 1.58.91 2.19 1.58L18.92 6c-.2-.58-.76-1-1.42-1h-11c-.66 0-1.22.42-1.42 1L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h4.29c-.43-.87-.68-1.85-.68-2.89M6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16m14.21 4.7l-.01.01zm-4.6-9.09c2.5 0 4.5 2 4.5 4.5c0 .89-.25 1.71-.69 2.39L23 21.61L21.61 23l-3.11-3.07c-.7.43-1.5.68-2.39.68c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5m0 2a2.5 2.5 0 1 0 2.5 2.5c0-1.39-1.11-2.5-2.5-2.5"
|
|
150
|
+
}, null, -1)]]);
|
|
151
|
+
}
|
|
152
|
+
var yt = o({
|
|
153
|
+
name: "mdi-car-search",
|
|
154
|
+
render: vt
|
|
155
|
+
}), G = {
|
|
156
|
+
viewBox: "0 0 24 24",
|
|
157
|
+
width: "1.2em",
|
|
158
|
+
height: "1.2em"
|
|
159
|
+
};
|
|
160
|
+
function bt(e, t) {
|
|
161
|
+
return r(), p("svg", G, [...t[0] ||= [m("path", {
|
|
162
|
+
fill: "currentColor",
|
|
163
|
+
d: "M12 17a2 2 0 0 1-2-2c0-1.11.89-2 2-2a2 2 0 0 1 2 2a2 2 0 0 1-2 2m6 3V10H6v10zm0-12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V10c0-1.11.89-2 2-2h1V6a5 5 0 0 1 5-5a5 5 0 0 1 5 5v2zm-6-5a3 3 0 0 0-3 3v2h6V6a3 3 0 0 0-3-3"
|
|
164
|
+
}, null, -1)]]);
|
|
165
|
+
}
|
|
166
|
+
var xt = o({
|
|
167
|
+
name: "mdi-lock-outline",
|
|
168
|
+
render: bt
|
|
169
|
+
}), K = {
|
|
170
|
+
viewBox: "0 0 24 24",
|
|
171
|
+
width: "1.2em",
|
|
172
|
+
height: "1.2em"
|
|
173
|
+
};
|
|
174
|
+
function St(e, t) {
|
|
175
|
+
return r(), p("svg", K, [...t[0] ||= [m("path", {
|
|
176
|
+
fill: "currentColor",
|
|
177
|
+
d: "M21 16.5c0 .38-.21.71-.53.88l-7.9 4.44c-.16.12-.36.18-.57.18s-.41-.06-.57-.18l-7.9-4.44A.99.99 0 0 1 3 16.5v-9c0-.38.21-.71.53-.88l7.9-4.44c.16-.12.36-.18.57-.18s.41.06.57.18l7.9 4.44c.32.17.53.5.53.88zM12 4.15L6.04 7.5L12 10.85l5.96-3.35zM5 15.91l6 3.38v-6.71L5 9.21zm14 0v-6.7l-6 3.37v6.71z"
|
|
178
|
+
}, null, -1)]]);
|
|
179
|
+
}
|
|
180
|
+
var Ct = o({
|
|
181
|
+
name: "mdi-cube-outline",
|
|
182
|
+
render: St
|
|
183
|
+
}), wt = {
|
|
184
|
+
viewBox: "0 0 24 24",
|
|
185
|
+
width: "1.2em",
|
|
186
|
+
height: "1.2em"
|
|
187
|
+
};
|
|
188
|
+
function q(e, t) {
|
|
189
|
+
return r(), p("svg", wt, [...t[0] ||= [m("path", {
|
|
190
|
+
fill: "currentColor",
|
|
191
|
+
d: "M17 22v-2h3v-3h2v3.5c0 .39-.16.74-.46 1.04s-.65.46-1.04.46zM7 22H3.5c-.39 0-.74-.16-1.04-.46S2 20.89 2 20.5V17h2v3h3zM17 2h3.5c.39 0 .74.16 1.04.46s.46.65.46 1.04V7h-2V4h-3zM7 2v2H4v3H2V3.5c0-.39.16-.74.46-1.04S3.11 2 3.5 2zm6 15.25l4-2.3v-4.59l-4 2.3zm-1-6.33l4-2.29l-4-2.35l-4 2.35zm-5 4.03l4 2.3v-4.59l-4-2.3zm11.23-7.36c.5.32.77.75.77 1.32v6.32c0 .57-.27 1-.77 1.32l-5.48 3.18q-.75.48-1.5 0l-5.48-3.18c-.5-.32-.77-.75-.77-1.32V8.91c0-.57.27-1 .77-1.32l5.48-3.18c.25-.13.5-.19.75-.19s.5.06.75.19z"
|
|
192
|
+
}, null, -1)]]);
|
|
193
|
+
}
|
|
194
|
+
var Tt = o({
|
|
195
|
+
name: "mdi-cube-scan",
|
|
196
|
+
render: q
|
|
197
|
+
}), Et = {
|
|
198
|
+
viewBox: "0 0 24 24",
|
|
199
|
+
width: "1.2em",
|
|
200
|
+
height: "1.2em"
|
|
201
|
+
};
|
|
202
|
+
function Dt(e, t) {
|
|
203
|
+
return r(), p("svg", Et, [...t[0] ||= [m("path", {
|
|
204
|
+
fill: "currentColor",
|
|
205
|
+
d: "M12 3L2 12h3v8h14v-8h3zm0 5.75A2.25 2.25 0 0 1 14.25 11A2.25 2.25 0 0 1 12 13.25A2.25 2.25 0 0 1 9.75 11A2.25 2.25 0 0 1 12 8.75M12 15c1.5 0 4.5.75 4.5 2.25V18h-9v-.75c0-1.5 3-2.25 4.5-2.25"
|
|
206
|
+
}, null, -1)]]);
|
|
207
|
+
}
|
|
208
|
+
var Ot = o({
|
|
209
|
+
name: "mdi-home-account",
|
|
210
|
+
render: Dt
|
|
211
|
+
}), kt = {
|
|
212
|
+
viewBox: "0 0 24 24",
|
|
213
|
+
width: "1.2em",
|
|
214
|
+
height: "1.2em"
|
|
215
|
+
};
|
|
216
|
+
function At(e, t) {
|
|
217
|
+
return r(), p("svg", kt, [...t[0] ||= [m("path", {
|
|
218
|
+
fill: "currentColor",
|
|
219
|
+
d: "M16 7V3h-2v4h-4V3H8v4C7 7 6 8 6 9v5.5L9.5 18v3h5v-3l3.5-3.5V9c0-1-1-2-2-2m0 6.67l-2.91 2.92l-.42.41h-1.34l-.41-.41L8 13.67V9.09c0-.03.06-.09.09-.09h7.83c.03 0 .08.06.08.09z"
|
|
220
|
+
}, null, -1)]]);
|
|
221
|
+
}
|
|
222
|
+
var jt = o({
|
|
223
|
+
name: "mdi-power-plug-outline",
|
|
224
|
+
render: At
|
|
225
|
+
}), Mt = {
|
|
226
|
+
viewBox: "0 0 24 24",
|
|
227
|
+
width: "1.2em",
|
|
228
|
+
height: "1.2em"
|
|
229
|
+
};
|
|
230
|
+
function Nt(e, t) {
|
|
231
|
+
return r(), p("svg", Mt, [...t[0] ||= [m("path", {
|
|
232
|
+
fill: "currentColor",
|
|
233
|
+
d: "M8 14.25L4.75 11H7c.25-5.61 2.39-10 5-10c2 0 3.77 2.64 4.55 6.45C20.36 8.23 23 10 23 12c0 1.83-2.17 3.43-5.4 4.3l.29-2.03C19.8 13.72 21 12.91 21 12c0-1.06-1.65-2-4.13-2.5c.08.79.13 1.63.13 2.5c0 6.08-2.24 11-5 11c-1.83 0-3.43-2.17-4.3-5.4l2.03.29C10.28 19.8 11.09 21 12 21c1.66 0 3-4.03 3-9q0-1.5-.15-2.85Q13.5 9 12 9l-1.86.06l.29-2.01L12 7c.87 0 1.71.05 2.5.13C14 4.65 13.06 3 12 3c-1.54 0-2.82 3.5-3 8h2.25zM14.25 16L11 19.25V17c-5.61-.25-10-2.39-10-5c0-1.83 2.17-3.43 5.4-4.3l-.29 2.03C4.2 10.28 3 11.09 3 12c0 1.54 3.5 2.82 8 3v-2.25z"
|
|
234
|
+
}, null, -1)]]);
|
|
235
|
+
}
|
|
236
|
+
var J = o({
|
|
237
|
+
name: "mdi-rotate-orbit",
|
|
238
|
+
render: Nt
|
|
239
|
+
}), Pt = {
|
|
240
|
+
viewBox: "0 0 24 24",
|
|
241
|
+
width: "1.2em",
|
|
242
|
+
height: "1.2em"
|
|
243
|
+
};
|
|
244
|
+
function Ft(e, t) {
|
|
245
|
+
return r(), p("svg", Pt, [...t[0] ||= [m("path", {
|
|
246
|
+
fill: "currentColor",
|
|
247
|
+
d: "M21 11c0 5.55-3.84 10.74-9 12c-5.16-1.26-9-6.45-9-12V5l9-4l9 4zm-9 10c3.75-1 7-5.46 7-9.78V6.3l-7-3.12L5 6.3v4.92C5 15.54 8.25 20 12 21m-1-7h2v3h3v-5h2l-6-5l-6 5h2v5h3z"
|
|
248
|
+
}, null, -1)]]);
|
|
249
|
+
}
|
|
250
|
+
var It = o({
|
|
251
|
+
name: "mdi-shield-home-outline",
|
|
252
|
+
render: Ft
|
|
253
|
+
}), Lt = {
|
|
254
|
+
viewBox: "0 0 24 24",
|
|
255
|
+
width: "1.2em",
|
|
256
|
+
height: "1.2em"
|
|
257
|
+
};
|
|
258
|
+
function Rt(e, t) {
|
|
259
|
+
return r(), p("svg", Lt, [...t[0] ||= [m("path", {
|
|
260
|
+
fill: "currentColor",
|
|
261
|
+
d: "M6 6.9L3.87 4.78l1.41-1.41L7.4 5.5zM13 1v3h-2V1zm7.13 3.78L18 6.9l-1.4-1.4l2.12-2.13zM4.5 10.5v2h-3v-2zm15 0h3v2h-3zM6 20h12a2 2 0 0 1 2 2H4a2 2 0 0 1 2-2m6-15a6 6 0 0 1 6 6v8H6v-8a6 6 0 0 1 6-6m0 2a4 4 0 0 0-4 4v6h8v-6a4 4 0 0 0-4-4"
|
|
262
|
+
}, null, -1)]]);
|
|
263
|
+
}
|
|
264
|
+
var zt = o({
|
|
265
|
+
name: "mdi-alarm-light-outline",
|
|
266
|
+
render: Rt
|
|
267
|
+
}), Bt = {
|
|
268
|
+
viewBox: "0 0 24 24",
|
|
269
|
+
width: "1.2em",
|
|
270
|
+
height: "1.2em"
|
|
271
|
+
};
|
|
272
|
+
function Vt(e, t) {
|
|
273
|
+
return r(), p("svg", Bt, [...t[0] ||= [m("path", {
|
|
274
|
+
fill: "currentColor",
|
|
275
|
+
d: "M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6m0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4m0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3s3-1.34 3-3s-1.34-3-3-3"
|
|
276
|
+
}, null, -1)]]);
|
|
277
|
+
}
|
|
278
|
+
var Ht = o({
|
|
279
|
+
name: "mdi-toggle-switch-outline",
|
|
280
|
+
render: Vt
|
|
281
|
+
}), Ut = {
|
|
282
|
+
viewBox: "0 0 24 24",
|
|
283
|
+
width: "1.2em",
|
|
284
|
+
height: "1.2em"
|
|
285
|
+
};
|
|
286
|
+
function Wt(e, t) {
|
|
287
|
+
return r(), p("svg", Ut, [...t[0] ||= [m("path", {
|
|
288
|
+
fill: "currentColor",
|
|
289
|
+
d: "M15 13V5a3 3 0 0 0-6 0v8a5 5 0 1 0 6 0m-3-9a1 1 0 0 1 1 1v3h-2V5a1 1 0 0 1 1-1"
|
|
290
|
+
}, null, -1)]]);
|
|
291
|
+
}
|
|
292
|
+
var Gt = o({
|
|
293
|
+
name: "mdi-thermometer",
|
|
294
|
+
render: Wt
|
|
295
|
+
}), Kt = {
|
|
296
|
+
[N.Motion]: Ee,
|
|
297
|
+
[N.Object]: Tt,
|
|
298
|
+
[N.Audio]: F,
|
|
299
|
+
[N.Face]: b,
|
|
300
|
+
[N.LicensePlate]: yt,
|
|
301
|
+
[N.Classifier]: V,
|
|
302
|
+
[N.Clip]: pt,
|
|
303
|
+
[N.ObjectAssist]: Ct,
|
|
304
|
+
[N.Contact]: U,
|
|
305
|
+
[N.Temperature]: Gt,
|
|
306
|
+
[N.Humidity]: W,
|
|
307
|
+
[N.Occupancy]: Ot,
|
|
308
|
+
[N.Smoke]: y,
|
|
309
|
+
[N.Leak]: C,
|
|
310
|
+
[N.Gas]: De,
|
|
311
|
+
[N.CarbonMonoxide]: j,
|
|
312
|
+
[N.CarbonDioxide]: R,
|
|
313
|
+
[N.Heat]: k,
|
|
314
|
+
[N.Cold]: S,
|
|
315
|
+
[N.Vibration]: w,
|
|
316
|
+
[N.Tamper]: D,
|
|
317
|
+
[N.Problem]: O,
|
|
318
|
+
[N.Power]: jt,
|
|
319
|
+
[N.Illuminance]: ct,
|
|
320
|
+
[N.Light]: ze,
|
|
321
|
+
[N.Siren]: zt,
|
|
322
|
+
[N.Switch]: Ht,
|
|
323
|
+
[N.Lock]: xt,
|
|
324
|
+
[N.PTZ]: J,
|
|
325
|
+
[N.SecuritySystem]: It,
|
|
326
|
+
[N.Garage]: ke,
|
|
327
|
+
[N.Doorbell]: Ae,
|
|
328
|
+
[N.Battery]: I
|
|
329
|
+
};
|
|
330
|
+
function qt(e) {
|
|
331
|
+
return Kt[e] ?? Ee;
|
|
332
|
+
}
|
|
333
|
+
//#endregion
|
|
334
|
+
//#region src/api/routes/sensors.ts
|
|
335
|
+
async function Jt({ signal: e, cameraId: t }) {
|
|
336
|
+
return (await M.get("/sensors", {
|
|
337
|
+
signal: e,
|
|
338
|
+
params: t ? { camera: t } : void 0
|
|
339
|
+
})).data.sensors;
|
|
340
|
+
}
|
|
341
|
+
async function Yt({ data: e }) {
|
|
342
|
+
return (await M.post("/sensors", e)).data;
|
|
343
|
+
}
|
|
344
|
+
async function Xt({ id: e, data: t }) {
|
|
345
|
+
return (await M.patch(`/sensors/${e}`, t)).data;
|
|
346
|
+
}
|
|
347
|
+
async function Zt({ id: e }) {
|
|
348
|
+
await M.delete(`/sensors/${e}`);
|
|
349
|
+
}
|
|
350
|
+
async function Qt({ ids: e }) {
|
|
351
|
+
return (await M.delete("/sensors", { data: { ids: e } })).data;
|
|
352
|
+
}
|
|
353
|
+
async function $t({ id: e, signal: t }) {
|
|
354
|
+
return (await M.get(`/sensors/${e}/history`, { signal: t })).data.history;
|
|
355
|
+
}
|
|
356
|
+
var en = class {
|
|
357
|
+
_queryClient = ge();
|
|
358
|
+
t = Te.global.t;
|
|
359
|
+
toast = Se();
|
|
360
|
+
queryActivator = _([{
|
|
361
|
+
name: "getSensorsQuery",
|
|
362
|
+
enabled: !0
|
|
363
|
+
}, {
|
|
364
|
+
name: "getCameraSensorsQuery",
|
|
365
|
+
enabled: !0
|
|
366
|
+
}]);
|
|
367
|
+
getSensorsQuery() {
|
|
368
|
+
return A({
|
|
369
|
+
queryKey: ["sensorsList"],
|
|
370
|
+
queryFn: ({ signal: e }) => Jt({ signal: e }),
|
|
371
|
+
placeholderData: (e) => e,
|
|
372
|
+
enabled: () => this.queryActivator.value.some((e) => e.name === "getSensorsQuery" && e.enabled)
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
getCameraSensorsQuery(e) {
|
|
376
|
+
return A({
|
|
377
|
+
queryKey: ["sensorsList", e],
|
|
378
|
+
queryFn: ({ signal: t }) => Jt({
|
|
379
|
+
signal: t,
|
|
380
|
+
cameraId: u(e)
|
|
381
|
+
}),
|
|
382
|
+
placeholderData: (e) => e,
|
|
383
|
+
enabled: () => this.queryActivator.value.some((e) => e.name === "getCameraSensorsQuery" && e.enabled)
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
createVirtualSensorQuery() {
|
|
387
|
+
return T({
|
|
388
|
+
mutationFn: Yt,
|
|
389
|
+
onSuccess: async () => {
|
|
390
|
+
await this._queryClient.refetchQueries({ queryKey: ["sensorsList"] }), this.toast.add({
|
|
391
|
+
severity: "success",
|
|
392
|
+
detail: this.t("components.camera_options.virtual_sensor_created"),
|
|
393
|
+
life: 3e3
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
patchSensorQuery() {
|
|
399
|
+
return T({
|
|
400
|
+
mutationFn: Xt,
|
|
401
|
+
onSuccess: async () => {
|
|
402
|
+
await this._queryClient.refetchQueries({ queryKey: ["sensorsList"] });
|
|
403
|
+
}
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
deleteSensorQuery() {
|
|
407
|
+
return T({
|
|
408
|
+
mutationFn: Zt,
|
|
409
|
+
onSuccess: async () => {
|
|
410
|
+
await this._queryClient.refetchQueries({ queryKey: ["sensorsList"] });
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
bulkDeleteSensorsQuery() {
|
|
415
|
+
return T({
|
|
416
|
+
mutationFn: Qt,
|
|
417
|
+
onSuccess: async () => {
|
|
418
|
+
await this._queryClient.refetchQueries({ queryKey: ["sensorsList"] });
|
|
419
|
+
}
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
}, tn = {
|
|
423
|
+
viewBox: "0 0 24 24",
|
|
424
|
+
width: "1.2em",
|
|
425
|
+
height: "1.2em"
|
|
426
|
+
};
|
|
427
|
+
function nn(e, t) {
|
|
428
|
+
return r(), p("svg", tn, [...t[0] ||= [m("path", {
|
|
429
|
+
fill: "currentColor",
|
|
430
|
+
d: "M14 10H3v2h11zm0-4H3v2h11zM3 16h7v-2H3zm18.5-4.5L23 13l-7 7l-4.5-4.5L13 14l3 3z"
|
|
431
|
+
}, null, -1)]]);
|
|
432
|
+
}
|
|
433
|
+
var rn = o({
|
|
434
|
+
name: "mdi-playlist-check",
|
|
435
|
+
render: nn
|
|
436
|
+
}), an = {
|
|
437
|
+
viewBox: "0 0 24 24",
|
|
438
|
+
width: "1.2em",
|
|
439
|
+
height: "1.2em"
|
|
440
|
+
};
|
|
441
|
+
function on(e, t) {
|
|
442
|
+
return r(), p("svg", an, [...t[0] ||= [m("path", {
|
|
443
|
+
fill: "currentColor",
|
|
444
|
+
d: "M3 16h7v-2H3m15 0v-4h-2v4h-4v2h4v4h2v-4h4v-2m-8-8H3v2h11m0 2H3v2h11z"
|
|
445
|
+
}, null, -1)]]);
|
|
446
|
+
}
|
|
447
|
+
var sn = o({
|
|
448
|
+
name: "mdi-playlist-plus",
|
|
449
|
+
render: on
|
|
450
|
+
}), cn = 5e3, Y = ce({
|
|
451
|
+
isLoading: !0,
|
|
452
|
+
sensors: [],
|
|
453
|
+
isScanning: !1,
|
|
454
|
+
error: null
|
|
455
|
+
}), X = null, Z = null, Q = !1, $ = 0, ln = null, un = /* @__PURE__ */ new Set();
|
|
456
|
+
function dn() {
|
|
457
|
+
Y.isLoading = !0, Y.sensors = [], Y.isScanning = !1, Y.error = null;
|
|
458
|
+
}
|
|
459
|
+
function fn() {
|
|
460
|
+
return Z || (X = te(!0), X.run(() => {
|
|
461
|
+
let e = Oe("/sensors");
|
|
462
|
+
Z = e, e.onReady(() => {
|
|
463
|
+
pn();
|
|
464
|
+
}), re(e.connected, (e, t) => {
|
|
465
|
+
!e && t && (Q = !1);
|
|
466
|
+
}), e.on("sensors:discovered", (e) => {
|
|
467
|
+
Y.sensors = [...Y.sensors.filter((t) => t.pluginId !== e.source), ...e.sensors];
|
|
468
|
+
}), e.on("sensors:scanning", (e) => {
|
|
469
|
+
Y.isScanning = e.isScanning;
|
|
470
|
+
}), e.on("sensors:adopted", (e) => {
|
|
471
|
+
Y.sensors = Y.sensors.filter((t) => t.pluginId !== e.pluginId || t.id !== e.id);
|
|
472
|
+
}), e.on("sensor:source:changed", (e) => {
|
|
473
|
+
for (let t of un) t(e);
|
|
474
|
+
});
|
|
475
|
+
}), Z);
|
|
476
|
+
}
|
|
477
|
+
async function pn() {
|
|
478
|
+
if (!Z || Q) return {
|
|
479
|
+
success: Q,
|
|
480
|
+
sensors: Y.sensors,
|
|
481
|
+
isScanning: Y.isScanning
|
|
482
|
+
};
|
|
483
|
+
try {
|
|
484
|
+
let e = await Z.request("sensors:subscribe", {});
|
|
485
|
+
return Q = e.success, e.sensors && (Y.sensors = e.sensors), e.isScanning !== void 0 && (Y.isScanning = e.isScanning), Y.isLoading = !1, e;
|
|
486
|
+
} catch (e) {
|
|
487
|
+
return Y.isLoading = !1, Y.error = e instanceof Error ? e.message : "subscribe failed", { success: !1 };
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
async function mn() {
|
|
491
|
+
if (!Z || !Q) return { success: !0 };
|
|
492
|
+
try {
|
|
493
|
+
let e = await Z.request("sensors:unsubscribe", {});
|
|
494
|
+
return Q = !e.success, e;
|
|
495
|
+
} catch {
|
|
496
|
+
return { success: !1 };
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
function hn() {
|
|
500
|
+
Q && mn(), X?.stop(), X = null, Z = null, Q = !1, dn();
|
|
501
|
+
}
|
|
502
|
+
function gn() {
|
|
503
|
+
ln &&= (clearTimeout(ln), null), $++;
|
|
504
|
+
function e() {
|
|
505
|
+
fn(), Z?.connected.value && !Q && pn();
|
|
506
|
+
}
|
|
507
|
+
function t() {
|
|
508
|
+
Q && mn();
|
|
509
|
+
}
|
|
510
|
+
async function n() {
|
|
511
|
+
if (!Z?.ready.value) return {
|
|
512
|
+
success: !1,
|
|
513
|
+
error: "Not connected"
|
|
514
|
+
};
|
|
515
|
+
Y.sensors = [], Y.isScanning = !0;
|
|
516
|
+
try {
|
|
517
|
+
let e = await Z.request("sensors:rescan", {});
|
|
518
|
+
return e.success || (Y.isScanning = !1), e;
|
|
519
|
+
} catch (e) {
|
|
520
|
+
return Y.isScanning = !1, {
|
|
521
|
+
success: !1,
|
|
522
|
+
error: e instanceof Error ? e.message : "rescan failed"
|
|
523
|
+
};
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
async function r(e) {
|
|
527
|
+
if (!Z?.ready.value) return {
|
|
528
|
+
success: !1,
|
|
529
|
+
error: "Not connected"
|
|
530
|
+
};
|
|
531
|
+
let { pluginId: t, pluginName: n, ...r } = e;
|
|
532
|
+
try {
|
|
533
|
+
return await Z.request("sensors:adopt", {
|
|
534
|
+
pluginId: t,
|
|
535
|
+
sensor: r
|
|
536
|
+
});
|
|
537
|
+
} catch (e) {
|
|
538
|
+
return {
|
|
539
|
+
success: !1,
|
|
540
|
+
error: e instanceof Error ? e.message : "adopt failed"
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
function i(e) {
|
|
545
|
+
return un.add(e), () => un.delete(e);
|
|
546
|
+
}
|
|
547
|
+
let a = d(() => [...Y.sensors].sort((e, t) => e.name.localeCompare(t.name)));
|
|
548
|
+
return Pe(() => {
|
|
549
|
+
$--, !($ > 0) && ($ = 0, ln = setTimeout(() => {
|
|
550
|
+
$ <= 0 && (hn(), ln = null);
|
|
551
|
+
}, cn));
|
|
552
|
+
}), {
|
|
553
|
+
state: s(Y),
|
|
554
|
+
isConnected: d(() => Z?.connected.value ?? !1),
|
|
555
|
+
isLoading: d(() => Y.isLoading),
|
|
556
|
+
sensors: d(() => Y.sensors),
|
|
557
|
+
isScanning: d(() => Y.isScanning),
|
|
558
|
+
error: d(() => Y.error),
|
|
559
|
+
sortedSensors: a,
|
|
560
|
+
connect: e,
|
|
561
|
+
disconnect: t,
|
|
562
|
+
subscribe: pn,
|
|
563
|
+
unsubscribe: mn,
|
|
564
|
+
forceRescan: n,
|
|
565
|
+
adoptSensor: r,
|
|
566
|
+
onSourceChanged: i
|
|
567
|
+
};
|
|
568
|
+
}
|
|
569
|
+
//#endregion
|
|
570
|
+
//#region src/views/Sensors.vue?vue&type=script&setup=true&lang.ts
|
|
571
|
+
var _n = { class: "flex flex-col" }, vn = {
|
|
572
|
+
key: 0,
|
|
573
|
+
class: "page-title"
|
|
574
|
+
}, yn = { class: "flex gap-2 mb-4" }, bn = {
|
|
575
|
+
key: 1,
|
|
576
|
+
class: "flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4 py-16"
|
|
577
|
+
}, xn = {
|
|
578
|
+
key: 2,
|
|
579
|
+
class: "flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4 py-20"
|
|
580
|
+
}, Sn = { class: "text-muted text-sm" }, Cn = {
|
|
581
|
+
key: 3,
|
|
582
|
+
class: "flex min-h-0 flex-col"
|
|
583
|
+
}, wn = { class: "card-title" }, Tn = { class: "flex items-center justify-center" }, En = { class: "flex items-center gap-2 min-w-0" }, Dn = { class: "flex flex-col min-w-0" }, On = { class: "flex items-center gap-2 min-w-0" }, kn = { class: "font-bold text-color truncate" }, An = {
|
|
584
|
+
key: 0,
|
|
585
|
+
class: "text-xs text-muted truncate"
|
|
586
|
+
}, jn = {
|
|
587
|
+
key: 1,
|
|
588
|
+
class: "text-xs text-muted truncate font-mono"
|
|
589
|
+
}, Mn = {
|
|
590
|
+
key: 0,
|
|
591
|
+
class: "text-xs text-muted truncate font-mono block"
|
|
592
|
+
}, Nn = {
|
|
593
|
+
key: 1,
|
|
594
|
+
class: "text-xs text-muted"
|
|
595
|
+
}, Pn = { class: "text-xs text-muted whitespace-nowrap" }, Fn = { class: "flex items-center justify-center gap-1 min-w-0" }, In = { class: "flex items-center justify-end gap-1" }, Ln = {
|
|
596
|
+
key: 0,
|
|
597
|
+
class: "shrink-0"
|
|
598
|
+
}, Rn = {
|
|
599
|
+
key: 4,
|
|
600
|
+
class: "flex min-h-0 flex-col mt-6"
|
|
601
|
+
}, zn = { class: "card-title" }, Bn = { class: "flex items-center justify-center" }, Vn = { class: "flex items-center gap-2 min-w-0" }, Hn = { class: "flex flex-col min-w-0" }, Un = { class: "font-bold text-color truncate" }, Wn = { class: "text-xs text-muted truncate font-mono" }, Gn = { class: "text-xs text-muted whitespace-nowrap" }, Kn = {
|
|
602
|
+
key: 1,
|
|
603
|
+
class: "flex flex-col items-center justify-center py-6 gap-2"
|
|
604
|
+
}, qn = { class: "text-muted text-sm" }, Jn = { class: "flex flex-wrap items-center gap-2 mt-4" }, Yn = /*@__PURE__*/ se({
|
|
605
|
+
__name: "Sensors",
|
|
606
|
+
setup(e) {
|
|
607
|
+
let o = E(() => import("./SensorEdit-BxE1cRLR.js")), s = E(() => import("./SensorHistory-DUGlH2pU.js")), te = E(() => import("./VirtualSensorCreate-CvSzLo4N.js")), re = {
|
|
608
|
+
connected: "green",
|
|
609
|
+
disconnected: "gray",
|
|
610
|
+
unavailable: "orange",
|
|
611
|
+
removed: "red"
|
|
612
|
+
}, se = {
|
|
613
|
+
color: "rgb(251, 146, 60)",
|
|
614
|
+
filter: "drop-shadow(0 0 6px rgba(251, 146, 60, 0.6))"
|
|
615
|
+
}, ce = /* @__PURE__ */ new Set([
|
|
616
|
+
N.Motion,
|
|
617
|
+
N.Object,
|
|
618
|
+
N.Audio,
|
|
619
|
+
N.Face,
|
|
620
|
+
N.LicensePlate,
|
|
621
|
+
N.Classifier,
|
|
622
|
+
N.Contact,
|
|
623
|
+
N.Occupancy,
|
|
624
|
+
N.Smoke,
|
|
625
|
+
N.Leak,
|
|
626
|
+
N.Gas,
|
|
627
|
+
N.CarbonMonoxide,
|
|
628
|
+
N.Heat,
|
|
629
|
+
N.Cold,
|
|
630
|
+
N.Vibration,
|
|
631
|
+
N.Tamper,
|
|
632
|
+
N.Problem,
|
|
633
|
+
N.Power
|
|
634
|
+
]), y = new en(), b = new we(), S = Ce(), C = gn(), w = ge(), T = Se(), { t: D } = Le(), { smBreakpoint: O } = he(), k = pe(), { uiSettings: A } = Ie(k), { sensors: j } = Re(), { data: M, isBusy: Te } = y.getSensorsQuery(), { data: Ee } = b.getCamerasQuery({
|
|
635
|
+
page: 1,
|
|
636
|
+
pageSize: -1
|
|
637
|
+
}), { mutateAsync: De, isPending: Oe } = y.createVirtualSensorQuery(), { mutateAsync: ke } = y.patchSensorQuery(), { mutateAsync: Ae, isPending: je } = y.deleteSensorQuery(), { mutateAsync: Pe } = y.bulkDeleteSensorsQuery(), ze = {
|
|
638
|
+
bodyRow: { class: "text-sm text-secondary" },
|
|
639
|
+
column: { columnTitle: { class: "text-sm" } },
|
|
640
|
+
datatable: { class: "z-0" }
|
|
641
|
+
}, it = oe("menuRef"), P = _(""), F = _(!1), at, ot = d(() => M.value === void 0 && Te.value), I = d(() => xe(void 0, "admin")), L = d(() => M.value ?? []), st = d(() => L.value.filter((e) => e.assignmentLocked).length), ct = d(() => [{
|
|
642
|
+
key: "hideCameraBound",
|
|
643
|
+
label: D("views.sensors.hide_camera_bound"),
|
|
644
|
+
description: D("views.sensors.hide_camera_bound_hint"),
|
|
645
|
+
badge: st.value ? String(st.value) : void 0,
|
|
646
|
+
toggle: !0,
|
|
647
|
+
toggleState: A.value.sensors.hideCameraBound,
|
|
648
|
+
onClick: () => A.value.sensors.hideCameraBound = !A.value.sensors.hideCameraBound
|
|
649
|
+
}]), lt = d(() => (Ee.value?.result ?? []).map((e) => ({
|
|
650
|
+
label: e.name,
|
|
651
|
+
value: e._id
|
|
652
|
+
}))), ut = d(() => new Map(j.value.map((e) => [e.id, e]))), R = d(() => {
|
|
653
|
+
let e = P.value.toLowerCase().trim();
|
|
654
|
+
return L.value.map((e) => {
|
|
655
|
+
let t = Et(e);
|
|
656
|
+
return {
|
|
657
|
+
sensor: e,
|
|
658
|
+
label: e.displayName || e.name,
|
|
659
|
+
typeLabel: D(`components.camera_options.sensor_type_${e.type}`),
|
|
660
|
+
nativeLabel: e.address ?? e.nativeId ?? "",
|
|
661
|
+
pluginLabel: e.virtual ? D("views.sensors.owner_virtual") : e.pluginName,
|
|
662
|
+
assignedLabel: e.assignedCameraIds.map((e) => lt.value.find((t) => t.value === e)?.label).filter(Boolean).join(", "),
|
|
663
|
+
state: t,
|
|
664
|
+
stateLabel: Dt(t, e),
|
|
665
|
+
stateColor: re[t]
|
|
666
|
+
};
|
|
667
|
+
}).filter((e) => !A.value.sensors.hideCameraBound || !e.sensor.assignmentLocked).filter((t) => !e || [
|
|
668
|
+
t.label,
|
|
669
|
+
t.typeLabel,
|
|
670
|
+
t.nativeLabel,
|
|
671
|
+
t.pluginLabel,
|
|
672
|
+
t.assignedLabel
|
|
673
|
+
].some((t) => t.toLowerCase().includes(e))).sort((e, t) => e.label.localeCompare(t.label));
|
|
674
|
+
}), z = d(() => C.isScanning.value), B = d(() => {
|
|
675
|
+
let e = P.value.toLowerCase().trim();
|
|
676
|
+
return C.sortedSensors.value.filter((t) => !e || [
|
|
677
|
+
t.name,
|
|
678
|
+
t.id,
|
|
679
|
+
t.pluginName,
|
|
680
|
+
t.room ?? ""
|
|
681
|
+
].some((t) => t.toLowerCase().includes(e)));
|
|
682
|
+
}), { selectionMode: V, selectedIds: dt, selectedItems: ft, allSelected: pt, bulkBusy: H, enterSelectionMode: mt, exitSelectionMode: U, toggleSelectAll: ht, toggleSelection: gt } = x(() => R.value, (e) => e.sensor.id), { selectionMode: W, selectedIds: _t, selectedItems: vt, allSelected: yt, bulkBusy: G, enterSelectionMode: bt, exitSelectionMode: K, toggleSelectAll: St, toggleSelection: Ct } = x(() => B.value, q), wt = d(() => ft.value.filter((e) => J(e.sensor)));
|
|
683
|
+
function q(e) {
|
|
684
|
+
return `${e.pluginId}:${e.id}`;
|
|
685
|
+
}
|
|
686
|
+
function Tt(e) {
|
|
687
|
+
return ut.value.get(e.id)?.connected.value ?? e.connected;
|
|
688
|
+
}
|
|
689
|
+
function Et(e) {
|
|
690
|
+
return Tt(e) ? e.sourceState === "removed" ? "removed" : e.sourceState === "unavailable" ? "unavailable" : "connected" : "disconnected";
|
|
691
|
+
}
|
|
692
|
+
function Dt(e, t) {
|
|
693
|
+
switch (e) {
|
|
694
|
+
case "disconnected": return D("views.sensors.disconnected");
|
|
695
|
+
case "unavailable": return D("views.sensors.state_unavailable");
|
|
696
|
+
case "removed": return D("views.sensors.state_removed", { plugin: t.pluginName });
|
|
697
|
+
default: return D("views.sensors.connected");
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
function Ot() {
|
|
701
|
+
K(), mt();
|
|
702
|
+
}
|
|
703
|
+
function kt() {
|
|
704
|
+
U(), bt();
|
|
705
|
+
}
|
|
706
|
+
function At(e) {
|
|
707
|
+
if (W.value) {
|
|
708
|
+
Ct(q(e));
|
|
709
|
+
return;
|
|
710
|
+
}
|
|
711
|
+
jt(e);
|
|
712
|
+
}
|
|
713
|
+
function jt(e) {
|
|
714
|
+
S.openTextDialog({
|
|
715
|
+
data: {
|
|
716
|
+
title: D("views.sensors.adopt_title"),
|
|
717
|
+
contentText: D("views.sensors.adopt_confirm", {
|
|
718
|
+
name: e.name,
|
|
719
|
+
plugin: e.pluginName
|
|
720
|
+
}),
|
|
721
|
+
confirmText: D("components.form.button.add"),
|
|
722
|
+
loading: F
|
|
723
|
+
},
|
|
724
|
+
onConfirm: async () => {
|
|
725
|
+
F.value = !0;
|
|
726
|
+
try {
|
|
727
|
+
let t = await C.adoptSensor(e);
|
|
728
|
+
if (!t.success) {
|
|
729
|
+
T.add({
|
|
730
|
+
severity: "error",
|
|
731
|
+
summary: D("views.sensors.adopt_title"),
|
|
732
|
+
detail: t.error,
|
|
733
|
+
life: 3e3
|
|
734
|
+
});
|
|
735
|
+
return;
|
|
736
|
+
}
|
|
737
|
+
await w.refetchQueries({ queryKey: ["sensorsList"] }), T.add({
|
|
738
|
+
severity: "success",
|
|
739
|
+
detail: D("views.sensors.adopted", { name: e.name }),
|
|
740
|
+
life: 3e3
|
|
741
|
+
});
|
|
742
|
+
} finally {
|
|
743
|
+
F.value = !1;
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
});
|
|
747
|
+
}
|
|
748
|
+
async function Mt() {
|
|
749
|
+
let e = await C.forceRescan();
|
|
750
|
+
e.success || T.add({
|
|
751
|
+
severity: "error",
|
|
752
|
+
summary: D("views.sensors.rescan"),
|
|
753
|
+
detail: e.error,
|
|
754
|
+
life: 3e3
|
|
755
|
+
});
|
|
756
|
+
}
|
|
757
|
+
function Nt(e) {
|
|
758
|
+
let t = ut.value.get(e.id), n = (n) => t ? t.getProperty(n) : e.properties?.[n];
|
|
759
|
+
switch (e.type) {
|
|
760
|
+
case N.Light:
|
|
761
|
+
case N.Switch: return !!n("on");
|
|
762
|
+
case N.Siren: return !!n("active");
|
|
763
|
+
case N.Doorbell: return !!n("ring");
|
|
764
|
+
case N.Garage:
|
|
765
|
+
case N.Lock: return n("currentState") === 0;
|
|
766
|
+
case N.SecuritySystem: return n("currentState") === 4;
|
|
767
|
+
case N.Battery: return !!n("low");
|
|
768
|
+
default: return ce.has(String(e.type)) && !!n("detected");
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
function J(e) {
|
|
772
|
+
return e.virtual || !e.assignmentLocked || !Tt(e);
|
|
773
|
+
}
|
|
774
|
+
function Pt(e) {
|
|
775
|
+
if (V.value) {
|
|
776
|
+
gt(e.sensor.id);
|
|
777
|
+
return;
|
|
778
|
+
}
|
|
779
|
+
I.value && S.openComponentDialog(o, {
|
|
780
|
+
data: {
|
|
781
|
+
title: e.label,
|
|
782
|
+
confirmText: D("components.form.button.save"),
|
|
783
|
+
contentProps: {
|
|
784
|
+
sensor: e.sensor,
|
|
785
|
+
cameraOptions: lt.value
|
|
786
|
+
}
|
|
787
|
+
},
|
|
788
|
+
onConfirm: async (t) => {
|
|
789
|
+
t && await ke({
|
|
790
|
+
id: e.sensor.id,
|
|
791
|
+
data: t
|
|
792
|
+
});
|
|
793
|
+
}
|
|
794
|
+
});
|
|
795
|
+
}
|
|
796
|
+
function Ft(e) {
|
|
797
|
+
S.openComponentDialog(s, { data: {
|
|
798
|
+
title: `${e.displayName || e.name} · ${D("views.sensors.history")}`,
|
|
799
|
+
hideConfirmButton: !0,
|
|
800
|
+
contentProps: {
|
|
801
|
+
sensorId: e.id,
|
|
802
|
+
sensorType: String(e.type)
|
|
803
|
+
}
|
|
804
|
+
} });
|
|
805
|
+
}
|
|
806
|
+
function It(e, t, n) {
|
|
807
|
+
t.length && T.add({
|
|
808
|
+
severity: "error",
|
|
809
|
+
summary: D("views.sensors.bulk_failed", { count: t.length }),
|
|
810
|
+
detail: t.join(", "),
|
|
811
|
+
life: 8e3
|
|
812
|
+
}), e && T.add({
|
|
813
|
+
severity: "success",
|
|
814
|
+
detail: D(n, { count: e }),
|
|
815
|
+
life: 5e3
|
|
816
|
+
});
|
|
817
|
+
}
|
|
818
|
+
function Lt() {
|
|
819
|
+
let e = [...wt.value];
|
|
820
|
+
S.openTextDialog({
|
|
821
|
+
data: {
|
|
822
|
+
title: D("components.dialog.title.confirm"),
|
|
823
|
+
contentText: D("views.sensors.delete_selected_confirm", { count: e.length }),
|
|
824
|
+
confirmText: D("components.form.button.remove"),
|
|
825
|
+
confirmButtonProps: { severity: "danger" }
|
|
826
|
+
},
|
|
827
|
+
onConfirm: async () => {
|
|
828
|
+
H.value = !0;
|
|
829
|
+
try {
|
|
830
|
+
let { skipped: t } = await Pe({ ids: e.map((e) => e.sensor.id) }), n = e.filter((e) => t.includes(e.sensor.id)).map((e) => e.label);
|
|
831
|
+
U(), It(e.length - n.length, n, "views.sensors.delete_selected_done");
|
|
832
|
+
} finally {
|
|
833
|
+
H.value = !1;
|
|
834
|
+
}
|
|
835
|
+
}
|
|
836
|
+
});
|
|
837
|
+
}
|
|
838
|
+
function Rt() {
|
|
839
|
+
let e = [...vt.value];
|
|
840
|
+
S.openTextDialog({
|
|
841
|
+
data: {
|
|
842
|
+
title: D("views.sensors.adopt_title"),
|
|
843
|
+
contentText: D("views.sensors.adopt_selected_confirm", { count: e.length }),
|
|
844
|
+
confirmText: D("components.form.button.add")
|
|
845
|
+
},
|
|
846
|
+
onConfirm: async () => {
|
|
847
|
+
G.value = !0;
|
|
848
|
+
try {
|
|
849
|
+
let t = [];
|
|
850
|
+
for (let n of e) (await C.adoptSensor(n)).success || t.push(n.name);
|
|
851
|
+
await w.refetchQueries({ queryKey: ["sensorsList"] }), K(), It(e.length - t.length, t, "views.sensors.adopt_selected_done");
|
|
852
|
+
} finally {
|
|
853
|
+
G.value = !1;
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
});
|
|
857
|
+
}
|
|
858
|
+
function zt(e) {
|
|
859
|
+
w.setQueryData(["sensorsList"], (t) => t?.map((t) => t.id === e.sensorId ? {
|
|
860
|
+
...t,
|
|
861
|
+
sourceState: e.sourceState,
|
|
862
|
+
address: e.address
|
|
863
|
+
} : t));
|
|
864
|
+
}
|
|
865
|
+
function Bt() {
|
|
866
|
+
S.openComponentDialog(te, {
|
|
867
|
+
data: {
|
|
868
|
+
title: D("views.sensors.create_virtual"),
|
|
869
|
+
confirmText: D("components.form.button.save"),
|
|
870
|
+
loading: Oe,
|
|
871
|
+
contentProps: {}
|
|
872
|
+
},
|
|
873
|
+
onConfirm: async (e) => {
|
|
874
|
+
e && await De({ data: e });
|
|
875
|
+
}
|
|
876
|
+
});
|
|
877
|
+
}
|
|
878
|
+
function Vt(e) {
|
|
879
|
+
S.openTextDialog({
|
|
880
|
+
data: {
|
|
881
|
+
title: D("views.sensors.delete"),
|
|
882
|
+
contentText: D("views.sensors.delete_confirm"),
|
|
883
|
+
confirmText: D("components.form.button.remove"),
|
|
884
|
+
loading: je,
|
|
885
|
+
confirmButtonProps: { severity: "danger" }
|
|
886
|
+
},
|
|
887
|
+
onConfirm: async () => {
|
|
888
|
+
await Ae({ id: e.id });
|
|
889
|
+
}
|
|
890
|
+
});
|
|
891
|
+
}
|
|
892
|
+
return le(() => {
|
|
893
|
+
I.value && (C.connect(), at = C.onSourceChanged(zt));
|
|
894
|
+
}), n(() => {
|
|
895
|
+
at?.(), I.value && C.unsubscribe();
|
|
896
|
+
}), (e, n) => {
|
|
897
|
+
let o = $e, s = Ve, te = ye, d = Ze, re = Ue, oe = We, _ = He, ce = tt, le = me, y = Ne, pe = be, he = Ge, b = Je, x = Be, ge = rt, S = qe, C = xt, w = de, T = Qe, E = Ye, xe = Fe, Se = Xe, Ce = nt, k = Me, A = ve, j = ue;
|
|
898
|
+
return r(), p("div", _n, [
|
|
899
|
+
u(O) ? l("", !0) : (r(), p("h1", vn, i(u(D)("views.sensors.title")), 1)),
|
|
900
|
+
v(te, { position: "left" }, {
|
|
901
|
+
default: f(() => [v(s, {
|
|
902
|
+
severity: "secondary",
|
|
903
|
+
text: "",
|
|
904
|
+
class: "cui-button p-2 text-color non-draggable-region",
|
|
905
|
+
onClick: n[0] ||= (t) => e.$router.push("/menu")
|
|
906
|
+
}, {
|
|
907
|
+
icon: f(() => [v(o, { class: "w-6 h-6" })]),
|
|
908
|
+
_: 1
|
|
909
|
+
})]),
|
|
910
|
+
_: 1
|
|
911
|
+
}),
|
|
912
|
+
m("div", yn, [
|
|
913
|
+
v(_, { class: "flex-1" }, {
|
|
914
|
+
default: f(() => [v(re, null, {
|
|
915
|
+
default: f(() => [v(d, { class: "w-4 h-4" })]),
|
|
916
|
+
_: 1
|
|
917
|
+
}), v(oe, {
|
|
918
|
+
modelValue: u(P),
|
|
919
|
+
"onUpdate:modelValue": n[1] ||= (e) => ne(P) ? P.value = e : null,
|
|
920
|
+
placeholder: u(D)("views.sensors.search"),
|
|
921
|
+
class: "w-full"
|
|
922
|
+
}, null, 8, ["modelValue", "placeholder"])]),
|
|
923
|
+
_: 1
|
|
924
|
+
}),
|
|
925
|
+
h((r(), c(s, {
|
|
926
|
+
severity: "secondary",
|
|
927
|
+
outlined: "",
|
|
928
|
+
class: "cui-button shrink-0",
|
|
929
|
+
onClick: n[2] ||= (e) => u(it)?.toggleMenu(e)
|
|
930
|
+
}, {
|
|
931
|
+
icon: f(() => [v(ce, { class: "w-4.5 h-4.5" })]),
|
|
932
|
+
_: 1
|
|
933
|
+
})), [[
|
|
934
|
+
j,
|
|
935
|
+
{ value: u(D)("views.sensors.settings") },
|
|
936
|
+
void 0,
|
|
937
|
+
{ left: !0 }
|
|
938
|
+
]]),
|
|
939
|
+
v(le, {
|
|
940
|
+
ref_key: "menuRef",
|
|
941
|
+
ref: it,
|
|
942
|
+
items: u(ct),
|
|
943
|
+
"auto-hide": !1,
|
|
944
|
+
popover: { pt: {
|
|
945
|
+
root: { class: "w-[22rem]" },
|
|
946
|
+
content: { class: "p-0! rounded-xl! overflow-hidden!" }
|
|
947
|
+
} }
|
|
948
|
+
}, null, 8, ["items"])
|
|
949
|
+
]),
|
|
950
|
+
u(ot) ? (r(), p("div", bn, [v(y, {
|
|
951
|
+
"stroke-width": "5",
|
|
952
|
+
class: "w-[30px] h-[30px]"
|
|
953
|
+
})])) : !u(R).length && !u(B).length && !u(z) ? (r(), p("div", xn, [v(pe, { class: "w-12 h-12 text-muted" }), m("span", Sn, i(u(L).length ? u(D)("views.sensors.no_matches") : u(D)("views.sensors.no_sensors")), 1)])) : u(R).length ? (r(), p("div", Cn, [m("span", wn, i(u(D)("views.sensors.adopted_title")), 1), v(xe, { class: "cui-card" }, {
|
|
954
|
+
content: f(() => [v(E, {
|
|
955
|
+
value: u(R),
|
|
956
|
+
"striped-rows": "",
|
|
957
|
+
pt: ze,
|
|
958
|
+
class: "w-full",
|
|
959
|
+
onRowClick: n[4] ||= (e) => Pt(e.data)
|
|
960
|
+
}, {
|
|
961
|
+
default: f(() => [
|
|
962
|
+
u(V) ? (r(), c(b, {
|
|
963
|
+
key: 0,
|
|
964
|
+
header: "",
|
|
965
|
+
"header-class": "p-2 pl-4 w-8 max-w-8",
|
|
966
|
+
class: "p-2 pl-4 w-8 max-w-8"
|
|
967
|
+
}, {
|
|
968
|
+
body: f(({ data: e }) => [v(he, {
|
|
969
|
+
"model-value": u(dt).has(e.sensor.id),
|
|
970
|
+
binary: "",
|
|
971
|
+
size: "small",
|
|
972
|
+
onClick: n[3] ||= t(() => {}, ["stop"]),
|
|
973
|
+
"onUpdate:modelValue": (t) => u(gt)(e.sensor.id)
|
|
974
|
+
}, null, 8, ["model-value", "onUpdate:modelValue"])]),
|
|
975
|
+
_: 1
|
|
976
|
+
})) : l("", !0),
|
|
977
|
+
v(b, {
|
|
978
|
+
header: "",
|
|
979
|
+
"header-class": "p-2 pl-4 w-5 max-w-5",
|
|
980
|
+
class: "p-2 pl-4 w-5 max-w-5"
|
|
981
|
+
}, {
|
|
982
|
+
body: f(({ data: e }) => [m("div", Tn, [h(v(x, { style: ie({ background: e.stateColor }) }, null, 8, ["style"]), [[j, { value: e.stateLabel }]])])]),
|
|
983
|
+
_: 1
|
|
984
|
+
}),
|
|
985
|
+
v(b, {
|
|
986
|
+
field: "label",
|
|
987
|
+
header: u(D)("views.sensors.name"),
|
|
988
|
+
sortable: "",
|
|
989
|
+
"header-class": "p-2",
|
|
990
|
+
class: "p-2 w-[40%] min-w-[180px] max-w-0"
|
|
991
|
+
}, {
|
|
992
|
+
body: f(({ data: e }) => [m("div", En, [(r(), c(ee(u(qt)(e.sensor.type)), {
|
|
993
|
+
class: a(["w-5 h-5 shrink-0 transition-colors", { "text-muted": !Nt(e.sensor) }]),
|
|
994
|
+
style: ie(Nt(e.sensor) ? se : void 0)
|
|
995
|
+
}, null, 8, ["class", "style"])), m("div", Dn, [
|
|
996
|
+
m("div", On, [h((r(), p("span", kn, [g(i(e.label), 1)])), [[j, e.label]]), e.sensor.exposed ? l("", !0) : h((r(), c(ge, {
|
|
997
|
+
key: 0,
|
|
998
|
+
class: "w-4 h-4 shrink-0 text-muted"
|
|
999
|
+
}, null, 512)), [[j, u(D)("views.sensors.not_exposed")]])]),
|
|
1000
|
+
u(O) ? (r(), p("span", An, i(e.typeLabel) + " · " + i(e.pluginLabel), 1)) : l("", !0),
|
|
1001
|
+
u(O) && e.nativeLabel ? h((r(), p("span", jn, [g(i(e.nativeLabel), 1)])), [[j, e.nativeLabel]]) : l("", !0),
|
|
1002
|
+
u(O) && e.state !== "connected" ? (r(), p("span", {
|
|
1003
|
+
key: 2,
|
|
1004
|
+
class: "text-xs truncate",
|
|
1005
|
+
style: ie({ color: e.stateColor })
|
|
1006
|
+
}, i(e.stateLabel), 5)) : l("", !0)
|
|
1007
|
+
])])]),
|
|
1008
|
+
_: 1
|
|
1009
|
+
}, 8, ["header"]),
|
|
1010
|
+
u(O) ? l("", !0) : (r(), c(b, {
|
|
1011
|
+
key: 1,
|
|
1012
|
+
field: "nativeLabel",
|
|
1013
|
+
header: u(D)("views.sensors.native_id"),
|
|
1014
|
+
sortable: "",
|
|
1015
|
+
"header-class": "p-2 whitespace-nowrap cui-col-center",
|
|
1016
|
+
class: "p-2 w-[28%] min-w-[160px] max-w-0 text-center"
|
|
1017
|
+
}, {
|
|
1018
|
+
body: f(({ data: e }) => [e.nativeLabel ? h((r(), p("span", Mn, [g(i(e.nativeLabel), 1)])), [[j, e.nativeLabel]]) : (r(), p("span", Nn, "—"))]),
|
|
1019
|
+
_: 1
|
|
1020
|
+
}, 8, ["header"])),
|
|
1021
|
+
u(O) ? l("", !0) : (r(), c(b, {
|
|
1022
|
+
key: 2,
|
|
1023
|
+
field: "typeLabel",
|
|
1024
|
+
header: u(D)("views.sensors.type"),
|
|
1025
|
+
sortable: "",
|
|
1026
|
+
"header-class": "p-2 whitespace-nowrap cui-col-center",
|
|
1027
|
+
class: "p-2 whitespace-nowrap text-center"
|
|
1028
|
+
}, {
|
|
1029
|
+
body: f(({ data: e }) => [m("span", Pn, i(e.typeLabel), 1)]),
|
|
1030
|
+
_: 1
|
|
1031
|
+
}, 8, ["header"])),
|
|
1032
|
+
u(O) ? l("", !0) : (r(), c(b, {
|
|
1033
|
+
key: 3,
|
|
1034
|
+
field: "pluginLabel",
|
|
1035
|
+
header: u(D)("views.sensors.plugin"),
|
|
1036
|
+
sortable: "",
|
|
1037
|
+
"header-class": "p-2 whitespace-nowrap cui-col-center",
|
|
1038
|
+
class: "p-2 whitespace-nowrap text-center"
|
|
1039
|
+
}, {
|
|
1040
|
+
body: f(({ data: e }) => [v(S, {
|
|
1041
|
+
label: e.pluginLabel,
|
|
1042
|
+
class: "text-xs whitespace-nowrap"
|
|
1043
|
+
}, null, 8, ["label"])]),
|
|
1044
|
+
_: 1
|
|
1045
|
+
}, 8, ["header"])),
|
|
1046
|
+
v(b, {
|
|
1047
|
+
field: "assignedLabel",
|
|
1048
|
+
header: u(D)("views.sensors.assigned_cameras"),
|
|
1049
|
+
sortable: "",
|
|
1050
|
+
"header-class": "p-2 whitespace-nowrap cui-col-center",
|
|
1051
|
+
class: "p-2 min-w-[140px] text-center"
|
|
1052
|
+
}, {
|
|
1053
|
+
body: f(({ data: e }) => [m("div", Fn, [e.sensor.assignmentLocked ? h((r(), c(C, {
|
|
1054
|
+
key: 0,
|
|
1055
|
+
class: "w-3.5 h-3.5 shrink-0 text-muted"
|
|
1056
|
+
}, null, 512)), [[j, u(D)("views.sensors.assigned_cameras_locked_hint")]]) : l("", !0), m("span", { class: a(["text-xs truncate", e.assignedLabel ? "text-muted" : "text-muted italic"]) }, i(e.assignedLabel || u(D)("views.sensors.unassigned")), 3)])]),
|
|
1057
|
+
_: 1
|
|
1058
|
+
}, 8, ["header"]),
|
|
1059
|
+
v(b, {
|
|
1060
|
+
header: "",
|
|
1061
|
+
"header-class": "p-2 pr-4 w-28",
|
|
1062
|
+
class: "p-2 pr-4 w-28"
|
|
1063
|
+
}, {
|
|
1064
|
+
body: f(({ data: e }) => [m("div", In, [h((r(), c(s, {
|
|
1065
|
+
text: "",
|
|
1066
|
+
rounded: "",
|
|
1067
|
+
severity: "secondary",
|
|
1068
|
+
class: "cui-icon-sm shrink-0",
|
|
1069
|
+
onClick: t((t) => Ft(e.sensor), ["stop"])
|
|
1070
|
+
}, {
|
|
1071
|
+
icon: f(() => [v(w, {
|
|
1072
|
+
width: "100%",
|
|
1073
|
+
height: "100%"
|
|
1074
|
+
})]),
|
|
1075
|
+
_: 1
|
|
1076
|
+
}, 8, ["onClick"])), [[
|
|
1077
|
+
j,
|
|
1078
|
+
u(D)("views.sensors.history"),
|
|
1079
|
+
void 0,
|
|
1080
|
+
{ left: !0 }
|
|
1081
|
+
]]), u(I) ? h((r(), p("span", Ln, [v(s, {
|
|
1082
|
+
text: "",
|
|
1083
|
+
rounded: "",
|
|
1084
|
+
severity: "danger",
|
|
1085
|
+
class: "cui-icon-sm",
|
|
1086
|
+
disabled: !J(e.sensor),
|
|
1087
|
+
onClick: t((t) => Vt(e.sensor), ["stop"])
|
|
1088
|
+
}, {
|
|
1089
|
+
icon: f(() => [v(T, {
|
|
1090
|
+
width: "100%",
|
|
1091
|
+
height: "100%"
|
|
1092
|
+
})]),
|
|
1093
|
+
_: 1
|
|
1094
|
+
}, 8, ["disabled", "onClick"])])), [[
|
|
1095
|
+
j,
|
|
1096
|
+
J(e.sensor) ? u(D)("views.sensors.delete") : u(D)("views.sensors.delete_camera_bound"),
|
|
1097
|
+
void 0,
|
|
1098
|
+
{ left: !0 }
|
|
1099
|
+
]]) : l("", !0)])]),
|
|
1100
|
+
_: 1
|
|
1101
|
+
})
|
|
1102
|
+
]),
|
|
1103
|
+
_: 1
|
|
1104
|
+
}, 8, ["value"])]),
|
|
1105
|
+
_: 1
|
|
1106
|
+
})])) : l("", !0),
|
|
1107
|
+
u(I) && !u(ot) ? (r(), p("div", Rn, [m("span", zn, i(u(D)("views.sensors.discovered_title")), 1), v(xe, { class: "cui-card" }, {
|
|
1108
|
+
content: f(() => [u(B).length ? (r(), c(E, {
|
|
1109
|
+
key: 0,
|
|
1110
|
+
value: u(B),
|
|
1111
|
+
"striped-rows": "",
|
|
1112
|
+
pt: ze,
|
|
1113
|
+
class: a(["w-full", { "opacity-60 pointer-events-none": u(F) || u(G) }]),
|
|
1114
|
+
onRowClick: n[6] ||= (e) => At(e.data)
|
|
1115
|
+
}, {
|
|
1116
|
+
default: f(() => [
|
|
1117
|
+
u(W) ? (r(), c(b, {
|
|
1118
|
+
key: 0,
|
|
1119
|
+
header: "",
|
|
1120
|
+
"header-class": "p-2 pl-4 w-8 max-w-8",
|
|
1121
|
+
class: "p-2 pl-4 w-8 max-w-8"
|
|
1122
|
+
}, {
|
|
1123
|
+
body: f(({ data: e }) => [v(he, {
|
|
1124
|
+
"model-value": u(_t).has(q(e)),
|
|
1125
|
+
binary: "",
|
|
1126
|
+
size: "small",
|
|
1127
|
+
onClick: n[5] ||= t(() => {}, ["stop"]),
|
|
1128
|
+
"onUpdate:modelValue": (t) => u(Ct)(q(e))
|
|
1129
|
+
}, null, 8, ["model-value", "onUpdate:modelValue"])]),
|
|
1130
|
+
_: 1
|
|
1131
|
+
})) : l("", !0),
|
|
1132
|
+
v(b, {
|
|
1133
|
+
header: "",
|
|
1134
|
+
"header-class": "p-2 pl-4 w-5 max-w-5",
|
|
1135
|
+
class: "p-2 pl-4 w-5 max-w-5"
|
|
1136
|
+
}, {
|
|
1137
|
+
body: f(() => [m("div", Bn, [h(v(x, { style: { background: "orange" } }, null, 512), [[j, { value: u(D)("views.sensors.status_discovered") }]])])]),
|
|
1138
|
+
_: 1
|
|
1139
|
+
}),
|
|
1140
|
+
v(b, {
|
|
1141
|
+
field: "name",
|
|
1142
|
+
header: u(D)("views.sensors.name"),
|
|
1143
|
+
sortable: "",
|
|
1144
|
+
"header-class": "p-2",
|
|
1145
|
+
class: "p-2 w-full min-w-[200px] max-w-0"
|
|
1146
|
+
}, {
|
|
1147
|
+
body: f(({ data: e }) => [m("div", Vn, [(r(), c(ee(u(qt)(e.type)), { class: "w-5 h-5 shrink-0 text-muted" })), m("div", Hn, [h((r(), p("span", Un, [g(i(e.name), 1)])), [[j, e.name]]), h((r(), p("span", Wn, [g(i(e.address ?? e.id), 1)])), [[j, e.address ?? e.id]])])])]),
|
|
1148
|
+
_: 1
|
|
1149
|
+
}, 8, ["header"]),
|
|
1150
|
+
u(O) ? l("", !0) : (r(), c(b, {
|
|
1151
|
+
key: 1,
|
|
1152
|
+
field: "type",
|
|
1153
|
+
header: u(D)("views.sensors.type"),
|
|
1154
|
+
sortable: "",
|
|
1155
|
+
"header-class": "p-2 whitespace-nowrap",
|
|
1156
|
+
class: "p-2 whitespace-nowrap"
|
|
1157
|
+
}, {
|
|
1158
|
+
body: f(({ data: e }) => [m("span", Gn, i(u(D)(`components.camera_options.sensor_type_${e.type}`)), 1)]),
|
|
1159
|
+
_: 1
|
|
1160
|
+
}, 8, ["header"])),
|
|
1161
|
+
u(O) ? l("", !0) : (r(), c(b, {
|
|
1162
|
+
key: 2,
|
|
1163
|
+
field: "room",
|
|
1164
|
+
header: u(D)("components.form.label.room"),
|
|
1165
|
+
sortable: "",
|
|
1166
|
+
"header-class": "p-2 whitespace-nowrap",
|
|
1167
|
+
class: "p-2 whitespace-nowrap"
|
|
1168
|
+
}, {
|
|
1169
|
+
body: f(({ data: e }) => [e.room ? (r(), c(S, {
|
|
1170
|
+
key: 0,
|
|
1171
|
+
label: e.room,
|
|
1172
|
+
class: "text-xs whitespace-nowrap"
|
|
1173
|
+
}, null, 8, ["label"])) : l("", !0)]),
|
|
1174
|
+
_: 1
|
|
1175
|
+
}, 8, ["header"])),
|
|
1176
|
+
v(b, {
|
|
1177
|
+
field: "pluginName",
|
|
1178
|
+
header: u(D)("views.sensors.plugin"),
|
|
1179
|
+
sortable: "",
|
|
1180
|
+
"header-class": "p-2 pr-4 whitespace-nowrap",
|
|
1181
|
+
class: "p-2 pr-4 whitespace-nowrap"
|
|
1182
|
+
}, {
|
|
1183
|
+
body: f(({ data: e }) => [v(S, {
|
|
1184
|
+
label: e.pluginName,
|
|
1185
|
+
class: "text-xs whitespace-nowrap"
|
|
1186
|
+
}, null, 8, ["label"])]),
|
|
1187
|
+
_: 1
|
|
1188
|
+
}, 8, ["header"])
|
|
1189
|
+
]),
|
|
1190
|
+
_: 1
|
|
1191
|
+
}, 8, ["value", "class"])) : (r(), p("div", Kn, [u(z) ? (r(), c(Se, {
|
|
1192
|
+
key: 0,
|
|
1193
|
+
width: "24px",
|
|
1194
|
+
height: "24px",
|
|
1195
|
+
class: "text-muted"
|
|
1196
|
+
})) : (r(), c(Ce, {
|
|
1197
|
+
key: 1,
|
|
1198
|
+
width: "32px",
|
|
1199
|
+
height: "32px",
|
|
1200
|
+
class: "text-muted"
|
|
1201
|
+
})), m("span", qn, i(u(z) ? u(D)("views.sensors.scanning") : u(D)("views.sensors.no_discovered")), 1)])), m("div", Jn, [n[7] ||= m("div", { class: "ml-auto" }, null, -1), v(s, {
|
|
1202
|
+
severity: "secondary",
|
|
1203
|
+
class: "cui-button-medium",
|
|
1204
|
+
label: u(D)("views.sensors.rescan"),
|
|
1205
|
+
loading: u(z),
|
|
1206
|
+
onClick: Mt
|
|
1207
|
+
}, null, 8, ["label", "loading"])])]),
|
|
1208
|
+
_: 1
|
|
1209
|
+
})])) : l("", !0),
|
|
1210
|
+
u(I) ? (r(), c(A, {
|
|
1211
|
+
key: 5,
|
|
1212
|
+
"force-visible": u(V) || u(W)
|
|
1213
|
+
}, {
|
|
1214
|
+
default: f(() => [!u(V) && !u(W) ? (r(), p(ae, { key: 0 }, [
|
|
1215
|
+
u(R).length ? (r(), c(k, {
|
|
1216
|
+
key: 0,
|
|
1217
|
+
grouped: "",
|
|
1218
|
+
"tooltip-props": { value: u(D)("views.sensors.select") },
|
|
1219
|
+
"button-props": { severity: "secondary" },
|
|
1220
|
+
icon: u(_e),
|
|
1221
|
+
"icon-props": {
|
|
1222
|
+
width: "100%",
|
|
1223
|
+
height: "100%"
|
|
1224
|
+
},
|
|
1225
|
+
onClick: Ot
|
|
1226
|
+
}, null, 8, ["tooltip-props", "icon"])) : l("", !0),
|
|
1227
|
+
u(B).length ? (r(), c(k, {
|
|
1228
|
+
key: 1,
|
|
1229
|
+
grouped: "",
|
|
1230
|
+
"tooltip-props": { value: u(D)("views.sensors.select_discovered") },
|
|
1231
|
+
"button-props": { severity: "secondary" },
|
|
1232
|
+
icon: u(rn),
|
|
1233
|
+
"icon-props": {
|
|
1234
|
+
width: "100%",
|
|
1235
|
+
height: "100%"
|
|
1236
|
+
},
|
|
1237
|
+
onClick: kt
|
|
1238
|
+
}, null, 8, ["tooltip-props", "icon"])) : l("", !0),
|
|
1239
|
+
v(k, {
|
|
1240
|
+
grouped: "",
|
|
1241
|
+
"tooltip-props": { value: u(D)("views.sensors.create_virtual") },
|
|
1242
|
+
"button-props": { class: "text-white" },
|
|
1243
|
+
icon: u(et),
|
|
1244
|
+
"icon-props": {
|
|
1245
|
+
width: "30px",
|
|
1246
|
+
height: "30px"
|
|
1247
|
+
},
|
|
1248
|
+
onClick: Bt
|
|
1249
|
+
}, null, 8, ["tooltip-props", "icon"])
|
|
1250
|
+
], 64)) : u(V) ? (r(), p(ae, { key: 1 }, [
|
|
1251
|
+
v(k, {
|
|
1252
|
+
grouped: "",
|
|
1253
|
+
"tooltip-props": { value: e.$t("components.form.tooltip.cancel_selection") },
|
|
1254
|
+
"button-props": { severity: "secondary" },
|
|
1255
|
+
icon: u(Ke),
|
|
1256
|
+
"icon-props": {
|
|
1257
|
+
width: "100%",
|
|
1258
|
+
height: "100%"
|
|
1259
|
+
},
|
|
1260
|
+
onClick: u(U)
|
|
1261
|
+
}, null, 8, [
|
|
1262
|
+
"tooltip-props",
|
|
1263
|
+
"icon",
|
|
1264
|
+
"onClick"
|
|
1265
|
+
]),
|
|
1266
|
+
v(k, {
|
|
1267
|
+
grouped: "",
|
|
1268
|
+
"tooltip-props": { value: e.$t("components.form.tooltip.select_all") },
|
|
1269
|
+
"button-props": { severity: u(pt) ? "primary" : "secondary" },
|
|
1270
|
+
icon: u(fe),
|
|
1271
|
+
"icon-props": {
|
|
1272
|
+
width: "100%",
|
|
1273
|
+
height: "100%"
|
|
1274
|
+
},
|
|
1275
|
+
onClick: u(ht)
|
|
1276
|
+
}, null, 8, [
|
|
1277
|
+
"tooltip-props",
|
|
1278
|
+
"button-props",
|
|
1279
|
+
"icon",
|
|
1280
|
+
"onClick"
|
|
1281
|
+
]),
|
|
1282
|
+
v(k, {
|
|
1283
|
+
grouped: "",
|
|
1284
|
+
"tooltip-props": { value: u(D)("views.sensors.delete_selected") },
|
|
1285
|
+
"button-props": {
|
|
1286
|
+
severity: "danger",
|
|
1287
|
+
disabled: !u(wt).length || u(H)
|
|
1288
|
+
},
|
|
1289
|
+
icon: u(Qe),
|
|
1290
|
+
"icon-props": {
|
|
1291
|
+
width: "100%",
|
|
1292
|
+
height: "100%"
|
|
1293
|
+
},
|
|
1294
|
+
onClick: Lt
|
|
1295
|
+
}, null, 8, [
|
|
1296
|
+
"tooltip-props",
|
|
1297
|
+
"button-props",
|
|
1298
|
+
"icon"
|
|
1299
|
+
])
|
|
1300
|
+
], 64)) : (r(), p(ae, { key: 2 }, [
|
|
1301
|
+
v(k, {
|
|
1302
|
+
grouped: "",
|
|
1303
|
+
"tooltip-props": { value: e.$t("components.form.tooltip.cancel_selection") },
|
|
1304
|
+
"button-props": { severity: "secondary" },
|
|
1305
|
+
icon: u(Ke),
|
|
1306
|
+
"icon-props": {
|
|
1307
|
+
width: "100%",
|
|
1308
|
+
height: "100%"
|
|
1309
|
+
},
|
|
1310
|
+
onClick: u(K)
|
|
1311
|
+
}, null, 8, [
|
|
1312
|
+
"tooltip-props",
|
|
1313
|
+
"icon",
|
|
1314
|
+
"onClick"
|
|
1315
|
+
]),
|
|
1316
|
+
v(k, {
|
|
1317
|
+
grouped: "",
|
|
1318
|
+
"tooltip-props": { value: e.$t("components.form.tooltip.select_all") },
|
|
1319
|
+
"button-props": { severity: u(yt) ? "primary" : "secondary" },
|
|
1320
|
+
icon: u(fe),
|
|
1321
|
+
"icon-props": {
|
|
1322
|
+
width: "100%",
|
|
1323
|
+
height: "100%"
|
|
1324
|
+
},
|
|
1325
|
+
onClick: u(St)
|
|
1326
|
+
}, null, 8, [
|
|
1327
|
+
"tooltip-props",
|
|
1328
|
+
"button-props",
|
|
1329
|
+
"icon",
|
|
1330
|
+
"onClick"
|
|
1331
|
+
]),
|
|
1332
|
+
v(k, {
|
|
1333
|
+
grouped: "",
|
|
1334
|
+
"tooltip-props": { value: u(D)("views.sensors.adopt_selected") },
|
|
1335
|
+
"button-props": {
|
|
1336
|
+
class: "text-white",
|
|
1337
|
+
disabled: !u(vt).length || u(G)
|
|
1338
|
+
},
|
|
1339
|
+
icon: u(sn),
|
|
1340
|
+
"icon-props": {
|
|
1341
|
+
width: "100%",
|
|
1342
|
+
height: "100%"
|
|
1343
|
+
},
|
|
1344
|
+
onClick: Rt
|
|
1345
|
+
}, null, 8, [
|
|
1346
|
+
"tooltip-props",
|
|
1347
|
+
"button-props",
|
|
1348
|
+
"icon"
|
|
1349
|
+
])
|
|
1350
|
+
], 64))]),
|
|
1351
|
+
_: 1
|
|
1352
|
+
}, 8, ["force-visible"])) : l("", !0)
|
|
1353
|
+
]);
|
|
1354
|
+
};
|
|
1355
|
+
}
|
|
1356
|
+
}), Xn = /* @__PURE__ */ e({ default: () => Zn }), Zn = /*#__PURE__*/ je(Yn, [["__scopeId", "data-v-35c30b9c"]]);
|
|
1357
|
+
//#endregion
|
|
1358
|
+
export { Zn as default, zt as i, $t as n, qt as r, Xn as t };
|