zigbee2mqtt-windfront 1.2.0 → 1.3.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/assets/{About-DgyWDvfB.js → About-BFY7urtC.js} +1 -1
- package/dist/assets/About-BFY7urtC.js.br +0 -0
- package/dist/assets/Availability-CGAWml3l.js +1 -0
- package/dist/assets/Availability-CGAWml3l.js.br +0 -0
- package/dist/assets/{Bind-CtiVyvbM.js → Bind-vE7zlFIT.js} +1 -1
- package/dist/assets/Bind-vE7zlFIT.js.br +0 -0
- package/dist/assets/{Bridge-BI9I1zH0.js → Bridge-PZYcbf0O.js} +1 -1
- package/dist/assets/Bridge-PZYcbf0O.js.br +1 -0
- package/dist/assets/{CheckboxField-BE2uJYM6.js → CheckboxField-CKgIp8a8.js} +1 -1
- package/dist/assets/CheckboxField-CKgIp8a8.js.br +0 -0
- package/dist/assets/{ClusterSinglePicker-DPQKAzs_.js → ClusterSinglePicker-9espeMwv.js} +1 -1
- package/dist/assets/ClusterSinglePicker-9espeMwv.js.br +0 -0
- package/dist/assets/{Clusters-DoweqlQ-.js → Clusters-qjfQFe32.js} +1 -1
- package/dist/assets/Clusters-qjfQFe32.js.br +0 -0
- package/dist/assets/Dashboard-C6eKkVo2.js +1 -0
- package/dist/assets/Dashboard-C6eKkVo2.js.br +0 -0
- package/dist/assets/DashboardFeatureWrapper-2XgC0Vbu.js +1 -0
- package/dist/assets/DashboardFeatureWrapper-2XgC0Vbu.js.br +0 -0
- package/dist/assets/{DebouncedInput-C7mHBKJ8.js → DebouncedInput-xxDjw8fK.js} +1 -1
- package/dist/assets/DebouncedInput-xxDjw8fK.js.br +0 -0
- package/dist/assets/{DevConsole-CCuEOD5s.js → DevConsole-BwmfFlaa.js} +1 -1
- package/dist/assets/DevConsole-BwmfFlaa.js.br +0 -0
- package/dist/assets/{DevConsole-BUJlOeJk.js → DevConsole-c4Go_5Cx.js} +1 -1
- package/dist/assets/DevConsole-c4Go_5Cx.js.br +0 -0
- package/dist/assets/DeviceCard-Dn-YPJeh.js +1 -0
- package/dist/assets/DeviceCard-Dn-YPJeh.js.br +0 -0
- package/dist/assets/{DeviceControlEditName-iOMTHG5Y.js → DeviceControlEditName-Cib2zvRH.js} +1 -1
- package/dist/assets/DeviceControlEditName-Cib2zvRH.js.br +0 -0
- package/dist/assets/DeviceImage-Cbh-Uae_.js +1 -0
- package/dist/assets/DeviceImage-Cbh-Uae_.js.br +0 -0
- package/dist/assets/DeviceInfo-CtFO_0zq.js +1 -0
- package/dist/assets/DeviceInfo-CtFO_0zq.js.br +0 -0
- package/dist/assets/DevicePage-CL6QW70V.js +2 -0
- package/dist/assets/DevicePage-CL6QW70V.js.br +0 -0
- package/dist/assets/{DevicePicker-ov0gnVoi.js → DevicePicker-B8wvglJO.js} +1 -1
- package/dist/assets/DevicePicker-B8wvglJO.js.br +0 -0
- package/dist/assets/{DeviceSettings-BpVsyHbe.js → DeviceSettings-cyraV-PD.js} +1 -1
- package/dist/assets/DeviceSettings-cyraV-PD.js.br +0 -0
- package/dist/assets/DeviceSpecificSettings-DG-B0QXU.js +1 -0
- package/dist/assets/DeviceSpecificSettings-DG-B0QXU.js.br +0 -0
- package/dist/assets/Devices-CCdlvPKX.js +1 -0
- package/dist/assets/Devices-CCdlvPKX.js.br +0 -0
- package/dist/assets/DevicesPage-B_ORU6zT.js +1 -0
- package/dist/assets/DevicesPage-B_ORU6zT.js.br +0 -0
- package/dist/assets/{DisplayValue-Beucehnn.js → DisplayValue-CThy0Fna.js} +1 -1
- package/dist/assets/DisplayValue-CThy0Fna.js.br +0 -0
- package/dist/assets/{Donate-COo6hmUa.js → Donate-ChPkbQIQ.js} +1 -1
- package/dist/assets/Donate-ChPkbQIQ.js.br +0 -0
- package/dist/assets/{EndpointPicker-CXLotsVN.js → EndpointPicker-C6ej_jn-.js} +1 -1
- package/dist/assets/EndpointPicker-C6ej_jn-.js.br +0 -0
- package/dist/assets/Exposes-DGppzhCM.js +1 -0
- package/dist/assets/Exposes-DGppzhCM.js.br +0 -0
- package/dist/assets/Feature-BhPmnoZF.js +1 -0
- package/dist/assets/Feature-BhPmnoZF.js.br +0 -0
- package/dist/assets/{Frontend-CikxfpKV.js → Frontend-LOSYcYD-.js} +1 -1
- package/dist/assets/Frontend-LOSYcYD-.js.br +0 -0
- package/dist/assets/GroupPage-CgDVJI3N.js +2 -0
- package/dist/assets/GroupPage-CgDVJI3N.js.br +0 -0
- package/dist/assets/{GroupSettings-1CJfLaCH.js → GroupSettings-DpkTM-Xz.js} +1 -1
- package/dist/assets/GroupSettings-DpkTM-Xz.js.br +0 -0
- package/dist/assets/Groups-6SwxNIoO.js +1 -0
- package/dist/assets/Groups-6SwxNIoO.js.br +0 -0
- package/dist/assets/GroupsPage-BjOIYU5x.js +1 -0
- package/dist/assets/GroupsPage-BjOIYU5x.js.br +0 -0
- package/dist/assets/{Health-LUtfSTPl.js → Health-R4q8Sk9W.js} +1 -1
- package/dist/assets/Health-R4q8Sk9W.js.br +0 -0
- package/dist/assets/{HomePage-Btp2tHF6.js → HomePage-MR57BFif.js} +1 -1
- package/dist/assets/HomePage-MR57BFif.js.br +0 -0
- package/dist/assets/{InputField-DCkeC8F5.js → InputField-DXwsrdm2.js} +1 -1
- package/dist/assets/InputField-DXwsrdm2.js.br +1 -0
- package/dist/assets/{LastSeen-BCk3tP-Y.js → LastSeen-Y67K4Fqv.js} +1 -1
- package/dist/assets/LastSeen-Y67K4Fqv.js.br +0 -0
- package/dist/assets/{LogsPage-BOpboBjY.js → LogsPage-Cld3pboD.js} +1 -1
- package/dist/assets/LogsPage-Cld3pboD.js.br +0 -0
- package/dist/assets/{Lqi-B5_BH_e-.js → Lqi-CH0xJyhG.js} +1 -1
- package/dist/assets/Lqi-CH0xJyhG.js.br +0 -0
- package/dist/assets/{NetworkPage-BcHYfNai.js → NetworkPage-BV0-BL18.js} +2 -2
- package/dist/assets/NetworkPage-BV0-BL18.js.br +0 -0
- package/dist/assets/{NumberField-lvLxfvCU.js → NumberField-BELYPu7B.js} +1 -1
- package/dist/assets/NumberField-BELYPu7B.js.br +0 -0
- package/dist/assets/OtaPage-DIuJii1H.js +1 -0
- package/dist/assets/OtaPage-DIuJii1H.js.br +0 -0
- package/dist/assets/{PowerSource-DqdctI_P.js → PowerSource-CpboKkXb.js} +1 -1
- package/dist/assets/PowerSource-CpboKkXb.js.br +0 -0
- package/dist/assets/{RawNetworkData-MNv4MZ4s.js → RawNetworkData-KimVYxDA.js} +1 -1
- package/dist/assets/RawNetworkData-KimVYxDA.js.br +0 -0
- package/dist/assets/{RawNetworkMap-ys7aaXo1.js → RawNetworkMap-g31InUyr.js} +206 -206
- package/dist/assets/RawNetworkMap-g31InUyr.js.br +0 -0
- package/dist/assets/{RecallRemove-B8jWvJxI.js → RecallRemove-D_Wf53dt.js} +1 -1
- package/dist/assets/RecallRemove-D_Wf53dt.js.br +0 -0
- package/dist/assets/{Reporting-D7xIqQEI.js → Reporting-CivFNA3N.js} +1 -1
- package/dist/assets/Reporting-CivFNA3N.js.br +0 -0
- package/dist/assets/Scene-DzbrrQhW.js +1 -0
- package/dist/assets/Scene-DzbrrQhW.js.br +0 -0
- package/dist/assets/{SelectField-1O9grfYD.js → SelectField-BiRFHt2I.js} +1 -1
- package/dist/assets/SelectField-BiRFHt2I.js.br +0 -0
- package/dist/assets/{Settings-DD7_dD9z.js → Settings-Dsglzgx-.js} +1 -1
- package/dist/assets/Settings-Dsglzgx-.js.br +0 -0
- package/dist/assets/{SettingsList-DMDmHfS-.js → SettingsList-BkAg1hoT.js} +1 -1
- package/dist/assets/SettingsList-BkAg1hoT.js.br +0 -0
- package/dist/assets/{SettingsPage-CpmLVhDq.js → SettingsPage-B0fphXWV.js} +2 -2
- package/dist/assets/SettingsPage-B0fphXWV.js.br +0 -0
- package/dist/assets/{State-DnmWu73w.js → State-DleJA1Ta.js} +1 -1
- package/dist/assets/State-DleJA1Ta.js.br +0 -0
- package/dist/assets/{Table-CHaSwsCb.js → Table-CVp4F28v.js} +2 -2
- package/dist/assets/Table-CVp4F28v.js.br +0 -0
- package/dist/assets/{TextareaField-BbOsusbU.js → TextareaField-DAJIKD73.js} +1 -1
- package/dist/assets/TextareaField-DAJIKD73.js.br +0 -0
- package/dist/assets/{Tools-BBioT6my.js → Tools-DQ8GQ7z9.js} +1 -1
- package/dist/assets/Tools-DQ8GQ7z9.js.br +0 -0
- package/dist/assets/TouchlinkPage-B_a_dvf1.js +1 -0
- package/dist/assets/TouchlinkPage-B_a_dvf1.js.br +0 -0
- package/dist/assets/{VendorLink-tKv1Ms14.js → VendorLink-DTNZMMP5.js} +1 -1
- package/dist/assets/VendorLink-DTNZMMP5.js.br +0 -0
- package/dist/assets/{_createCompounder-DqDEDMcN.js → _createCompounder-EtfNZAeu.js} +1 -1
- package/dist/assets/_createCompounder-EtfNZAeu.js.br +0 -0
- package/dist/assets/{format-eWM0FM-u.js → format-DKj-n12h.js} +1 -1
- package/dist/assets/format-DKj-n12h.js.br +3 -0
- package/dist/assets/index-BEfVjKh5.js +1 -0
- package/dist/assets/index-BEfVjKh5.js.br +1 -0
- package/dist/assets/index-Bs7zcW7e.js +1 -0
- package/dist/assets/index-Bs7zcW7e.js.br +0 -0
- package/dist/assets/index-C1gKvOQY.js +635 -0
- package/dist/assets/index-C1gKvOQY.js.br +0 -0
- package/dist/assets/index-C5jxp7BF.css +1 -0
- package/dist/assets/index-C5jxp7BF.css.br +0 -0
- package/dist/assets/{jszip.min-5BMZ56Hu.js → jszip.min-BfmyMf_j.js} +1 -1
- package/dist/assets/jszip.min-BfmyMf_j.js.br +0 -0
- package/dist/assets/snakeCase-BPEk2aWA.js +1 -0
- package/dist/assets/snakeCase-BPEk2aWA.js.br +0 -0
- package/dist/index.html +2 -2
- package/dist/index.html.br +0 -0
- package/package.json +8 -8
- package/dist/assets/About-DgyWDvfB.js.br +0 -0
- package/dist/assets/Availability-Bd4eFrIW.js +0 -1
- package/dist/assets/Availability-Bd4eFrIW.js.br +0 -0
- package/dist/assets/Bind-CtiVyvbM.js.br +0 -0
- package/dist/assets/Bridge-BI9I1zH0.js.br +0 -2
- package/dist/assets/CheckboxField-BE2uJYM6.js.br +0 -1
- package/dist/assets/ClusterSinglePicker-DPQKAzs_.js.br +0 -0
- package/dist/assets/Clusters-DoweqlQ-.js.br +0 -0
- package/dist/assets/Dashboard-BBV5Of7y.js +0 -1
- package/dist/assets/Dashboard-BBV5Of7y.js.br +0 -0
- package/dist/assets/DashboardFeatureWrapper-DyHMfT1k.js +0 -1
- package/dist/assets/DashboardFeatureWrapper-DyHMfT1k.js.br +0 -3
- package/dist/assets/DebouncedInput-C7mHBKJ8.js.br +0 -0
- package/dist/assets/DevConsole-BUJlOeJk.js.br +0 -0
- package/dist/assets/DevConsole-CCuEOD5s.js.br +0 -0
- package/dist/assets/DeviceCard-Dwynhf4j.js +0 -1
- package/dist/assets/DeviceCard-Dwynhf4j.js.br +0 -0
- package/dist/assets/DeviceControlEditName-iOMTHG5Y.js.br +0 -0
- package/dist/assets/DeviceImage-DnR6dgTB.js +0 -1
- package/dist/assets/DeviceImage-DnR6dgTB.js.br +0 -0
- package/dist/assets/DeviceInfo-BdupmLjM.js +0 -1
- package/dist/assets/DeviceInfo-BdupmLjM.js.br +0 -0
- package/dist/assets/DevicePage-Vwrptzvx.js +0 -2
- package/dist/assets/DevicePage-Vwrptzvx.js.br +0 -0
- package/dist/assets/DevicePicker-ov0gnVoi.js.br +0 -0
- package/dist/assets/DeviceSettings-BpVsyHbe.js.br +0 -0
- package/dist/assets/DeviceSpecificSettings-uh-HwgqP.js +0 -1
- package/dist/assets/DeviceSpecificSettings-uh-HwgqP.js.br +0 -0
- package/dist/assets/Devices-0UzhbChe.js +0 -1
- package/dist/assets/Devices-0UzhbChe.js.br +0 -0
- package/dist/assets/DevicesPage-Ce8JwJ4B.js +0 -1
- package/dist/assets/DevicesPage-Ce8JwJ4B.js.br +0 -0
- package/dist/assets/DisplayValue-Beucehnn.js.br +0 -0
- package/dist/assets/Donate-COo6hmUa.js.br +0 -0
- package/dist/assets/EndpointPicker-CXLotsVN.js.br +0 -4
- package/dist/assets/Exposes-Cr1tyQmV.js +0 -1
- package/dist/assets/Exposes-Cr1tyQmV.js.br +0 -0
- package/dist/assets/Feature-BbFY4SLv.js +0 -1
- package/dist/assets/Feature-BbFY4SLv.js.br +0 -0
- package/dist/assets/Frontend-CikxfpKV.js.br +0 -0
- package/dist/assets/GroupPage-00A4xdiI.js +0 -2
- package/dist/assets/GroupPage-00A4xdiI.js.br +0 -0
- package/dist/assets/GroupSettings-1CJfLaCH.js.br +0 -0
- package/dist/assets/Groups-B9Q-E7KA.js +0 -1
- package/dist/assets/Groups-B9Q-E7KA.js.br +0 -0
- package/dist/assets/GroupsPage-BBIQGoG2.js +0 -1
- package/dist/assets/GroupsPage-BBIQGoG2.js.br +0 -0
- package/dist/assets/Health-LUtfSTPl.js.br +0 -0
- package/dist/assets/HomePage-Btp2tHF6.js.br +0 -0
- package/dist/assets/InputField-DCkeC8F5.js.br +0 -0
- package/dist/assets/LastSeen-BCk3tP-Y.js.br +0 -0
- package/dist/assets/LogsPage-BOpboBjY.js.br +0 -0
- package/dist/assets/Lqi-B5_BH_e-.js.br +0 -0
- package/dist/assets/NetworkPage-BcHYfNai.js.br +0 -0
- package/dist/assets/NumberField-lvLxfvCU.js.br +0 -0
- package/dist/assets/OtaPage-BI7zaM5x.js +0 -1
- package/dist/assets/OtaPage-BI7zaM5x.js.br +0 -0
- package/dist/assets/PowerSource-DqdctI_P.js.br +0 -0
- package/dist/assets/RawNetworkData-MNv4MZ4s.js.br +0 -0
- package/dist/assets/RawNetworkMap-ys7aaXo1.js.br +0 -0
- package/dist/assets/RecallRemove-B8jWvJxI.js.br +0 -0
- package/dist/assets/Reporting-D7xIqQEI.js.br +0 -0
- package/dist/assets/Scene-KZ_53D9d.js +0 -1
- package/dist/assets/Scene-KZ_53D9d.js.br +0 -0
- package/dist/assets/SelectField-1O9grfYD.js.br +0 -1
- package/dist/assets/Settings-DD7_dD9z.js.br +0 -0
- package/dist/assets/SettingsList-DMDmHfS-.js.br +0 -0
- package/dist/assets/SettingsPage-CpmLVhDq.js.br +0 -0
- package/dist/assets/State-DnmWu73w.js.br +0 -0
- package/dist/assets/Table-CHaSwsCb.js.br +0 -0
- package/dist/assets/TextareaField-BbOsusbU.js.br +0 -0
- package/dist/assets/Tools-BBioT6my.js.br +0 -0
- package/dist/assets/TouchlinkPage-ETKr5Ewc.js +0 -1
- package/dist/assets/TouchlinkPage-ETKr5Ewc.js.br +0 -3
- package/dist/assets/VendorLink-tKv1Ms14.js.br +0 -0
- package/dist/assets/_createCompounder-DqDEDMcN.js.br +0 -0
- package/dist/assets/capitalize-Cq5sVmfS.js +0 -1
- package/dist/assets/capitalize-Cq5sVmfS.js.br +0 -0
- package/dist/assets/format-eWM0FM-u.js.br +0 -1
- package/dist/assets/index-B4xkyr03.js +0 -635
- package/dist/assets/index-B4xkyr03.js.br +0 -0
- package/dist/assets/index-BN7eS8uY.js +0 -1
- package/dist/assets/index-BN7eS8uY.js.br +0 -0
- package/dist/assets/index-M1ypebku.js +0 -1
- package/dist/assets/index-M1ypebku.js.br +0 -1
- package/dist/assets/index-Ptfb36CP.css +0 -1
- package/dist/assets/index-Ptfb36CP.css.br +0 -0
- package/dist/assets/jszip.min-5BMZ56Hu.js.br +0 -0
- package/dist/assets/snakeCase-BeE7k_0H.js +0 -1
- package/dist/assets/snakeCase-BeE7k_0H.js.br +0 -0
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as n,W as E,a as c,s as w,D as j,b as q,j as a,t as k,c as A,L as C}from"./index-B4xkyr03.js";import{A as M,D as I}from"./Availability-Bd4eFrIW.js";import{D as T}from"./DeviceImage-DnR6dgTB.js";import{C as D}from"./CheckboxField-BE2uJYM6.js";import{T as B}from"./Table-CHaSwsCb.js";import{L as H}from"./LastSeen-BCk3tP-Y.js";import{L as P}from"./Lqi-B5_BH_e-.js";import{M as O,V}from"./VendorLink-tKv1Ms14.js";import{P as R}from"./PowerSource-DqdctI_P.js";import"./envs-DFlyG_dH.js";import"./DeviceControlEditName-iOMTHG5Y.js";import"./InputField-DCkeC8F5.js";import"./index-M1ypebku.js";import"./DebouncedInput-C7mHBKJ8.js";import"./format-eWM0FM-u.js";import"./DisplayValue-Beucehnn.js";import"./snakeCase-BeE7k_0H.js";import"./_createCompounder-DqDEDMcN.js";function re(){const{sendMessage:r}=n.useContext(E),b=c(e=>e.devices),f=c(e=>e.deviceStates),i=c(e=>e.bridgeInfo.config),u=c(e=>e.availability),[o,F]=n.useState(w.get(j,!1)),[d,N]=n.useState(!1),{t}=q(["zigbee","common","availability"]),m=n.useMemo(()=>{const e=[];for(const s of b)if(s.type!=="Coordinator"&&(!o||!s.disabled)){const l=f[s.friendly_name]??{},p=i.devices[s.ieee_address]?.availability;if(d){if(s.power_source!=="Battery")continue;if("battery"in l){if(l.battery>=20)continue}else if("battery_state"in l){if(l.battery_state!=="low")continue}else if("battery_low"in l){if(!l.battery_low)continue}else continue}e.push({device:s,state:l,availabilityState:u[s.friendly_name]??{state:"offline"},availabilityEnabledForDevice:p!=null?!!p:void 0})}return e},[b,f,i.devices,u,o,d]),v=n.useCallback(e=>{w.set(j,e.target.checked),F(e.target.checked)},[]),g=n.useCallback(e=>{N(e.target.checked)},[]),y=n.useCallback(async(e,s,l)=>{await r("bridge/request/device/rename",{from:e,to:s,homeassistant_rename:l,last:void 0})},[r]),h=n.useCallback(async e=>{await r("bridge/request/device/configure",{id:e})},[r]),x=n.useCallback(async(e,s,l)=>{await r("bridge/request/device/remove",{id:e,force:s,block:l})},[r]),_=n.useCallback(async e=>{await r("bridge/request/device/interview",{id:e})},[r]),S=n.useMemo(()=>[{id:"friendly_name",header:t("common:friendly_name"),accessorFn:({device:e})=>[e.friendly_name,e.description].join(" "),cell:({row:{original:{device:e,state:s}}})=>a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"avatar",children:a.jsx("div",{className:"h-11 w-11",style:{overflow:"visible"},children:a.jsx(T,{device:e,otaState:s.update?.state,disabled:e.disabled})})}),a.jsxs("div",{className:"flex flex-col",children:[a.jsx(C,{to:`/device/${e.ieee_address}/info`,className:"link link-hover",children:e.friendly_name}),e.description&&a.jsx("div",{className:"text-xs opacity-50",children:e.description}),a.jsx("div",{className:"flex flex-row gap-1 mt-0.5 items-center",children:a.jsx("span",{className:"badge badge-soft badge-sm badge-ghost cursor-default",title:t("power"),children:a.jsx(R,{device:e,batteryPercent:s.battery,batteryState:s.battery_state,batteryLow:s.battery_low,showLevel:!0})})})]})]})},{id:"ieee_address",header:t("ieee_address"),accessorFn:({device:e})=>[e.ieee_address,k(e.network_address,4),e.network_address].join(" "),cell:({row:{original:{device:e}}})=>a.jsxs(a.Fragment,{children:[a.jsx("div",{children:a.jsx(C,{to:`/device/${e.ieee_address}/info`,className:"link link-hover",children:e.ieee_address})}),a.jsxs("div",{className:"flex flex-row gap-1",children:[a.jsx("span",{className:"badge badge-ghost badge-sm cursor-default",title:t("network_address_hex"),children:k(e.network_address,4)}),a.jsx("span",{className:"badge badge-ghost badge-sm cursor-default",title:t("network_address_dec"),children:e.network_address})]})]}),sortingFn:(e,s)=>e.original.device.ieee_address.localeCompare(s.original.device.ieee_address)},{id:"model",header:t("model"),accessorFn:({device:e})=>[e.definition?.model,e.model_id,e.definition?.vendor,e.manufacturer].join(" "),cell:({row:{original:{device:e}}})=>a.jsxs(a.Fragment,{children:[a.jsx(O,{device:e}),a.jsx("div",{className:"flex flex-row gap-1",children:a.jsx("span",{className:"badge badge-ghost badge-sm",title:t("manufacturer"),children:a.jsx(V,{device:e})})})]})},{id:"lqi",header:t("lqi"),accessorFn:({state:e})=>e.linkquality,cell:({row:{original:{state:e}}})=>a.jsx(P,{value:e.linkquality}),enableColumnFilter:!1},{id:"last_seen",header:t("last_seen"),accessorFn:({state:e})=>A(e.last_seen,i.advanced.last_seen)?.getTime(),cell:({row:{original:{state:e}}})=>a.jsx(H,{lastSeen:e.last_seen,config:i.advanced.last_seen}),enableColumnFilter:!1},{id:"availability",header:t("availability:availability"),accessorFn:({availabilityState:e})=>e.state,cell:({row:{original:{device:e,availabilityState:s,availabilityEnabledForDevice:l}}})=>a.jsx(M,{disabled:e.disabled,availability:s,availabilityEnabledForDevice:l,availabilityFeatureEnabled:i.availability.enabled}),enableColumnFilter:!1},{id:"actions",header:()=>a.jsxs(a.Fragment,{children:[a.jsx(D,{name:"battery_low_only",detail:t("common:battery_low_only"),onChange:g,checked:d,className:"checkbox checkbox-sm"}),a.jsx(D,{name:"hide_disabled",detail:t("common:hide_disabled"),onChange:v,checked:o,className:"checkbox checkbox-sm"})]}),cell:({row:{original:{device:e,state:s}}})=>a.jsx(I,{device:e,state:s,homeassistantEnabled:i.homeassistant.enabled,renameDevice:y,removeDevice:x,configureDevice:h,interviewDevice:_}),enableSorting:!1,enableColumnFilter:!1}],[o,d,i.advanced.last_seen,i.availability.enabled,i.homeassistant.enabled,v,g,y,x,h,_,t]),L=n.useMemo(()=>({friendly_name:!0,ieee_address:!0,model:!0,last_seen:i.advanced.last_seen!=="disable",availability:i.availability.enabled||m.some(e=>e.availabilityEnabledForDevice),controls:!0}),[i.advanced.last_seen,i.availability.enabled,m]);return a.jsx(B,{id:"all-devices",columns:S,data:m,visibleColumns:L})}export{re as default};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as c,r as a,W as u,a as l,j as r}from"./index-B4xkyr03.js";import{F as m,a as x,g as f}from"./Feature-BbFY4SLv.js";import"./envs-DFlyG_dH.js";import"./DisplayValue-Beucehnn.js";import"./_createCompounder-DqDEDMcN.js";import"./capitalize-Cq5sVmfS.js";function j(o){const{device:e}=o,{t:i}=c(["exposes"]),{sendMessage:t}=a.useContext(u),n=l(s=>s.deviceStates[e.friendly_name]??{}),p=a.useCallback(async s=>{await t(`${e.ieee_address}/set`,s)},[t,e.ieee_address]),d=a.useCallback(async s=>{await t(`${e.ieee_address}/get`,s)},[t,e.ieee_address]);return e.definition?.exposes?.length?r.jsx("div",{className:"list bg-base-100",children:e.definition.exposes.map(s=>r.jsx(m,{feature:s,device:e,deviceState:n,onChange:p,onRead:d,featureWrapperClass:x,parentFeatures:[]},f(s)))}):i("empty_exposes_definition")}export{j as default};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ac as J,aN as Fe,aO as Ie,aP as Be,l as qe,aQ as Ge,aR as Ve,aS as Oe,aT as Me,aU as He,aF as ee,aV as te,aW as Pe,aX as Le,aY as ze,aZ as Ue,a_ as We,a$ as De,b0 as ae,b1 as Xe,b2 as re,b3 as Ye,b4 as Ke,b5 as P,b6 as ne,b7 as se,Z as Qe,b8 as Ze,b9 as Je,ba as et,bb as tt,bc as at,bd as rt,be as nt,bf as st,bg as ot,bh as ct,bi as lt,bj as it,bk as ut,bl as mt,bm as ft,bn as xt,bo as ht,bp as pt,bq as dt,br as A,aH as gt,bs as oe,bt,bu as _t,bv as yt,bw as Ct,bx as ge,by as jt,bz as be,bA as vt,bB as St,bC as Tt,r as l,j as s,b as R,B as v,F as Z,bD as kt,ao as Et,bE as Nt,bF as wt,K as Rt}from"./index-B4xkyr03.js";import{D as M}from"./DisplayValue-Beucehnn.js";import{r as _e,a as At}from"./_createCompounder-DqDEDMcN.js";import{r as $t,a as Ft}from"./capitalize-Cq5sVmfS.js";var L,ce;function It(){if(ce)return L;ce=1;var e=$t(),a=_e(),r=a(function(t,o,n){return o=o.toLowerCase(),t+(n?e(o):o)});return L=r,L}var Bt=It();const qt=J(Bt);var z,le;function Gt(){if(le)return z;le=1;var e=_e(),a=Ft(),r=e(function(t,o,n){return t+(n?" ":"")+a(o)});return z=r,z}var Vt=Gt();const Ot=J(Vt),Mt={battery_low:A,humidity:dt,illuminance:P,pressure:pt,co2:ht,voltage:xt,state:ft,brightness:P,occupancy:mt,presence:ut,current:it,power:lt,energy:ct,frequency:ot,tamper:st,smoke:nt,radiation_dose_per_hour:rt,radioactive_events_per_minute:at,power_factor:tt,mode:et,sound:Je,position:Ze,alarm:Qe,color_xy:se,color_hs:se,color_temp:ne,color_temp_startup:ne,illuminance_lux:P,soil_moisture:Ke,water_leak:ae,week:Ye,workdays_schedule:re,holidays_schedule:re,away_mode:Xe,vibration:ae,power_outage_count:De,action:We,angle_x:Ue,angle_y:ze,angle_z:Le,side:Pe,humidity_alarm:te,temperature_alarm:te,approach_distance:ee,distance:ee,trigger_count:He,level_config:Me,station:Oe,effect:Ve,linkquality:Ge,system_mode:qe,gradient:Be,sensitivity:Ie,test:Fe},Ht=(e,a)=>{let r=A;return e==null||(e>=85?(r=ge,a.push("text-success")):e>=65?r=jt:e>=40?r=be:e>=20?r=vt:(r=A,a.push("text-error"))),r},Pt=(e,a)=>{let r=A;switch(e){case"high":{r=ge,a.push("text-success");break}case"medium":{r=be;break}case"low":{r=A,a.push("text-error");break}}return r},Lt=(e,a,r)=>{let t=oe;return e==null||(a==="°F"&&(e=(e-32)/1.8),e>=30?(t=bt,r.push("text-error")):e>=25?t=_t:e>=20?t=yt:e>=15?t=Ct:e<5&&(t=oe,r.push("text-info"))),t},zt=(e,a,r)=>{let t;const o=[],n={};switch(e){case"battery":{t=Ht(a,o);break}case"battery_state":{t=Pt(a,o);break}case"battery_low":{a&&o.push("text-error");break}case"device_temperature":case"temperature":case"local_temperature":{t=Lt(a,r,o);break}case"humidity":{a!=null&&a>60&&o.push("text-info");break}case"contact":{t=a?St:Tt,a||o.push("text-primary");break}case"occupancy":{a&&(o.push("text-warning"),n.beat=!0);break}case"presence":{a&&(o.push("text-warning"),n.beat=!0);break}case"tamper":{a&&(o.push("text-error"),n.beatFade=!0,n.shake=!0);break}case"water_leak":{a&&(o.push("text-primary"),n.beatFade=!0);break}case"vibration":{a&&(o.push("text-primary"),n.shake=!0);break}}return t?[t,o.join(" "),n]:(t=Mt[e],t?[t,o.join(" "),n]:[gt,"opacity-0",{}])},Ut=e=>`${e.type}-${e.name}-${e.label}-${e.property}-${e.access}-${e.category}-${e.endpoint}`;var y=(e=>(e[e.STATE=1]="STATE",e[e.SET=2]="SET",e[e.GET=4]="GET",e[e.STATE_SET=3]="STATE_SET",e[e.STATE_GET=5]="STATE_GET",e[e.ALL=7]="ALL",e))(y||{});const $=l.memo(({feature:e,deviceValue:a})=>s.jsxs("div",{children:[e.property&&s.jsx("span",{className:"font-bold",children:s.jsx(M,{value:a,name:e.name})}),"unit"in e&&s.jsx("span",{className:"text-xs ms-1",children:e.unit})]})),F=l.memo(e=>s.jsxs("div",{className:"alert alert-warning",role:"alert",children:["Unknown access ",s.jsx("pre",{children:e.feature.access})]})),Wt=l.memo(e=>{const{feature:{access:a=y.SET,name:r,property:t,value_off:o,value_on:n},deviceValue:m,onChange:c,minimal:f}=e,{t:i}=R("zigbee"),h=l.useCallback(x=>c({[t]:x}),[t,c]),u=l.useCallback(x=>c({[t]:x.target.checked?n:o}),[n,o,t,c]);if(a&y.SET){const x=m!=null,p=!f||f&&!x;return s.jsxs("div",{children:[p&&s.jsx(v,{className:"btn btn-link",item:o,onClick:h,children:s.jsx(M,{value:o,name:r})}),x?s.jsx("input",{className:"toggle",type:"checkbox",checked:m===n,onChange:u}):s.jsx(Z,{icon:kt,title:i("unknown")}),p&&s.jsx(v,{className:"btn btn-link",item:n,onClick:h,children:s.jsx(M,{value:n,name:r})})]})}return a&y.STATE?s.jsx($,{...e}):s.jsx(F,{...e})}),N=l.memo(e=>{const{feature:a,onChange:r,parentFeatures:t,onRead:o,device:n,deviceState:m,featureWrapperClass:c,minimal:f,steps:i}=e,{type:h,property:u}=a,[x,p]=l.useState({}),{t:_}=R(["composite","common"]),j=l.useMemo(()=>Et({},m,x),[m,x]),k="features"in a&&a.features||[],E=l.useMemo(()=>{if(h==="composite"&&t!==void 0){if(t.length===1)return!0;if(t.length===2){const b=t[1].type;return b!=null&&b!=="composite"&&b!=="list"}}return!1},[h,t]);l.useEffect(()=>{p({})},[n.ieee_address]);const d=l.useCallback(b=>{p({...x,...b}),E||r(h==="composite"&&u?{[u]:{...x,...b}}:b)},[x,h,u,E,r]),g=l.useCallback(()=>{const b={...m,...x};r(u?{[u]:b}:b)},[u,r,x,m]),C=l.useCallback(b=>{o?.(h==="composite"&&u?{[u]:b}:b)},[o,h,u]);return s.jsxs(s.Fragment,{children:[k.map(b=>s.jsx(Ae,{feature:b,parentFeatures:t??[],device:n,deviceState:j,onChange:d,onRead:C,featureWrapperClass:c,minimal:f,steps:i?.[b.name]},Ut(b))),E&&s.jsx("div",{children:s.jsx(v,{className:`btn btn-primary ${f?"btn-sm":""}`,onClick:g,children:_("common:apply")})})]})}),Dt=l.memo(e=>s.jsx(N,{...e}));var U,ie;function Xt(){if(ie)return U;ie=1;function e(a,r,t){return a===a&&(t!==void 0&&(a=a<=t?a:t),r!==void 0&&(a=a>=r?a:r)),a}return U=e,U}var W,ue;function Yt(){if(ue)return W;ue=1;var e=/\s/;function a(r){for(var t=r.length;t--&&e.test(r.charAt(t)););return t}return W=a,W}var D,me;function Kt(){if(me)return D;me=1;var e=Yt(),a=/^\s+/;function r(t){return t&&t.slice(0,e(t)+1).replace(a,"")}return D=r,D}var X,fe;function Qt(){if(fe)return X;fe=1;var e=Kt(),a=Nt(),r=At(),t=NaN,o=/^[-+]0x[0-9a-f]+$/i,n=/^0b[01]+$/i,m=/^0o[0-7]+$/i,c=parseInt;function f(i){if(typeof i=="number")return i;if(r(i))return t;if(a(i)){var h=typeof i.valueOf=="function"?i.valueOf():i;i=a(h)?h+"":h}if(typeof i!="string")return i===0?i:+i;i=e(i);var u=n.test(i);return u||m.test(i)?c(i.slice(2),u?2:8):o.test(i)?t:+i}return X=f,X}var Y,xe;function Zt(){if(xe)return Y;xe=1;var e=Xt(),a=Qt();function r(t,o,n){return n===void 0&&(n=o,o=void 0),n!==void 0&&(n=a(n),n=n===n?n:0),o!==void 0&&(o=a(o),o=o===o?o:0),e(a(t),o,n)}return Y=r,Y}var Jt=Zt();const T=J(Jt),ea=[.412453,.35758,.180423,.212671,.71516,.072169,.019334,.119193,.950227],ta=[3.2404813432005266,-1.5371515162713183,-.49853632616888777,-.9692549499965684,1.8759900014898907,.041555926558292815,.05564663913517715,-.20404133836651123,1.0573110696453443],ye=.42,Ce=.0031308,je=12.92,H=.055,V=e=>e<=Ce?je*e:(1+H)*e**ye-H,aa=1/ye,ra=V(Ce),na=1/je,K=e=>e<=ra?e*na:((e+H)/(1+H))**aa,ve=(e,a)=>{const r=[0,0,0];for(let t=0;t<3;t++){r[t]=0;for(let o=0;o<3;o++)r[t]+=a[t*3+o]*e[o]}return r},he=(e,a,r)=>{const t=[K(e),K(a),K(r)];return ve(t,ea)},sa=(e,a,r)=>{const t=ve([e,a,r],ta);return[V(t[0]),V(t[1]),V(t[2])]},Se=(e,a,r)=>{const t=1-e-a;return sa(r/a*e,r,r/a*t)},Te=(e,a,r=10)=>{let t=1;for(let o=0;o<r;o++){const n=Math.max(...Se(e,a,t));t=t/n}return t},I=(e,a,r)=>{if(e/=255,a/=255,r/=255,e<1e-12&&a<1e-12&&r<1e-12){const[c,f,i]=he(1,1,1),h=c+f+i;return[c/h,f/h,0]}const[t,o,n]=he(e,a,r),m=t+o+n;return[t/m,o/m,o]},oa=(e,a,r)=>{r===void 0&&(r=Te(e,a));const[t,o,n]=Se(e,a,r);return[T(t*255,0,255),T(o*255,0,255),T(n*255,0,255)]},B=(e,a,r)=>{e/=255,a/=255,r/=255;const t=Math.max(e,a,r),o=t-Math.min(e,a,r),n=o?(t===e?(a-r)/o+(a<r?6:0):t===a?2+(r-e)/o:4+(e-a)/o)*60:0,m=t?o/t*100:0,c=t*100;return[T(n,0,360),T(m,0,100),T(c,0,100)]},ca=(e,a,r)=>{a/=100,r/=100;const t=~~(e/60),o=e/60-t,n=r*(1-a),m=r*(1-a*o),c=r*(1-a*(1-o)),f=t%6,i=[r,m,n,n,c,r][f]*255,h=[c,r,r,m,n,n][f]*255,u=[n,n,c,r,r,m][f]*255;return[T(i,0,255),T(h,0,255),T(u,0,255)]},q=(e,a,r)=>{const[t,o,n]=[e,a,r].map(m=>Math.round(m).toString(16).padStart(2,"0"));return`#${t}${o}${n}`},la=e=>(e=e.slice(1),Array.from({length:3}).map((a,r)=>Number.parseInt(e.slice(r*2,r*2+2),16))),w=(e,a)=>{switch(a){case"color_xy":{const{x:r=.313,y:t=.329,Y:o=Te(r,t===0?.329:t)}=e,n=t===0?[255,255,255]:oa(r,t,o);return{color_rgb:n,color_hs:B(...n),color_xy:[r,t,o],hex:q(...n)}}case"color_hs":{const{hue:r=0,saturation:t=0}=e,o=100,n=ca(r,t,o);return{color_rgb:n,color_hs:[r,t,o],color_xy:I(...n),hex:q(...n)}}case"color_rgb":{const{r=255,g:t=255,b:o=255}=e;return{color_rgb:[r,t,o],color_hs:B(r,t,o),color_xy:I(r,t,o),hex:q(r,t,o)}}case"hex":{const r=e.hex,t=la(r);return{color_rgb:t,color_hs:B(...t),color_xy:I(...t),hex:r}}default:{const r=[255,255,255];return{color_rgb:r,color_hs:B(...r),color_xy:I(...r),hex:q(...r)}}}},pe=(e,a)=>{switch(a){case"color_xy":return{x:e.color_xy[0],y:e.color_xy[1]};case"color_hs":return{hue:e.color_hs[0],saturation:e.color_hs[1]};case"color_rgb":return{r:e.color_rgb[0],g:e.color_rgb[1],b:e.color_rgb[2]};case"hex":return{hex:e.hex}}},ke=e=>`${e[0].toFixed(3)}, ${e[1].toFixed(3)}, ${e[2].toFixed(3)}`,O=e=>`${e[0].toFixed(2)}°, ${e[1].toFixed(2)}%, ${e[2].toFixed(2)}%`,Ee=e=>`${e[0].toFixed(0)}, ${e[1].toFixed(0)}, ${e[2].toFixed(0)}`,Ne=e=>e,de=e=>({color_xy:ke(e.color_xy),color_hs:O(e.color_hs),color_rgb:Ee(e.color_rgb),hex:Ne(e.hex)}),ia=e=>{const a=e.match(/\d+(\.\d+)?/gu)??[];return Array.from({length:3}).map((r,t)=>+(a[t]??0))},ua=e=>{const a=e.match(/\d+(\.\d+)?/gu)??[];return Array.from({length:3}).map((r,t)=>T(+(a[t]??0),0,t?100:360))},ma=e=>{const a=e.match(/\d+(\.\d+)?/gu)??[];return Array.from({length:3}).map((r,t)=>T(+(a[t]??0),0,255))},Q=(e,a)=>{switch(a){case"color_xy":{const r=ia(e);return w({x:r[0],y:r[1]},"color_xy")}case"color_hs":{const r=ua(e);return w({hue:r[0],saturation:r[1]},"color_hs")}case"color_rgb":{const r=ma(e);return w({r:r[0],g:r[1],b:r[2]},"color_rgb")}case"hex":return w({hex:e},"hex")}},fa="linear-gradient(to right, white, transparent)",xa="linear-gradient(to right, rgb(255, 0, 0), rgb(255, 255, 0), rgb(0, 255, 0), rgb(0, 255, 255), rgb(0, 0, 255), rgb(255, 0, 255), rgb(255, 0, 0))",G=l.memo(({label:e,...a})=>s.jsxs("label",{className:"input",children:[e,s.jsx("input",{type:"text",className:"grow",...a})]})),we=l.memo(e=>{const{onChange:a,value:r={},format:t,minimal:o}=e,[n,m]=l.useState(w(r,t)),[c,f]=l.useState(de(n)),[i,h]=l.useState({color_rgb:!1,color_hs:!1,color_xy:!1,hex:!1});l.useEffect(()=>{const d=w(r,t);m(d),f(de(d))},[r,t]),l.useEffect(()=>{if(!i.color_xy){const d=ke(n.color_xy);f(g=>({...g,color_xy:d}))}},[i.color_xy,n.color_xy]),l.useEffect(()=>{if(!i.color_hs){const d=O(n.color_hs);f(g=>({...g,color_hs:d}))}},[i.color_hs,n.color_hs]),l.useEffect(()=>{if(!i.color_rgb){const d=Ee(n.color_rgb);f(g=>({...g,color_rgb:d}))}},[i.color_rgb,n.color_rgb]),l.useEffect(()=>{if(!i.hex){const d=Ne(n.hex);f(g=>({...g,hex:d}))}},[i.hex,n.hex]);const u=l.useCallback(d=>{if(d.target.value){const g=Array.from(n.color_hs);g[1]=d.target.valueAsNumber;const C=O(g);f(b=>({...b,color_hs:C})),m(Q(C,"color_hs"))}},[n.color_hs]),x=l.useCallback(d=>{if(d.target.value){const g=Array.from(n.color_hs),C=g[1];g[1]=C===0?100:C,g[0]=d.target.valueAsNumber;const b=O(g);f($e=>({...$e,color_hs:b})),m(Q(b,"color_hs"))}},[n.color_hs]),p=l.useCallback(d=>{const{value:g,name:C}=d.target;f(b=>({...b,[C]:g})),m(Q(g,C))},[]),_=l.useCallback(d=>{h(g=>({...g,[d.target.name]:!0}))},[]),j=l.useCallback(d=>{h(g=>({...g,[d.target.name]:!1})),a(pe(n,t))},[n,t,a]),k=l.useCallback(()=>{a(pe(n,t))},[n,t,a]),E=l.useMemo(()=>`hsl(${n.color_hs[0]}, 100%, 50%)`,[n.color_hs[0]]);return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"flex flex-row flex-wrap gap-3 items-center",children:s.jsx("div",{className:`w-full${o?" max-w-xs":""}`,children:s.jsx("input",{type:"range",min:0,max:100,value:n.color_hs[1],className:`range [--range-bg:transparent] [--range-fill:0] w-full${o?" range-xs ":""}`,style:{backgroundImage:fa,backgroundColor:E},onChange:u,onTouchEnd:k,onMouseUp:k})})}),s.jsx("div",{className:"flex flex-row flex-wrap gap-3 items-center",children:s.jsx("div",{className:`w-full${o?" max-w-xs":""}`,children:s.jsx("input",{type:"range",min:0,max:360,value:n.color_hs[0],className:`range [--range-bg:transparent] [--range-fill:0] w-full${o?" range-xs ":""}`,style:{backgroundImage:xa},onChange:x,onTouchEnd:k,onMouseUp:k})})}),!o&&s.jsxs("div",{className:"flex flex-row flex-wrap gap-2 justify-around",children:[s.jsx(G,{label:"hex",name:"hex",value:c.hex,onChange:p,onFocus:_,onBlur:j}),s.jsx(G,{label:"rgb",name:"color_rgb",value:c.color_rgb,onChange:p,onFocus:_,onBlur:j}),s.jsx(G,{label:"hsv",name:"color_hs",value:c.color_hs,onChange:p,onFocus:_,onBlur:j}),s.jsx(G,{label:"xyY",name:"color_xy",value:c.color_xy,onChange:p,onFocus:_,onBlur:j})]})]})}),ha=l.memo(e=>{const{deviceValue:a,feature:{name:r,features:t,property:o},onChange:n,minimal:m}=e,c=l.useMemo(()=>{const i={};for(const h of t){const u=Number.parseFloat(a?.[h.name]);i[h.name]=Number.isNaN(u)?0:u}return i},[a,t]),f=l.useCallback(i=>n({[o??"color"]:i}),[o,n]);return s.jsx(we,{onChange:f,value:c,format:r,minimal:m})}),pa={position:[0,25,50,75,100].map(e=>({value:e,name:`${e}`})),tilt:[0,25,50,75,100].map(e=>({value:e,name:`${e}`}))},da=l.memo(e=>s.jsx(N,{...e,steps:pa}));function S(e){return typeof e!="object"}const Re=l.memo(e=>{const{onChange:a,values:r,value:t,minimal:o}=e,{t:n}=R("common"),m=l.useCallback(c=>{const f=r.find(i=>S(i)?i===c.target.value:i.value===Number.parseInt(c.target.value,10));a(f)},[r,a]);return o?s.jsxs("select",{className:"select",onChange:m,value:S(t)?t:t?.value,children:[s.jsx("option",{value:"",disabled:!0,children:n("select_value")}),r.map(c=>s.jsx("option",{value:S(c)?c:c.value,children:S(c)?c:c.name},S(c)?c:c.name))]}):s.jsx("div",{className:"join join-vertical lg:join-horizontal",children:r.map(c=>s.jsx(v,{className:`btn btn-soft btn-sm join-item${(S(c)?c===t:c.value===(S(t)?t:t?.value))?" btn-active":""}`,onClick:f=>a(f),item:S(c)?c:c.value,title:S(c)?`${c}`:c.description,children:S(c)?s.jsx(M,{value:c,name:""}):c.name},S(c)?c:c.name))})}),ga=6,ba=l.memo(e=>{const{onChange:a,feature:{access:r=y.SET,values:t,property:o},deviceValue:n,minimal:m}=e;return r&y.SET?s.jsx(Re,{onChange:c=>a({[o]:c}),values:t,value:n||"",minimal:m||t.length>ga}):r&y.STATE?s.jsx($,{...e}):s.jsx(F,{...e})}),_a=l.memo(e=>s.jsx(N,{...e})),ya=l.memo(e=>{const{minimal:a,onChange:r,feature:{length_min:t,length_max:o,property:n},deviceValue:m}=e,{t:c}=R(["gradient","common"]),[f,i]=l.useState(t>0?Array(t).fill("#ffffff"):[]);l.useEffect(()=>{m&&Array.isArray(m)&&m.length>0&&i(m)},[m]);const h=l.useCallback((d,g)=>{const C=Array.from(f);C[d]=g,i(C)},[f]),u=l.useCallback(()=>{const d=Array.from(f);d.push("#ffffff"),i(d)},[f]),x=l.useCallback(d=>{const g=Array.from(f);g.splice(d,1),i(g)},[f]),p=l.useCallback(()=>r({[n??"gradient"]:f}),[f,n,r]),[_,j]=l.useState(!1),[k,E]=l.useState(!1);return l.useEffect(()=>{j(f.length<o),E(f.length>t)},[f,t,o]),s.jsxs("div",{className:"flex flex-col gap-2",children:[f.map((d,g)=>s.jsxs("div",{className:"flex flex-row flex-wrap gap-2 items-center",children:[s.jsx(we,{onChange:C=>{h(g,C.hex)},value:{hex:d},format:"hex",minimal:a}),k&&s.jsx(v,{className:"btn btn-sm btn-error",onClick:()=>x(g),children:"-"})]},`${d}-${g}`)),_&&s.jsx("div",{className:"flex flex-row flex-wrap gap-2",children:s.jsx(v,{className:"btn btn-sm btn-success",onClick:u,children:"+"})}),s.jsx("div",{children:s.jsx(v,{className:`btn btn-primary ${a?"btn-sm":""}`,onClick:p,children:c("common:apply")})})]})}),Ca={brightness:[0,25,50,75,100].map(e=>({value:wt(e,[0,100],[0,255]),name:`${e}%`})),color_temp:[1e3,2e3,3e3,4e3,5e3,6500].map(e=>({value:1e6/e,name:`${e}K`}))},ja=l.memo(e=>s.jsx(N,{...e,steps:Ca}));function va(e){return e.type==="composite"&&(e.name==="color_xy"||e.name==="color_hs")}const Sa=l.memo(e=>{const{t:a}=R(["featureDescriptions","featureNames","zigbee"]),{children:r,feature:t,deviceValue:o,onRead:n}=e,m=t.unit,c=l.useMemo(()=>zt(t.name,o,m),[m,t.name,o]),f=l.useMemo(()=>t.property&&t.access&y.GET||va(t),[t]),i=e.parentFeatures?.[e.parentFeatures.length-1],h=t.name==="state"?t.property:t.name;let u=t.label||a(`featureNames:${h}`,{defaultValue:Ot(qt(h))});i?.label&&t.name==="state"&&i.type!=="light"&&i.type!=="switch"&&(u=`${i.label} ${t.label.charAt(0).toLowerCase()}${t.label.slice(1)}`);const x=l.useCallback(p=>{p.property&&n?.({[p.property]:""})},[n]);return s.jsxs("div",{className:"list-row p-3",children:[s.jsx("div",{children:s.jsx(Z,{icon:c[0],fixedWidth:!0,className:c[1],...c[2],size:"2xl"})}),s.jsxs("div",{children:[s.jsxs("div",{children:[u,t.endpoint?` (${a("zigbee:endpoint")}: ${t.endpoint})`:""]}),s.jsx("div",{className:"text-xs font-semibold opacity-60",children:t.description&&a(t.description)})]}),s.jsx("div",{className:"list-col-wrap flex flex-col gap-2",children:r}),f&&s.jsx(v,{item:t,onClick:x,className:"btn btn-xs btn-square btn-primary",children:s.jsx(Z,{icon:Rt})})]})}),Ta=l.memo(e=>{const{onChange:a,value:r,feature:t,parentFeatures:o}=e,[n,m]=l.useState(r);l.useEffect(()=>{m(r)},[r]);const c=l.useCallback(u=>{m(u),a(u)},[a]),f=l.useCallback((u,x)=>{const p=Array.from(n);typeof u=="object"&&(u={...n[x],...u}),p[x]=u,c(p)},[n,c]),i=l.useCallback(u=>{const x=Array.from(n);x.splice(u,1),c(x)},[n,c]),h=l.useCallback(()=>m([...n,{}]),[n]);return n.length===0?s.jsx("div",{className:"flex flex-row flex-wrap gap-2",children:s.jsx(v,{className:"btn btn-success col-1",onClick:h,children:"+"})}):n.map((u,x)=>s.jsxs("div",{className:"flex flex-row flex-wrap gap-2",children:[s.jsx(Ae,{feature:t,device:{},deviceState:u,onChange:p=>f(p,x),onRead:p=>{},featureWrapperClass:Sa,parentFeatures:o}),s.jsxs("div",{className:"join join-vertical lg:join-horizontal",children:[s.jsx(v,{item:x,className:"btn btn-sm btn-error btn-square join-item",onClick:i,children:"-"}),n.length-1===x&&s.jsx(v,{className:"btn btn-sm btn-success btn-square join-item",onClick:h,children:"+"})]})]},x))}),ka=l.memo(e=>{const{feature:a,minimal:r,parentFeatures:t,onChange:o,deviceValue:n}=e,[m,c]=l.useState({value:a.property?n?.[a.property]??[]:[]}),{t:f}=R(["list","common"]),i=l.useMemo(()=>{if(t!==void 0){if(t.length===1)return!0;if(t.length===2){const _=t[1].type;return _!=null&&_!=="composite"&&_!=="list"}}return!1},[t]),h=l.useCallback(_=>{c({value:_}),i||o(a.property?{[a.property]:_}:_)},[a.property,o,i]),u=l.useCallback(()=>{o(a.property?{[a.property]:m.value}:m.value)},[a.property,o,m.value]),{access:x=y.SET,item_type:p}=a;return x&y.SET?s.jsxs(s.Fragment,{children:[s.jsx(Ta,{feature:p,parentFeatures:[...t,a],onChange:h,value:m.value}),i&&s.jsx("div",{children:s.jsx(v,{className:`btn btn-primary ${r?"btn-sm":""}`,onClick:u,disabled:m.value.length===0,children:f("common:apply")})})]}):x&y.STATE?s.jsx($,{...e}):s.jsx(F,{...e})}),Ea=l.memo(e=>s.jsx(N,{...e})),Na=l.memo(e=>{const{onChange:a,value:r,valueStep:t,min:o,max:n,unit:m,steps:c,minimal:f,...i}=e,[h,u]=l.useState(r),x=o!=null&&n!=null;l.useEffect(()=>{u(r)},[r]);const p=l.useCallback(j=>!!j.target.value&&u(j.target.valueAsNumber),[]),_=l.useCallback(j=>!j.target.validationMessage&&a(h),[h,a]);return s.jsxs("div",{className:"flex flex-row flex-wrap gap-3 items-center",children:[!f&&c?s.jsx(Re,{values:c,onChange:a,value:h}):null,x?s.jsxs("div",{className:"w-full max-w-xs",children:[s.jsx("input",{min:o,max:n,step:t,type:"range",className:"range range-xs range-primary validator",value:h,onChange:p,onTouchEnd:_,onMouseUp:_,...i}),s.jsxs("div",{className:"flex justify-between px-1 mt-1 text-xs",children:[s.jsx("span",{children:o}),f&&s.jsx("span",{children:h}),s.jsx("span",{children:n})]})]}):null,(!f||!x)&&s.jsxs("label",{className:"input",children:[s.jsx("input",{type:"number",className:"grow validator",value:h,step:t,onChange:p,onBlur:_,min:o,max:n,...i}),m]})]})}),wa=l.memo(e=>{const{feature:{presets:a,access:r=y.SET,property:t,unit:o,value_max:n,value_min:m,value_step:c},deviceValue:f,steps:i,onChange:h,minimal:u}=e;return r&y.SET?s.jsx(Na,{onChange:x=>h({[t]:x}),value:f??"",min:m,max:n,step:c,steps:a?.length?a:i,unit:o,minimal:u}):r&y.STATE?s.jsx($,{...e}):s.jsx(F,{...e})}),Ra=l.memo(e=>s.jsx(N,{...e})),Aa=l.memo(e=>{const{onChange:a,value:r,...t}=e,[o,n]=l.useState(r);return l.useEffect(()=>{n(r)},[r]),s.jsx("input",{type:"text",className:"input validator",value:o,onChange:m=>n(m.target.value),onBlur:m=>!m.target.validationMessage&&a(o),...t})}),$a=l.memo(e=>{const{feature:{access:a=y.SET,property:r},deviceValue:t,onChange:o}=e;return a&y.SET?s.jsx(Aa,{onChange:n=>o({[r]:n}),value:t??""}):a&y.STATE?s.jsx($,{...e}):s.jsx(F,{...e})}),Fa=e=>`${e.type}-${e.name}-${e.label}-${e.access}-${e.category}-${e.property}-${e.endpoint}`,Ae=l.memo(e=>{const{feature:a,device:r,deviceState:t,steps:o,onRead:n,onChange:m,featureWrapperClass:c,minimal:f,parentFeatures:i}=e,h=l.useMemo(()=>a.property?t[a.property]:void 0,[a.property,t[a.property]]),u=l.useMemo(()=>Fa(a),[a]),x=l.useMemo(()=>({device:r,deviceValue:h,onChange:m,onRead:n,featureWrapperClass:c,minimal:f,parentFeatures:i}),[r,h,m,n,c,f,i]),p=l.useMemo(()=>({feature:a,onRead:n,deviceValue:h,parentFeatures:i}),[a,n,h,i]);switch(a.type){case"binary":return s.jsx(c,{...p,children:s.jsx(Wt,{feature:a,...x},u)},u);case"numeric":return s.jsx(c,{...p,children:s.jsx(wa,{feature:a,...x,steps:o},u)},u);case"list":return a.name==="gradient"&&a.length_min!=null&&a.length_max!=null?s.jsx(c,{...p,children:s.jsx(ya,{feature:a,...x},u)},u):s.jsx(c,{...p,children:s.jsx(ka,{feature:a,...x},u)},u);case"text":return s.jsx(c,{...p,children:s.jsx($a,{feature:a,...x},u)},u);case"enum":return s.jsx(c,{...p,children:s.jsx(ba,{feature:a,...x},u)},u);case"light":return s.jsx(ja,{feature:a,...x,deviceState:t},u);case"switch":return s.jsx(Ra,{feature:a,...x,deviceState:t},u);case"cover":return s.jsx(da,{feature:a,...x,deviceState:t},u);case"lock":return s.jsx(Ea,{feature:a,...x,deviceState:t},u);case"climate":return s.jsx(Dt,{feature:a,...x,deviceState:t},u);case"fan":return s.jsx(_a,{feature:a,...x,deviceState:t},u);case"composite":{if(a.name==="color_xy"||a.name==="color_hs")return s.jsx(c,{...p,children:s.jsx(ha,{feature:a,...x},u)},u);const _=i&&a.property?t[a.property]:t;return s.jsx(N,{feature:a,...x,deviceState:_},u)}default:return console.error("Unsupported feature",a),s.jsx(c,{...p,children:s.jsx("pre",{children:JSON.stringify(a,null,4)})},u)}});export{Ae as F,Sa as a,y as b,zt as c,qt as d,Ut as g,Ot as s};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Devices-0UzhbChe.js","./index-B4xkyr03.js","./envs-DFlyG_dH.js","./index-Ptfb36CP.css","./RecallRemove-B8jWvJxI.js","./DashboardFeatureWrapper-DyHMfT1k.js","./Feature-BbFY4SLv.js","./DisplayValue-Beucehnn.js","./_createCompounder-DqDEDMcN.js","./capitalize-Cq5sVmfS.js","./InputField-DCkeC8F5.js","./SelectField-1O9grfYD.js","./DevicePicker-ov0gnVoi.js","./EndpointPicker-CXLotsVN.js","./DeviceCard-Dwynhf4j.js","./LastSeen-BCk3tP-Y.js","./format-eWM0FM-u.js","./Lqi-B5_BH_e-.js","./PowerSource-DqdctI_P.js","./snakeCase-BeE7k_0H.js","./DeviceImage-DnR6dgTB.js","./index-M1ypebku.js","./GroupSettings-1CJfLaCH.js","./SettingsList-DMDmHfS-.js","./CheckboxField-BE2uJYM6.js","./NumberField-lvLxfvCU.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as n,b as g,j as e,L as f,P as j,F as m,f as v,u as b,d as h,a as _,N as p,o as N,k as w,_ as x}from"./index-B4xkyr03.js";import"./envs-DFlyG_dH.js";const y=n.memo(u=>{const{groups:r,currentGroup:t,tab:o="devices"}=u,[c,l]=n.useState(""),{t:s}=g("common"),d=n.useMemo(()=>r.filter(a=>a.friendly_name.toLowerCase().includes(c.toLowerCase())&&a.id!==t?.id).map(a=>e.jsx("li",{children:e.jsx(f,{to:`/group/${a.id}/${o}`,onClick:()=>l(""),className:"dropdown-item",children:a.friendly_name})},a.id)),[r,c,t,o]);return e.jsxs(j,{name:"header-group-selector",buttonChildren:`${t?`#${t.id} - ${t.friendly_name}`:s("unknown_group")}`,dropdownStyle:"dropdown-start",children:[e.jsxs("label",{className:"input",children:[e.jsx(m,{icon:v}),e.jsx("input",{type:"search",placeholder:s("type_to_filter"),onChange:a=>l(a.target.value),value:c})]},"search"),d]})}),T=n.lazy(async()=>await x(()=>import("./Devices-0UzhbChe.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]),import.meta.url)),$=n.lazy(async()=>await x(()=>import("./GroupSettings-1CJfLaCH.js"),__vite__mapDeps([22,1,2,3,23,24,10,25,11]),import.meta.url));function G(){const u=b(),{t:r}=g(["groups","common"]),{groupId:t,tab:o}=h(),c=_(i=>i.groups),l=Number.parseInt(t,10),s=t?c.find(i=>i.id===l):void 0;n.useEffect(()=>{!o&&s&&u(`/group/${s.id}/devices`,{replace:!0})},[o,s,u]);const d=({isActive:i})=>i?"tab tab-active":"tab",a=n.useMemo(()=>{if(!s)return e.jsx("div",{className:"flex-auto justify-center items-center",children:r("common:unknown_group")});switch(o){case"devices":return e.jsx(T,{group:s});case"settings":return e.jsx($,{group:s})}},[o,s,r]);return e.jsxs(e.Fragment,{children:[e.jsx(y,{groups:c,currentGroup:s,tab:o}),e.jsxs("div",{className:"tabs tabs-border mt-2",children:[e.jsxs(p,{to:`/group/${t}/devices`,className:d,children:[e.jsx(m,{icon:N,className:"me-2"}),r("common:devices")]}),e.jsxs(p,{to:`/group/${t}/settings`,className:d,children:[e.jsx(m,{icon:w,className:"me-2"}),r("settings")]})]}),e.jsx("div",{className:"tab-content block h-full bg-base-100 p-3",children:a})]})}export{G as default};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r,b as _,j as e,a as w,W as C,ae as N,B as k,L as y,R as G,F as S,x as M}from"./index-B4xkyr03.js";import{E}from"./EndpointPicker-CXLotsVN.js";import{S as I}from"./SelectField-1O9grfYD.js";import"./envs-DFlyG_dH.js";const q=r.memo(n=>{const{t:o}=_("common"),{groups:a,value:c,label:l,onChange:m,...i}=n,g=r.useCallback(u=>{const{value:d}=u.target,x=Number.parseInt(d,10);m(a.find(b=>x===b.id))},[a,m]),p=r.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:o("select_group")}),p]})});function B({device:n}){const{t:o}=_(["groups","zigbee","common"]),a=w(s=>s.groups),{sendMessage:c}=r.useContext(C),[l,m]=r.useState(""),[i,g]=r.useState(""),p=r.useMemo(()=>N(n),[n]),[u,d]=r.useMemo(()=>{const s=[],t=[];for(const f of a){const j=f.members.filter(h=>h.ieee_address===n.ieee_address);if(j.length>0)for(const h of j)s.push([f,h.endpoint]);else t.push(f)}return[s,t]},[a,n.ieee_address]),x=r.useCallback(s=>{g(s.id),m(p.values().next().value)},[p]),b=r.useCallback(async()=>await c("bridge/request/group/members/add",{group:i.toString(),endpoint:l,device:n.ieee_address}),[c,i,n.ieee_address,l]),v=r.useCallback(async([s,t])=>await c("bridge/request/group/members/remove",{device:n.ieee_address,endpoint:t,group:s.id.toString()}),[c,n.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:o("add_to_group")}),e.jsxs("div",{className:"mb-3",children:[e.jsx(q,{label:o("zigbee:group"),value:i,groups:d,onChange:x,required:!0}),e.jsx(E,{label:o("zigbee:endpoint"),values:p,value:l,onChange:s=>m(s),required:!0})]}),e.jsx(k,{onClick:b,className:"btn btn-primary",disabled:l==null||i==null||l===""||i==="",children:o("add_to_group")})]})}),e.jsx("div",{className:"flex flex-row flex-wrap justify-center gap-3 mt-3",children:u.map(([s,t])=>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,t?` (${o("endpoint")}: ${t})`:""]}),e.jsx("div",{className:"text-xs opacity-50",children:s.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:[o("group_members"),": ",s.members.length]}),e.jsxs("div",{className:"badge badge-soft badge-ghost cursor-default me-2",children:[o("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,t],onClick:v,className:"btn btn-square btn-error btn-sm",title:o("remove_from_group"),modalDescription:o("common:dialog_confirmation_prompt"),modalCancelLabel:o("common:cancel"),children:e.jsx(S,{icon:M})})})]},`${s.id}-${t}`))})]})}export{B as default};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{w as b,M as _,b as h,r,j as a,O as N,B as m,a as w,W as C,L as f,F as g,Q as k,R as F,x as S}from"./index-B4xkyr03.js";import{I as u}from"./InputField-DCkeC8F5.js";import{T as G}from"./Table-CHaSwsCb.js";import"./envs-DFlyG_dH.js";import"./DebouncedInput-C7mHBKJ8.js";const R=b.create(i=>{const{name:t,onRename:o}=i,c=_(),{t:l}=h(["groups","common"]),[s,n]=r.useState(t);return r.useEffect(()=>{n(t)},[t]),a.jsx(N,{isOpen:c.visible,title:`${l("rename_group")} ${t}`,footer:a.jsxs(a.Fragment,{children:[a.jsx(m,{className:"btn btn-neutral",onClick:c.remove,children:l("common:cancel")}),a.jsx(m,{className:"btn btn-primary ms-1",onClick:async()=>{s&&(c.remove(),await o(t,s))},children:l("rename_group")})]}),children:a.jsx("div",{className:"flex flex-col gap-2",children:a.jsx(u,{name:"friendly_name",label:l("common:friendly_name"),onChange:d=>n(d.target.value),value:s,type:"text",required:!0})})})});function $(){const[i,t]=r.useState(""),[o,c]=r.useState(""),l=w(e=>e.groups),{sendMessage:s}=r.useContext(C),{t:n}=h(["groups","common"]),d=r.useCallback(async()=>{const e={friendly_name:i};o&&(e.id=o),await s("bridge/request/group/add",e)},[i,o,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(()=>i?!o||!l.find(e=>e.id.toString()===o):!1,[i,o,l]),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 flex-col",children:[a.jsx(f,{to:`/group/${e.id}/devices`,className:"link link-hover",children:e.id}),e.description&&a.jsx("div",{className:"text-xs opacity-50",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]})})]})]})},{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})},{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-primary btn-sm join-item",onClick:async()=>await b.show(R,{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-error btn-sm 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:i,placeholder:n("friendly_name_placeholder"),onChange:e=>t(e.target.value),required:!0}),a.jsx(u,{type:"number",name:"group_id",label:n("group_id"),value:o,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:l})]})}export{$ as default};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as o,b as p,j as s,B as w,R as h,F as b,S as f,a as N,W as F,L as $,T as L}from"./index-B4xkyr03.js";import{D}from"./DeviceImage-DnR6dgTB.js";import{T as M}from"./Table-CHaSwsCb.js";import{M as z,V as A}from"./VendorLink-tKv1Ms14.js";import{P}from"./PowerSource-DqdctI_P.js";import"./envs-DFlyG_dH.js";import"./index-M1ypebku.js";import"./DebouncedInput-C7mHBKJ8.js";import"./snakeCase-BeE7k_0H.js";import"./_createCompounder-DqDEDMcN.js";const q=o.memo(({label:l,remaining:n,progress:t})=>{if(n&&n>0){const a=Math.floor(n/3600),i=Math.floor(n/60)%60,d=Math.floor(n%60),r=a>0,u=i>0;return s.jsxs(s.Fragment,{children:[s.jsx("progress",{className:"progress w-48",value:t,max:"100"}),s.jsxs("div",{children:[l," ",`${r?`${a}:`:""}${u?`${i}:`:""}${d}`]})]})}return s.jsx("progress",{className:"progress w-48",value:t,max:"100"})}),B=o.memo(l=>{const{t:n}=p(["ota","common"]),{device:t,state:a,onCheckClick:i,onUpdateClick:d,onScheduleClick:r,onUnscheduleClick:u}=l;return a==null||a.state==="idle"?s.jsxs("div",{className:"join join-horizontal",children:[s.jsx(w,{className:"btn btn-primary btn-sm join-item",onClick:i,item:t.ieee_address,children:n("check")}),s.jsx(h,{className:"btn btn-info btn-sm join-item",onClick:r,item:t.ieee_address,title:n("schedule"),modalDescription:n("schedule_info"),modalCancelLabel:n("common:cancel"),children:s.jsx(b,{icon:f})})]}):a.state==="updating"?s.jsx(q,{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-error btn-sm join-item",onClick:d,item:t.ieee_address,title:n("update"),modalDescription:n("common:dialog_confirmation_prompt"),modalCancelLabel:n("common:cancel"),children:n("update")}),s.jsx(h,{className:"btn btn-info btn-sm join-item",onClick:r,item:t.ieee_address,title:n("schedule"),modalDescription:n("schedule_info"),modalCancelLabel:n("common:cancel"),children:s.jsx(b,{icon:f})})]}):a.state==="scheduled"?s.jsx(h,{className:"btn btn-sm btn-error join-item",onClick:u,item:t.ieee_address,title:n("unschedule"),modalDescription:n("common:dialog_confirmation_prompt"),modalCancelLabel:n("common:cancel"),children:n("unschedule")}):s.jsxs(s.Fragment,{children:[s.jsx(w,{className:"btn btn-primary btn-sm join-item",onClick:i,item:t.ieee_address,children:n("check")}),s.jsx(h,{className:"btn btn-info btn-sm join-item",onClick:r,item:t.ieee_address,title:n("schedule"),modalDescription:n("schedule_info"),modalCancelLabel:n("common:cancel"),children:s.jsx(b,{icon:f})})]})})}),y=o.memo(l=>{const{t:n}=p("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]}`,d=a.slice(2,4),r=`${a[4]}.${a[5]}`,u=a.slice(6);return[i,d,r,u]},[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]}`]})]})}),U=o.memo(({device:l})=>{const{t:n}=p("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 J(){const l=N(e=>e.devices),n=N(e=>e.deviceStates),{sendMessage:t}=o.useContext(F),{t:a}=p(["ota","zigbee","common"]),[i,d]=o.useState([]);o.useEffect(()=>{d([])},[l]);const r=o.useMemo(()=>{const e=[];for(const c of l)if(c.definition?.supports_ota&&!c.disabled){const m=n[c.friendly_name]??{};e.push({device:c,state:m.update,batteryState:c.power_source==="Battery"?{batteryPercent:m.battery,batteryState:m.battery_state,batteryLow:m.battery_low}:void 0,selected:i.includes(c.ieee_address)})}return e},[n,l,i]),u=o.useCallback(e=>{e.target.checked?d(r.map(({device:c})=>c.ieee_address)):d([])},[r]),g=o.useCallback((e,c)=>{d(c?[...i,e.ieee_address]:i.filter(m=>m!==e.ieee_address))},[i]),j=o.useCallback(async()=>{await Promise.allSettled(i.map(e=>t("bridge/request/device/ota_update/check",{id:e})))},[t,i]),x=o.useCallback(async()=>{await Promise.allSettled(i.map(e=>t("bridge/request/device/ota_update/update",{id:e})))},[t,i]),_=o.useCallback(async e=>await t("bridge/request/device/ota_update/check",{id:e}),[t]),k=o.useCallback(async e=>await t("bridge/request/device/ota_update/update",{id:e}),[t]),C=o.useCallback(async e=>await t("bridge/request/device/ota_update/schedule",{id:e}),[t]),v=o.useCallback(async e=>await t("bridge/request/device/ota_update/unschedule",{id:e}),[t]),S=o.useMemo(()=>[{id:"select",header:()=>s.jsx("label",{children:s.jsx("input",{type:"checkbox",className:"checkbox",onChange:u,defaultChecked:i.length===r.length})}),accessorFn:()=>"",cell:({row:{original:{device:e,selected:c}}})=>s.jsx("label",{children:s.jsx("input",{type:"checkbox",className:"checkbox",onChange:m=>g(e,m.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:m}}})=>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(D,{device:e,otaState:c?.state,disabled:!1})})}),s.jsxs("div",{className:"flex flex-col",children:[s.jsxs($,{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:"text-xs opacity-50",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(b,{icon:L}),s.jsx(U,{device:e}),e.date_code?s.jsxs("span",{title:a("zigbee:firmware_build_date"),children:[" (",e.date_code,")"]}):void 0]}),m&&s.jsx("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default",children:s.jsx(P,{device:e,...m})})]})]})]})},{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(z,{device:e}),s.jsx("div",{children:s.jsx("span",{className:"badge badge-sm badge-ghost",title:a("zigbee:manufacturer"),children:s.jsx(A,{device:e})})})]})},{id:"firmware_version",header:a("firmware_version"),accessorFn:({state:e})=>e?.installed_version,cell:({row:{original:{state:e}}})=>s.jsx(y,{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(y,{version:e?.latest_version}),enableColumnFilter:!1},{id:"actions",header:()=>s.jsxs("div",{className:"join join-vertical",children:[s.jsx(h,{className:"btn btn-error btn-xs join-item",onClick:j,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-error btn-xs join-item",onClick:x,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(B,{device:e,state:c,onCheckClick:_,onUpdateClick:k,onScheduleClick:C,onUnscheduleClick:v}),enableSorting:!1,enableColumnFilter:!1}],[i.length,r.length,u,g,j,x,_,k,C,v,a]);return s.jsx(M,{id:"ota-devices",columns:S,data:r})}export{J as default};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a,j as e}from"./index-B4xkyr03.js";import{A as s,R as m}from"./RecallRemove-B8jWvJxI.js";import"./envs-DFlyG_dH.js";import"./DashboardFeatureWrapper-DyHMfT1k.js";import"./Feature-BbFY4SLv.js";import"./DisplayValue-Beucehnn.js";import"./_createCompounder-DqDEDMcN.js";import"./capitalize-Cq5sVmfS.js";import"./InputField-DCkeC8F5.js";import"./SelectField-1O9grfYD.js";function u(t){const i=a(r=>r.deviceStates[t.device.friendly_name]??{});return e.jsxs("div",{className:"flex flex-row flex-wrap justify-around items-start gap-3 my-2",children:[e.jsx("div",{children:e.jsx(s,{target:t.device,deviceState:i})}),e.jsx("div",{children:e.jsx(m,{target:t.device,deviceState:i})})]})}export{u as default};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
���h�}%1�O��.""��Ω��G0������"ws~�k#�|��o���X�r�џ\2����-��S,��E���B�������]UȗH}�{��͎�%���� ��/A�M""�^K�h����O�0�ǃ�.��_X2������F�5!E7R�v �����K�_�����W�9�O�t��f+�X��h����_8
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,W as y,C as _,a as o,b as C,U as I,V as P,X as w,j as s,L as N,B as u,F as k,Y as x,Z as F,$ as T}from"./index-B4xkyr03.js";import{T as v}from"./Table-CHaSwsCb.js";import"./envs-DFlyG_dH.js";import"./DebouncedInput-C7mHBKJ8.js";function q(){const{sendMessage:i}=t.useContext(y),a=_(),b=o(e=>e.touchlinkDevices),d=o(e=>e.devices),c=o(e=>e.touchlinkIdentifyInProgress),l=o(e=>e.touchlinkResetInProgress),h=o(e=>e.touchlinkScanInProgress),m=c||l,{t:n}=C(["touchlink","common","zigbee"]),p=t.useCallback(async()=>{a(I({inProgress:!0,devices:[]})),await i("bridge/request/touchlink/scan","")},[i,a]),f=t.useCallback(async e=>{a(P(!0)),await i("bridge/request/touchlink/identify",e)},[i,a]),g=t.useCallback(async e=>{a(w(!0)),await i("bridge/request/touchlink/factory_reset",e)},[i,a]),j=t.useMemo(()=>[{id:"ieee_address",header:n("zigbee:ieee_address"),accessorFn:e=>e.ieee_address,cell:({row:{original:e}})=>d.find(r=>r.ieee_address===e.ieee_address)?s.jsx(N,{to:`/device/${e.ieee_address}/info`,className:"link link-hover",children:e.ieee_address}):e.ieee_address,sortingFn:(e,r)=>e.original.ieee_address.localeCompare(r.original.ieee_address)},{id:"friendly_name",header:n("common:friendly_name"),accessorFn:e=>d.find(r=>r.ieee_address===e.ieee_address)?.friendly_name},{id:"channel",header:n("zigbee:channel"),accessorFn:e=>e.channel},{id:"actions",header:"",cell:({row:{original:e}})=>s.jsxs("div",{className:"join join-horizontal",children:[s.jsx(u,{disabled:m,item:e,title:n("identify"),className:"btn btn-primary join-item",onClick:f,children:s.jsx(k,{icon:c?x:F,spin:c})}),s.jsx(u,{disabled:m,item:e,title:n("factory_reset"),className:"btn btn-error join-item",onClick:g,children:s.jsx(k,{icon:l?x:T,spin:l})})]}),enableSorting:!1,enableColumnFilter:!1}],[c,l,m,d,n,f,g]);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:n("scan")})}),s.jsx(v,{id:"touchlink-devices",columns:j,data:b})]})}export{q as default};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
� �h����%s
|
|
2
|
-
[��} �U��NB���"����Ió\Nl@��ն���W�i�xxr�!P�UMI�Q>�5���U88�0���N;Mz��t��f��CP}�IN:T�ii��O�,�1�ձ Z)�����^M�[�a�W��F�h�%|(��Ԗy'��#�sLN�/��l)'��:RJ{>d+�x^����ūY���lq���|�id(y�2����0�[�&����I���
|
|
3
|
-
%��I�߆�R��]��fq+�0�F-�x� q������c��(5m��J���%(߽�&c��%�n ,2lc��7qq����F���A/i� ��� f�| ��7R\�w��!��(�Cbꖨ|oLE��"Z��6��6"r�1��%uٽ�U���(��@Z|�ݞ*!8�&Fߖ�G��G��?pOx��"C�)�'��f ɂ��4U�7�e��X����r�v,��-e�!.5����r��T]�z��N 6�u5�.�$S��e����O�gX��������jr;�@�sV�4�EJT�f�5�6��e��J��`�x��#�@��j��
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as j}from"./_createCompounder-DqDEDMcN.js";var c,y;function L(){if(y)return c;y=1;function i(u,r,e){var a=-1,n=u.length;r<0&&(r=-r>n?0:n+r),e=e>n?n:e,e<0&&(e+=n),n=r>e?0:e-r>>>0,r>>>=0;for(var o=Array(n);++a<n;)o[a]=u[a+r];return o}return c=i,c}var d,m;function N(){if(m)return d;m=1;var i=L();function u(r,e,a){var n=r.length;return a=a===void 0?n:a,!e&&a>=n?r:i(r,e,a)}return d=u,d}var v,T;function H(){if(T)return v;T=1;var i="\\ud800-\\udfff",u="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",e="\\u20d0-\\u20ff",a=u+r+e,n="\\ufe0e\\ufe0f",o="\\u200d",s=RegExp("["+o+i+a+n+"]");function t(f){return s.test(f)}return v=t,v}var l,F;function P(){if(F)return l;F=1;function i(u){return u.split("")}return l=i,l}var p,U;function B(){if(U)return p;U=1;var i="\\ud800-\\udfff",u="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",e="\\u20d0-\\u20ff",a=u+r+e,n="\\ufe0e\\ufe0f",o="["+i+"]",s="["+a+"]",t="\\ud83c[\\udffb-\\udfff]",f="(?:"+s+"|"+t+")",b="[^"+i+"]",A="(?:\\ud83c[\\udde6-\\uddff]){2}",q="[\\ud800-\\udbff][\\udc00-\\udfff]",J="\\u200d",S=f+"?",C="["+n+"]?",O="(?:"+J+"(?:"+[b,A,q].join("|")+")"+C+S+")*",V=C+S+O,w="(?:"+[b+s+"?",s,A,q,o].join("|")+")",E=RegExp(t+"(?="+t+")|"+w+V,"g");function W(Z){return Z.match(E)||[]}return p=W,p}var R,M;function D(){if(M)return R;M=1;var i=P(),u=H(),r=B();function e(a){return u(a)?r(a):i(a)}return R=e,R}var h,z;function G(){if(z)return h;z=1;var i=N(),u=H(),r=D(),e=j();function a(n){return function(o){o=e(o);var s=u(o)?r(o):void 0,t=s?s[0]:o.charAt(0),f=s?i(s,1).join(""):o.slice(1);return t[n]()+f}}return h=a,h}var _,k;function I(){if(k)return _;k=1;var i=G(),u=i("toUpperCase");return _=u,_}var g,x;function Q(){if(x)return g;x=1;var i=j(),u=I();function r(e){return u(i(e).toLowerCase())}return g=r,g}export{I as a,Q as r};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
y@dQ���+ekVT��������i� ���8�ec[6��0�[��/�����7��Ƴ\�[�t[jy�}���m�T�A�z����\�n���J�
|