zigbee2mqtt-windfront 1.8.0 → 1.8.1
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/assets/{About-CZjwfsW-.js → About-BWrcA8qQ.js} +1 -1
- package/dist/assets/About-BWrcA8qQ.js.br +0 -0
- package/dist/assets/{Availability-PU0rLtaR.js → Availability-D1dLU87I.js} +1 -1
- package/dist/assets/Availability-D1dLU87I.js.br +0 -0
- package/dist/assets/Bind-D1v_YvyA.js +1 -0
- package/dist/assets/Bind-D1v_YvyA.js.br +0 -0
- package/dist/assets/Bridge-BrYjUYbo.js +1 -0
- package/dist/assets/Bridge-BrYjUYbo.js.br +0 -0
- package/dist/assets/{CheckboxField-DL452sgi.js → CheckboxField-DGeXHkdI.js} +1 -1
- package/dist/assets/CheckboxField-DGeXHkdI.js.br +0 -0
- package/dist/assets/{ClusterSinglePicker-CdWuBd2I.js → ClusterSinglePicker-XKCAlJUJ.js} +1 -1
- package/dist/assets/ClusterSinglePicker-XKCAlJUJ.js.br +0 -0
- package/dist/assets/{Clusters-Dqpd0Nay.js → Clusters-Bs7V9b_E.js} +1 -1
- package/dist/assets/Clusters-Bs7V9b_E.js.br +0 -0
- package/dist/assets/{Dashboard-D72X1Jpp.js → Dashboard-pa4xB_EA.js} +1 -1
- package/dist/assets/Dashboard-pa4xB_EA.js.br +0 -0
- package/dist/assets/{DashboardFeatureWrapper-CijVXPwd.js → DashboardFeatureWrapper-BYrtY7HX.js} +1 -1
- package/dist/assets/DashboardFeatureWrapper-BYrtY7HX.js.br +0 -0
- package/dist/assets/{DebouncedInput-Oo6AI4sw.js → DebouncedInput-BSs73uaO.js} +1 -1
- package/dist/assets/DebouncedInput-BSs73uaO.js.br +0 -0
- package/dist/assets/DevConsole-B1CEDFS6.js +1 -0
- package/dist/assets/DevConsole-B1CEDFS6.js.br +0 -0
- package/dist/assets/DevConsole-DzhRu7kl.js +20 -0
- package/dist/assets/DevConsole-DzhRu7kl.js.br +0 -0
- package/dist/assets/{DeviceCard-BQ3AAT7N.js → DeviceCard-B-MslgxW.js} +1 -1
- package/dist/assets/DeviceCard-B-MslgxW.js.br +0 -0
- package/dist/assets/DeviceControlEditName-m82lnyr9.js +1 -0
- package/dist/assets/DeviceControlEditName-m82lnyr9.js.br +0 -0
- package/dist/assets/{DeviceImage-C9XLyJZx.js → DeviceImage-DL3nWYo3.js} +1 -1
- package/dist/assets/DeviceImage-DL3nWYo3.js.br +0 -0
- package/dist/assets/{DeviceInfo-ADguzSw7.js → DeviceInfo-BBRyyGYy.js} +1 -1
- package/dist/assets/DeviceInfo-BBRyyGYy.js.br +0 -0
- package/dist/assets/DevicePage-jGsdfE2a.js +2 -0
- package/dist/assets/DevicePage-jGsdfE2a.js.br +0 -0
- package/dist/assets/{DevicePicker-toVVVDvU.js → DevicePicker-CxYjky2Z.js} +1 -1
- package/dist/assets/DevicePicker-CxYjky2Z.js.br +0 -0
- package/dist/assets/{DeviceSettings-CTvrWIT_.js → DeviceSettings-CxqEPckE.js} +1 -1
- package/dist/assets/DeviceSettings-CxqEPckE.js.br +0 -0
- package/dist/assets/{DeviceSpecificSettings-C-JdxNN-.js → DeviceSpecificSettings-yq2AvjNF.js} +1 -1
- package/dist/assets/DeviceSpecificSettings-yq2AvjNF.js.br +0 -0
- package/dist/assets/{Devices-CeivpLUl.js → Devices-8slkLcEd.js} +1 -1
- package/dist/assets/Devices-8slkLcEd.js.br +0 -0
- package/dist/assets/{DevicesPage-DlF_s1BX.js → DevicesPage-Dgj0SUNO.js} +1 -1
- package/dist/assets/DevicesPage-Dgj0SUNO.js.br +0 -0
- package/dist/assets/{DisplayValue-BOG1_pD9.js → DisplayValue-E8sajbsC.js} +1 -1
- package/dist/assets/DisplayValue-E8sajbsC.js.br +0 -0
- package/dist/assets/{Donate-DesLNYDr.js → Donate-BO7Z7hUr.js} +1 -1
- package/dist/assets/Donate-BO7Z7hUr.js.br +0 -0
- package/dist/assets/{EndpointPicker-DeqXMnZV.js → EndpointPicker-DaqpKjl3.js} +1 -1
- package/dist/assets/EndpointPicker-DaqpKjl3.js.br +0 -0
- package/dist/assets/Exposes-CKueBwT9.js +1 -0
- package/dist/assets/Exposes-CKueBwT9.js.br +0 -0
- package/dist/assets/Feature-BzaXaUES.js +1 -0
- package/dist/assets/Feature-BzaXaUES.js.br +0 -0
- package/dist/assets/{Frontend-DTfIT-Dy.js → Frontend-B2I3Z2yo.js} +1 -1
- package/dist/assets/Frontend-B2I3Z2yo.js.br +0 -0
- package/dist/assets/{GroupPage-s_YhF_aM.js → GroupPage-BywX_Lbd.js} +2 -2
- package/dist/assets/GroupPage-BywX_Lbd.js.br +0 -0
- package/dist/assets/{GroupSettings-C1Mxz20w.js → GroupSettings-DUPxP4Lf.js} +1 -1
- package/dist/assets/GroupSettings-DUPxP4Lf.js.br +0 -0
- package/dist/assets/{Groups-DejN32tj.js → Groups-C7jeWZeH.js} +1 -1
- package/dist/assets/Groups-C7jeWZeH.js.br +0 -0
- package/dist/assets/{GroupsPage-BghQyG2m.js → GroupsPage-Du8LTLJf.js} +1 -1
- package/dist/assets/GroupsPage-Du8LTLJf.js.br +0 -0
- package/dist/assets/{Health-Dky6SDKV.js → Health-BMcXjGsM.js} +1 -1
- package/dist/assets/Health-BMcXjGsM.js.br +0 -0
- package/dist/assets/{HomePage-DcqiUqjS.js → HomePage-Cm9MXKhj.js} +1 -1
- package/dist/assets/HomePage-Cm9MXKhj.js.br +0 -0
- package/dist/assets/{InputField-BHHQh6No.js → InputField-D7F4rh-6.js} +1 -1
- package/dist/assets/InputField-D7F4rh-6.js.br +0 -0
- package/dist/assets/{Json-4L3vY4kO.js → Json-CIlquCLk.js} +1 -1
- package/dist/assets/Json-CIlquCLk.js.br +0 -0
- package/dist/assets/{LastSeen-dsZqv4y_.js → LastSeen-hXPhBVem.js} +1 -1
- package/dist/assets/LastSeen-hXPhBVem.js.br +0 -0
- package/dist/assets/{LogsPage-Bm2mwOb6.js → LogsPage-BWPvuwAK.js} +1 -1
- package/dist/assets/LogsPage-BWPvuwAK.js.br +0 -0
- package/dist/assets/{Lqi-D-5JxyY1.js → Lqi-OIJirhdX.js} +1 -1
- package/dist/assets/Lqi-OIJirhdX.js.br +0 -0
- package/dist/assets/{NetworkPage-C6zhqoAF.js → NetworkPage-CeYM0kNC.js} +2 -2
- package/dist/assets/NetworkPage-CeYM0kNC.js.br +0 -0
- package/dist/assets/{NumberField-W0nLjOub.js → NumberField-DBq58GHS.js} +1 -1
- package/dist/assets/NumberField-DBq58GHS.js.br +0 -0
- package/dist/assets/OtaPage-2i6uXP6o.js +1 -0
- package/dist/assets/OtaPage-2i6uXP6o.js.br +0 -0
- package/dist/assets/{PowerSource-zOxQYLf3.js → PowerSource-pdM840jV.js} +1 -1
- package/dist/assets/PowerSource-pdM840jV.js.br +0 -0
- package/dist/assets/{RawNetworkData-RqJboJd5.js → RawNetworkData-DmEzjMKR.js} +1 -1
- package/dist/assets/RawNetworkData-DmEzjMKR.js.br +0 -0
- package/dist/assets/{RawNetworkMap-TRBX0zwa.js → RawNetworkMap-m-jI3ov-.js} +1 -1
- package/dist/assets/RawNetworkMap-m-jI3ov-.js.br +0 -0
- package/dist/assets/{RecallRemove-cc5YDCh9.js → RecallRemove-WoSCq7mT.js} +1 -1
- package/dist/assets/RecallRemove-WoSCq7mT.js.br +0 -0
- package/dist/assets/Reporting-DMIJKWCI.js +1 -0
- package/dist/assets/Reporting-DMIJKWCI.js.br +0 -0
- package/dist/assets/Scene-BZa630sw.js +1 -0
- package/dist/assets/Scene-BZa630sw.js.br +2 -0
- package/dist/assets/{SelectField-BMt7uZuS.js → SelectField-Do2InTFr.js} +1 -1
- package/dist/assets/SelectField-Do2InTFr.js.br +0 -0
- package/dist/assets/Settings-DPny-0Rt.js +1 -0
- package/dist/assets/Settings-DPny-0Rt.js.br +0 -0
- package/dist/assets/SettingsList-DsVgWKy3.js +1 -0
- package/dist/assets/SettingsList-DsVgWKy3.js.br +0 -0
- package/dist/assets/{SettingsPage-BvLt8GhQ.js → SettingsPage-Cx4nWHRr.js} +2 -2
- package/dist/assets/SettingsPage-Cx4nWHRr.js.br +0 -0
- package/dist/assets/State-De2K3QBu.js +1 -0
- package/dist/assets/State-De2K3QBu.js.br +2 -0
- package/dist/assets/{Table-YMU-GTDx.js → Table-BpnEzjLb.js} +1 -1
- package/dist/assets/Table-BpnEzjLb.js.br +0 -0
- package/dist/assets/{TextareaField-RnWDqrAI.js → TextareaField-xwbu8YKo.js} +1 -1
- package/dist/assets/TextareaField-xwbu8YKo.js.br +0 -0
- package/dist/assets/{Tools-pHwI6wAE.js → Tools-McB1jYZ-.js} +1 -1
- package/dist/assets/Tools-McB1jYZ-.js.br +0 -0
- package/dist/assets/{TouchlinkPage-C5u7Nbx_.js → TouchlinkPage-BKfeLLii.js} +1 -1
- package/dist/assets/TouchlinkPage-BKfeLLii.js.br +0 -0
- package/dist/assets/{VendorLink-DuKl6tZD.js → VendorLink-DE4QCH9H.js} +1 -1
- package/dist/assets/VendorLink-DE4QCH9H.js.br +0 -0
- package/dist/assets/{_createCompounder-j5DHCRsI.js → _createCompounder-CfkIxP4I.js} +1 -1
- package/dist/assets/_createCompounder-CfkIxP4I.js.br +0 -0
- package/dist/assets/{format-DWdgGQ5D.js → format-Bbg3coak.js} +1 -1
- package/dist/assets/format-Bbg3coak.js.br +0 -0
- package/dist/assets/{index-Dn4wgen8.js → index-DDBxKamc.js} +1 -1
- package/dist/assets/index-DDBxKamc.js.br +0 -0
- package/dist/assets/{index-BR27vzZL.js → index-pzWGL0cK.js} +9 -9
- package/dist/assets/index-pzWGL0cK.js.br +0 -0
- package/dist/assets/{jszip.min-Dj0U1QNV.js → jszip.min-CB2ooJ__.js} +1 -1
- package/dist/assets/jszip.min-CB2ooJ__.js.br +0 -0
- package/dist/assets/shallow-BvOtxUf5.js +1 -0
- package/dist/assets/shallow-BvOtxUf5.js.br +0 -0
- package/dist/assets/snakeCase-CUh04m27.js +1 -0
- package/dist/assets/snakeCase-CUh04m27.js.br +0 -0
- package/dist/index.html +1 -1
- package/dist/index.html.br +0 -0
- package/package.json +1 -1
- package/dist/assets/About-CZjwfsW-.js.br +0 -0
- package/dist/assets/Availability-PU0rLtaR.js.br +0 -0
- package/dist/assets/Bind-ByraS7_e.js +0 -1
- package/dist/assets/Bind-ByraS7_e.js.br +0 -0
- package/dist/assets/Bridge-DkgYFiG9.js +0 -1
- package/dist/assets/Bridge-DkgYFiG9.js.br +0 -0
- package/dist/assets/CheckboxField-DL452sgi.js.br +0 -0
- package/dist/assets/ClusterSinglePicker-CdWuBd2I.js.br +0 -0
- package/dist/assets/Clusters-Dqpd0Nay.js.br +0 -0
- package/dist/assets/Dashboard-D72X1Jpp.js.br +0 -0
- package/dist/assets/DashboardFeatureWrapper-CijVXPwd.js.br +0 -0
- package/dist/assets/DebouncedInput-Oo6AI4sw.js.br +0 -0
- package/dist/assets/DevConsole-DidHFg9P.js +0 -1
- package/dist/assets/DevConsole-DidHFg9P.js.br +0 -0
- package/dist/assets/DevConsole-Ou7nxVMB.js +0 -20
- package/dist/assets/DevConsole-Ou7nxVMB.js.br +0 -0
- package/dist/assets/DeviceCard-BQ3AAT7N.js.br +0 -0
- package/dist/assets/DeviceControlEditName-CdOvAC3i.js +0 -1
- package/dist/assets/DeviceControlEditName-CdOvAC3i.js.br +0 -0
- package/dist/assets/DeviceImage-C9XLyJZx.js.br +0 -0
- package/dist/assets/DeviceInfo-ADguzSw7.js.br +0 -0
- package/dist/assets/DevicePage-nrrWZFdG.js +0 -2
- package/dist/assets/DevicePage-nrrWZFdG.js.br +0 -0
- package/dist/assets/DevicePicker-toVVVDvU.js.br +0 -0
- package/dist/assets/DeviceSettings-CTvrWIT_.js.br +0 -0
- package/dist/assets/DeviceSpecificSettings-C-JdxNN-.js.br +0 -0
- package/dist/assets/Devices-CeivpLUl.js.br +0 -0
- package/dist/assets/DevicesPage-DlF_s1BX.js.br +0 -0
- package/dist/assets/DisplayValue-BOG1_pD9.js.br +0 -0
- package/dist/assets/Donate-DesLNYDr.js.br +0 -0
- package/dist/assets/EndpointPicker-DeqXMnZV.js.br +0 -3
- package/dist/assets/Exposes-C5U8q2yk.js +0 -1
- package/dist/assets/Exposes-C5U8q2yk.js.br +0 -0
- package/dist/assets/Feature-Ciu4ZwFB.js +0 -1
- package/dist/assets/Feature-Ciu4ZwFB.js.br +0 -0
- package/dist/assets/Frontend-DTfIT-Dy.js.br +0 -0
- package/dist/assets/GroupPage-s_YhF_aM.js.br +0 -0
- package/dist/assets/GroupSettings-C1Mxz20w.js.br +0 -0
- package/dist/assets/Groups-DejN32tj.js.br +0 -0
- package/dist/assets/GroupsPage-BghQyG2m.js.br +0 -0
- package/dist/assets/Health-Dky6SDKV.js.br +0 -0
- package/dist/assets/HomePage-DcqiUqjS.js.br +0 -0
- package/dist/assets/InputField-BHHQh6No.js.br +0 -0
- package/dist/assets/Json-4L3vY4kO.js.br +0 -0
- package/dist/assets/LastSeen-dsZqv4y_.js.br +0 -0
- package/dist/assets/LogsPage-Bm2mwOb6.js.br +0 -0
- package/dist/assets/Lqi-D-5JxyY1.js.br +0 -0
- package/dist/assets/NetworkPage-C6zhqoAF.js.br +0 -0
- package/dist/assets/NumberField-W0nLjOub.js.br +0 -0
- package/dist/assets/OtaPage-Dh-CKhjl.js +0 -1
- package/dist/assets/OtaPage-Dh-CKhjl.js.br +0 -0
- package/dist/assets/PowerSource-zOxQYLf3.js.br +0 -0
- package/dist/assets/RawNetworkData-RqJboJd5.js.br +0 -0
- package/dist/assets/RawNetworkMap-TRBX0zwa.js.br +0 -0
- package/dist/assets/RecallRemove-cc5YDCh9.js.br +0 -0
- package/dist/assets/Reporting-DnG0I3Vc.js +0 -1
- package/dist/assets/Reporting-DnG0I3Vc.js.br +0 -0
- package/dist/assets/Scene-BAtAVAEO.js +0 -1
- package/dist/assets/Scene-BAtAVAEO.js.br +0 -0
- package/dist/assets/SelectField-BMt7uZuS.js.br +0 -0
- package/dist/assets/Settings-gGZGfvuj.js +0 -1
- package/dist/assets/Settings-gGZGfvuj.js.br +0 -0
- package/dist/assets/SettingsList-D8N_9F77.js +0 -1
- package/dist/assets/SettingsList-D8N_9F77.js.br +0 -0
- package/dist/assets/SettingsPage-BvLt8GhQ.js.br +0 -0
- package/dist/assets/State-BNAmyC2W.js +0 -1
- package/dist/assets/State-BNAmyC2W.js.br +0 -0
- package/dist/assets/Table-YMU-GTDx.js.br +0 -0
- package/dist/assets/TextareaField-RnWDqrAI.js.br +0 -0
- package/dist/assets/Tools-pHwI6wAE.js.br +0 -0
- package/dist/assets/TouchlinkPage-C5u7Nbx_.js.br +0 -0
- package/dist/assets/VendorLink-DuKl6tZD.js.br +0 -0
- package/dist/assets/_createCompounder-j5DHCRsI.js.br +0 -0
- package/dist/assets/format-DWdgGQ5D.js.br +0 -3
- package/dist/assets/index-BR27vzZL.js.br +0 -0
- package/dist/assets/index-Dn4wgen8.js.br +0 -0
- package/dist/assets/jszip.min-Dj0U1QNV.js.br +0 -0
- package/dist/assets/snakeCase-Dntle38p.js +0 -1
- package/dist/assets/snakeCase-Dntle38p.js.br +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Devices-
|
|
2
|
-
import{r,b as p,j as e,L as f,P as j,F as m,f as v,u as h,d as _,a as b,N as u,o as N,k as w,_ as g}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Devices-8slkLcEd.js","./index-pzWGL0cK.js","./envs-CRUy-_iG.js","./index-LLsrh-Ne.css","./RecallRemove-WoSCq7mT.js","./DashboardFeatureWrapper-BYrtY7HX.js","./Feature-BzaXaUES.js","./DisplayValue-E8sajbsC.js","./_createCompounder-CfkIxP4I.js","./InputField-D7F4rh-6.js","./SelectField-Do2InTFr.js","./DevicePicker-CxYjky2Z.js","./EndpointPicker-DaqpKjl3.js","./DeviceCard-B-MslgxW.js","./LastSeen-hXPhBVem.js","./format-Bbg3coak.js","./Lqi-OIJirhdX.js","./PowerSource-pdM840jV.js","./snakeCase-CUh04m27.js","./DeviceImage-DL3nWYo3.js","./index-DDBxKamc.js","./GroupSettings-DUPxP4Lf.js","./SettingsList-DsVgWKy3.js","./CheckboxField-DGeXHkdI.js","./NumberField-DBq58GHS.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r,b as p,j as e,L as f,P as j,F as m,f as v,u as h,d as _,a as b,N as u,o as N,k as w,_ as g}from"./index-pzWGL0cK.js";import"./envs-CRUy-_iG.js";const y=r.memo(({groups:i,currentGroup:t,tab:n="devices"})=>{const[o,c]=r.useState(""),{t:l}=p("common"),a=r.useMemo(()=>i.filter(s=>s.friendly_name.toLowerCase().includes(o.toLowerCase())&&s.id!==t?.id).map(s=>e.jsx("li",{children:e.jsx(f,{to:`/group/${s.id}/${n}`,onClick:()=>c(""),className:"dropdown-item",children:s.friendly_name})},s.id)),[i,o,t,n]);return e.jsxs(j,{name:"header-group-selector",buttonChildren:`${t?`#${t.id} - ${t.friendly_name}`:l("unknown_group")}`,dropdownStyle:"dropdown-start",children:[e.jsxs("label",{className:"input",children:[e.jsx(m,{icon:v}),e.jsx("input",{type:"search",placeholder:l("type_to_filter"),onChange:s=>c(s.target.value),value:o})]},"search"),a]})}),T=r.lazy(async()=>await g(()=>import("./Devices-8slkLcEd.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]),import.meta.url)),$=r.lazy(async()=>await g(()=>import("./GroupSettings-DUPxP4Lf.js"),__vite__mapDeps([21,1,2,3,22,23,9,24,10]),import.meta.url));function L(){const i=h(),{t}=p(["groups","common"]),{groupId:n,tab:o}=_(),c=b(d=>d.groups),l=Number.parseInt(n,10),a=n?c.find(d=>d.id===l):void 0;r.useEffect(()=>{!o&&a&&i(`/group/${a.id}/devices`,{replace:!0})},[o,a,i]);const s=({isActive:d})=>d?"tab tab-active":"tab",x=r.useMemo(()=>{if(!a)return e.jsx("div",{className:"flex-auto justify-center items-center",children:t("common:unknown_group")});switch(o){case"devices":return e.jsx(T,{group:a});case"settings":return e.jsx($,{group:a})}},[o,a,t]);return e.jsxs(e.Fragment,{children:[e.jsx(y,{groups:c,currentGroup:a,tab:o}),e.jsxs("div",{className:"tabs tabs-border mt-2",children:[e.jsxs(u,{to:`/group/${n}/devices`,className:s,children:[e.jsx(m,{icon:N,className:"me-2"}),t("common:devices")]}),e.jsxs(u,{to:`/group/${n}/settings`,className:s,children:[e.jsx(m,{icon:w,className:"me-2"}),t("settings")]})]}),e.jsx("div",{className:"tab-content block h-full bg-base-100 p-3",children:x})]})}export{L as default};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as c,a as m,r as i,W as l,j as e,F as p,I as d,bO as f}from"./index-
|
|
1
|
+
import{b as c,a as m,r as i,W as l,j as e,F as p,I as d,bO as f}from"./index-pzWGL0cK.js";import{S as g}from"./SettingsList-DsVgWKy3.js";import"./envs-CRUy-_iG.js";import"./CheckboxField-DGeXHkdI.js";import"./InputField-D7F4rh-6.js";import"./NumberField-DBq58GHS.js";import"./SelectField-Do2InTFr.js";function I({group:s}){const{t:n}=c(["settings","common"]),o=m(t=>t.bridgeInfo),{sendMessage:r}=i.useContext(l),a=i.useCallback(async t=>{await r("bridge/request/group/options",{id:s.id.toString(),options:t})},[r,s.id]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(p,{icon:d,size:"2xl"}),e.jsx("a",{href:f,target:"_blank",rel:"noreferrer",className:"link link-hover",children:n("common:read_the_docs_info")})]}),e.jsx(g,{schema:o.config_schema.definitions.group??{properties:{}},data:o.config.groups[s.id]??{},set:a})]})}export{I as default};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,b as _,j as e,a as w,W as C,ab as N,B as k,L as y,Q as G,F as S,z as M}from"./index-
|
|
1
|
+
import{r as t,b as _,j as e,a as w,W as C,ab as N,B as k,L as y,Q as G,F as S,z as M}from"./index-pzWGL0cK.js";import{E}from"./EndpointPicker-DaqpKjl3.js";import{S as I}from"./SelectField-Do2InTFr.js";import"./envs-CRUy-_iG.js";const q=t.memo(o=>{const{t:r}=_("common"),{groups:a,value:c,label:l,onChange:m,...i}=o,g=t.useCallback(u=>{const{value:d}=u.target,b=Number.parseInt(d,10);m(a.find(x=>b===x.id))},[a,m]),p=t.useMemo(()=>{const u=[];for(const d of a)u.push(e.jsx("option",{value:d.id,children:d.friendly_name},d.id));return u},[a]);return e.jsxs(I,{name:"group_picker",label:l,value:c,onChange:g,...i,children:[e.jsx("option",{value:"",disabled:!0,children:r("select_group")}),p]})});function B({device:o}){const{t:r}=_(["groups","zigbee","common"]),a=w(s=>s.groups),{sendMessage:c}=t.useContext(C),[l,m]=t.useState(""),[i,g]=t.useState(""),p=t.useMemo(()=>N(o),[o]),[u,d]=t.useMemo(()=>{const s=[],n=[];for(const f of a){const j=f.members.filter(h=>h.ieee_address===o.ieee_address);if(j.length>0)for(const h of j)s.push([f,h.endpoint]);else n.push(f)}return[s,n]},[a,o.ieee_address]),b=t.useCallback(s=>{g(s.id),m(p.values().next().value)},[p]),x=t.useCallback(async()=>await c("bridge/request/group/members/add",{group:i.toString(),endpoint:l,device:o.ieee_address}),[c,i,o.ieee_address,l]),v=t.useCallback(async([s,n])=>await c("bridge/request/group/members/remove",{device:o.ieee_address,endpoint:n,group:s.id.toString()}),[c,o.ieee_address]);return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-row flex-wrap justify-around items-start gap-3 my-2",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold",children:r("add_to_group")}),e.jsxs("div",{className:"mb-3",children:[e.jsx(q,{label:r("zigbee:group"),value:i,groups:d,onChange:b,required:!0}),e.jsx(E,{label:r("zigbee:endpoint"),values:p,value:l,onChange:s=>m(s),required:!0})]}),e.jsx(k,{onClick:x,className:"btn btn-primary",disabled:l==null||i==null||l===""||i==="",children:r("add_to_group")})]})}),e.jsx("div",{className:"flex flex-row flex-wrap justify-center gap-3 mt-3",children:u.map(([s,n])=>e.jsxs("ul",{className:"w-[23rem] list bg-base-200 rounded-box shadow-md",children:[e.jsxs("li",{className:"list-row grow",children:[e.jsxs("div",{children:[e.jsxs(y,{to:`/group/${s.id}/devices`,className:"link link-hover",children:["#",s.id," - ",s.friendly_name,n?` (${r("endpoint")}: ${n})`:""]}),o.description&&e.jsx("div",{className:"text-xs opacity-50 truncate",title:o.description,children:o.description})]}),e.jsxs("div",{className:"list-col-wrap text-sm w-full gap-2",children:[e.jsxs("div",{className:"badge badge-soft badge-ghost cursor-default me-2",children:[r("group_members"),": ",s.members.length]}),e.jsxs("div",{className:"badge badge-soft badge-ghost cursor-default me-2",children:[r("group_scenes"),": ",s.scenes.length]})]})]}),e.jsx("li",{className:"flex flex-row flex-wrap gap-1 m-4 justify-around items-center",children:e.jsx(G,{item:[s,n],onClick:v,className:"btn btn-square btn-error btn-sm",title:r("remove_from_group"),modalDescription:r("common:dialog_confirmation_prompt"),modalCancelLabel:r("common:cancel"),children:e.jsx(S,{icon:M})})})]},`${s.id}-${n}`))})]})}export{B as default};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{y as b,K as _,b as h,r,j as a,M as N,B as m,a as w,W as C,L as f,F as g,O as k,Q as F,z as S}from"./index-
|
|
1
|
+
import{y as b,K as _,b as h,r,j as a,M as N,B as m,a as w,W as C,L as f,F as g,O as k,Q as F,z as S}from"./index-pzWGL0cK.js";import{I as u}from"./InputField-D7F4rh-6.js";import{T as G}from"./Table-BpnEzjLb.js";import"./envs-CRUy-_iG.js";import"./DebouncedInput-BSs73uaO.js";const q=b.create(t=>{const{name:i,onRename:l}=t,c=_(),{t:o}=h(["groups","common"]),[s,n]=r.useState(i);return r.useEffect(()=>{n(i)},[i]),a.jsx(N,{isOpen:c.visible,title:`${o("rename_group")} ${i}`,footer:a.jsxs(a.Fragment,{children:[a.jsx(m,{className:"btn btn-neutral",onClick:c.remove,children:o("common:cancel")}),a.jsx(m,{className:"btn btn-primary ms-1",onClick:async()=>{s&&(c.remove(),await l(i,s))},children:o("rename_group")})]}),children:a.jsx("div",{className:"flex flex-col gap-2",children:a.jsx(u,{name:"friendly_name",label:o("common:friendly_name"),onChange:d=>n(d.target.value),value:s,type:"text",required:!0})})})});function $(){const[t,i]=r.useState(""),[l,c]=r.useState(""),o=w(e=>e.groups),{sendMessage:s}=r.useContext(C),{t:n}=h(["groups","common"]),d=r.useCallback(async()=>{const e={friendly_name:t};l&&(e.id=l),await s("bridge/request/group/add",e)},[t,l,s]),p=r.useCallback(async(e,v)=>await s("bridge/request/group/rename",{from:e,to:v}),[s]),x=r.useCallback(async e=>await s("bridge/request/group/remove",{id:e}),[s]),j=r.useMemo(()=>t?!l||!o.find(e=>e.id.toString()===l):!1,[t,l,o]),y=r.useMemo(()=>[{id:"group_id",header:n("group_id"),accessorFn:e=>e.id,cell:({row:{original:e}})=>a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"avatar"}),a.jsxs("div",{className:"flex-grow flex flex-col",children:[a.jsx(f,{to:`/group/${e.id}/devices`,className:"link link-hover",children:e.id}),e.description&&a.jsx("div",{className:"max-w-xs text-xs opacity-50 truncate",title:e.description,children:e.description}),a.jsx("div",{className:"flex flex-row gap-1 mt-0.5",children:a.jsxs("span",{className:"badge badge-soft badge-sm badge-ghost cursor-default",children:[n("scenes"),": ",e.scenes?.length??0]})})]})]}),filterFn:"includesString"},{id:"friendly_name",header:n("common:friendly_name"),accessorFn:e=>e.friendly_name,cell:({row:{original:e}})=>a.jsx(f,{to:`/group/${e.id}/devices`,className:"link link-hover",children:e.friendly_name}),filterFn:"includesString"},{id:"members",header:n("group_members"),accessorFn:e=>e.members.length??0,enableColumnFilter:!1},{id:"actions",header:"",cell:({row:{original:e}})=>a.jsxs("div",{className:"join join-horizontal",children:[a.jsx(m,{className:"btn btn-square btn-outline btn-primary join-item",onClick:async()=>await b.show(q,{name:e.friendly_name,onRename:p}),title:n("rename_group"),disabled:e.friendly_name==="default_bind_group",children:a.jsx(g,{icon:k})}),a.jsx(F,{title:n("remove_group"),item:e.id.toString(),onClick:x,className:"btn btn-square btn-outline btn-error join-item",modalDescription:n("common:dialog_confirmation_prompt"),modalCancelLabel:n("common:cancel"),children:a.jsx(g,{icon:S})})]}),enableSorting:!1,enableColumnFilter:!1}],[p,x,n]);return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"collapse collapse-arrow bg-base-100 shadow mb-3",children:[a.jsx("input",{type:"checkbox"}),a.jsx("div",{className:"collapse-title text-lg font-semibold text-center",children:n("create_group")}),a.jsx("div",{className:"collapse-content",children:a.jsxs("div",{className:"flex flex-row flex-wrap justify-center gap-2",children:[a.jsx(u,{type:"text",name:"friendly_name",label:n("common:friendly_name"),value:t,placeholder:n("friendly_name_placeholder"),onChange:e=>i(e.target.value),required:!0}),a.jsx(u,{type:"number",name:"group_id",label:n("group_id"),value:l,detail:n("common:optional"),min:0,max:255,onChange:e=>c(e.target.value)}),a.jsx(m,{onClick:d,className:"btn btn-primary self-center",disabled:!j,children:n("create_group")})]})})]}),a.jsx(G,{id:"all-groups",columns:y,data:o})]})}export{$ as default};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as p,a as d,r as m,j as e,L as N,F as l,I as o,a2 as x,b_ as u,b$ as g}from"./index-
|
|
1
|
+
import{b as p,a as d,r as m,j as e,L as N,F as l,I as o,a2 as x,b_ as u,b$ as g}from"./index-pzWGL0cK.js";import{D as f}from"./DeviceImage-DL3nWYo3.js";import{T as b}from"./Table-BpnEzjLb.js";import{f as w}from"./format-Bbg3coak.js";import"./envs-CRUy-_iG.js";import"./index-DDBxKamc.js";import"./DebouncedInput-BSs73uaO.js";function A(){const{t:a,i18n:h}=p(["health","settings","common"]),t=d(s=>s.bridgeHealth),i=d(s=>s.devices),v=m.useMemo(()=>{const s=[];if(t)for(const r in t.devices){const n=i.find(j=>j.ieee_address===r);n&&s.push({device:n,health:t.devices[r]})}return s},[t,i]),_=m.useMemo(()=>[{id:"friendly_name",header:a("common:friendly_name"),accessorFn:({device:s})=>[s.friendly_name,s.description,s.ieee_address].join(" "),cell:({row:{original:{device:s}}})=>e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"avatar",children:e.jsx("div",{className:"h-11 w-11",style:{overflow:"visible"},children:e.jsx(f,{device:s,disabled:!1})})}),e.jsx("div",{className:"flex flex-col",children:e.jsxs(N,{to:`/device/${s.ieee_address}/info`,className:"link link-hover",children:[s.friendly_name,s.friendly_name!==s.ieee_address?` (${s.ieee_address})`:""]})})]})},{id:"messages",header:a("messages"),accessorFn:({health:s})=>s.messages,enableColumnFilter:!1},{id:"messages_per_sec",header:a("messages_per_sec"),accessorFn:({health:s})=>s.messages_per_sec,enableColumnFilter:!1,cell:({row:{original:{health:s}}})=>e.jsx("span",{className:s.messages_per_sec>1?s.messages_per_sec>3?"text-error":"text-warning":s.messages_per_sec<.2?"text-success":"",children:s.messages_per_sec<=.001?a("very_low"):s.messages_per_sec})},{id:"leave_count",header:a("leave_count"),accessorFn:({health:s})=>s.leave_count,enableColumnFilter:!1},{id:"network_address_changes",header:a("network_address_changes"),accessorFn:({health:s})=>s.network_address_changes,enableColumnFilter:!1}],[a]);if(t.response_time===0)return e.jsxs("div",{className:"alert alert-info alert-soft",role:"alert",children:[e.jsx(l,{icon:o,size:"2xl"}),a("awaiting_next_check")]});const c=new Date(Date.now()-t.process.uptime_sec*1e3);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(l,{icon:o,size:"2xl"}),a("interview_info")]}),e.jsxs("div",{className:"flex flex-col gap-3 items-center mb-2",children:[e.jsxs("p",{className:"text-sm",children:[a("last_check"),": ",x(new Date(t.response_time))]}),e.jsxs("div",{className:"stats stats-vertical lg:stats-horizontal shadow",children:[e.jsx("div",{className:"stat place-items-center",children:e.jsx("div",{className:"stat-value text-xl",children:a("os")})}),t.os.load_average.some(s=>s!==0)&&e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("load_average")}),e.jsx("div",{className:"stat-value text-lg",children:t.os.load_average.join(", ")}),e.jsx("div",{className:"stat-desc",children:e.jsx("a",{href:u,target:"_blank",rel:"noreferrer",className:"link link-hover",children:"1min, 5min, 15min"})})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("ram_usage")}),e.jsxs("div",{className:"stat-value text-lg",children:[t.os.memory_percent," %"]}),e.jsxs("div",{className:"stat-desc",children:[t.os.memory_used_mb," MB"]})]})]}),e.jsxs("div",{className:"stats stats-vertical lg:stats-horizontal shadow",children:[e.jsx("div",{className:"stat place-items-center",children:e.jsx("div",{className:"stat-value text-xl",children:a("process")})}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("uptime")}),e.jsx("div",{className:"stat-value text-lg",children:w(c,h.language)}),e.jsx("div",{className:"stat-desc",children:x(c)})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("ram_usage")}),e.jsxs("div",{className:"stat-value text-lg",children:[t.process.memory_percent," %"]}),e.jsxs("div",{className:"stat-desc",children:[t.process.memory_used_mb," MB"]})]})]}),e.jsxs("div",{className:"stats stats-vertical lg:stats-horizontal shadow",children:[e.jsx("div",{className:"stat place-items-center",children:e.jsx("div",{className:"stat-value text-xl",children:a("settings:mqtt")})}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-value text-lg",children:e.jsx(l,{icon:g,className:t.mqtt.connected?"text-success":"text-error"})}),e.jsxs("div",{className:"stat-desc",children:[a("queued"),": ",t.mqtt.queued]})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("published")}),e.jsx("div",{className:"stat-value text-lg",children:t.mqtt.published})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:a("received")}),e.jsx("div",{className:"stat-value text-lg",children:t.mqtt.received})]})]})]}),e.jsx(b,{id:"health-devices",columns:_,data:v})]})}export{A as default};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as a,r as s,s as t,H as r,j as o}from"./index-
|
|
1
|
+
import{u as a,r as s,s as t,H as r,j as o}from"./index-pzWGL0cK.js";import"./envs-CRUy-_iG.js";function d(){const e=a();return s.useEffect(()=>{e(t.get(r)==="dashboard"?"/dashboard":"/devices",{replace:!0})},[e]),o.jsx("div",{})}export{d as default};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i,j as e}from"./index-
|
|
1
|
+
import{r as i,j as e}from"./index-pzWGL0cK.js";const c=i.memo(s=>{const{label:l,detail:t,onChange:a,onBlur:n,...r}=s;return e.jsxs("fieldset",{className:"fieldset",children:[l&&e.jsx("legend",{className:"fieldset-legend",children:l}),e.jsx("input",{className:`input min-w-xs${s.pattern||s.required?" validator":""}`,onChange:a,onBlur:n,...r}),t&&e.jsx("p",{className:"label",children:t})]})});export{c as I};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r,j as n}from"./index-
|
|
1
|
+
import{r,j as n}from"./index-pzWGL0cK.js";const l=r.memo(({obj:e,lines:a})=>{const t=JSON.stringify(e,null,4),s=a??Math.max(10,(t.match(/\n/g)||"").length+1);return n.jsx("textarea",{className:"textarea w-full",readOnly:!0,rows:s,defaultValue:t})});export{l as J};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r,b as o,c as m,j as t,a2 as c}from"./index-
|
|
1
|
+
import{r,b as o,c as m,j as t,a2 as c}from"./index-pzWGL0cK.js";import{f as i}from"./format-Bbg3coak.js";const x=r.memo(({lastSeen:s,config:e})=>{const{i18n:n}=o(),a=m(s,e);return a?t.jsx("span",{title:c(a),children:i(a,n.language)}):t.jsx("span",{children:"N/A"})});export{x as L};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as l,W as y,a as n,b as N,$ as S,j as s,a0 as x,F as u,f as k,B as p,A as E,a1 as I,a2 as M}from"./index-
|
|
1
|
+
import{r as l,W as y,a as n,b as N,$ as S,j as s,a0 as x,F as u,f as k,B as p,A as E,a1 as I,a2 as M}from"./index-pzWGL0cK.js";import{C as A}from"./CheckboxField-DGeXHkdI.js";import{D as F}from"./DebouncedInput-BSs73uaO.js";import{S as g}from"./SelectField-Do2InTFr.js";import"./envs-CRUy-_iG.js";const G={error:"bg-error text-error-content",warning:"bg-warning text-warning-content",info:"bg-info text-info-content",debug:"bg-accent text-accent-content opacity-50"};function T(){const{sendMessage:m}=l.useContext(y),[t,d]=l.useState(""),[o,f]=l.useState("all"),[c,L]=l.useState(!1),j=n(e=>e.logsLimit),b=n(e=>e.bridgeInfo.config.advanced.log_level),{t:a}=N("logs"),r=n(e=>e.logs),v=n(e=>e.setLogsLimit),_=n(e=>e.clearLogs),h=l.useMemo(()=>r.filter(e=>(o==="all"||e.level===o)&&(c||!t||e.message.toLowerCase().includes(t.toLowerCase()))),[t,c,o,r]),C=l.useCallback((e,i)=>t&&e.toLowerCase().includes(t.toLowerCase())?G[i]:S[i],[t]),w=l.useCallback(async e=>{await m("bridge/request/options",{options:{advanced:{log_level:e}}})},[m]);return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"flex flex-row flex-wrap gap-3 items-top",children:[s.jsxs(g,{name:"log_level",label:a("show_only"),value:o,onChange:e=>f(e.target.value),children:[s.jsx("option",{value:"all",children:"all"},"all"),x.map(e=>s.jsx("option",{value:e,children:e},e))]}),s.jsxs("fieldset",{className:"fieldset",children:[s.jsx("legend",{className:"fieldset-legend",children:a("filter_by_text")}),s.jsxs("div",{className:"join",children:[s.jsxs("label",{className:"input w-64 join-item",children:[s.jsx(u,{icon:k}),s.jsx(F,{className:"",type:"search",onChange:e=>d(e.toString()),placeholder:a("common:search"),value:t})]}),s.jsx(p,{item:"",onClick:d,className:"btn btn-square join-item",title:a("common:clear"),children:s.jsx(u,{icon:E})})]})]}),s.jsx(A,{name:"highlight_only",label:a("highlight_only"),checked:c,onChange:e=>L(e.target.checked)}),s.jsx(g,{name:"log_limit",label:a("logs_limit"),onChange:e=>{v(Number.parseInt(e.target.value))},value:j,children:I.map(e=>s.jsx("option",{value:e,children:e},e))}),s.jsx(p,{onClick:_,className:"btn btn-primary self-center",disabled:r.length===0,children:a("common:clear")}),s.jsx("div",{className:"ml-auto",children:s.jsx(g,{name:"log_level_config",label:a("log_level_config"),value:b,onChange:e=>!e.target.validationMessage&&w(e.target.value),children:x.map(e=>s.jsx("option",{value:e,children:e},e))})})]}),s.jsx("div",{className:"mockup-code w-full mt-1 mb-3",children:h.length>0?h.map((e,i)=>s.jsx("pre",{"data-prefix":i,className:C(e.message,e.level),children:s.jsxs("code",{children:["[",e.timestamp,"] ",e.message]})},`${e.timestamp}-${e.message}`)):s.jsx("pre",{"data-prefix":"~",children:s.jsxs("code",{children:["[",M(new Date),"] ",a("empty_logs_message")]})})})]})}export{T as default};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r,j as t,F as i,aV as a}from"./index-
|
|
1
|
+
import{r,j as t,F as i,aV as a}from"./index-pzWGL0cK.js";import{D as n}from"./DisplayValue-E8sajbsC.js";const x=r.memo(({value:s})=>{let e="";return s&&(s<75?e="text-error":s<125?e="text-warning":s>200&&(e="text-success")),t.jsxs(t.Fragment,{children:[t.jsx(i,{icon:a,className:e})," ",t.jsx("span",{className:e,children:t.jsx(n,{value:s,name:"linkquality"})})]})});export{x as L};
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./RawNetworkData-
|
|
2
|
-
import{r as s,W as M,b as R,a as n,s as h,G as x,j as e,F as o,I as f,B as E,J as T,i as I,_ as w}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./RawNetworkData-DmEzjMKR.js","./index-pzWGL0cK.js","./envs-CRUy-_iG.js","./index-LLsrh-Ne.css","./DeviceImage-DL3nWYo3.js","./index-DDBxKamc.js","./DebouncedInput-BSs73uaO.js","./PowerSource-pdM840jV.js","./snakeCase-CUh04m27.js","./_createCompounder-CfkIxP4I.js","./index-Bs7zcW7e.js","./Lqi-OIJirhdX.js","./DisplayValue-E8sajbsC.js","./RawNetworkMap-m-jI3ov-.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as s,W as M,b as R,a as n,s as h,G as x,j as e,F as o,I as f,B as E,J as T,i as I,_ as w}from"./index-pzWGL0cK.js";import{C as z}from"./CheckboxField-DGeXHkdI.js";import{S as g}from"./SelectField-Do2InTFr.js";import"./envs-CRUy-_iG.js";const S=s.lazy(async()=>await w(()=>import("./RawNetworkData-DmEzjMKR.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]),import.meta.url)),F=s.lazy(async()=>await w(()=>import("./RawNetworkMap-m-jI3ov-.js"),__vite__mapDeps([13,1,2,3,5,10]),import.meta.url));function P(){const{sendMessage:u}=s.useContext(M),{t}=R(["network","common"]),i=n(a=>a.networkMapIsLoading),r=n(a=>a.networkMap),m=n(a=>a.setNetworkMap),d=n(a=>a.setNetworkMapIsLoading),[l,j]=s.useState("raw"),[c,k]=s.useState(!1),[p,v]=s.useState(h.get(x,"data")),y=s.useCallback(a=>{a.target.value&&j(a.target.value)},[]),b=s.useCallback(a=>{a.target.value&&(h.set(x,a.target.value),v(a.target.value))},[]),_=s.useCallback(a=>{k(a.target.checked)},[]),N=s.useCallback(async()=>{m(void 0),d(),await u("bridge/request/networkmap",{type:l,routes:c})},[l,c,m,d,u]),C=s.useMemo(()=>{if(i)return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-row justify-center items-center gap-2",children:e.jsx("span",{className:"loading loading-infinity loading-xl"})}),e.jsx("div",{className:"flex flex-row justify-center items-center gap-2",children:t("loading")})]});if(r)switch(r.type){case"raw":return p==="data"?e.jsx(S,{map:r.value}):e.jsx(F,{map:r.value});case"graphviz":return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(o,{icon:f,size:"2xl"}),t("copy_paste_on"),e.jsx("a",{href:"https://dreampuf.github.io/GraphvizOnline",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"https://dreampuf.github.io/GraphvizOnline"}),e.jsx("a",{href:"https://edotor.net/",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"https://edotor.net/"})]}),e.jsx("textarea",{className:"textarea w-full",rows:5,readOnly:!0,value:r.value})]});case"plantuml":return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(o,{icon:f,size:"2xl"}),t("copy_paste_on"),e.jsx("a",{href:"https://editor.plantuml.com/uml/",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"https://editor.plantuml.com/uml/"}),e.jsx("a",{href:"https://www.planttext.com/",target:"_blank",rel:"noreferrer",className:"link link-hover",children:"https://www.planttext.com/"})]}),e.jsx("textarea",{className:"textarea w-full",rows:5,readOnly:!0,value:r.value})]})}return null},[r,i,p,t]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-row justify-center gap-3 mb-2",children:[e.jsxs(g,{name:"type",label:t("type"),value:l,onChange:y,children:[e.jsx("option",{value:"raw",children:t("raw")}),e.jsx("option",{value:"graphviz",children:t("graphviz")}),e.jsx("option",{value:"plantuml",children:t("plantuml")})]}),e.jsx(z,{name:"enable_routes",label:t("enable_routes"),checked:c,onChange:_}),e.jsx(E,{className:"btn btn-primary btn-square self-center ms-3 me-6",onClick:N,title:t(r?"reload":"load"),disabled:i,children:r?e.jsx(o,{icon:T}):e.jsx(o,{icon:I})}),l==="raw"&&e.jsxs(g,{name:"display_type",label:t("display_type"),value:p,onChange:b,children:[e.jsx("option",{value:"data",children:t("data")}),e.jsx("option",{value:"map",children:t("map")})]})]}),C]})}export{P as default};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as l,j as e}from"./index-
|
|
1
|
+
import{r as l,j as e}from"./index-pzWGL0cK.js";const j=l.memo(a=>{const{label:i,detail:u,onChange:c,onSubmit:m,defaultValue:t,minimal:d,...x}=a,[n,o]=l.useState(t);l.useEffect(()=>{o(t)},[t]);const g=l.useCallback(s=>{o(s.target.value?s.target.valueAsNumber:""),c?.(s)},[c]),r=l.useCallback(s=>{m?.(n,!s.target.validationMessage)},[m,n]);return e.jsxs("fieldset",{className:"fieldset",children:[i&&e.jsx("legend",{className:"fieldset-legend",children:i}),a.min!=null&&a.max!=null&&e.jsxs("div",{className:"w-full max-w-xs",children:[e.jsx("input",{className:"range range-xs range-primary",onChange:g,onTouchEnd:r,onMouseUp:r,...x,type:"range",value:n}),e.jsxs("div",{className:"flex justify-between px-1 mt-1 text-xs",children:[e.jsx("span",{children:a.min}),d&&e.jsx("span",{children:n}),e.jsx("span",{children:a.max})]})]}),!d&&e.jsx("input",{className:`input${a.pattern||a.required?" validator":""}`,onChange:g,onBlur:r,...x,type:"number",value:n}),u&&e.jsx("p",{className:"label whitespace-normal",children:u})]})});export{j as N};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as o,b as f,j as s,B as S,F as u,R as F,Q as h,S as g,T as M,U as z,a as L,W as A,L as O,V as U}from"./index-pzWGL0cK.js";import{D as P}from"./DeviceImage-DL3nWYo3.js";import{C as B}from"./CheckboxField-DGeXHkdI.js";import{T as R}from"./Table-BpnEzjLb.js";import{M as T,V as E}from"./VendorLink-DE4QCH9H.js";import{P as I}from"./PowerSource-pdM840jV.js";import"./envs-CRUy-_iG.js";import"./index-DDBxKamc.js";import"./DebouncedInput-BSs73uaO.js";import"./snakeCase-CUh04m27.js";import"./_createCompounder-CfkIxP4I.js";const V=o.memo(({label:l,remaining:n,progress:t})=>{if(n&&n>0){const a=Math.floor(n/3600),i=Math.floor(n/60)%60,m=Math.floor(n%60),d=a>0,b=i>0;return s.jsxs(s.Fragment,{children:[s.jsx("progress",{className:"progress w-48",value:t,max:"100"}),s.jsxs("div",{children:[l," ",d?`${a}:`:"",b?`${i.toString().padStart(2,"0")}:`:"",m.toString().padStart(2,"0")]})]})}return s.jsx("progress",{className:"progress w-48",value:t,max:"100"})}),K=o.memo(l=>{const{t:n}=f(["ota","common"]),{device:t,state:a,onCheckClick:i,onUpdateClick:m,onScheduleClick:d,onUnscheduleClick:b}=l;return a==null||a.state==="idle"?s.jsxs("div",{className:"join join-horizontal",children:[s.jsx(S,{className:"btn btn-square btn-outline btn-primary join-item",onClick:i,item:t.ieee_address,title:n("check"),children:s.jsx(u,{icon:F})}),s.jsx(h,{className:"btn btn-square btn-outline btn-info join-item",onClick:d,item:t.ieee_address,title:n("schedule"),modalDescription:n("schedule_info"),modalCancelLabel:n("common:cancel"),children:s.jsx(u,{icon:g})})]}):a.state==="updating"?s.jsx(V,{label:n("remaining_time"),remaining:a.remaining,progress:a.progress}):s.jsx("div",{className:"join join-horizontal",children:a.state==="available"?s.jsxs(s.Fragment,{children:[s.jsx(h,{className:"btn btn-square btn-outline btn-error join-item",onClick:m,item:t.ieee_address,title:n("update"),modalDescription:n("common:dialog_confirmation_prompt"),modalCancelLabel:n("common:cancel"),children:s.jsx(u,{icon:M})}),s.jsx(h,{className:"btn btn-square btn-outline btn-info join-item",onClick:d,item:t.ieee_address,title:n("schedule"),modalDescription:n("schedule_info"),modalCancelLabel:n("common:cancel"),children:s.jsx(u,{icon:g})})]}):a.state==="scheduled"?s.jsx(h,{className:"btn btn-square btn-outline btn-error join-item",onClick:b,item:t.ieee_address,title:n("unschedule"),modalDescription:n("common:dialog_confirmation_prompt"),modalCancelLabel:n("common:cancel"),children:s.jsx(u,{icon:z})}):s.jsxs(s.Fragment,{children:[s.jsx(S,{className:"btn btn-square btn-outline btn-primary join-item",onClick:i,item:t.ieee_address,title:n("check"),children:s.jsx(u,{icon:F})}),s.jsx(h,{className:"btn btn-square btn-outline btn-info join-item",onClick:d,item:t.ieee_address,title:n("schedule"),modalDescription:n("schedule_info"),modalCancelLabel:n("common:cancel"),children:s.jsx(u,{icon:g})})]})})}),D=o.memo(l=>{const{t:n}=f("ota"),t=o.useMemo(()=>{if(l.version==null||l.version<0)return;const a=l.version.toString(16).padStart(8,"0"),i=`${a[0]}.${a[1]}`,m=a.slice(2,4),d=`${a[4]}.${a[5]}`,b=a.slice(6);return[i,m,d,b]},[l.version]);return t===void 0?s.jsx("span",{children:"N/A"}):s.jsxs("div",{className:"join join-vertical",children:[s.jsxs("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default join-item w-full",children:[n("app"),": ",`${t[0]} build ${t[1]}`]}),s.jsxs("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default join-item w-full",children:[n("stack"),": ",`${t[2]} build ${t[3]}`]})]})}),W=o.memo(({device:l})=>{const{t:n}=f("zigbee");let t="https://github.com/Koenkk/zigbee-OTA/releases";const a=l.software_build_id||n("unknown");switch(l?.definition?.vendor){case"IKEA":t="https://ww8.ikea.com/ikeahomesmart/releasenotes/releasenotes.html";break;case"Inovelli":t="https://help.inovelli.com/en/articles/8503774-what-is-the-latest-firmware-version-for-your-device#h_b74c1e7dc6";break;case"Philips":t=`https://www.philips-hue.com/en-us/support/release-notes/${l.definition?.exposes.find(i=>i.type==="light")?"lamps":"accessories"}`;break;case"Ubisys":t=`https://www.ubisys.de/en/support/firmware/change-logs-${l.definition?.model?.replace(/[-]/g,"").toLowerCase()}/`;break}return s.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:t,className:"link link-hover",children:a})});function ne(){const l=L(e=>e.devices),n=L(e=>e.deviceStates),{sendMessage:t}=o.useContext(A),{t:a}=f(["ota","zigbee","common"]),[i,m]=o.useState([]),[d,b]=o.useState(!1);o.useEffect(()=>{m([])},[l]);const p=o.useMemo(()=>{const e=[];for(const c of l)if(c.definition?.supports_ota&&!c.disabled){const r=n[c.friendly_name]??{};(!d||r.update?.state==="available")&&e.push({device:c,state:r.update,batteryState:c.power_source==="Battery"?{batteryPercent:r.battery,batteryState:r.battery_state,batteryLow:r.battery_low}:void 0,selected:i.includes(c.ieee_address)})}return e},[n,l,i,d]),x=o.useCallback(e=>{m(e.target.checked?p.map(({device:c})=>c.ieee_address):[])},[p]),j=o.useCallback((e,c)=>{m(r=>c?[...r,e.ieee_address]:r.filter(q=>q!==e.ieee_address))},[]),k=o.useCallback(async()=>{await Promise.allSettled(i.map(e=>t("bridge/request/device/ota_update/check",{id:e})))},[t,i]),_=o.useCallback(async()=>{await Promise.allSettled(i.map(e=>t("bridge/request/device/ota_update/update",{id:e})))},[t,i]),C=o.useCallback(async e=>await t("bridge/request/device/ota_update/check",{id:e}),[t]),v=o.useCallback(async e=>await t("bridge/request/device/ota_update/update",{id:e}),[t]),w=o.useCallback(async e=>await t("bridge/request/device/ota_update/schedule",{id:e}),[t]),y=o.useCallback(async e=>await t("bridge/request/device/ota_update/unschedule",{id:e}),[t]),N=o.useCallback(e=>{b(e.target.checked)},[]),$=o.useMemo(()=>[{id:"select",header:()=>s.jsx("label",{children:s.jsx("input",{type:"checkbox",className:"checkbox",onChange:x,defaultChecked:i.length===p.length})}),accessorFn:()=>"",cell:({row:{original:{device:e,selected:c}}})=>s.jsx("label",{children:s.jsx("input",{type:"checkbox",className:"checkbox",onChange:r=>j(e,r.target.checked),defaultChecked:c})}),enableColumnFilter:!1,enableSorting:!1},{id:"friendly_name",header:a("common:friendly_name"),accessorFn:({device:e})=>[e.friendly_name,e.description,e.ieee_address].join(" "),cell:({row:{original:{device:e,state:c,batteryState:r}}})=>s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"avatar",children:s.jsx("div",{className:"h-11 w-11",style:{overflow:"visible"},children:s.jsx(P,{device:e,otaState:c?.state,disabled:!1})})}),s.jsxs("div",{className:"flex-grow flex flex-col",children:[s.jsxs(O,{to:`/device/${e.ieee_address}/info`,className:"link link-hover",children:[e.friendly_name,e.friendly_name!==e.ieee_address?` (${e.ieee_address})`:""]}),e.description&&s.jsx("div",{className:"max-w-3xs text-xs opacity-50 truncate",title:e.description,children:e.description}),s.jsxs("div",{className:"flex flex-row gap-1 mt-0.5 items-center",children:[s.jsxs("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default",title:a("zigbee:firmware_id"),children:[s.jsx(u,{icon:U}),s.jsx(W,{device:e}),e.date_code?s.jsxs("span",{title:a("zigbee:firmware_build_date"),children:[" (",e.date_code,")"]}):void 0]}),r&&s.jsx("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default",children:s.jsx(I,{device:e,...r})})]})]})]}),filterFn:"includesString"},{id:"model",header:a("zigbee:model"),accessorFn:({device:e})=>[e.definition?.model,e.model_id,e.definition?.vendor,e.manufacturer].join(" "),cell:({row:{original:{device:e}}})=>s.jsxs(s.Fragment,{children:[s.jsx(T,{device:e}),s.jsx("div",{children:s.jsx("span",{className:"badge badge-sm badge-ghost",title:a("zigbee:manufacturer"),children:s.jsx(E,{device:e})})})]}),filterFn:"includesString"},{id:"firmware_version",header:a("firmware_version"),accessorFn:({state:e})=>e?.installed_version,cell:({row:{original:{state:e}}})=>s.jsx(D,{version:e?.installed_version}),enableColumnFilter:!1},{id:"available_firmware_version",header:a("available_firmware_version"),accessorFn:({state:e})=>e?.latest_version,cell:({row:{original:{state:e}}})=>s.jsx(D,{version:e?.latest_version}),enableColumnFilter:!1},{id:"actions",header:()=>s.jsxs(s.Fragment,{children:[s.jsx(B,{name:"available_only",detail:a("common:available_only"),onChange:N,checked:d,className:"checkbox checkbox-sm"}),s.jsxs("div",{className:"join join-horizontal",children:[s.jsx(h,{className:"btn btn-outline btn-error btn-xs join-item",onClick:k,title:a("check_selected"),modalDescription:a("common:dialog_confirmation_prompt"),modalCancelLabel:a("common:cancel"),disabled:i.length===0,children:a("check_selected")}),s.jsx(h,{className:"btn btn-outline btn-error btn-xs join-item",onClick:_,title:a("update_selected"),modalDescription:a("update_selected_info"),modalCancelLabel:a("common:cancel"),disabled:i.length===0,children:a("update_selected")})]})]}),accessorFn:({state:e})=>e?.state,cell:({row:{original:{device:e,state:c}}})=>s.jsx(K,{device:e,state:c,onCheckClick:C,onUpdateClick:v,onScheduleClick:w,onUnscheduleClick:y}),enableSorting:!1,enableColumnFilter:!1}],[i.length,p.length,d,x,j,k,_,C,v,w,y,N,a]);return s.jsx(R,{id:"ota-devices",columns:$,data:p})}export{ne as default};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as d,b as j,j as t,F as o,bM as g,bJ as E,bN as B,bm as P,bC as f,bD as k,bE as w,bF as F,bw as m}from"./index-
|
|
1
|
+
import{r as d,b as j,j as t,F as o,bM as g,bJ as E,bN as B,bm as P,bC as f,bD as k,bE as w,bF as F,bw as m}from"./index-pzWGL0cK.js";import{s as y}from"./snakeCase-CUh04m27.js";const L=d.memo(x=>{const{device:u,batteryPercent:a,batteryState:b,batteryLow:c,showLevel:h,...i}=x,{t:l}=j("zigbee");let s;switch(u?.power_source&&(s=u.power_source),s){case"Battery":{let p=l("battery"),r="",e=f,n=!1;if(a!=null)r=`${a}%`,a>=85?e=f:a>=65?e=k:a>=40?e=w:a>=20?e=F:(e=m,n=!0);else if(b!=null)switch(r=b,b){case"high":e=f;break;case"medium":e=w;break;case"low":e=m,n=!0;break}else c!=null&&(r=c?"low":"ok",e=c?m:f);return c===!0&&(n=!0),r!==""&&(p+=`, ${l("power_level")}: ${r}`),t.jsxs("span",{className:n?"text-error":"",children:[t.jsx(o,{icon:e,fade:n,title:p,...i}),h&&t.jsx("span",{className:"ps-2",children:r})]})}case"Mains (single phase)":case"Mains (3 phase)":case"DC Source":return t.jsx(o,{icon:P,title:l(y(s)),...i});case"Emergency mains and transfer switch":case"Emergency mains constantly powered":return t.jsx(o,{icon:B,title:l(y(s)),...i});default:return u?.type==="GreenPower"?t.jsx(o,{icon:g,title:"Green",...i}):t.jsx(o,{icon:E,title:s?l(y(s)):void 0,...i})}});export{L as P};
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a8 as or,r as ee,b as Ni,j as w,t as pt,F as Ge,
|
|
1
|
+
import{a8 as or,r as ee,b as Ni,j as w,t as pt,F as Ge,ar as pp,L as Wi,a as dp,Y as vp,f as xp,B as _s,A as ps,as as wp}from"./index-pzWGL0cK.js";import{D as xs}from"./DeviceImage-DL3nWYo3.js";import{D as ds}from"./DebouncedInput-BSs73uaO.js";import{P as Ap}from"./PowerSource-pdM840jV.js";import{Z as gt}from"./index-Bs7zcW7e.js";import{L as mp}from"./Lqi-OIJirhdX.js";import"./envs-CRUy-_iG.js";import"./index-DDBxKamc.js";import"./snakeCase-CUh04m27.js";import"./_createCompounder-CfkIxP4I.js";import"./DisplayValue-E8sajbsC.js";var _t={exports:{}};/**
|
|
2
2
|
* @license
|
|
3
3
|
* Lodash <https://lodash.com/>
|
|
4
4
|
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{at as Nx,a9 as vo,au as GU,aq as uo,r as Z,j as ue,av as HU,b as bg,t as VU,F as Yn,Y as WU,B as Lr,aw as XU,ax as jU,ay as qU,az as YU,aA as ZU,aB as KU,aC as JU,aD as QU,aE as $U,aF as tu,aG as eO,aH as tO,aI as nO,aJ as iO,aK as Iv,a as rO,s as vs,aL as WS,aM as XS,aN as jS,aO as qS,aP as YS,ap as sO}from"./index-pzWGL0cK.js";import{g as aO,a as oO}from"./index-DDBxKamc.js";import{E as bl,Z as ni,N as nm,c as uh}from"./index-Bs7zcW7e.js";import"./envs-CRUy-_iG.js";/**
|
|
2
2
|
* @license
|
|
3
3
|
* Copyright 2010-2025 Three.js Authors
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aa as S,r as c,b as x,W as C,x as k,j as s,B as j,Q as v}from"./index-
|
|
1
|
+
import{aa as S,r as c,b as x,W as C,x as k,j as s,B as j,Q as v}from"./index-pzWGL0cK.js";import{D as A}from"./DashboardFeatureWrapper-BYrtY7HX.js";import{b as f,F as E,g}from"./Feature-BzaXaUES.js";import{I as h}from"./InputField-D7F4rh-6.js";import{S as F}from"./SelectField-Do2InTFr.js";function y(e){if(S(e)){const o=[];for(const a in e.endpoints){const t=e.endpoints[a];for(const n of t.scenes)o.push({...n})}return o}return e.scenes}const T=["schedule_","_mode","_options","_startup","_type","inching_","cyclic_","_scene"],I=["effect","power_on_behavior","gradient"],M=["state","color_temp","color","transition","brightness"],R=(e,o)=>{if(e){if(M.includes(e))return!0;for(const a of T)if(e.includes(a))return!1;if(I.includes(e))return!1}return!o||o===f.ALL||o===f.SET||o===f.STATE_SET},K=c.memo(({target:e,deviceState:o})=>{const{t:a}=x("scene"),{sendMessage:t}=c.useContext(C),[n,l]=c.useState(0),[r,m]=c.useState(""),u=c.useMemo(()=>y(e),[e]),_=c.useMemo(()=>S(e)&&e.definition?k(e.definition.exposes,R):[],[e]),p=c.useCallback(async i=>{await t(`${e.friendly_name}/set`,i)},[t,e]),b=c.useCallback(async()=>{const i={ID:n,name:r||`Scene ${n}`};await t(`${e.friendly_name}/set`,{scene_store:i})},[t,e,n,r]),d=c.useMemo(()=>n>=0&&n<=255&&!u.find(i=>i.id===n),[n,u]);return s.jsxs(s.Fragment,{children:[s.jsx("h2",{className:"text-lg font-semibold",children:a("add_update_header")}),s.jsxs("div",{className:"mb-3",children:[s.jsx(h,{name:"scene_id",label:a("scene_id"),type:"number",value:n,onChange:i=>!!i.target.value&&l(i.target.valueAsNumber),min:0,max:255}),s.jsx(h,{name:"scene_name",label:a("scene_name"),type:"text",value:r,placeholder:`Scene ${n}`,onChange:i=>m(i.target.value)}),_.length>0&&s.jsx("div",{className:"card card-border bg-base-200 shadow my-2",children:s.jsx("div",{className:"card-body",children:_.map(i=>s.jsx(E,{feature:i,device:e,deviceState:o,onChange:p,featureWrapperClass:A,minimal:!0,parentFeatures:[]},g(i)))})})]}),s.jsx(j,{disabled:!d,onClick:b,className:"btn btn-primary",children:a("store")})]})}),L=c.memo(({onSceneSelected:e,scenes:o=[],value:a})=>{const{t}=x("scene");return o.length>0?s.jsxs(F,{name:"scene_picker",label:t("scene_name"),value:a?.id??"",onChange:n=>!n.target.validationMessage&&!!n.target.value&&e(Number.parseInt(n.target.value,10)),children:[s.jsx("option",{value:"",disabled:!0,children:t("select_scene")}),o.map(n=>s.jsxs("option",{value:n.id,children:[n.id,": ",n.name]},n.id))]}):s.jsx(h,{name:"scene_picker",label:t("scene_id"),type:"number",value:a?.id??"",onChange:n=>!n.target.validationMessage&&!!n.target.value&&e(n.target.valueAsNumber),min:0,max:255})}),U=c.memo(({target:e})=>{const{sendMessage:o}=c.useContext(C),{t:a}=x(["scene","common"]),[t,n]=c.useState({id:0,name:"Scene 0"}),[l,r]=c.useState(!0),m=c.useMemo(()=>y(e),[e]),u=c.useCallback(d=>{r(!1);const i=m.find(N=>N.id===d);n(i!==void 0?i:{id:d,name:`Scene ${d}`})},[m]),_=c.useCallback(async()=>await o(`${e.friendly_name}/set`,{scene_recall:t.id}),[o,e.friendly_name,t.id]),p=c.useCallback(async()=>await o(`${e.friendly_name}/set`,{scene_remove:t.id}),[o,e.friendly_name,t.id]),b=c.useCallback(async()=>await o(`${e.friendly_name}/set`,{scene_remove_all:""}),[o,e.friendly_name]);return s.jsxs(s.Fragment,{children:[s.jsx("h2",{className:"text-lg font-semibold",children:a("manage_scenes_header")}),s.jsx("div",{className:"mb-3",children:s.jsx(L,{onSceneSelected:u,value:l?void 0:t,scenes:m})}),s.jsxs("div",{className:"join join-horizontal",children:[s.jsx(j,{disabled:l,onClick:_,className:"btn btn-success join-item",children:a("recall")}),s.jsx(v,{disabled:l,onClick:p,className:"btn btn-error join-item",title:a("remove"),modalDescription:a("common:dialog_confirmation_prompt"),modalCancelLabel:a("common:cancel"),children:a("remove")}),s.jsx(v,{onClick:b,className:"btn btn-error btn-outline join-item",title:a("remove_all"),modalDescription:a("common:dialog_confirmation_prompt"),modalCancelLabel:a("common:cancel"),children:a("remove_all")})]})]})});export{K as A,U as R,R as i};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r,b as R,ab as j,j as n,B as N,Q as k,W as E}from"./index-pzWGL0cK.js";import{I as v}from"./InputField-D7F4rh-6.js";import{C as w,A as S}from"./ClusterSinglePicker-XKCAlJUJ.js";import{E as y}from"./EndpointPicker-DaqpKjl3.js";import"./envs-CRUy-_iG.js";import"./SelectField-Do2InTFr.js";const q=["maximum_report_interval","minimum_report_interval","reportable_change","endpoint","cluster","attribute"],I=r.memo(({rule:s,device:t,onApply:l})=>{const[e,u]=r.useState(s),{t:o}=R(["zigbee","common"]);r.useEffect(()=>{u(s)},[s]);const b=r.useCallback(a=>{u(i=>({...i,endpoint:a}))},[]),c=r.useCallback(a=>{u(i=>({...i,cluster:a}))},[]),_=r.useCallback(a=>{u(i=>({...i,attribute:a}))},[]),p=r.useCallback(a=>{const{name:i,valueAsNumber:d}=a.target;u(m=>({...m,[i]:d}))},[]),g=r.useCallback(()=>{l({...e,maximum_report_interval:65535})},[e,l]),x=r.useMemo(()=>j(t),[t]),f=r.useMemo(()=>{const a=new Set,i=new Set;e.cluster&&i.add(e.cluster);const d=t.endpoints[Number.parseInt(e.endpoint,10)];if(d){for(const m of d.clusters.output)i.add(m);for(const m of d.clusters.input)i.has(m)||a.add(m)}return[{name:"available",clusters:i},{name:"possible",clusters:a}]},[t.endpoints,e.endpoint,e.cluster]),C=r.useMemo(()=>q.every(a=>e[a]!==void 0&&e[a]!==""),[e]);return n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex flex-row flex-wrap gap-2",children:[n.jsx(y,{label:o("endpoint"),disabled:!s.isNew,values:x,value:e.endpoint,onChange:b,required:!0}),n.jsx(w,{label:o("cluster"),disabled:!e.endpoint,clusters:f,value:e.cluster,onChange:c,required:!0}),n.jsx(S,{label:o("attribute"),disabled:!e.cluster,value:e.attribute,cluster:e.cluster,device:t,onChange:_,required:!0}),n.jsx(v,{name:"minimum_report_interval",label:o("min_rep_interval"),type:"number",value:e.minimum_report_interval,onChange:p,required:!0}),n.jsx(v,{name:"maximum_report_interval",label:o("max_rep_interval"),type:"number",value:e.maximum_report_interval,onChange:p,required:!0}),n.jsx(v,{name:"reportable_change",label:o("min_rep_change"),type:"number",value:e.reportable_change,onChange:p,required:!0}),n.jsxs("fieldset",{className:"fieldset",children:[n.jsx("legend",{className:"fieldset-legend",children:o("actions")}),n.jsxs("div",{className:"join join-horizontal",children:[n.jsx(N,{className:"btn btn-primary join-item",item:e,onClick:l,disabled:!C,children:o("common:apply")}),e.isNew?null:n.jsx(k,{title:o("common:disable"),className:"btn btn-error join-item",onClick:g,modalDescription:o("common:dialog_confirmation_prompt"),modalCancelLabel:o("common:cancel"),children:o("common:disable")})]})]})]}),n.jsx("div",{className:"divider"})]})}),h=s=>({isNew:s,reportable_change:0,minimum_report_interval:60,maximum_report_interval:3600,endpoint:"",cluster:"",attribute:""}),D=s=>{const t=[];for(const l in s.endpoints){const e=s.endpoints[l];for(const u of e.configured_reportings)t.push({...u,endpoint:l})}return t},M=s=>`${s.isNew}-${s.endpoint}-${s.cluster}-${s.attribute}`;function z(s){const{device:t}=s,{sendMessage:l}=r.useContext(E),[e,u]=r.useState(h(t.ieee_address)),o=r.useMemo(()=>D(t),[t]);r.useEffect(()=>{u(h(t.ieee_address))},[t.ieee_address]);const b=r.useCallback(async c=>{const{cluster:_,endpoint:p,attribute:g,minimum_report_interval:x,maximum_report_interval:f,reportable_change:C}=c;await l("bridge/request/device/configure_reporting",{id:t.ieee_address,endpoint:p,cluster:_,attribute:g,minimum_report_interval:x,maximum_report_interval:f,reportable_change:C,option:{}})},[l,t.ieee_address]);return n.jsx("div",{className:"flex flex-col",children:[...o,e].map(c=>n.jsx(I,{rule:c,device:t,onApply:b},M(c)))})}export{z as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as o,j as t}from"./index-pzWGL0cK.js";import{u as a}from"./shallow-BvOtxUf5.js";import{A as i,R as m}from"./RecallRemove-WoSCq7mT.js";import"./envs-CRUy-_iG.js";import"./DashboardFeatureWrapper-BYrtY7HX.js";import"./Feature-BzaXaUES.js";import"./DisplayValue-E8sajbsC.js";import"./_createCompounder-CfkIxP4I.js";import"./InputField-D7F4rh-6.js";import"./SelectField-Do2InTFr.js";function h({device:e}){const r=o(a(s=>s.deviceStates[e.friendly_name]??{}));return t.jsxs("div",{className:"flex flex-row flex-wrap justify-around items-start gap-3 my-2",children:[t.jsx("div",{children:t.jsx(i,{target:e,deviceState:r})}),t.jsx("div",{children:t.jsx(m,{target:e})})]})}export{h as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as d,j as e}from"./index-
|
|
1
|
+
import{r as d,j as e}from"./index-pzWGL0cK.js";const n=d.memo(s=>{const{label:l,detail:a,onChange:t,children:r,...c}=s;return e.jsxs("fieldset",{className:"fieldset",children:[l&&e.jsx("legend",{className:"fieldset-legend",children:l}),e.jsx("select",{className:`select${s.required?" validator":""}`,onChange:t,...c,children:r}),a&&e.jsx("span",{className:"label",children:a})]})});export{n as S};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as n,W as d,a as p,b as f,j as e,F as u,I as b,cc as g,B as h}from"./index-pzWGL0cK.js";import{S as l}from"./SettingsList-DsVgWKy3.js";import"./envs-CRUy-_iG.js";import"./CheckboxField-DGeXHkdI.js";import"./InputField-D7F4rh-6.js";import"./NumberField-DBq58GHS.js";import"./SelectField-Do2InTFr.js";const r="main",x=[r,"frontend","mqtt","serial","availability","ota","advanced","homeassistant"];function N(){const{sendMessage:o}=n.useContext(d),a=p(s=>s.bridgeInfo),[t,m]=n.useState(r),{t:i}=f("settings"),c=n.useCallback(async s=>{t===r?await o("bridge/request/options",{options:s}):await o("bridge/request/options",{options:{[t]:s}})},[o,t]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(u,{icon:b,size:"2xl"}),e.jsx("a",{href:g,target:"_blank",rel:"noreferrer",className:"link link-hover",children:i("common:read_the_docs_info")})]}),e.jsxs("div",{className:"tabs tabs-border",children:[x.map(s=>e.jsx(h,{className:`tab${t===s?" tab-active":""}`,"aria-current":"page",item:s,onClick:m,children:i(s)},s)),e.jsx("div",{className:"tab-content block h-full bg-base-100 p-3",children:t===r?e.jsx(l,{schema:a.config_schema,data:a.config,set:c,rootOnly:!0}):a.config_schema.properties[t]?e.jsx(l,{schema:a.config_schema.properties[t],data:a.config[t],set:c}):null})]})]})}export{N as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as f,j as s,B as g,F as j,z as v,cd as V,aS as w,b as $}from"./index-pzWGL0cK.js";import{C as S}from"./CheckboxField-DGeXHkdI.js";import{I as A}from"./InputField-D7F4rh-6.js";import{N as F}from"./NumberField-DBq58GHS.js";import{S as C}from"./SelectField-Do2InTFr.js";const k=f.memo(l=>{const{defaultValues:n,label:r,detail:c,type:i,onSubmit:d}=l,[o,u]=f.useState(n||[]);f.useEffect(()=>{u(n||[])},[n]);const m=f.useCallback((t,b)=>{u(p=>{const N=Array.from(p);return N[t]=i==="number"?b.target.value?b.target.valueAsNumber:"":b.target.value,N})},[i]),e=f.useCallback(()=>{u(t=>[...t,""])},[]),a=f.useCallback(t=>{u(b=>{const p=Array.from(b);return p.splice(t,1),p})},[]),x=f.useCallback(()=>d(i==="number"?o.filter(t=>typeof t=="number"):o.filter(t=>!!t)),[i,o,d]);return s.jsxs("fieldset",{className:"fieldset gap-2",children:[r&&s.jsx("legend",{className:"fieldset-legend",children:r}),s.jsx("div",{className:"flex flex-row flex-wrap gap-2",children:o.map((t,b)=>s.jsxs("div",{className:"join min-w-xs",children:[s.jsx("input",{className:"input join-item",onBlur:p=>{m(b,p)},type:i,defaultValue:Number.isNaN(t)?"":t}),s.jsx(g,{className:"btn btn-error btn-outline join-item",onClick:()=>a(b),children:s.jsx(j,{icon:v})})]},`${t}-${b}`))}),s.jsxs("div",{className:"flex flex-row flex-wrap gap-2 items-center mt-1",children:[s.jsx(g,{onClick:e,className:"btn btn-sm btn-square btn-success ms-2",children:s.jsx(j,{icon:V})}),s.jsx(g,{onClick:x,className:"btn btn-sm btn-square btn-primary",children:s.jsx(j,{icon:w})}),c&&s.jsx("p",{className:"label",children:c})]})]})}),E=f.memo(l=>{const{names:n,label:r,detail:c,defaultsChecked:i,onSubmit:d}=l,[o,u]=f.useState(i||[]);f.useEffect(()=>{u(i||[])},[i]);const m=f.useCallback(a=>{u(x=>a.target.checked?[...x,a.target.name]:x.filter(t=>t!==a.target.name))},[]),e=f.useCallback(()=>d(o),[o,d]);return s.jsxs("fieldset",{className:"fieldset gap-2",children:[r&&s.jsx("legend",{className:"fieldset-legend",children:r}),s.jsx("div",{className:"flex flex-row flex-wrap gap-2",children:n.map(a=>s.jsxs("label",{className:"label",children:[s.jsx("input",{name:a,className:"checkbox",type:"checkbox",onChange:m,checked:o.includes(a)}),a]},a))}),s.jsxs("div",{className:"flex flex-row flex-wrap gap-2 items-center mt-1",children:[s.jsx(g,{onClick:e,className:"btn btn-sm btn-square btn-primary",children:s.jsx(j,{icon:w})}),s.jsx("span",{className:"label",children:c})]})]})}),B=(l,n,r,c,i,d,o)=>{let u=n.type;if(Array.isArray(u))u=u.find(e=>e!=="null");else if(n.oneOf)return;const m=`${i}-${l}-${n.type}-${n.title}`;switch(u){case"boolean":return s.jsx(S,{name:l,label:l,detail:o,onChange:e=>!e.target.validationMessage&&c({[l]:e.target.checked}),required:d,defaultChecked:r??!1},m);case"integer":case"number":return n.enum?s.jsxs(C,{name:l,label:l,detail:o,onChange:e=>!e.target.validationMessage&&c({[l]:Number.parseInt(e.target.value,10)}),required:d,defaultValue:r??"",children:[s.jsx("option",{value:"",disabled:!0,children:"-"}),n.enum.map(e=>s.jsx("option",{value:e,children:e},e))]},m):s.jsx(F,{name:l,label:l,detail:o,onSubmit:(e,a)=>a&&c({[l]:e===""?null:e}),min:n.minimum,max:n.maximum,required:d,defaultValue:r??""},m);case"string":return n.enum?s.jsxs(C,{name:l,label:l,detail:o,onChange:e=>!e.target.validationMessage&&c({[l]:e.target.value}),required:d,defaultValue:r??"",children:[s.jsx("option",{value:"",disabled:!0,children:"-"}),n.enum.map(e=>s.jsx("option",{value:e,children:e},e))]},m):s.jsx(A,{name:l,label:l,detail:o,type:"text",onBlur:e=>!e.target.validationMessage&&c({[l]:e.target.value}),required:d,defaultValue:r??""},m);case"array":{const e=n.items;if(e&&typeof e=="object"&&"type"in e){if(e.enum)return s.jsx(E,{names:e.enum,label:l,detail:o,onSubmit:a=>c({[l]:a}),defaultsChecked:r??[]});if(e.type==="string"||e.type==="number")return s.jsx(k,{defaultValues:r??[],label:l,detail:o,onSubmit:a=>c({[l]:a}),type:e.type})}}}},h=(l,n,r,c,i,d=[],o=!1)=>{const u=[],m=[];for(const e in n){const a=n[e];if(!(typeof a=="boolean"||a.readOnly))if(a.properties)o||m.push(s.jsxs("div",{className:"list",children:[s.jsx("h3",{className:"list-row p-3 text-lg",children:a.title||e}),h(l,a.properties,r[e]||{},async x=>c({[e]:x}),i+1,a.required)]},`${i}-${e}`));else{const x=a.oneOf?.find(t=>typeof t=="object"&&t.properties);if(x)(e!=="log_syslog"||r.log_output.includes("syslog"))&&m.push(s.jsxs("div",{className:"list",children:[s.jsx("h3",{className:"list-row p-3 text-lg",children:x.title||a.title||e}),h(l,x.properties,r[e]||{},async t=>c({[e]:t}),i+1,x.required)]},`${i}-${e}`));else{const t=B(e,a,r[e],c,i,d.includes(e),a.description?l(a.description,{defaultValue:a.description}):void 0);t&&u.push(s.jsx("div",{className:`list-row p-3 ${i!==0?` ps-${4+i*4}`:""}`,children:t},`${i}-${e}`))}}}return m.length>0?u.concat(m):u};function y({schema:l,data:n,set:r,rootOnly:c}){const{t:i}=$("settingsSchemaDescriptions");return s.jsx("div",{className:"list bg-base-100",children:l.properties&&h(i,l.properties,n,r,0,l.required,c)})}export{y as S};
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./About-
|
|
2
|
-
import{u,d as _,b as d,r as a,j as s,N as o,F as n,e as b,a3 as x,a4 as j,k as g,a5 as p,a6 as v,q as N,a7 as T,_ as r}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./About-BWrcA8qQ.js","./index-pzWGL0cK.js","./envs-CRUy-_iG.js","./index-LLsrh-Ne.css","./snakeCase-CUh04m27.js","./_createCompounder-CfkIxP4I.js","./Health-BMcXjGsM.js","./DeviceImage-DL3nWYo3.js","./index-DDBxKamc.js","./Table-BpnEzjLb.js","./DebouncedInput-BSs73uaO.js","./format-Bbg3coak.js","./Frontend-B2I3Z2yo.js","./CheckboxField-DGeXHkdI.js","./InputField-D7F4rh-6.js","./NumberField-DBq58GHS.js","./SelectField-Do2InTFr.js","./Settings-DPny-0Rt.js","./SettingsList-DsVgWKy3.js","./Tools-McB1jYZ-.js","./Bridge-BrYjUYbo.js","./Json-CIlquCLk.js","./DevConsole-B1CEDFS6.js","./TextareaField-xwbu8YKo.js","./Donate-BO7Z7hUr.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{u,d as _,b as d,r as a,j as s,N as o,F as n,e as b,a3 as x,a4 as j,k as g,a5 as p,a6 as v,q as N,a7 as T,_ as r}from"./index-pzWGL0cK.js";import"./envs-CRUy-_iG.js";const h=a.lazy(async()=>await r(()=>import("./About-BWrcA8qQ.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)),f=a.lazy(async()=>await r(()=>import("./Health-BMcXjGsM.js"),__vite__mapDeps([6,1,2,3,7,8,9,10,11]),import.meta.url)),E=a.lazy(async()=>await r(()=>import("./Frontend-B2I3Z2yo.js"),__vite__mapDeps([12,1,2,3,13,14,15,16]),import.meta.url)),y=a.lazy(async()=>await r(()=>import("./Settings-DPny-0Rt.js"),__vite__mapDeps([17,1,2,3,18,13,14,15,16]),import.meta.url)),P=a.lazy(async()=>await r(()=>import("./Tools-McB1jYZ-.js"),__vite__mapDeps([19,1,2,3,14,8]),import.meta.url)),A=a.lazy(async()=>await r(()=>import("./Bridge-BrYjUYbo.js"),__vite__mapDeps([20,1,2,3,21]),import.meta.url)),D=a.lazy(async()=>await r(()=>import("./DevConsole-B1CEDFS6.js"),__vite__mapDeps([22,1,2,3,14,16,23]),import.meta.url)),w=a.lazy(async()=>await r(()=>import("./Donate-BO7Z7hUr.js"),__vite__mapDeps([24,1,2,3]),import.meta.url));function R(){const c=u(),{tab:i}=_(),{t}=d(["settings","navbar"]);a.useEffect(()=>{i||c("/settings/about",{replace:!0})},[i,c]);const l=a.useMemo(()=>{switch(i){case"about":return s.jsx(h,{});case"health":return s.jsx(f,{});case"frontend":return s.jsx(E,{});case"settings":return s.jsx(y,{});case"tools":return s.jsx(P,{});case"bridge":return s.jsx(A,{});case"dev-console":return s.jsx(D,{});case"donate":return s.jsx(w,{})}return""},[i]),e=({isActive:m})=>m?"tab tab-active":"tab";return s.jsxs("div",{className:"tabs tabs-border",children:[s.jsxs(o,{to:"/settings/about",className:e,children:[s.jsx(n,{icon:b,className:"me-2"}),t("about")]}),s.jsxs(o,{to:"/settings/health",className:e,children:[s.jsx(n,{icon:x,className:"me-2"}),t("health")]}),s.jsxs(o,{to:"/settings/frontend",className:e,children:[s.jsx(n,{icon:j,className:"me-2"}),t("frontend")]}),s.jsxs(o,{to:"/settings/settings",className:e,children:[s.jsx(n,{icon:g,className:"me-2"}),t("settings")]}),s.jsxs(o,{to:"/settings/tools",className:e,children:[s.jsx(n,{icon:p,className:"me-2"}),t("tools")]}),s.jsxs(o,{to:"/settings/bridge",className:e,children:[s.jsx(n,{icon:v,className:"me-2"}),t("bridge")]}),s.jsxs(o,{to:"/settings/dev-console",className:e,children:[s.jsx(n,{icon:N,className:"me-2"}),t("dev_console")]}),s.jsxs(o,{to:"/settings/donate",className:e,children:[s.jsx(n,{icon:T,className:"me-2"}),t("donate")]}),s.jsx("div",{className:"tab-content block h-full bg-base-100 p-3",children:l})]})}export{R as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as r,j as a}from"./index-pzWGL0cK.js";import{u as i}from"./shallow-BvOtxUf5.js";import{J as m}from"./Json-CIlquCLk.js";import"./envs-CRUy-_iG.js";function f(t){const{device:e}=t,o=r(i(s=>s.deviceStates[e.friendly_name]??{}));return a.jsx(m,{obj:o})}export{f as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as y,b as ae,s as O,j as v,F as re,f as he,B as _e,A as Fe,c0 as $e,c1 as xe}from"./index-
|
|
1
|
+
import{r as y,b as ae,s as O,j as v,F as re,f as he,B as _e,A as Fe,c0 as $e,c1 as xe}from"./index-pzWGL0cK.js";import{D as Ve}from"./DebouncedInput-BSs73uaO.js";/**
|
|
2
2
|
* table-core
|
|
3
3
|
*
|
|
4
4
|
* Copyright (c) TanStack
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i,j as e}from"./index-
|
|
1
|
+
import{r as i,j as e}from"./index-pzWGL0cK.js";const x=i.memo(a=>{const{label:s,detail:l,onChange:t,onBlur:r,...d}=a;return e.jsxs("fieldset",{className:"fieldset",children:[s&&e.jsx("legend",{className:"fieldset-legend",children:s}),e.jsx("textarea",{className:`textarea${a.required?" validator":""}`,onChange:t,onBlur:r,...d}),l&&e.jsx("div",{className:"label",children:l})]})});export{x as T};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{y as f,K as _,b as j,r as l,j as e,M as k,B as d,W as w,a as b,a2 as h,az as C,Q as y,cf as N}from"./index-
|
|
1
|
+
import{y as f,K as _,b as j,r as l,j as e,M as k,B as d,W as w,a as b,a2 as h,az as C,Q as y,cf as N}from"./index-pzWGL0cK.js";import{I as v}from"./InputField-D7F4rh-6.js";import{g as I}from"./index-DDBxKamc.js";import"./envs-CRUy-_iG.js";const S=f.create(r=>{const{addInstallCode:n}=r,o=_(),{t:a}=j(["settings","common"]),[c,m]=l.useState("");return e.jsx(k,{isOpen:o.visible,title:a("add_install_code"),footer:e.jsxs(e.Fragment,{children:[e.jsx(d,{className:"btn btn-neutral",onClick:o.remove,children:a("common:cancel")}),e.jsx(d,{className:"btn btn-primary ms-1",onClick:async()=>{c&&(o.remove(),await n(c))},children:a("add_install_code")})]}),children:e.jsx("div",{className:"flex flex-col gap-2",children:e.jsx(v,{name:"install_code",label:a("install_code"),onChange:i=>m(i.target.value),value:c,type:"text",required:!0})})})});async function z(r){return await new Promise((n,o)=>{const a=new FileReader;a.onloadend=()=>n(a.result),a.onerror=c=>o(c),a.readAsDataURL(r)})}async function B(r){const n=await fetch(r);if(n.ok){const o=await n.blob();return await z(o)}return Promise.reject(n.status)}function q(r){const[n,o]=l.useState("none"),{devices:a}=r,[c,m]=l.useState({}),{sendMessage:i}=l.useContext(w),{t:u}=j("settings"),s=l.useCallback(async t=>{m(x=>({...x,[t.ieee_address]:"init"}));const p=I(t),g=await B(p);return await i("bridge/request/device/options",{id:t.ieee_address,options:{icon:g}}),m(x=>({...x,[t.ieee_address]:"done"})),!0},[i]);switch(l.useEffect(()=>{if(n==="start"){for(const t of a)t.type!=="Coordinator"&&s(t).catch(p=>{console.error("Error localising image",p),m(g=>({...g,[t.ieee_address]:"error"}))}).then();o("inprogress")}},[n,a,s]),n){case"none":return e.jsx(d,{className:"btn btn-primary join-item",onClick:()=>o("start"),children:u("localise_images")});case"inprogress":return e.jsx("ul",{className:"menu menu-xs bg-base-200 max-w-xs w-full join-item",children:a.map(t=>e.jsxs("li",{className:"flex-row justify-between items-center border-b py-0.5",children:[t.friendly_name,e.jsx("span",{className:"badge badge-xs",children:u(`common:${c[t.ieee_address]}`)})]},t.ieee_address))});case"done":return e.jsx("div",{children:u("common:unknown")})}return e.jsx("div",{children:u("zigbee:unknown")})}function F(){const{sendMessage:r}=l.useContext(w),n=b(s=>s.setBackupPreparing),o=b(s=>s.bridgeInfo),a=b(s=>s.backup),c=b(s=>s.preparingBackup),m=b(s=>s.devices),{t:i}=j(["settings","common"]),u=l.useCallback(()=>{const s=h(new Date).replace(/[\s_:]/g,"-"),t=`z2m-backup.${o.version}.${s}.zip`;C(`data:application/zip;base64,${a}`,t)},[a,o.version]);return e.jsxs("div",{className:"join join-vertical",children:[e.jsx(y,{className:"btn btn-error join-item mb-2",onClick:async()=>await r("bridge/request/restart",""),title:i("restart_zigbee2mqtt"),modalDescription:i("common:dialog_confirmation_prompt"),modalCancelLabel:i("common:cancel"),children:i("restart_zigbee2mqtt")}),e.jsx(d,{className:"btn btn-primary join-item",onClick:async()=>await N(b.getState(),"state.json"),children:i("download_state")}),c?e.jsx(d,{className:"btn btn-primary join-item disabled",children:e.jsx("span",{className:"loading loading-dots loading-xl"})}):a?e.jsx(d,{className:"btn btn-primary join-item",onClick:u,children:i("download_z2m_backup")}):e.jsx(d,{className:"btn btn-primary join-item",onClick:async()=>{n(),await r("bridge/request/backup","")},children:i("request_z2m_backup")}),e.jsx(d,{className:"btn btn-primary join-item",onClick:async()=>await f.show(S,{addInstallCode:async s=>await r("bridge/request/install_code/add",{value:s})}),children:i("add_install_code")}),e.jsx(q,{devices:m})]})}export{F as default};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as a,W as _,a as n,b as C,j as s,L as P,B as u,F as x,X as j,Y as F,Z as S}from"./index-
|
|
1
|
+
import{r as a,W as _,a as n,b as C,j as s,L as P,B as u,F as x,X as j,Y as F,Z as S}from"./index-pzWGL0cK.js";import{T}from"./Table-BpnEzjLb.js";import"./envs-CRUy-_iG.js";import"./DebouncedInput-BSs73uaO.js";function q(){const{sendMessage:t}=a.useContext(_),m=n(e=>e.setTouchlinkIdentifyInProgress),g=n(e=>e.setTouchlinkResetInProgress),f=n(e=>e.setTouchlinkScan),y=n(e=>e.touchlinkDevices),l=n(e=>e.devices),o=n(e=>e.touchlinkIdentifyInProgress),c=n(e=>e.touchlinkResetInProgress),h=n(e=>e.touchlinkScanInProgress),d=o||c,{t:i}=C(["touchlink","common","zigbee"]),p=a.useCallback(async()=>{f({inProgress:!0,devices:[]}),await t("bridge/request/touchlink/scan","")},[t,f]),k=a.useCallback(async e=>{m(!0),await t("bridge/request/touchlink/identify",e)},[t,m]),b=a.useCallback(async e=>{g(!0),await t("bridge/request/touchlink/factory_reset",e)},[t,g]),I=a.useMemo(()=>[{id:"ieee_address",header:i("zigbee:ieee_address"),accessorFn:e=>e.ieee_address,cell:({row:{original:e}})=>l.find(r=>r.ieee_address===e.ieee_address)?s.jsx(P,{to:`/device/${e.ieee_address}/info`,className:"link link-hover",children:e.ieee_address}):e.ieee_address,filterFn:"includesString",sortingFn:(e,r)=>e.original.ieee_address.localeCompare(r.original.ieee_address)},{id:"friendly_name",header:i("common:friendly_name"),accessorFn:e=>l.find(r=>r.ieee_address===e.ieee_address)?.friendly_name,filterFn:"includesString"},{id:"channel",header:i("zigbee:channel"),accessorFn:e=>e.channel,filterFn:"includesString"},{id:"actions",header:"",cell:({row:{original:e}})=>s.jsxs("div",{className:"join join-horizontal",children:[s.jsx(u,{disabled:d,item:e,title:i("identify"),className:"btn btn-square btn-outline btn-primary join-item",onClick:k,children:s.jsx(x,{icon:o?j:F,spin:o})}),s.jsx(u,{disabled:d,item:e,title:i("factory_reset"),className:"btn btn-square btn-outline btn-error join-item",onClick:b,children:s.jsx(x,{icon:c?j:S,spin:c})})]}),enableSorting:!1,enableColumnFilter:!1}],[o,c,d,l,i,k,b]);return h?s.jsx("div",{className:"flex flex-row justify-center items-center gap-2",children:s.jsx("span",{className:"loading loading-infinity loading-xl"})}):s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"flex flex-row flex-wrap justify-center items-center gap-2 mb-3",children:s.jsx(u,{className:"btn btn-primary",onClick:p,disabled:h,children:i("scan")})}),s.jsx(T,{id:"touchlink-devices",columns:I,data:y})]})}export{q as default};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i,b as s,j as l,L as a,ag as d}from"./index-
|
|
1
|
+
import{r as i,b as s,j as l,L as a,ag as d}from"./index-pzWGL0cK.js";const r=e=>{const o="[/| |:]",n=new RegExp(o,"g");return e.replace(n,"_")},f=i.memo(({device:e})=>{const{t:o}=s("zigbee");let n=e.model_id||o("unknown"),t=d;if(e.supported&&e.definition){const p=[encodeURIComponent(e.definition.vendor.toLowerCase()),encodeURIComponent(e.definition.model.toLowerCase())].join("-");t=`https://www.zigbee2mqtt.io/devices/${encodeURIComponent(r(e.definition.model))}.html#${encodeURIComponent(r(p))}`,n=e.definition.model}return l.jsx(a,{target:"_blank",rel:"noopener noreferrer",to:t,className:"link link-hover",children:n})}),c=i.memo(({device:e})=>{const{t:o}=s("zigbee");let n=o("unsupported"),t=d;return e.supported&&e.definition&&(t=`https://www.zigbee2mqtt.io/supported-devices/#v=${encodeURIComponent(e.definition.vendor)}`,n=e.definition.vendor),l.jsx(a,{target:"_blank",rel:"noopener noreferrer",to:t,className:"link link-hover",children:n})});export{f as M,c as V};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bW as Rr,bX as pr,bY as vr,bZ as _r}from"./index-
|
|
1
|
+
import{bW as Rr,bX as pr,bY as vr,bZ as _r}from"./index-pzWGL0cK.js";var c,D;function hr(){if(D)return c;D=1;function u(r,e,a,o){var n=-1,i=r==null?0:r.length;for(o&&i&&(a=r[++n]);++n<i;)a=e(a,r[n],n,r);return a}return c=u,c}var b,j;function lr(){if(j)return b;j=1;function u(r){return function(e){return r?.[e]}}return b=u,b}var g,N;function mr(){if(N)return g;N=1;var u=lr(),r={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},e=u(r);return g=e,g}var R,P;function yr(){if(P)return R;P=1;function u(r,e){for(var a=-1,o=r==null?0:r.length,n=Array(o);++a<o;)n[a]=e(r[a],a,r);return n}return R=u,R}var p,G;function Sr(){if(G)return p;G=1;var u=Rr(),r=pr(),e="[object Symbol]";function a(o){return typeof o=="symbol"||r(o)&&u(o)==e}return p=a,p}var v,H;function qr(){if(H)return v;H=1;var u=vr(),r=yr(),e=_r(),a=Sr(),o=u?u.prototype:void 0,n=o?o.toString:void 0;function i(d){if(typeof d=="string")return d;if(e(d))return r(d,i)+"";if(a(d))return n?n.call(d):"";var f=d+"";return f=="0"&&1/d==-1/0?"-0":f}return v=i,v}var _,J;function X(){if(J)return _;J=1;var u=qr();function r(e){return e==null?"":u(e)}return _=r,_}var h,Y;function Ar(){if(Y)return h;Y=1;var u=mr(),r=X(),e=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,a="\\u0300-\\u036f",o="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",i=a+o+n,d="["+i+"]",f=RegExp(d,"g");function x(t){return t=r(t),t&&t.replace(e,u).replace(f,"")}return h=x,h}var l,V;function Or(){if(V)return l;V=1;var u=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function r(e){return e.match(u)||[]}return l=r,l}var m,B;function Cr(){if(B)return m;B=1;var u=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function r(e){return u.test(e)}return m=r,m}var y,$;function Wr(){if($)return y;$=1;var u="\\ud800-\\udfff",r="\\u0300-\\u036f",e="\\ufe20-\\ufe2f",a="\\u20d0-\\u20ff",o=r+e+a,n="\\u2700-\\u27bf",i="a-z\\xdf-\\xf6\\xf8-\\xff",d="\\xac\\xb1\\xd7\\xf7",f="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",x="\\u2000-\\u206f",t=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",A="A-Z\\xc0-\\xd6\\xd8-\\xde",Q="\\ufe0e\\ufe0f",O=d+f+x+t,C="['’]",W="["+O+"]",rr="["+o+"]",U="\\d+",ur="["+n+"]",L="["+i+"]",T="[^"+u+O+U+n+i+A+"]",er="\\ud83c[\\udffb-\\udfff]",nr="(?:"+rr+"|"+er+")",ar="[^"+u+"]",M="(?:\\ud83c[\\udde6-\\uddff]){2}",E="[\\ud800-\\udbff][\\udc00-\\udfff]",s="["+A+"]",or="\\u200d",I="(?:"+L+"|"+T+")",ir="(?:"+s+"|"+T+")",Z="(?:"+C+"(?:d|ll|m|re|s|t|ve))?",k="(?:"+C+"(?:D|LL|M|RE|S|T|VE))?",w=nr+"?",z="["+Q+"]?",dr="(?:"+or+"(?:"+[ar,M,E].join("|")+")"+z+w+")*",fr="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",tr="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",sr=z+w+dr,xr="(?:"+[ur,M,E].join("|")+")"+sr,cr=RegExp([s+"?"+L+"+"+Z+"(?="+[W,s,"$"].join("|")+")",ir+"+"+k+"(?="+[W,s+I,"$"].join("|")+")",s+"?"+I+"+"+Z,s+"+"+k,tr,fr,U,xr].join("|"),"g");function br(gr){return gr.match(cr)||[]}return y=br,y}var S,F;function Ur(){if(F)return S;F=1;var u=Or(),r=Cr(),e=X(),a=Wr();function o(n,i,d){return n=e(n),i=d?void 0:i,i===void 0?r(n)?a(n):u(n):n.match(i)||[]}return S=o,S}var q,K;function Tr(){if(K)return q;K=1;var u=hr(),r=Ar(),e=Ur(),a="['’]",o=RegExp(a,"g");function n(i){return function(d){return u(e(r(d).replace(o,"")),i,"")}}return q=n,q}export{Tr as a,Sr as b,X as r};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c2 as n}from"./index-
|
|
1
|
+
import{c2 as n}from"./index-pzWGL0cK.js";var c=[60,60,24,7,365/7/12,12];function l(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}function s(e,a){var t=e<0?1:0;e=Math.abs(e);for(var o=e,r=0;e>=c[r]&&r<c.length;r++)e/=c[r];return e=Math.floor(e),r*=2,e>(r===0?9:1)&&(r+=1),a(e,r,o)[t].replace("%s",e.toString())}function v(e,a){var t=new Date;return(+t-+l(e))/1e3}var m=function(e,a,t){var o=v(e);return s(o,n(a))};export{m as f};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ce as t}from"./index-
|
|
1
|
+
import{ce as t}from"./index-pzWGL0cK.js";const n=""+new URL("generic-zigbee-device-Dj-9sUqG.png",import.meta.url).href,s="https://www.zigbee2mqtt.io/images/devices/",a=i=>{const e=t(i.definition?.model);return e==="NA"?n:`${s}${e}.png`};export{n as a,a as g};
|
|
Binary file
|