zigbee2mqtt-windfront 1.3.1 → 1.4.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-CsN4GzvF.js +1 -0
- package/dist/assets/About-CsN4GzvF.js.br +0 -0
- package/dist/assets/{Availability-Dg28cVsy.js → Availability-DxRGSmh6.js} +1 -1
- package/dist/assets/Availability-DxRGSmh6.js.br +0 -0
- package/dist/assets/{Bind-Dj7BlJ9c.js → Bind-D5soDk_7.js} +1 -1
- package/dist/assets/Bind-D5soDk_7.js.br +0 -0
- package/dist/assets/{Bridge-Dg4Q3BhD.js → Bridge-uKtdZHp4.js} +1 -1
- package/dist/assets/Bridge-uKtdZHp4.js.br +0 -0
- package/dist/assets/{CheckboxField-BhwpagjA.js → CheckboxField-B0ZAooGT.js} +1 -1
- package/dist/assets/CheckboxField-B0ZAooGT.js.br +0 -0
- package/dist/assets/{ClusterSinglePicker-BavLYJxh.js → ClusterSinglePicker-Cz6fnglh.js} +1 -1
- package/dist/assets/ClusterSinglePicker-Cz6fnglh.js.br +0 -0
- package/dist/assets/{Clusters-PG0HopAK.js → Clusters-BnHOJn4e.js} +1 -1
- package/dist/assets/Clusters-BnHOJn4e.js.br +0 -0
- package/dist/assets/{Dashboard-D1wWXNU0.js → Dashboard-CPU9Dlfq.js} +1 -1
- package/dist/assets/Dashboard-CPU9Dlfq.js.br +0 -0
- package/dist/assets/{DashboardFeatureWrapper-QO-XFtKk.js → DashboardFeatureWrapper-CvTRlO7L.js} +1 -1
- package/dist/assets/DashboardFeatureWrapper-CvTRlO7L.js.br +0 -0
- package/dist/assets/{DebouncedInput-jeSVRz3c.js → DebouncedInput-CQn1amHY.js} +1 -1
- package/dist/assets/DebouncedInput-CQn1amHY.js.br +0 -0
- package/dist/assets/{DevConsole-CRKukHFU.js → DevConsole-BMsuo5jq.js} +1 -1
- package/dist/assets/DevConsole-BMsuo5jq.js.br +0 -0
- package/dist/assets/{DevConsole-DeRbEIDK.js → DevConsole-CjMvBn3F.js} +1 -1
- package/dist/assets/DevConsole-CjMvBn3F.js.br +0 -0
- package/dist/assets/{DeviceCard-D2ifb9S1.js → DeviceCard-CqjKMuGs.js} +1 -1
- package/dist/assets/DeviceCard-CqjKMuGs.js.br +0 -0
- package/dist/assets/{DeviceControlEditName-D6ss-GnK.js → DeviceControlEditName-BwoBZKij.js} +1 -1
- package/dist/assets/DeviceControlEditName-BwoBZKij.js.br +0 -0
- package/dist/assets/{DeviceImage-CGx5yo8m.js → DeviceImage-D1eMVw0z.js} +1 -1
- package/dist/assets/DeviceImage-D1eMVw0z.js.br +0 -0
- package/dist/assets/{DeviceInfo-Ll9Bxn4L.js → DeviceInfo-DHlCOKM3.js} +1 -1
- package/dist/assets/DeviceInfo-DHlCOKM3.js.br +0 -0
- package/dist/assets/{DevicePage-BTarwyEH.js → DevicePage-B2tXPfXy.js} +2 -2
- package/dist/assets/DevicePage-B2tXPfXy.js.br +0 -0
- package/dist/assets/{DevicePicker-DIWryjuN.js → DevicePicker-BSj7s6Os.js} +1 -1
- package/dist/assets/DevicePicker-BSj7s6Os.js.br +0 -0
- package/dist/assets/{DeviceSettings-B8rSL_p0.js → DeviceSettings-BI4caBIt.js} +1 -1
- package/dist/assets/DeviceSettings-BI4caBIt.js.br +0 -0
- package/dist/assets/{DeviceSpecificSettings-DRSJ44yr.js → DeviceSpecificSettings-DKENaBOD.js} +1 -1
- package/dist/assets/DeviceSpecificSettings-DKENaBOD.js.br +0 -0
- package/dist/assets/{Devices-BXMoCKuc.js → Devices-CNUs_WDM.js} +1 -1
- package/dist/assets/Devices-CNUs_WDM.js.br +0 -0
- package/dist/assets/{DevicesPage-D4M96fmP.js → DevicesPage-CltsJHhz.js} +1 -1
- package/dist/assets/DevicesPage-CltsJHhz.js.br +0 -0
- package/dist/assets/{DisplayValue-y4u-p3TF.js → DisplayValue-DF3KVUYK.js} +1 -1
- package/dist/assets/DisplayValue-DF3KVUYK.js.br +0 -0
- package/dist/assets/{Donate-Ceq-2-mP.js → Donate-J54tmjMR.js} +1 -1
- package/dist/assets/Donate-J54tmjMR.js.br +0 -0
- package/dist/assets/{EndpointPicker-Cni8eLro.js → EndpointPicker-QBnwwpG7.js} +1 -1
- package/dist/assets/EndpointPicker-QBnwwpG7.js.br +2 -0
- package/dist/assets/{Exposes-CVaHXwu-.js → Exposes-DB1nUv-y.js} +1 -1
- package/dist/assets/Exposes-DB1nUv-y.js.br +2 -0
- package/dist/assets/{Feature-B18PTY7Z.js → Feature-DXpEIH6i.js} +1 -1
- package/dist/assets/Feature-DXpEIH6i.js.br +0 -0
- package/dist/assets/{Frontend-Bw0vB4aZ.js → Frontend-DbI75_sQ.js} +1 -1
- package/dist/assets/Frontend-DbI75_sQ.js.br +0 -0
- package/dist/assets/{GroupPage-SyuMBjnt.js → GroupPage-C-uGQ967.js} +2 -2
- package/dist/assets/GroupPage-C-uGQ967.js.br +0 -0
- package/dist/assets/{GroupSettings-Wbczyt9u.js → GroupSettings-BrVKINoM.js} +1 -1
- package/dist/assets/GroupSettings-BrVKINoM.js.br +0 -0
- package/dist/assets/{Groups-C16FRyjr.js → Groups-CwWwtqiu.js} +1 -1
- package/dist/assets/Groups-CwWwtqiu.js.br +0 -0
- package/dist/assets/{GroupsPage-DZiiSPYf.js → GroupsPage-DfLXjejW.js} +1 -1
- package/dist/assets/GroupsPage-DfLXjejW.js.br +0 -0
- package/dist/assets/{Health-D0P1xz_-.js → Health-BHwQBdn9.js} +1 -1
- package/dist/assets/Health-BHwQBdn9.js.br +0 -0
- package/dist/assets/{HomePage-DG90gg1s.js → HomePage-DAbwX6AM.js} +1 -1
- package/dist/assets/HomePage-DAbwX6AM.js.br +0 -0
- package/dist/assets/{InputField-E2g5qJCn.js → InputField-DwVHyBbK.js} +1 -1
- package/dist/assets/InputField-DwVHyBbK.js.br +0 -0
- package/dist/assets/{LastSeen-Tt-X3bir.js → LastSeen-Dzc_PuKE.js} +1 -1
- package/dist/assets/LastSeen-Dzc_PuKE.js.br +0 -0
- package/dist/assets/{LogsPage-CWjf1H8Z.js → LogsPage-DzlWQ0Qw.js} +1 -1
- package/dist/assets/LogsPage-DzlWQ0Qw.js.br +0 -0
- package/dist/assets/{Lqi-Bexjv2VI.js → Lqi-YSPJvreQ.js} +1 -1
- package/dist/assets/Lqi-YSPJvreQ.js.br +0 -0
- package/dist/assets/{NetworkPage-a2O4oSwP.js → NetworkPage-BeS7YkCJ.js} +2 -2
- package/dist/assets/NetworkPage-BeS7YkCJ.js.br +0 -0
- package/dist/assets/{NumberField-CH6-YRbT.js → NumberField-BGsY1mZs.js} +1 -1
- package/dist/assets/NumberField-BGsY1mZs.js.br +0 -0
- package/dist/assets/OtaPage-BCVRElfT.js +1 -0
- package/dist/assets/OtaPage-BCVRElfT.js.br +0 -0
- package/dist/assets/{PowerSource-M8I2qqUm.js → PowerSource-o1vFxO_3.js} +1 -1
- package/dist/assets/PowerSource-o1vFxO_3.js.br +0 -0
- package/dist/assets/{RawNetworkData-ZdR_BdBV.js → RawNetworkData-CeSDwrpo.js} +1 -1
- package/dist/assets/RawNetworkData-CeSDwrpo.js.br +0 -0
- package/dist/assets/{RawNetworkMap-DIse-aug.js → RawNetworkMap-CGARBCHA.js} +1 -1
- package/dist/assets/RawNetworkMap-CGARBCHA.js.br +0 -0
- package/dist/assets/{RecallRemove-BT61_xFm.js → RecallRemove-qhHT3b6Y.js} +1 -1
- package/dist/assets/RecallRemove-qhHT3b6Y.js.br +0 -0
- package/dist/assets/{Reporting-CUO_xgvP.js → Reporting-qquUW4HQ.js} +1 -1
- package/dist/assets/Reporting-qquUW4HQ.js.br +0 -0
- package/dist/assets/Scene-CoCPIiDa.js +1 -0
- package/dist/assets/Scene-CoCPIiDa.js.br +0 -0
- package/dist/assets/{SelectField-CgXiODUe.js → SelectField-DsBhV18y.js} +1 -1
- package/dist/assets/SelectField-DsBhV18y.js.br +0 -0
- package/dist/assets/{Settings-CwUeWW5z.js → Settings-4wju5kjK.js} +1 -1
- package/dist/assets/Settings-4wju5kjK.js.br +0 -0
- package/dist/assets/{SettingsList-wPZC4AYF.js → SettingsList-BA676BSd.js} +1 -1
- package/dist/assets/SettingsList-BA676BSd.js.br +0 -0
- package/dist/assets/{SettingsPage-DQqFAgM7.js → SettingsPage-Cg3VXcPX.js} +2 -2
- package/dist/assets/SettingsPage-Cg3VXcPX.js.br +0 -0
- package/dist/assets/{State-B0esCQUT.js → State-CDxVFhly.js} +1 -1
- package/dist/assets/State-CDxVFhly.js.br +0 -0
- package/dist/assets/{Table-CH7yonv3.js → Table-CCXyChbm.js} +1 -1
- package/dist/assets/Table-CCXyChbm.js.br +0 -0
- package/dist/assets/{TextareaField-DAyUngHz.js → TextareaField-CKk5rFN-.js} +1 -1
- package/dist/assets/TextareaField-CKk5rFN-.js.br +0 -0
- package/dist/assets/{Tools-BQ5g0Zg_.js → Tools-B-tYRgCW.js} +1 -1
- package/dist/assets/Tools-B-tYRgCW.js.br +0 -0
- package/dist/assets/{TouchlinkPage-gI3LcGdI.js → TouchlinkPage-Cq33rQxG.js} +1 -1
- package/dist/assets/TouchlinkPage-Cq33rQxG.js.br +0 -0
- package/dist/assets/{VendorLink-B_MZftSG.js → VendorLink-BDajakAs.js} +1 -1
- package/dist/assets/VendorLink-BDajakAs.js.br +0 -0
- package/dist/assets/{_createCompounder-HA4t3BbU.js → _createCompounder-D8WZ6ZEG.js} +1 -1
- package/dist/assets/_createCompounder-D8WZ6ZEG.js.br +0 -0
- package/dist/assets/{format-LeabZw87.js → format-t-kPiPTm.js} +1 -1
- package/dist/assets/format-t-kPiPTm.js.br +2 -0
- package/dist/assets/index-DgPAmC_w.js +644 -0
- package/dist/assets/index-DgPAmC_w.js.br +0 -0
- package/dist/assets/{index-CIWfMo3U.js → index-DrTwaLT5.js} +1 -1
- package/dist/assets/index-DrTwaLT5.js.br +2 -0
- package/dist/assets/{jszip.min-D01WTHXF.js → jszip.min-szgaw0VD.js} +1 -1
- package/dist/assets/jszip.min-szgaw0VD.js.br +0 -0
- package/dist/assets/snakeCase-qp4IAc5c.js +1 -0
- package/dist/assets/snakeCase-qp4IAc5c.js.br +0 -0
- package/dist/index.html +1 -1
- package/dist/index.html.br +0 -0
- package/package.json +6 -6
- package/dist/assets/About-Cd5G1nNd.js +0 -1
- package/dist/assets/About-Cd5G1nNd.js.br +0 -0
- package/dist/assets/Availability-Dg28cVsy.js.br +0 -0
- package/dist/assets/Bind-Dj7BlJ9c.js.br +0 -0
- package/dist/assets/Bridge-Dg4Q3BhD.js.br +0 -2
- package/dist/assets/CheckboxField-BhwpagjA.js.br +0 -0
- package/dist/assets/ClusterSinglePicker-BavLYJxh.js.br +0 -0
- package/dist/assets/Clusters-PG0HopAK.js.br +0 -0
- package/dist/assets/Dashboard-D1wWXNU0.js.br +0 -0
- package/dist/assets/DashboardFeatureWrapper-QO-XFtKk.js.br +0 -0
- package/dist/assets/DebouncedInput-jeSVRz3c.js.br +0 -0
- package/dist/assets/DevConsole-CRKukHFU.js.br +0 -0
- package/dist/assets/DevConsole-DeRbEIDK.js.br +0 -0
- package/dist/assets/DeviceCard-D2ifb9S1.js.br +0 -0
- package/dist/assets/DeviceControlEditName-D6ss-GnK.js.br +0 -0
- package/dist/assets/DeviceImage-CGx5yo8m.js.br +0 -0
- package/dist/assets/DeviceInfo-Ll9Bxn4L.js.br +0 -0
- package/dist/assets/DevicePage-BTarwyEH.js.br +0 -0
- package/dist/assets/DevicePicker-DIWryjuN.js.br +0 -0
- package/dist/assets/DeviceSettings-B8rSL_p0.js.br +0 -0
- package/dist/assets/DeviceSpecificSettings-DRSJ44yr.js.br +0 -0
- package/dist/assets/Devices-BXMoCKuc.js.br +0 -0
- package/dist/assets/DevicesPage-D4M96fmP.js.br +0 -0
- package/dist/assets/DisplayValue-y4u-p3TF.js.br +0 -0
- package/dist/assets/Donate-Ceq-2-mP.js.br +0 -0
- package/dist/assets/EndpointPicker-Cni8eLro.js.br +0 -0
- package/dist/assets/Exposes-CVaHXwu-.js.br +0 -0
- package/dist/assets/Feature-B18PTY7Z.js.br +0 -0
- package/dist/assets/Frontend-Bw0vB4aZ.js.br +0 -0
- package/dist/assets/GroupPage-SyuMBjnt.js.br +0 -0
- package/dist/assets/GroupSettings-Wbczyt9u.js.br +0 -0
- package/dist/assets/Groups-C16FRyjr.js.br +0 -0
- package/dist/assets/GroupsPage-DZiiSPYf.js.br +0 -0
- package/dist/assets/Health-D0P1xz_-.js.br +0 -0
- package/dist/assets/HomePage-DG90gg1s.js.br +0 -0
- package/dist/assets/InputField-E2g5qJCn.js.br +0 -0
- package/dist/assets/LastSeen-Tt-X3bir.js.br +0 -0
- package/dist/assets/LogsPage-CWjf1H8Z.js.br +0 -0
- package/dist/assets/Lqi-Bexjv2VI.js.br +0 -0
- package/dist/assets/NetworkPage-a2O4oSwP.js.br +0 -0
- package/dist/assets/NumberField-CH6-YRbT.js.br +0 -0
- package/dist/assets/OtaPage-j_Bw2-GQ.js +0 -1
- package/dist/assets/OtaPage-j_Bw2-GQ.js.br +0 -0
- package/dist/assets/PowerSource-M8I2qqUm.js.br +0 -0
- package/dist/assets/RawNetworkData-ZdR_BdBV.js.br +0 -0
- package/dist/assets/RawNetworkMap-DIse-aug.js.br +0 -0
- package/dist/assets/RecallRemove-BT61_xFm.js.br +0 -0
- package/dist/assets/Reporting-CUO_xgvP.js.br +0 -0
- package/dist/assets/Scene-C7Y19gU0.js +0 -1
- package/dist/assets/Scene-C7Y19gU0.js.br +0 -0
- package/dist/assets/SelectField-CgXiODUe.js.br +0 -0
- package/dist/assets/Settings-CwUeWW5z.js.br +0 -0
- package/dist/assets/SettingsList-wPZC4AYF.js.br +0 -0
- package/dist/assets/SettingsPage-DQqFAgM7.js.br +0 -0
- package/dist/assets/State-B0esCQUT.js.br +0 -2
- package/dist/assets/Table-CH7yonv3.js.br +0 -0
- package/dist/assets/TextareaField-DAyUngHz.js.br +0 -0
- package/dist/assets/Tools-BQ5g0Zg_.js.br +0 -0
- package/dist/assets/TouchlinkPage-gI3LcGdI.js.br +0 -0
- package/dist/assets/VendorLink-B_MZftSG.js.br +0 -0
- package/dist/assets/_createCompounder-HA4t3BbU.js.br +0 -0
- package/dist/assets/format-LeabZw87.js.br +0 -0
- package/dist/assets/index-BeDhuS24.js +0 -635
- package/dist/assets/index-BeDhuS24.js.br +0 -0
- package/dist/assets/index-CIWfMo3U.js.br +0 -0
- package/dist/assets/jszip.min-D01WTHXF.js.br +0 -0
- package/dist/assets/snakeCase-DF3cbatb.js +0 -1
- package/dist/assets/snakeCase-DF3cbatb.js.br +0 -0
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c4 as t}from"./index-
|
|
1
|
+
import{c4 as t}from"./index-DgPAmC_w.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};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{ae as bt,af as It}from"./index-
|
|
1
|
+
import{ae as bt,af as It}from"./index-DgPAmC_w.js";function vt(yt){throw new Error('Could not dynamically require "'+yt+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var kt={exports:{}};/*!
|
|
2
2
|
|
|
3
3
|
JSZip v3.10.1 - A JavaScript class for generating and reading zip files
|
|
4
4
|
<http://stuartk.com/jszip>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{af as u}from"./index-DgPAmC_w.js";import{a as C}from"./_createCompounder-D8WZ6ZEG.js";var e,r;function i(){if(r)return e;r=1;var a=C(),s=a(function(o,n,t){return o+(t?"_":"")+n.toLowerCase()});return e=s,e}var f=i();const k=u(f);export{k as s};
|
|
Binary file
|
package/dist/index.html
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<link rel="apple-touch-icon" href="./assets/apple-touch-icon-DxTaGN3y.png" sizes="150x150">
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
<script type="module" crossorigin src="./assets/index-
|
|
15
|
+
<script type="module" crossorigin src="./assets/index-DgPAmC_w.js"></script>
|
|
16
16
|
<link rel="modulepreload" crossorigin href="./assets/envs-DFlyG_dH.js">
|
|
17
17
|
<link rel="stylesheet" crossorigin href="./assets/index-sQ1gk-WC.css">
|
|
18
18
|
</head>
|
package/dist/index.html.br
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zigbee2mqtt-windfront",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"license": "GPL-3.0-or-later",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"prepack": "npm run clean && npm run build"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@biomejs/biome": "^2.
|
|
33
|
+
"@biomejs/biome": "^2.1.2",
|
|
34
34
|
"@ebay/nice-modal-react": "^1.2.13",
|
|
35
35
|
"@fortawesome/fontawesome-svg-core": "^6.7.2",
|
|
36
36
|
"@fortawesome/free-solid-svg-icons": "^6.7.2",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@types/react": "^19.1.8",
|
|
45
45
|
"@types/react-dom": "^19.1.6",
|
|
46
46
|
"@types/ws": "^8.18.1",
|
|
47
|
-
"@vitejs/plugin-react": "^4.
|
|
47
|
+
"@vitejs/plugin-react": "^4.7.0",
|
|
48
48
|
"@vitest/coverage-v8": "^3.2.4",
|
|
49
49
|
"daisyui": "^5.0.46",
|
|
50
50
|
"file-saver": "^2.0.5",
|
|
@@ -59,14 +59,14 @@
|
|
|
59
59
|
"react-i18next": "^15.6.0",
|
|
60
60
|
"react-image": "^4.1.0",
|
|
61
61
|
"react-redux": "^9.2.0",
|
|
62
|
-
"react-router": "^7.
|
|
62
|
+
"react-router": "^7.7.0",
|
|
63
63
|
"react-use-websocket": "^4.13.0",
|
|
64
64
|
"reagraph": "^4.25.0",
|
|
65
65
|
"store2": "^2.14.4",
|
|
66
66
|
"tailwindcss": "^4.1.4",
|
|
67
67
|
"timeago.js": "^4.0.2",
|
|
68
68
|
"typescript": "^5.8.3",
|
|
69
|
-
"vite": "^7.0.
|
|
69
|
+
"vite": "^7.0.5",
|
|
70
70
|
"vite-plugin-compression2": "^2.2.0",
|
|
71
71
|
"vitest": "^3.1.2",
|
|
72
72
|
"ws": "^8.18.3",
|
|
@@ -80,4 +80,4 @@
|
|
|
80
80
|
"./index.d.ts",
|
|
81
81
|
"./dist"
|
|
82
82
|
]
|
|
83
|
-
}
|
|
83
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as j,b as h,j as e,L as u,a as g}from"./index-BeDhuS24.js";import{s as p}from"./snakeCase-DF3cbatb.js";import"./envs-DFlyG_dH.js";import"./_createCompounder-HA4t3BbU.js";const N="1.3.1",b={version:N};function m({name:t,data:s}){const r=[],{t:d}=h("stats");for(const n in s){const i=s[n];r.push(e.jsx("li",{children:e.jsxs(u,{to:"#",children:[n,": ",i]})},n))}return e.jsx("li",{children:e.jsxs("details",{children:[e.jsx("summary",{children:d(t)}),e.jsx("ul",{children:r})]})})}const k=j.memo(t=>{const{devices:s}=t,{t:r}=h(["stats","zigbee"]),d=j.useMemo(()=>{const n={},i={},c={},o={};for(const a of s){if(a.type==="Coordinator")continue;const l=a.model_id||r("zigbee:unknown"),v=a.manufacturer||r("zigbee:unknown"),x=r(`zigbee:${p(a.power_source||"unknown")}`);n[r(a.type)]=(n[r(a.type)]||0)+1,i[x]=(i[x]||0)+1,c[l]=(c[l]||0)+1,o[v]=(o[v]||0)+1}return e.jsxs(e.Fragment,{children:[e.jsx(m,{name:"byType",data:n}),e.jsx(m,{name:"byPowerSource",data:i}),e.jsx(m,{name:"byModel",data:c}),e.jsx(m,{name:"byVendor",data:o})]})},[s,r]);return e.jsxs("ul",{children:[e.jsx("li",{children:e.jsxs(u,{to:"#",children:[r("total")," ",s.length-1]})}),d]})});function w(){const{t}=h("settings"),s=g(l=>l.bridgeInfo),r=g(l=>l.devices),n=s.version.match(/^\d+\.\d+\.\d+$/)===null?e.jsx("a",{className:"link link-hover text-secondary",target:"_blank",rel:"noopener noreferrer",href:"https://github.com/Koenkk/zigbee2mqtt/commits/dev/",children:s.version}):e.jsx("a",{className:"link link-hover",target:"_blank",rel:"noopener noreferrer",href:`https://github.com/Koenkk/zigbee2mqtt/releases/tag/${s.version}`,children:s.version}),i=s.commit?e.jsxs(e.Fragment,{children:["commit:"," ",e.jsx("a",{className:"link",target:"_blank",rel:"noopener noreferrer",href:`https://github.com/Koenkk/zigbee2mqtt/commit/${s.commit}`,children:s.commit})]}):null,c=e.jsx("a",{className:"link link-hover",target:"_blank",rel:"noopener noreferrer",href:`https://github.com/Nerivec/zigbee2mqtt-windfront/releases/tag/${b.version}`,children:b.version}),o=e.jsx("a",{className:"link link-hover",target:"_blank",rel:"noopener noreferrer",href:`https://github.com/Koenkk/zigbee-herdsman-converters/releases/tag/v${s.zigbee_herdsman_converters.version}`,children:s.zigbee_herdsman_converters.version}),a=e.jsx("a",{className:"link link-hover",target:"_blank",rel:"noopener noreferrer",href:`https://github.com/Koenkk/zigbee-herdsman/releases/tag/v${s.zigbee_herdsman.version}`,children:s.zigbee_herdsman.version});return e.jsxs("div",{className:"flex flex-col gap-3 items-center",children:[e.jsxs("div",{className:"stats stats-vertical lg:stats-horizontal shadow",children:[e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:t("zigbee2mqtt_version")}),e.jsx("div",{className:"stat-value text-lg",children:n}),e.jsx("div",{className:"stat-desc",children:i})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:t("frontend_version")}),e.jsx("div",{className:"stat-value text-lg",children:c})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:t("zigbee_herdsman_converters_version")}),e.jsx("div",{className:"stat-value text-lg",children:o})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:t("zigbee_herdsman_version")}),e.jsx("div",{className:"stat-value text-lg",children:a})]})]}),e.jsxs("div",{className:"stats stats-vertical lg:stats-horizontal shadow",children:[e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:t("machine")}),e.jsx("div",{className:"stat-value text-lg",children:s.os.version}),e.jsxs("div",{className:"stat-desc",children:["CPU: ",s.os.cpus]}),e.jsxs("div",{className:"stat-desc",children:["RAM: ",s.os.memory_mb," MB"]})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:t("mqtt")}),e.jsx("div",{className:"stat-value text-lg",children:s.mqtt.server}),e.jsx("div",{className:"stat-desc",children:e.jsxs("a",{href:"https://mqtt.org/mqtt-specification/",target:"_blank",rel:"noreferrer",className:"link link-hover",children:[t("version"),": ",s.mqtt.version]})})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:t("node_version")}),e.jsx("div",{className:"stat-value text-lg",children:e.jsx("a",{href:"https://nodejs.org/en/about/previous-releases",target:"_blank",rel:"noreferrer",className:"link link-hover",children:s.os.node_version})})]}),e.jsxs("div",{className:"stat place-items-center",children:[e.jsx("div",{className:"stat-title",children:t("coordinator")}),e.jsx("div",{className:"stat-value text-lg",children:s.coordinator.type}),e.jsx("div",{className:"stat-desc",children:e.jsx("span",{className:"badge badge-sm badge-primary",title:t("coordinator_ieee_address"),children:s.coordinator.ieee_address})}),e.jsxs("div",{className:"stat-desc",children:[t("revision"),": ",s.coordinator.meta.revision||t("zigbee:unknown")]})]})]}),e.jsx("ul",{className:"menu bg-base-100 rounded-box shadow min-w-sm",children:e.jsx("li",{children:e.jsxs("details",{open:!0,children:[e.jsx("summary",{children:t("stats")}),e.jsx(k,{devices:r})]})})})]})}export{w as default};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
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 v,F as b,S as N,R as h,T as f,U as $,V as L,a as y,W as D,L as q,X as M}from"./index-BeDhuS24.js";import{D as z}from"./DeviceImage-CGx5yo8m.js";import{T as A}from"./Table-CH7yonv3.js";import{M as U,V as P}from"./VendorLink-B_MZftSG.js";import{P as B}from"./PowerSource-M8I2qqUm.js";import"./envs-DFlyG_dH.js";import"./index-CIWfMo3U.js";import"./DebouncedInput-jeSVRz3c.js";import"./snakeCase-DF3cbatb.js";import"./_createCompounder-HA4t3BbU.js";const R=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"})}),O=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(v,{className:"btn btn-square btn-outline btn-primary join-item",onClick:i,item:t.ieee_address,title:n("check"),children:s.jsx(b,{icon:N})}),s.jsx(h,{className:"btn btn-square btn-outline btn-info 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(R,{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:d,item:t.ieee_address,title:n("update"),modalDescription:n("common:dialog_confirmation_prompt"),modalCancelLabel:n("common:cancel"),children:s.jsx(b,{icon:$})}),s.jsx(h,{className:"btn btn-square btn-outline btn-info 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-square btn-outline btn-error join-item",onClick:u,item:t.ieee_address,title:n("unschedule"),modalDescription:n("common:dialog_confirmation_prompt"),modalCancelLabel:n("common:cancel"),children:s.jsx(b,{icon:L})}):s.jsxs(s.Fragment,{children:[s.jsx(v,{className:"btn btn-square btn-outline btn-primary join-item",onClick:i,item:t.ieee_address,title:n("check"),children:s.jsx(b,{icon:N})}),s.jsx(h,{className:"btn btn-square btn-outline btn-info 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})})]})})}),S=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]}`]})]})}),T=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 Y(){const l=y(e=>e.devices),n=y(e=>e.deviceStates),{sendMessage:t}=o.useContext(D),{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]),x=o.useCallback(async()=>{await Promise.allSettled(i.map(e=>t("bridge/request/device/ota_update/check",{id:e})))},[t,i]),j=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]),w=o.useCallback(async e=>await t("bridge/request/device/ota_update/unschedule",{id:e}),[t]),F=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(z,{device:e,otaState:c?.state,disabled:!1})})}),s.jsxs("div",{className:"flex-grow flex flex-col",children:[s.jsxs(q,{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(b,{icon:M}),s.jsx(T,{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(B,{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(U,{device:e}),s.jsx("div",{children:s.jsx("span",{className:"badge badge-sm badge-ghost",title:a("zigbee:manufacturer"),children:s.jsx(P,{device:e})})})]})},{id:"firmware_version",header:a("firmware_version"),accessorFn:({state:e})=>e?.installed_version,cell:({row:{original:{state:e}}})=>s.jsx(S,{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(S,{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:x,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:j,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(O,{device:e,state:c,onCheckClick:_,onUpdateClick:k,onScheduleClick:C,onUnscheduleClick:w}),enableSorting:!1,enableColumnFilter:!1}],[i.length,r.length,u,g,x,j,_,k,C,w,a]);return s.jsx(A,{id:"ota-devices",columns:F,data:r})}export{Y 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-BeDhuS24.js";import{A as s,R as m}from"./RecallRemove-BT61_xFm.js";import"./envs-DFlyG_dH.js";import"./DashboardFeatureWrapper-QO-XFtKk.js";import"./Feature-B18PTY7Z.js";import"./DisplayValue-y4u-p3TF.js";import"./_createCompounder-HA4t3BbU.js";import"./InputField-E2g5qJCn.js";import"./SelectField-CgXiODUe.js";function j(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{j as default};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|