zigbee2mqtt-windfront 2.10.0 → 2.11.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-DAjLQfLw.js +10 -0
- package/dist/assets/About-DAjLQfLw.js.br +0 -0
- package/dist/assets/ActivityPage-T-7dGjBV.js +1 -0
- package/dist/assets/ActivityPage-T-7dGjBV.js.br +0 -0
- package/dist/assets/Availability-CPqL8wxZ.js +1 -0
- package/dist/assets/Availability-CPqL8wxZ.js.br +0 -0
- package/dist/assets/Bind-9H8Ygq6_.js +1 -0
- package/dist/assets/Bind-9H8Ygq6_.js.br +0 -0
- package/dist/assets/BindRow-BqbLxL4R.js +1 -0
- package/dist/assets/BindRow-BqbLxL4R.js.br +0 -0
- package/dist/assets/BindingsPage-B3k9YTTK.js +1 -0
- package/dist/assets/BindingsPage-B3k9YTTK.js.br +0 -0
- package/dist/assets/Bridge-B79sBna4.js +1 -0
- package/dist/assets/Bridge-B79sBna4.js.br +0 -0
- package/dist/assets/Button-C09wmyxO.js +1 -0
- package/dist/assets/Button-C09wmyxO.js.br +0 -0
- package/dist/assets/CheckboxField-CzFe1pWJ.js +1 -0
- package/dist/assets/CheckboxField-CzFe1pWJ.js.br +0 -0
- package/dist/assets/ClusterSinglePicker-DF_DhA2_.js +1 -0
- package/dist/assets/ClusterSinglePicker-DF_DhA2_.js.br +0 -0
- package/dist/assets/Clusters-CIrSZ1ES.js +1 -0
- package/dist/assets/Clusters-CIrSZ1ES.js.br +0 -0
- package/dist/assets/ContributePage-BeJWzGeF.js +1 -0
- package/dist/assets/ContributePage-BeJWzGeF.js.br +0 -0
- package/dist/assets/Dashboard-BzrHBmyg.js +1 -0
- package/dist/assets/Dashboard-BzrHBmyg.js.br +0 -0
- package/dist/assets/DashboardFeatureWrapper-xH2Rdw9Q.js +1 -0
- package/dist/assets/DashboardFeatureWrapper-xH2Rdw9Q.js.br +0 -0
- package/dist/assets/DebouncedInput-BY9cMtPz.js +1 -0
- package/dist/assets/DebouncedInput-BY9cMtPz.js.br +0 -0
- package/dist/assets/DevConsole-C-2uF7AP.js +1 -0
- package/dist/assets/DevConsole-C-2uF7AP.js.br +0 -0
- package/dist/assets/DevConsole-DTNqfNCp.js +8 -0
- package/dist/assets/DevConsole-DTNqfNCp.js.br +0 -0
- package/dist/assets/DeviceCard-Ds-P0T0L.js +1 -0
- package/dist/assets/DeviceCard-Ds-P0T0L.js.br +0 -0
- package/dist/assets/DeviceImage-CXlsJhdp.js +1 -0
- package/dist/assets/DeviceImage-CXlsJhdp.js.br +0 -0
- package/dist/assets/DeviceInfo-BVoM2RRf.js +27 -0
- package/dist/assets/DeviceInfo-BVoM2RRf.js.br +0 -0
- package/dist/assets/DevicePage-B0Z7z5KY.js +2 -0
- package/dist/assets/DevicePage-B0Z7z5KY.js.br +0 -0
- package/dist/assets/DevicePicker-DEKNbCXB.js +1 -0
- package/dist/assets/DevicePicker-DEKNbCXB.js.br +0 -0
- package/dist/assets/DeviceSettings-CJI6LRl6.js +1 -0
- package/dist/assets/DeviceSettings-CJI6LRl6.js.br +0 -0
- package/dist/assets/DeviceSpecificSettings-BSfI6iA1.js +1 -0
- package/dist/assets/DeviceSpecificSettings-BSfI6iA1.js.br +0 -0
- package/dist/assets/Devices-DjSVB8Ol.js +1 -0
- package/dist/assets/Devices-DjSVB8Ol.js.br +0 -0
- package/dist/assets/DevicesPage-Cvv1ffRU.js +1 -0
- package/dist/assets/DevicesPage-Cvv1ffRU.js.br +0 -0
- package/dist/assets/DisplayValue-DFsRQsrg.js +1 -0
- package/dist/assets/DisplayValue-DFsRQsrg.js.br +0 -0
- package/dist/assets/Docs-2JBekN1z.js +3 -0
- package/dist/assets/Docs-2JBekN1z.js.br +0 -0
- package/dist/assets/Duration-BUu3glx6.js +1 -0
- package/dist/assets/Duration-BUu3glx6.js.br +0 -0
- package/dist/assets/EndpointPicker-CSugtgbJ.js +1 -0
- package/dist/assets/EndpointPicker-CSugtgbJ.js.br +0 -0
- package/dist/assets/Exposes-BIUuYxZ-.js +1 -0
- package/dist/assets/Exposes-BIUuYxZ-.js.br +0 -0
- package/dist/assets/Exposes-DfcXtDKb.js +1 -0
- package/dist/assets/Exposes-c6kIvJhH.js +1 -0
- package/dist/assets/Exposes-c6kIvJhH.js.br +0 -0
- package/dist/assets/FeatureWrapper-DEHOZ1_c.js +1 -0
- package/dist/assets/FeatureWrapper-DEHOZ1_c.js.br +0 -0
- package/dist/assets/FrontendSettingsPage-B5HPTOU1.js +1 -0
- package/dist/assets/FrontendSettingsPage-B5HPTOU1.js.br +0 -0
- package/dist/assets/GroupPage-DFx_LtMd.js +2 -0
- package/dist/assets/GroupPage-DFx_LtMd.js.br +0 -0
- package/dist/assets/GroupSettings-Ctb-l0d4.js +1 -0
- package/dist/assets/GroupSettings-Ctb-l0d4.js.br +0 -0
- package/dist/assets/Groups-Tuy41GAz.js +1 -0
- package/dist/assets/Groups-Tuy41GAz.js.br +0 -0
- package/dist/assets/GroupsPage-DBV8Zvrk.js +1 -0
- package/dist/assets/GroupsPage-DBV8Zvrk.js.br +0 -0
- package/dist/assets/Health-BwHg6021.js +1 -0
- package/dist/assets/Health-BwHg6021.js.br +0 -0
- package/dist/assets/HomePage-qiA6-buQ.js +1 -0
- package/dist/assets/HomePage-qiA6-buQ.js.br +0 -0
- package/dist/assets/IndeterminateCheckbox-CAvqBmLF.js +1 -0
- package/dist/assets/IndeterminateCheckbox-CAvqBmLF.js.br +0 -0
- package/dist/assets/InfoAlert-CHgsiNoZ.js +1 -0
- package/dist/assets/InfoAlert-CHgsiNoZ.js.br +0 -0
- package/dist/assets/InputField--ZMqg114.js +1 -0
- package/dist/assets/InputField--ZMqg114.js.br +0 -0
- package/dist/assets/Json-DWlaTYN_.js +1 -0
- package/dist/assets/Json-DWlaTYN_.js.br +0 -0
- package/dist/assets/LastSeen-DZTP2CnK.js +1 -0
- package/dist/assets/LastSeen-DZTP2CnK.js.br +0 -0
- package/dist/assets/LogsPage-BaWQ5c4E.js +1 -0
- package/dist/assets/LogsPage-BaWQ5c4E.js.br +0 -0
- package/dist/assets/Lqi-va07g-tn.js +1 -0
- package/dist/assets/Lqi-va07g-tn.js.br +1 -0
- package/dist/assets/Modal-DkH2V1VC.js +1 -0
- package/dist/assets/Modal-DkH2V1VC.js.br +0 -0
- package/dist/assets/NetworkPage-UkjMLTq2.js +2 -0
- package/dist/assets/NetworkPage-UkjMLTq2.js.br +0 -0
- package/dist/assets/NumberField-CgBWn-Gs.js +1 -0
- package/dist/assets/NumberField-CgBWn-Gs.js.br +0 -0
- package/dist/assets/OtaControlGroup-DwpR1GB_.js +1 -0
- package/dist/assets/OtaControlGroup-DwpR1GB_.js.br +0 -0
- package/dist/assets/OtaPage-arj2Q69P.js +1 -0
- package/dist/assets/OtaPage-arj2Q69P.js.br +0 -0
- package/dist/assets/PowerSource-Pz7Bfb6S.js +1 -0
- package/dist/assets/PowerSource-Pz7Bfb6S.js.br +0 -0
- package/dist/assets/RawNetworkData-BYoKiVGU.js +20 -0
- package/dist/assets/RawNetworkData-BYoKiVGU.js.br +0 -0
- package/dist/assets/RawNetworkMap-BF0C-pU5.js +4183 -0
- package/dist/assets/RawNetworkMap-BF0C-pU5.js.br +0 -0
- package/dist/assets/RecallRemove-DHfef3S1.js +1 -0
- package/dist/assets/RecallRemove-DHfef3S1.js.br +0 -0
- package/dist/assets/RemoveDeviceModal-B7NqbupW.js +1 -0
- package/dist/assets/RemoveDeviceModal-B7NqbupW.js.br +0 -0
- package/dist/assets/Reporting-DYh5JQzx.js +1 -0
- package/dist/assets/Reporting-DYh5JQzx.js.br +0 -0
- package/dist/assets/ReportingPage-BLVZSgeo.js +1 -0
- package/dist/assets/ReportingPage-BLVZSgeo.js.br +0 -0
- package/dist/assets/ReportingRow-DXZEf2vY.js +1 -0
- package/dist/assets/ReportingRow-DXZEf2vY.js.br +0 -0
- package/dist/assets/Scene-KYXW6bAC.js +1 -0
- package/dist/assets/Scene-KYXW6bAC.js.br +0 -0
- package/dist/assets/Select-ef7c0426.esm-DELyZaz8.js +6 -0
- package/dist/assets/Select-ef7c0426.esm-DELyZaz8.js.br +0 -0
- package/dist/assets/SelectField-CiAuVYZq.js +1 -0
- package/dist/assets/SelectField-CiAuVYZq.js.br +0 -0
- package/dist/assets/Settings-CftZIWqy.js +1 -0
- package/dist/assets/Settings-CftZIWqy.js.br +0 -0
- package/dist/assets/SettingsList-cB7_nCRL.js +1 -0
- package/dist/assets/SettingsList-cB7_nCRL.js.br +0 -0
- package/dist/assets/SettingsPage-BtJjpTKs.js +2 -0
- package/dist/assets/SettingsPage-BtJjpTKs.js.br +0 -0
- package/dist/assets/State-D77N0vaS.js +1 -0
- package/dist/assets/State-D77N0vaS.js.br +0 -0
- package/dist/assets/Table-C3iXCYbr.js +1 -0
- package/dist/assets/Table-C3iXCYbr.js.br +0 -0
- package/dist/assets/TableSearch-MGqlMDuh.js +4 -0
- package/dist/assets/TableSearch-MGqlMDuh.js.br +0 -0
- package/dist/assets/TextareaField-CWDMDAzr.js +1 -0
- package/dist/assets/TextareaField-CWDMDAzr.js.br +0 -0
- package/dist/assets/TimeAgo-CvmaD1n4.js +1 -0
- package/dist/assets/TimeAgo-CvmaD1n4.js.br +0 -0
- package/dist/assets/Tools-DMHprPOs.js +1 -0
- package/dist/assets/Tools-DMHprPOs.js.br +0 -0
- package/dist/assets/TouchlinkPage-DBxsdMgN.js +1 -0
- package/dist/assets/TouchlinkPage-DBxsdMgN.js.br +0 -0
- package/dist/assets/VendorLink-Jm24ebj5.js +1 -0
- package/dist/assets/VendorLink-Jm24ebj5.js.br +0 -0
- package/dist/assets/_createCompounder-BILaihi7.js +1 -0
- package/dist/assets/_createCompounder-BILaihi7.js.br +0 -0
- package/dist/assets/consts-ACU3OL1g.js +1 -0
- package/dist/assets/consts-ACU3OL1g.js.br +0 -0
- package/dist/assets/device-CWMG6uQC.js +1 -0
- package/dist/assets/device-CWMG6uQC.js.br +0 -0
- package/dist/assets/dist-CfE5hTP4.js +558 -0
- package/dist/assets/dist-CfE5hTP4.js.br +0 -0
- package/dist/assets/envs-DWZQH-AC.js +1 -0
- package/dist/assets/extends-lXRikpl0.js +1 -0
- package/dist/assets/extends-lXRikpl0.js.br +0 -0
- package/dist/assets/features-BSYFOmr-.js +1 -0
- package/dist/assets/features-BSYFOmr-.js.br +0 -0
- package/dist/assets/floating-ui.dom-Bdt9HdJ7.js +1 -0
- package/dist/assets/floating-ui.dom-Bdt9HdJ7.js.br +0 -0
- package/dist/assets/floating-ui.react-DzkqpTVq.js +1 -0
- package/dist/assets/floating-ui.react-DzkqpTVq.js.br +0 -0
- package/dist/assets/index-D3pYOruP.js +22 -0
- package/dist/assets/index-D3pYOruP.js.br +0 -0
- package/dist/assets/index-DfWIRG7b.css +2 -0
- package/dist/assets/index-DfWIRG7b.css.br +0 -0
- package/dist/assets/isObject-D5MxFwns.js +1 -0
- package/dist/assets/isObject-D5MxFwns.js.br +0 -0
- package/dist/assets/isObjectLike-CBVcfcwF.js +1 -0
- package/dist/assets/isObjectLike-CBVcfcwF.js.br +0 -0
- package/dist/assets/jsx-runtime-C5tU7uY8.js +1 -0
- package/dist/assets/jsx-runtime-C5tU7uY8.js.br +0 -0
- package/dist/assets/jszip.min-Dl1Awxit.js +2 -0
- package/dist/assets/jszip.min-Dl1Awxit.js.br +0 -0
- package/dist/assets/localStoreConsts-BEZFCCkV.js +1 -0
- package/dist/assets/localStoreConsts-BEZFCCkV.js.br +0 -0
- package/dist/assets/merge-Cm7ReLF9.js +1 -0
- package/dist/assets/merge-Cm7ReLF9.js.br +0 -0
- package/dist/assets/network-page-F8DXvCJ1.js +1 -0
- package/dist/assets/network-page-F8DXvCJ1.js.br +0 -0
- package/dist/assets/react-dom-hbu23gpx.js +1 -0
- package/dist/assets/react-dom-hbu23gpx.js.br +0 -0
- package/dist/assets/react-select.esm-D6gkf1g1.js +1 -0
- package/dist/assets/react-select.esm-D6gkf1g1.js.br +0 -0
- package/dist/assets/rolldown-runtime-B1FJdls4.js +1 -0
- package/dist/assets/rolldown-runtime-B1FJdls4.js.br +0 -0
- package/dist/assets/shallow-inzhGNJg.js +1 -0
- package/dist/assets/shallow-inzhGNJg.js.br +0 -0
- package/dist/assets/snakeCase-0YGV1fIQ.js +1 -0
- package/dist/assets/snakeCase-0YGV1fIQ.js.br +0 -0
- package/dist/assets/startCase-uNz46yT6.js +1 -0
- package/dist/assets/startCase-uNz46yT6.js.br +0 -0
- package/dist/assets/store-DGIKh3zK.js +2 -0
- package/dist/assets/store-DGIKh3zK.js.br +0 -0
- package/dist/assets/store2-BXEcxMC-.js +1 -0
- package/dist/assets/store2-BXEcxMC-.js.br +0 -0
- package/dist/assets/useColumnCount-D-zut-DS.js +1 -0
- package/dist/assets/useColumnCount-D-zut-DS.js.br +0 -0
- package/dist/assets/useSearch-CpSD1aTn.js +1 -0
- package/dist/assets/useSearch-CpSD1aTn.js.br +0 -0
- package/dist/index.html +14 -3
- package/dist/index.html.br +0 -0
- package/dist/onboarding/assets/index-Ct6Y91qL.js +572 -0
- package/dist/onboarding/assets/index-Ct6Y91qL.js.br +0 -0
- package/dist/onboarding/assets/index-m2L9a6gW.css +2 -0
- package/dist/onboarding/assets/index-m2L9a6gW.css.br +0 -0
- package/dist/onboarding/index.html +2 -2
- package/dist/onboarding/index.html.br +0 -0
- package/package.json +19 -19
- package/dist/assets/About-iV-ADMf4.js +0 -10
- package/dist/assets/About-iV-ADMf4.js.br +0 -0
- package/dist/assets/ActivityPage-BEorNuci.js +0 -1
- package/dist/assets/ActivityPage-BEorNuci.js.br +0 -0
- package/dist/assets/Bind-Dvd8hqY-.js +0 -1
- package/dist/assets/Bind-Dvd8hqY-.js.br +0 -0
- package/dist/assets/BindRow-BKYW8IHa.js +0 -1
- package/dist/assets/BindRow-BKYW8IHa.js.br +0 -0
- package/dist/assets/BindingsPage-BCsC5sVh.js +0 -1
- package/dist/assets/BindingsPage-BCsC5sVh.js.br +0 -0
- package/dist/assets/Bridge-CPB9y_A0.js +0 -1
- package/dist/assets/Bridge-CPB9y_A0.js.br +0 -0
- package/dist/assets/CheckboxField-8gda6Roi.js +0 -1
- package/dist/assets/CheckboxField-8gda6Roi.js.br +0 -0
- package/dist/assets/ClusterSinglePicker-CQiOKc1E.js +0 -1
- package/dist/assets/ClusterSinglePicker-CQiOKc1E.js.br +0 -0
- package/dist/assets/Clusters-CmKC3FSE.js +0 -1
- package/dist/assets/Clusters-CmKC3FSE.js.br +0 -0
- package/dist/assets/ContributePage-Beqp1ICO.js +0 -1
- package/dist/assets/ContributePage-Beqp1ICO.js.br +0 -0
- package/dist/assets/Dashboard-Cd1RfdLg.js +0 -1
- package/dist/assets/Dashboard-Cd1RfdLg.js.br +0 -0
- package/dist/assets/DashboardFeatureWrapper-ghRq_ZXA.js +0 -1
- package/dist/assets/DashboardFeatureWrapper-ghRq_ZXA.js.br +0 -0
- package/dist/assets/DebouncedInput-1a7sF6Mw.js +0 -1
- package/dist/assets/DebouncedInput-1a7sF6Mw.js.br +0 -0
- package/dist/assets/DevConsole-CawrSgIH.js +0 -1
- package/dist/assets/DevConsole-CawrSgIH.js.br +0 -0
- package/dist/assets/DevConsole-D7Mf6wYJ.js +0 -9
- package/dist/assets/DevConsole-D7Mf6wYJ.js.br +0 -0
- package/dist/assets/DeviceCard-BVsoYYpJ.js +0 -1
- package/dist/assets/DeviceCard-BVsoYYpJ.js.br +0 -0
- package/dist/assets/DeviceImage-kf3l8yhy.js +0 -1
- package/dist/assets/DeviceImage-kf3l8yhy.js.br +0 -0
- package/dist/assets/DeviceInfo-ckgfNn2D.js +0 -27
- package/dist/assets/DeviceInfo-ckgfNn2D.js.br +0 -0
- package/dist/assets/DevicePage-BUy1zZBf.js +0 -2
- package/dist/assets/DevicePage-BUy1zZBf.js.br +0 -0
- package/dist/assets/DevicePicker-reHJYZ1w.js +0 -1
- package/dist/assets/DevicePicker-reHJYZ1w.js.br +0 -0
- package/dist/assets/DeviceSettings-Cu-rFsOX.js +0 -1
- package/dist/assets/DeviceSettings-Cu-rFsOX.js.br +0 -0
- package/dist/assets/DeviceSpecificSettings-uxwTDkj2.js +0 -1
- package/dist/assets/DeviceSpecificSettings-uxwTDkj2.js.br +0 -0
- package/dist/assets/Devices-CwDGXkye.js +0 -1
- package/dist/assets/Devices-CwDGXkye.js.br +0 -0
- package/dist/assets/DevicesPage-Cpvn3TeF.js +0 -1
- package/dist/assets/DevicesPage-Cpvn3TeF.js.br +0 -0
- package/dist/assets/DisplayValue-CFUSXo6s.js +0 -1
- package/dist/assets/DisplayValue-CFUSXo6s.js.br +0 -0
- package/dist/assets/Docs-BhZphAn1.js +0 -3
- package/dist/assets/Docs-BhZphAn1.js.br +0 -0
- package/dist/assets/Duration-Bo9nu0-6.js +0 -1
- package/dist/assets/Duration-Bo9nu0-6.js.br +0 -0
- package/dist/assets/EndpointPicker-D3XmZf0P.js +0 -1
- package/dist/assets/EndpointPicker-D3XmZf0P.js.br +0 -0
- package/dist/assets/Exposes-BcgghJwP.js +0 -1
- package/dist/assets/Exposes-BcgghJwP.js.br +0 -0
- package/dist/assets/Exposes-Bnw8j7v6.js +0 -1
- package/dist/assets/Exposes-Bnw8j7v6.js.br +0 -0
- package/dist/assets/FeatureWrapper-BVthFSok.js +0 -1
- package/dist/assets/FeatureWrapper-BVthFSok.js.br +0 -0
- package/dist/assets/FrontendSettingsPage-CCIHAt8x.js +0 -1
- package/dist/assets/FrontendSettingsPage-CCIHAt8x.js.br +0 -0
- package/dist/assets/GroupPage-CeubN9MW.js +0 -2
- package/dist/assets/GroupPage-CeubN9MW.js.br +0 -0
- package/dist/assets/GroupSettings-BKlRVZeI.js +0 -1
- package/dist/assets/GroupSettings-BKlRVZeI.js.br +0 -0
- package/dist/assets/Groups-CdVCMMbd.js +0 -1
- package/dist/assets/Groups-CdVCMMbd.js.br +0 -0
- package/dist/assets/GroupsPage-Dsy4Pxvh.js +0 -1
- package/dist/assets/GroupsPage-Dsy4Pxvh.js.br +0 -0
- package/dist/assets/Health-BnmT22kc.js +0 -1
- package/dist/assets/Health-BnmT22kc.js.br +0 -0
- package/dist/assets/HomePage-BvxsJqtK.js +0 -1
- package/dist/assets/HomePage-BvxsJqtK.js.br +0 -0
- package/dist/assets/IndeterminateCheckbox-2i1OMY1q.js +0 -1
- package/dist/assets/IndeterminateCheckbox-2i1OMY1q.js.br +0 -3
- package/dist/assets/InfoAlert-dVV9mu2E.js +0 -1
- package/dist/assets/InfoAlert-dVV9mu2E.js.br +0 -0
- package/dist/assets/InputField-8NrLizI2.js +0 -1
- package/dist/assets/InputField-8NrLizI2.js.br +0 -0
- package/dist/assets/Json-BnnzbMWF.js +0 -1
- package/dist/assets/Json-BnnzbMWF.js.br +0 -0
- package/dist/assets/LastSeen-DsmGFK5t.js +0 -1
- package/dist/assets/LastSeen-DsmGFK5t.js.br +0 -0
- package/dist/assets/LogsPage-C66_M7i-.js +0 -1
- package/dist/assets/LogsPage-C66_M7i-.js.br +0 -0
- package/dist/assets/Lqi-DwjT6mTh.js +0 -1
- package/dist/assets/Lqi-DwjT6mTh.js.br +0 -0
- package/dist/assets/NetworkPage-B5AJQRxP.js +0 -2
- package/dist/assets/NetworkPage-B5AJQRxP.js.br +0 -0
- package/dist/assets/NumberField-aW5A187_.js +0 -1
- package/dist/assets/NumberField-aW5A187_.js.br +0 -0
- package/dist/assets/OtaControlGroup-BwIuAULi.js +0 -1
- package/dist/assets/OtaControlGroup-BwIuAULi.js.br +0 -0
- package/dist/assets/OtaPage-COCjMB98.js +0 -1
- package/dist/assets/OtaPage-COCjMB98.js.br +0 -0
- package/dist/assets/PowerSource-BbToyawi.js +0 -1
- package/dist/assets/PowerSource-BbToyawi.js.br +0 -0
- package/dist/assets/RawNetworkData-iwqzUAuW.js +0 -20
- package/dist/assets/RawNetworkData-iwqzUAuW.js.br +0 -0
- package/dist/assets/RawNetworkMap-OSwZLy9c.js +0 -4187
- package/dist/assets/RawNetworkMap-OSwZLy9c.js.br +0 -0
- package/dist/assets/RecallRemove-DmEdK-6q.js +0 -1
- package/dist/assets/RecallRemove-DmEdK-6q.js.br +0 -0
- package/dist/assets/RemoveDeviceModal-BkXPgYeC.js +0 -1
- package/dist/assets/RemoveDeviceModal-BkXPgYeC.js.br +0 -0
- package/dist/assets/Reporting-D7ugr4a9.js +0 -1
- package/dist/assets/Reporting-D7ugr4a9.js.br +0 -0
- package/dist/assets/ReportingPage-BK-2C589.js +0 -1
- package/dist/assets/ReportingPage-BK-2C589.js.br +0 -0
- package/dist/assets/ReportingRow-DjcpkfUL.js +0 -1
- package/dist/assets/ReportingRow-DjcpkfUL.js.br +0 -0
- package/dist/assets/Scene-BEQ3BzHg.js +0 -1
- package/dist/assets/Scene-BEQ3BzHg.js.br +0 -7
- package/dist/assets/SelectField-DZ0-lbfC.js +0 -1
- package/dist/assets/SelectField-DZ0-lbfC.js.br +0 -0
- package/dist/assets/Settings-BUMhyCx4.js +0 -1
- package/dist/assets/Settings-BUMhyCx4.js.br +0 -0
- package/dist/assets/SettingsList-DgZJ7G83.js +0 -1
- package/dist/assets/SettingsList-DgZJ7G83.js.br +0 -0
- package/dist/assets/SettingsPage-CgXbYzad.js +0 -2
- package/dist/assets/SettingsPage-CgXbYzad.js.br +0 -0
- package/dist/assets/State-CBH8XTQ5.js +0 -1
- package/dist/assets/State-CBH8XTQ5.js.br +0 -0
- package/dist/assets/Table-CKaBsKHz.js +0 -1
- package/dist/assets/Table-CKaBsKHz.js.br +0 -0
- package/dist/assets/TextareaField-BiuTWaby.js +0 -1
- package/dist/assets/TextareaField-BiuTWaby.js.br +0 -0
- package/dist/assets/TimeAgo-CXL45J9T.js +0 -1
- package/dist/assets/TimeAgo-CXL45J9T.js.br +0 -0
- package/dist/assets/Tools-CJNssn1q.js +0 -1
- package/dist/assets/Tools-CJNssn1q.js.br +0 -0
- package/dist/assets/TouchlinkPage-AZdYCyIY.js +0 -1
- package/dist/assets/TouchlinkPage-AZdYCyIY.js.br +0 -0
- package/dist/assets/VendorLink-B5ESanAv.js +0 -1
- package/dist/assets/VendorLink-B5ESanAv.js.br +0 -0
- package/dist/assets/_createCompounder-Gv5Y060d.js +0 -1
- package/dist/assets/_createCompounder-Gv5Y060d.js.br +0 -0
- package/dist/assets/defineProperty-CegpTSss.js +0 -1
- package/dist/assets/defineProperty-CegpTSss.js.br +0 -0
- package/dist/assets/envs-CRUy-_iG.js +0 -1
- package/dist/assets/extends-CF3RwP-h.js +0 -1
- package/dist/assets/extends-CF3RwP-h.js.br +0 -0
- package/dist/assets/floating-ui.dom-DbzrgdRQ.js +0 -1
- package/dist/assets/floating-ui.dom-DbzrgdRQ.js.br +0 -0
- package/dist/assets/floating-ui.react-Dk9OHvVL.js +0 -1
- package/dist/assets/floating-ui.react-Dk9OHvVL.js.br +0 -0
- package/dist/assets/index-Bs7zcW7e.js +0 -1
- package/dist/assets/index-Bs7zcW7e.js.br +0 -0
- package/dist/assets/index-ByrBfMix.js +0 -1
- package/dist/assets/index-ByrBfMix.js.br +0 -0
- package/dist/assets/index-CHY91QlU.js +0 -582
- package/dist/assets/index-CHY91QlU.js.br +0 -0
- package/dist/assets/index-SLkOIyhB.css +0 -1
- package/dist/assets/index-SLkOIyhB.css.br +0 -0
- package/dist/assets/index-oEuSijrJ.js +0 -1
- package/dist/assets/index-oEuSijrJ.js.br +0 -0
- package/dist/assets/isObject--vsEa_js.js +0 -1
- package/dist/assets/isObject--vsEa_js.js.br +0 -0
- package/dist/assets/isObjectLike-CtkYlcJi.js +0 -1
- package/dist/assets/isObjectLike-CtkYlcJi.js.br +0 -0
- package/dist/assets/jszip.min-BenHyzkg.js +0 -2
- package/dist/assets/jszip.min-BenHyzkg.js.br +0 -0
- package/dist/assets/merge-C11x730g.js +0 -1
- package/dist/assets/merge-C11x730g.js.br +0 -0
- package/dist/assets/oui-B1GyrgZg.js +0 -1
- package/dist/assets/oui-B1GyrgZg.js.br +0 -0
- package/dist/assets/react-select.esm-GzFIgIT5.js +0 -6
- package/dist/assets/react-select.esm-GzFIgIT5.js.br +0 -0
- package/dist/assets/snakeCase-9TCLrL1L.js +0 -1
- package/dist/assets/snakeCase-9TCLrL1L.js.br +0 -0
- package/dist/assets/startCase-CenQ3sE-.js +0 -1
- package/dist/assets/startCase-CenQ3sE-.js.br +0 -0
- package/dist/assets/useColumnCount-CAKraoqg.js +0 -1
- package/dist/assets/useColumnCount-CAKraoqg.js.br +0 -0
- package/dist/assets/useSearch-BS5ypE0z.js +0 -1
- package/dist/assets/useSearch-BS5ypE0z.js.br +0 -0
- package/dist/assets/useTable-Bi_ff2fj.js +0 -4
- package/dist/assets/useTable-Bi_ff2fj.js.br +0 -0
- package/dist/onboarding/assets/index-BMq-8A-N.js +0 -572
- package/dist/onboarding/assets/index-BMq-8A-N.js.br +0 -0
- package/dist/onboarding/assets/index-BWBIc1WK.css +0 -1
- package/dist/onboarding/assets/index-BWBIc1WK.css.br +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{i as r,n as i,r as a}from"./store-DGIKh3zK.js";import{t as o}from"./shallow-inzhGNJg.js";import{F as s,M as c,N as l,O as u,P as d,S as f,T as p,j as m}from"./consts-ACU3OL1g.js";import{c as h,f as g,n as _}from"./index-D3pYOruP.js";import{t as v}from"./snakeCase-0YGV1fIQ.js";var y=e(t(),1),b={name:`zigbee2mqtt-windfront`,version:`2.11.0`,license:`GPL-3.0-or-later`,type:`module`,main:`./index.js`,types:`./index.d.ts`,module:`./index.js`,exports:{".":`./index.js`},author:`Nerivec`,engines:{node:`>=22.12.0`},repository:{type:`git`,url:`git+https://github.com/Nerivec/zigbee2mqtt-windfront.git`},bugs:{url:`https://github.com/Nerivec/zigbee2mqtt-windfront/issues`},homepage:`https://github.com/Nerivec/zigbee2mqtt-windfront/#readme`,scripts:{clean:`rm -rf ./dist`,build:`vite build && vite build --config vite.onboarding.config.mts`,preview:`vite preview`,start:`vite dev`,"start:envs":`VITE_Z2M_API_URLS=localhost:5173/api,localhost:8080/api,bogus.local:8080/api VITE_Z2M_API_NAMES=dev,main,bogus npm start`,"start:onboarding":`vite dev --config vite.onboarding.config.mts`,test:`vitest run`,"test:cov":`vitest run --coverage`,typecheck:`tsc --noEmit`,check:`biome check --write .`,"check:ci":`biome check .`,prepack:`npm run clean && npm run build`,storybook:`storybook dev -p 6006`,"build-storybook":`storybook build`},devDependencies:{"@biomejs/biome":`^2.4.9`,"@ebay/nice-modal-react":`^1.2.13`,"@floating-ui/react":`^0.27.19`,"@fortawesome/fontawesome-svg-core":`^7.2.0`,"@fortawesome/free-solid-svg-icons":`^7.2.0`,"@fortawesome/react-fontawesome":`^3.3.0`,"@storybook/addon-a11y":`^10.3.3`,"@storybook/addon-docs":`^10.3.3`,"@storybook/react-vite":`^10.3.3`,"@tailwindcss/vite":`^4.2.2`,"@tanstack/react-table":`^8.21.3`,"@testing-library/dom":`^10.4.1`,"@testing-library/react":`^16.3.2`,"@testing-library/user-event":`^14.6.1`,"@types/file-saver":`^2.0.7`,"@types/json-schema":`^7.0.15`,"@types/lodash":`^4.17.24`,"@types/react":`^19.2.14`,"@types/react-dom":`^19.2.3`,"@types/ws":`^8.18.1`,"@virtuoso.dev/masonry":`^1.4.3`,"@vitejs/plugin-react":`^6.0.1`,"@vitest/coverage-v8":`^4.1.2`,daisyui:`^5.5.19`,"file-saver":`^2.0.5`,i18next:`^26.0.2`,"i18next-browser-languagedetector":`^8.2.1`,jsdom:`^29.0.1`,jszip:`^3.10.1`,lodash:`^4.17.23`,react:`^19.2.4`,"react-app-polyfill":`^3.0.0`,"react-dom":`^19.2.4`,"react-i18next":`^17.0.1`,"react-image":`^4.1.0`,"react-router":`^7.13.2`,"react-select":`^5.10.2`,"react-virtuoso":`^4.18.3`,reagraph:`^4.30.8`,store2:`^2.14.4`,storybook:`^10.3.1`,tailwindcss:`^4.1.4`,"timeago.js":`^4.0.2`,typescript:`^5.9.3`,vite:`^8.0.3`,"vite-plugin-compression2":`^2.5.3`,vitest:`^4.0.18`,ws:`^8.20.0`,zigbee2mqtt:`github:Koenkk/zigbee2mqtt#dev-types`,zustand:`^5.0.12`},sideEffects:[`*.css`],files:[`./index.js`,`./index.d.ts`,`./dist`],keywords:[`open-source`,`frontend`,`zigbee`,`zigbee2mqtt`],funding:{type:`github`,url:`https://github.com/sponsors/Nerivec`}},x=e(v(),1),S=n();function C({name:e,data:t}){let n=[];for(let e in t){let r=t[e];n.push((0,S.jsx)(`li`,{children:(0,S.jsxs)(h,{to:`#`,children:[e,`: `,r]})},e))}return(0,S.jsx)(`li`,{children:(0,S.jsxs)(`details`,{children:[(0,S.jsx)(`summary`,{children:e}),(0,S.jsx)(`ul`,{children:n})]})})}var w=(0,y.memo)(e=>{let{devices:t}=e,{t:n}=g([`stats`,`zigbee`]),r=(0,y.useMemo)(()=>{let e={},r={},i={},a={};for(let o of t){if(o.type===`Coordinator`)continue;let t=n(e=>e[o.type],{ns:`zigbee`}),s=o.model_id||n(e=>e.unknown,{ns:`zigbee`}),c=o.manufacturer||n(e=>e.unknown,{ns:`zigbee`}),l=n(e=>e[(0,x.default)(o.power_source||`unknown`)],{ns:`zigbee`});e[t]=(e[t]||0)+1,r[l]=(r[l]||0)+1,i[s]=(i[s]||0)+1,a[c]=(a[c]||0)+1}return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(C,{name:n(e=>e.byType),data:e}),(0,S.jsx)(C,{name:n(e=>e.byPowerSource),data:r}),(0,S.jsx)(C,{name:n(e=>e.byModel),data:i}),(0,S.jsx)(C,{name:n(e=>e.byVendor),data:a})]})},[t,n]);return(0,S.jsxs)(`ul`,{children:[(0,S.jsx)(`li`,{children:(0,S.jsxs)(h,{to:`#`,children:[n(e=>e.total),` `,t.length-1]})}),r]})}),T=(0,y.memo)(({sourceIdx:e})=>{let{t}=g(`zigbee`),n=r(o(t=>t.bridgeInfo[e])),i=r(o(t=>t.bridgeHealth[e])),a={template:`problem_report.yaml`,z2m_version:`${n.version} (${n.commit})`,adapter_fwversion:JSON.stringify(n.coordinator.meta),adapter:n.coordinator.type,setup:`os: \`${n.os.version}\`
|
|
2
|
+
node: \`${n.os.node_version}\`
|
|
3
|
+
ha: \`${n.config.homeassistant.enabled}\``,notes:i.response_time>0?`
|
|
4
|
+
#### Last health check
|
|
5
|
+
time: \`${new Date(i.response_time)}\`
|
|
6
|
+
os.load_average: \`${i.os.load_average.join(`, `)}\`
|
|
7
|
+
os.memory_percent: \`${i.os.memory_percent}\`
|
|
8
|
+
process.memory_percent: \`${i.process.memory_percent}\`
|
|
9
|
+
process.uptime_sec: \`${Math.round(i.process.uptime_sec)}\`
|
|
10
|
+
`:``};return(0,S.jsx)(h,{target:`_blank`,rel:`noopener noreferrer`,to:`${c}?${new URLSearchParams(a).toString()}`,className:`btn btn-ghost`,children:t(e=>e.report_problem)})});function E({sourceIdx:e}){let{t}=g([`settings`,`common`,`zigbee`]),n=r(o(t=>t.bridgeInfo[e])),c=r(o(t=>t.devices[e])),h=n.version.match(/^\d+\.\d+\.\d+$/)===null?(0,S.jsx)(`a`,{className:`link link-hover text-secondary`,target:`_blank`,rel:`noopener noreferrer`,href:`${m}dev/`,children:n.version}):(0,S.jsx)(`a`,{className:`link link-hover`,target:`_blank`,rel:`noopener noreferrer`,href:`${l}${n.version}`,children:n.version}),v=n.commit?(0,S.jsxs)(S.Fragment,{children:[`commit:`,` `,(0,S.jsx)(`a`,{className:`link`,target:`_blank`,rel:`noopener noreferrer`,href:`${m}${n.commit}`,children:n.commit})]}):null,y=(0,S.jsx)(`a`,{className:`link link-hover`,target:`_blank`,rel:`noopener noreferrer`,href:`${u}${b.version}`,children:b.version}),x=(0,S.jsx)(`a`,{className:`link link-hover`,target:`_blank`,rel:`noopener noreferrer`,href:`${d}${n.zigbee_herdsman_converters.version}`,children:n.zigbee_herdsman_converters.version}),C=(0,S.jsx)(`a`,{className:`link link-hover`,target:`_blank`,rel:`noopener noreferrer`,href:`${s}${n.zigbee_herdsman.version}`,children:n.zigbee_herdsman.version});return(0,S.jsxs)(`div`,{className:`flex flex-col gap-3 items-center text-center w-full`,children:[(0,S.jsx)(T,{sourceIdx:e}),(0,S.jsxs)(`div`,{className:`stats stats-vertical lg:stats-horizontal shadow`,children:[a&&(0,S.jsxs)(`div`,{className:`stat place-items-center`,children:[(0,S.jsx)(`div`,{className:`stat-title`,children:t(e=>e.source,{ns:`common`})}),(0,S.jsx)(`div`,{className:`stat-value text-xl`,children:(0,S.jsx)(_,{idx:e,alwaysShowName:!0})}),(0,S.jsx)(`div`,{className:`stat-desc max-w-md whitespace-normal`,children:i[e]})]}),(0,S.jsxs)(`div`,{className:`stat place-items-center`,children:[(0,S.jsx)(`div`,{className:`stat-title`,children:t(e=>e.zigbee2mqtt_version)}),(0,S.jsx)(`div`,{className:`stat-value text-lg`,children:h}),(0,S.jsx)(`div`,{className:`stat-desc`,children:v})]}),(0,S.jsxs)(`div`,{className:`stat place-items-center`,children:[(0,S.jsx)(`div`,{className:`stat-title`,children:t(e=>e.frontend_version)}),(0,S.jsx)(`div`,{className:`stat-value text-lg`,children:y})]}),(0,S.jsxs)(`div`,{className:`stat place-items-center`,children:[(0,S.jsx)(`div`,{className:`stat-title`,children:t(e=>e.zigbee_herdsman_converters_version)}),(0,S.jsx)(`div`,{className:`stat-value text-lg`,children:x})]}),(0,S.jsxs)(`div`,{className:`stat place-items-center`,children:[(0,S.jsx)(`div`,{className:`stat-title`,children:t(e=>e.zigbee_herdsman_version)}),(0,S.jsx)(`div`,{className:`stat-value text-lg`,children:C})]})]}),(0,S.jsxs)(`div`,{className:`stats stats-vertical lg:stats-horizontal shadow`,children:[(0,S.jsxs)(`div`,{className:`stat place-items-center`,children:[(0,S.jsx)(`div`,{className:`stat-title`,children:t(e=>e.machine)}),(0,S.jsx)(`div`,{className:`stat-value text-lg max-w-md whitespace-normal`,children:n.os.version}),(0,S.jsxs)(`div`,{className:`stat-desc`,children:[`CPU: `,n.os.cpus]}),(0,S.jsxs)(`div`,{className:`stat-desc`,children:[`RAM: `,n.os.memory_mb,` MB`]})]}),(0,S.jsxs)(`div`,{className:`stat place-items-center`,children:[(0,S.jsx)(`div`,{className:`stat-title`,children:t(e=>e.mqtt)}),(0,S.jsx)(`div`,{className:`stat-value text-lg`,children:n.mqtt.server}),(0,S.jsx)(`div`,{className:`stat-desc`,children:(0,S.jsxs)(`a`,{href:f,target:`_blank`,rel:`noreferrer`,className:`link link-hover`,children:[t(e=>e.version),`: `,n.mqtt.version]})})]}),(0,S.jsxs)(`div`,{className:`stat place-items-center`,children:[(0,S.jsx)(`div`,{className:`stat-title`,children:t(e=>e.node_version)}),(0,S.jsx)(`div`,{className:`stat-value text-lg`,children:(0,S.jsx)(`a`,{href:p,target:`_blank`,rel:`noreferrer`,className:`link link-hover`,children:n.os.node_version})})]}),(0,S.jsxs)(`div`,{className:`stat place-items-center`,children:[(0,S.jsx)(`div`,{className:`stat-title`,children:t(e=>e.coordinator)}),(0,S.jsx)(`div`,{className:`stat-value text-lg`,children:n.coordinator.type}),(0,S.jsx)(`div`,{className:`stat-desc`,children:(0,S.jsx)(`span`,{className:`badge badge-sm badge-primary`,title:t(e=>e.coordinator_ieee_address),children:n.coordinator.ieee_address})}),(0,S.jsxs)(`div`,{className:`stat-desc`,children:[t(e=>e.revision),`: `,n.coordinator.meta.revision||t(e=>e.unknown,{ns:`zigbee`})]})]})]}),(0,S.jsx)(`ul`,{className:`menu bg-base-100 rounded-box shadow min-w-sm`,children:(0,S.jsx)(`li`,{children:(0,S.jsxs)(`details`,{open:!0,children:[(0,S.jsx)(`summary`,{children:t(e=>e.stats)}),(0,S.jsx)(w,{devices:c})]})})})]})}export{E as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{i as r,n as i}from"./store-DGIKh3zK.js";import{c as a,en as o,rn as s,t as c,z as l}from"./dist-CfE5hTP4.js";import{t as u}from"./Button-C09wmyxO.js";import{c as d,f,n as p,t as m}from"./index-D3pYOruP.js";import{t as h}from"./DeviceImage-CXlsJhdp.js";import{t as g}from"./useSearch-CpSD1aTn.js";import{t as _}from"./DebouncedInput-BY9cMtPz.js";var v=e(t(),1),y=n();function b(){let{t:e}=f(`common`),t=r(e=>e.devices),n=r(e=>e.recentActivity),[b,x,S]=g(),[C,w,T]=g(),E=(0,v.useMemo)(()=>{let e=[];for(let r=0;r<i.length;r++){let i=n[r],a=t[r];for(let t in i){let n=a.find(e=>e.friendly_name===t);n!==void 0&&(x.length===0||n.friendly_name.toLowerCase().includes(x))&&e.push({sourceIdx:r,device:n,activity:i[t],highlighted:w.length>0&&n.friendly_name.toLowerCase().includes(w)})}}return e.sort((e,t)=>t.activity.timestamp-e.activity.timestamp),e},[n,t,x,w]);return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsxs)(m,{children:[(0,y.jsxs)(`div`,{className:`join`,children:[(0,y.jsxs)(`label`,{className:`input input-sm join-item`,children:[(0,y.jsx)(c,{icon:o}),(0,y.jsx)(_,{onChange:S,placeholder:e(e=>e.search,{ns:`common`}),value:b,disabled:E.length===0})]}),(0,y.jsx)(u,{item:``,onClick:S,className:`btn btn-sm btn-square btn-warning btn-outline join-item`,title:e(e=>e.clear,{ns:`common`}),disabled:b.length===0,children:(0,y.jsx)(c,{icon:l})})]}),(0,y.jsxs)(`div`,{className:`join me-1`,children:[(0,y.jsxs)(`label`,{className:`input input-sm join-item`,children:[(0,y.jsx)(c,{icon:s}),(0,y.jsx)(_,{onChange:T,placeholder:e(e=>e.highlight,{ns:`common`}),value:C,disabled:E.length===0})]}),(0,y.jsx)(u,{item:``,onClick:T,className:`btn btn-sm btn-square btn-warning btn-outline join-item`,title:e(e=>e.clear,{ns:`common`}),disabled:C===``,children:(0,y.jsx)(c,{icon:l})})]})]}),(0,y.jsx)(`div`,{className:`flex flex-col mb-5`,children:(0,y.jsx)(`ul`,{className:`list bg-base-100`,children:E.map(e=>(0,y.jsxs)(`li`,{className:`list-row p-2 ${e.highlighted?`bg-accent text-accent-content`:``}`,children:[(0,y.jsx)(`div`,{className:`size-10`,children:(0,y.jsx)(h,{device:e.device,disabled:e.device.disabled,noIndicator:!0})}),(0,y.jsxs)(`div`,{className:`min-w-0`,children:[(0,y.jsxs)(`div`,{className:`min-w-0`,children:[(0,y.jsx)(p,{idx:e.sourceIdx,autoHide:!0,namePostfix:` –`,className:`me-1`}),(0,y.jsx)(d,{to:`/device/${e.sourceIdx}/${e.device.ieee_address}/info`,className:`link link-hover font-semibold truncate`,children:e.device.friendly_name})]}),(0,y.jsx)(`div`,{className:`text-xs font-semibold min-w-0`,children:(0,y.jsxs)(`p`,{className:`text-xs text-base-content/70 truncate`,children:[`[`,new Date(e.activity.timestamp).toLocaleString(),`] `,e.activity.desc]})})]}),(0,y.jsx)(d,{to:`/device/${e.sourceIdx}/${e.device.ieee_address}/info`,className:`btn btn-square btn-ghost`,children:(0,y.jsx)(c,{icon:a})})]},`${e.device.friendly_name}-${e.sourceIdx}-${e.activity}`))})})]})}export{b as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{n as r,r as i,t as a}from"./Modal-DkH2V1VC.js";import{_ as o,f as s}from"./consts-ACU3OL1g.js";import{Pn as c,st as l,t as u,vr as d,zt as f}from"./dist-CfE5hTP4.js";import{t as p}from"./Button-C09wmyxO.js";import{f as m,r as h}from"./index-D3pYOruP.js";import{t as g}from"./InputField--ZMqg114.js";import{t as _}from"./CheckboxField-CzFe1pWJ.js";import{t as v}from"./RemoveDeviceModal-B7NqbupW.js";var y=new Map([[`00037a`,`Taiyo Yuden Co., Ltd.`],[`000425`,`Atmel Corporation`],[`0004a3`,`Microchip Technology Inc.`],[`000781`,`Itron Inc.`],[`000b57`,`Silicon Laboratories`],[`000d6f`,`Ember Corporation`],[`000e6d`,`Murata Manufacturing Co., Ltd.`],[`001237`,`Texas Instruments`],[`00124b`,`Texas Instruments`],[`0012d1`,`Texas Instruments`],[`0012d2`,`Texas Instruments`],[`0012f3`,`u-blox AG`],[`0013e0`,`Murata Manufacturing Co., Ltd.`],[`00158d`,`Jennic Ltd`],[`0016a2`,`CentraLite Systems, Inc.`],[`001783`,`Texas Instruments`],[`001788`,`Philips Lighting BV`],[`0017e3`,`Texas Instruments`],[`0017e4`,`Texas Instruments`],[`0017e5`,`Texas Instruments`],[`0017e6`,`Texas Instruments`],[`0017e7`,`Texas Instruments`],[`0017e8`,`Texas Instruments`],[`0017e9`,`Texas Instruments`],[`0017ea`,`Texas Instruments`],[`0017eb`,`Texas Instruments`],[`0017ec`,`Texas Instruments`],[`00182f`,`Texas Instruments`],[`001830`,`Texas Instruments`],[`001831`,`Texas Instruments`],[`001832`,`Texas Instruments`],[`001833`,`Texas Instruments`],[`001834`,`Texas Instruments`],[`001ab6`,`Texas Instruments`],[`001ec0`,`Microchip Technology Inc.`],[`00212e`,`dresden-elektronik`],[`0021ba`,`Texas Instruments`],[`0021e8`,`Murata Manufacturing Co., Ltd.`],[`0021ed`,`Telegesis`],[`002258`,`Taiyo Yuden Co., Ltd.`],[`0022a5`,`Texas Instruments`],[`0023d4`,`Texas Instruments`],[`002446`,`MMB Research Inc.`],[`0024ba`,`Texas Instruments`],[`0026e8`,`Murata Manufacturing Co., Ltd.`],[`00337a`,`Tuya Smart Inc.`],[`0035ff`,`Texas Instruments`],[`00376d`,`Murata Manufacturing Co., Ltd.`],[`003c84`,`Silicon Laboratories`],[`004b12`,`Espressif Inc.`],[`006037`,`NXP Semiconductors`],[`006057`,`Murata Manufacturing Co., Ltd.`],[`007007`,`Espressif Inc.`],[`0081f9`,`Texas Instruments`],[`009d6b`,`Murata Manufacturing Co., Ltd.`],[`00aafd`,`Texas Instruments`],[`00aefa`,`Murata Manufacturing Co., Ltd.`],[`00be44`,`Silicon Laboratories`],[`040d84`,`Silicon Laboratories`],[`042322`,`Texas Instruments`],[`0425e8`,`Texas Instruments`],[`044665`,`Murata Manufacturing Co., Ltd.`],[`044707`,`Texas Instruments`],[`0479b7`,`Texas Instruments`],[`047a0b`,`Beijing Xiaomi Electronics Co., Ltd.`],[`048308`,`Espressif Inc.`],[`048727`,`Silicon Laboratories`],[`049162`,`Microchip Technology Inc.`],[`04a316`,`Texas Instruments`],[`04b247`,`Espressif Inc.`],[`04c461`,`Murata Manufacturing Co., Ltd.`],[`04cd15`,`Silicon Laboratories`],[`04cf8c`,`XIAOMI Electronics,CO.,LTD`],[`04e3e5`,`Silicon Laboratories`],[`04e451`,`Texas Instruments`],[`04ee03`,`Texas Instruments`],[`080028`,`Texas Instruments`],[`0804b4`,`Texas Instruments`],[`083a8d`,`Espressif Inc.`],[`083af2`,`Espressif Inc.`],[`086bd7`,`Silicon Laboratories`],[`08736f`,`EM Microelectronic`],[`089272`,`Espressif Inc.`],[`08a6f7`,`Espressif Inc.`],[`08b61f`,`Espressif Inc.`],[`08b95f`,`Silicon Laboratories`],[`08ce94`,`EM Microelectronic`],[`08d1f9`,`Espressif Inc.`],[`08d593`,`Texas Instruments`],[`08ddeb`,`Silicon Laboratories`],[`08f9e0`,`Espressif Inc.`],[`08fd52`,`Silicon Laboratories`],[`0c0adf`,`Texas Instruments`],[`0c1c57`,`Texas Instruments`],[`0c2a6f`,`Silicon Laboratories`],[`0c4314`,`Silicon Laboratories`],[`0c4bee`,`Texas Instruments`],[`0c4ea0`,`Espressif Inc.`],[`0c61cf`,`Texas Instruments`],[`0c802f`,`Murata Manufacturing Co., Ltd.`],[`0c8b95`,`Espressif Inc.`],[`0cae5f`,`Silicon Laboratories`],[`0cae7d`,`Texas Instruments`],[`0cb2b7`,`Texas Instruments`],[`0cb815`,`Espressif Inc.`],[`0cdc7e`,`Espressif Inc.`],[`0cec80`,`Texas Instruments`],[`0ceff6`,`Silicon Laboratories`],[`0cf3ee`,`EM Microelectronic`],[`10003b`,`Espressif Inc.`],[`10061c`,`Espressif Inc.`],[`10082c`,`Texas Instruments`],[`1020ba`,`Espressif Inc.`],[`102eaf`,`Texas Instruments`],[`10322c`,`Murata Manufacturing Co., Ltd.`],[`103597`,`Qorvo Utrecht B.V.`],[`1051db`,`Espressif Inc.`],[`10521c`,`Espressif Inc.`],[`105a17`,`Tuya Smart Inc.`],[`1091a8`,`Espressif Inc.`],[`1097bd`,`Espressif Inc.`],[`1098c3`,`Murata Manufacturing Co., Ltd.`],[`109d9c`,`EM Microelectronic`],[`10a5d0`,`Murata Manufacturing Co., Ltd.`],[`10b41d`,`Espressif Inc.`],[`10bda3`,`Espressif Inc.`],[`10cabf`,`Texas Instruments`],[`10cb33`,`NXP Semiconductors Taiwan Ltd.`],[`10cea9`,`Texas Instruments`],[`10d561`,`Tuya Smart Inc.`],[`10edc8`,`NXP Semiconductors Taiwan Ltd.`],[`140808`,`Espressif Inc.`],[`142b2f`,`Espressif Inc.`],[`142d41`,`Silicon Laboratories`],[`14335c`,`Espressif Inc.`],[`1442fc`,`Texas Instruments`],[`144ff0`,`NXP Semiconductors Taiwan Ltd.`],[`146393`,`Espressif Inc.`],[`147dc5`,`Murata Manufacturing Co., Ltd.`],[`147f0f`,`Texas Instruments`],[`149cef`,`Texas Instruments`],[`14b457`,`Silicon Laboratories`],[`14c19f`,`Espressif Inc.`],[`1804ed`,`Texas Instruments`],[`180df9`,`Silicon Laboratories`],[`182c65`,`Texas Instruments`],[`183219`,`EM Microelectronic`],[`184516`,`Texas Instruments`],[`1848ca`,`Murata Manufacturing Co., Ltd.`],[`1862e4`,`Texas Instruments`],[`18690a`,`Silicon Laboratories`],[`1869d8`,`Tuya Smart Inc.`],[`187a3e`,`Silicon Laboratories`],[`188b0e`,`Espressif Inc.`],[`1893d7`,`Texas Instruments`],[`18b905`,`Hong Kong Bouffalo Lab Limited`],[`18c23c`,`Lumi United Technology Co., Ltd`],[`18de50`,`Tuya Smart Inc.`],[`18fc26`,`Qorvo International Pte. Ltd.`],[`18fe34`,`Espressif Inc.`],[`1c0460`,`NXP Semiconductors Taiwan Ltd.`],[`1c2ab0`,`Beijing Xiaomi Electronics Co.,Ltd`],[`1c34f1`,`Silicon Laboratories`],[`1c4593`,`Texas Instruments`],[`1c6349`,`Texas Instruments`],[`1c6920`,`Espressif Inc.`],[`1c7022`,`Murata Manufacturing Co., Ltd.`],[`1c784b`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`1c8bef`,`Beijing Xiaomi Electronics Co.,Ltd`],[`1c8f57`,`Espressif Inc.`],[`1c90ff`,`Tuya Smart Inc.`],[`1c994c`,`Murata Manufacturing Co., Ltd.`],[`1c9dc2`,`Espressif Inc.`],[`1cba8c`,`Texas Instruments`],[`1cc089`,`Silicon Laboratories`],[`1cc3ab`,`Espressif Inc.`],[`1cdbd4`,`Espressif Inc.`],[`1cdf52`,`Texas Instruments`],[`1ce2cc`,`Texas Instruments`],[`2002af`,`Murata Manufacturing Co., Ltd.`],[`200b16`,`Texas Instruments`],[`2043a8`,`Espressif Inc.`],[`206ef1`,`Espressif Inc.`],[`2072a9`,`Beijing Xiaomi Electronics Co.,Ltd`],[`208bd1`,`NXP Semiconductor (Tianjin) LTD.`],[`209148`,`Texas Instruments`],[`209ba9`,`Espressif Inc.`],[`20a716`,`Silicon Laboratories`],[`20ba36`,`u-blox AG`],[`20c38f`,`Texas Instruments`],[`20cd39`,`Texas Instruments`],[`20d778`,`Texas Instruments`],[`20e7c8`,`Espressif Inc.`],[`20f1b2`,`Tuya Smart Inc.`],[`20f83b`,`Nabu Casa, Inc.`],[`240ac4`,`Espressif Inc.`],[`244cab`,`Espressif Inc.`],[`24587c`,`Espressif Inc.`],[`2462ab`,`Espressif Inc.`],[`246f28`,`Espressif Inc.`],[`247189`,`Texas Instruments`],[`247625`,`Texas Instruments`],[`247d4d`,`Texas Instruments`],[`248602`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`249494`,`Hong Kong Bouffalo Lab Limited`],[`249f89`,`Texas Instruments`],[`24a160`,`Espressif Inc.`],[`24b2de`,`Espressif Inc.`],[`24cd8d`,`Murata Manufacturing Co., Ltd.`],[`24d660`,`Silicon Laboratories`],[`24d7eb`,`Espressif Inc.`],[`24dcc3`,`Espressif Inc.`],[`24ec4a`,`Espressif Inc.`],[`24fd5b`,`SmartThings, Inc.`],[`2805a5`,`Espressif Inc.`],[`28372f`,`Espressif Inc.`],[`283c90`,`Texas Instruments`],[`28562f`,`Espressif Inc.`],[`286847`,`Silicon Laboratories`],[`286c07`,`XIAOMI Electronics,CO.,LTD`],[`287681`,`Silicon Laboratories`],[`288485`,`Espressif Inc.`],[`289e1e`,`Texas Instruments`],[`28b5e8`,`Texas Instruments`],[`28bbed`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`28dba7`,`Silicon Laboratories`],[`28ec9a`,`Texas Instruments`],[`2c1165`,`Silicon Laboratories`],[`2c3ae8`,`Espressif Inc.`],[`2c4cc6`,`Murata Manufacturing Co., Ltd.`],[`2c6b7d`,`Texas Instruments`],[`2ca774`,`Texas Instruments`],[`2cab33`,`Texas Instruments`],[`2cbcbb`,`Espressif Inc.`],[`2cd1c6`,`Murata Manufacturing Co., Ltd.`],[`2cd3ad`,`Texas Instruments`],[`2cdcc1`,`EM Microelectronic`],[`2cf432`,`Espressif Inc.`],[`2cfe8b`,`Microchip Technologies Inc`],[`3030d0`,`Texas Instruments`],[`3030f9`,`Espressif Inc.`],[`304511`,`Texas Instruments`],[`30487d`,`Tuya Smart Inc.`],[`3076f5`,`Espressif Inc.`],[`308398`,`Espressif Inc.`],[`30aea4`,`Espressif Inc.`],[`30af7e`,`Texas Instruments`],[`30c6f7`,`Espressif Inc.`],[`30c922`,`Espressif Inc.`],[`30e283`,`Texas Instruments`],[`30e8e4`,`Qorvo International Pte. Ltd.`],[`30eda0`,`Espressif Inc.`],[`30fb10`,`Silicon Laboratories`],[`3403de`,`Texas Instruments`],[`3408e1`,`Texas Instruments`],[`34105d`,`Texas Instruments`],[`3410f4`,`Silicon Laboratories`],[`3414b5`,`Texas Instruments`],[`341513`,`Texas Instruments`],[`3425b4`,`Silicon Laboratories`],[`342af1`,`Texas Instruments`],[`343c30`,`NXP Semiconductor (Tianjin) LTD.`],[`345b98`,`EM Microelectronic`],[`345f45`,`Espressif Inc.`],[`3468b5`,`Texas Instruments`],[`3484e4`,`Texas Instruments`],[`348518`,`Espressif Inc.`],[`34865d`,`Espressif Inc.`],[`348d13`,`Silicon Laboratories`],[`3490ea`,`Murata Manufacturing Co., Ltd.`],[`349454`,`Espressif Inc.`],[`34987a`,`Espressif Inc.`],[`34ab95`,`Espressif Inc.`],[`34b1f7`,`Texas Instruments`],[`34b472`,`Espressif Inc.`],[`34b7da`,`Espressif Inc.`],[`34c459`,`Texas Instruments`],[`34cdb0`,`Espressif Inc.`],[`34ce00`,`XIAOMI Electronics,CO.,LTD`],[`34e1d7`,`NXP Semiconductors Taiwan Ltd.`],[`34ecb6`,`Phyplus Microelectronics Limited`],[`380b3c`,`Texas Instruments`],[`38182b`,`Espressif Inc.`],[`381f8d`,`Tuya Smart Inc.`],[`382228`,`Telink Micro LLC`],[`382ce5`,`Tuya Smart Inc.`],[`38398f`,`Silicon Laboratories`],[`3844be`,`Espressif Inc.`],[`385b44`,`Silicon Laboratories`],[`385cfb`,`Silicon Laboratories`],[`3881d7`,`Texas Instruments`],[`38a5c9`,`Tuya Smart Inc.`],[`38ab41`,`Texas Instruments`],[`38b9af`,`NXP Semiconductors Taiwan Ltd.`],[`38d269`,`Texas Instruments`],[`38e2c4`,`Texas Instruments`],[`3c0b59`,`Tuya Smart Inc.`],[`3c0f02`,`Espressif Inc.`],[`3c2db7`,`Texas Instruments`],[`3c2ca6`,`Beijing Xiaomi Electronics Co.,Ltd`],[`3c2ef5`,`Silicon Laboratories`],[`3c6105`,`Espressif Inc.`],[`3c71bf`,`Espressif Inc.`],[`3c7db1`,`Texas Instruments`],[`3c8427`,`Espressif Inc.`],[`3c8a1f`,`Espressif Inc.`],[`3ca308`,`Texas Instruments`],[`3cbd3e`,`Beijing Xiaomi Electronics Co., Ltd.`],[`3ccfb4`,`Telink Semiconductor (Shanghai) Co., Ltd.`],[`3cdc75`,`Espressif Inc.`],[`3ce002`,`Texas Instruments`],[`3ce064`,`Texas Instruments`],[`3ce4b0`,`Texas Instruments`],[`3ce90e`,`Espressif Inc.`],[`400326`,`NXP Semiconductor (Tianjin) LTD.`],[`4006a0`,`Texas Instruments`],[`4022d8`,`Espressif Inc.`],[`402e71`,`Texas Instruments`],[`403059`,`Silicon Laboratories`],[`40313c`,`XIAOMI Electronics,CO.,LTD`],[`403802`,`Silicon Laboratories`],[`404cca`,`Espressif Inc.`],[`405fc2`,`Texas Instruments`],[`406234`,`Telink Semiconductor (Shanghai) Co., Ltd.`],[`406918`,`EM Microelectronic`],[`407912`,`Texas Instruments`],[`408432`,`Microchip Technology Inc.`],[`409151`,`Espressif Inc.`],[`40984e`,`Texas Instruments`],[`4099f6`,`Telink Semiconductor(Shanghai) Co.,Ltd`],[`40b7fc`,`Phyplus Microelectronics Limited`],[`40bd32`,`Texas Instruments`],[`40eebe`,`NXP Semiconductor (Tianjin) LTD.`],[`40f308`,`Murata Manufacturing Co., Ltd.`],[`40f3b0`,`Texas Instruments`],[`40f520`,`Espressif Inc.`],[`441793`,`Espressif Inc.`],[`441bf6`,`Espressif Inc.`],[`441d64`,`Espressif Inc.`],[`4438f3`,`EM Microelectronic`],[`443e8a`,`Texas Instruments`],[`446b1f`,`Texas Instruments`],[`447147`,`Beijing Xiaomi Electronics Co.,Ltd`],[`448346`,`Texas Instruments`],[`4488be`,`Texas Instruments`],[`449160`,`Murata Manufacturing Co., Ltd.`],[`449fda`,`Silicon Laboratories`],[`44a54e`,`Qorvo International Pte. Ltd.`],[`44a7cf`,`Murata Manufacturing Co., Ltd.`],[`44b7d0`,`Microchip Technology Inc.`],[`44c15c`,`Texas Instruments`],[`44d465`,`NXP Semiconductors Taiwan Ltd.`],[`44d5c1`,`EM Microelectronic`],[`44e2f8`,`Silicon Laboratories`],[`44ead8`,`Texas Instruments`],[`44ee14`,`Texas Instruments`],[`4827e2`,`Espressif Inc.`],[`4831b7`,`Espressif Inc.`],[`483fda`,`Espressif Inc.`],[`485519`,`Espressif Inc.`],[`48701e`,`Texas Instruments`],[`487706`,`NXP Semiconductor (Tianjin) LTD.`],[`48836f`,`EM Microelectronic`],[`48849d`,`Texas Instruments`],[`489d31`,`Espressif Inc.`],[`48a3bd`,`Texas Instruments`],[`48a493`,`TAIYO YUDEN CO.,LTD`],[`48ca43`,`Espressif Inc.`],[`48e729`,`Espressif Inc.`],[`48eb62`,`Murata Manufacturing Co., Ltd.`],[`48f6ee`,`Espressif Inc.`],[`4c11ae`,`Espressif Inc.`],[`4c2498`,`Texas Instruments`],[`4c3fd3`,`Texas Instruments`],[`4c5bb3`,`Silicon Laboratories`],[`4c7525`,`Espressif Inc.`],[`4c8237`,`Telink Micro LLC`],[`4c97a1`,`Silicon Laboratories`],[`4ca0d4`,`Telink Semiconductor (Shanghai) Co., Ltd.`],[`4ca919`,`Tuya Smart Inc.`],[`4cc382`,`Espressif Inc.`],[`4cd4b1`,`NXP Semiconductor (Tianjin) LTD.`],[`4cda38`,`Texas Instruments`],[`4cebd6`,`Espressif Inc.`],[`500291`,`Espressif Inc.`],[`5026ef`,`Murata Manufacturing Co., Ltd.`],[`50325f`,`Silicon Laboratories`],[`50338b`,`Texas Instruments`],[`5051a9`,`Texas Instruments`],[`505663`,`Texas Instruments`],[`50642b`,`XIAOMI Electronics,CO.,LTD`],[`506583`,`Texas Instruments`],[`507224`,`Texas Instruments`],[`50787d`,`Espressif Inc.`],[`508a06`,`Tuya Smart Inc.`],[`508bb9`,`Tuya Smart Inc.`],[`508cb1`,`Texas Instruments`],[`509893`,`Texas Instruments`],[`50c1f0`,`NXP Semiconductor (Tianjin) LTD.`],[`50f14a`,`Texas Instruments`],[`50f222`,`EM Microelectronic`],[`540f57`,`Silicon Laboratories`],[`5410ec`,`Microchip Technology Inc.`],[`543204`,`Espressif Inc.`],[`5443b2`,`Espressif Inc.`],[`544538`,`Texas Instruments`],[`544a16`,`Texas Instruments`],[`545aa6`,`Espressif Inc.`],[`5464de`,`u-blox AG`],[`546c0e`,`Texas Instruments`],[`547af4`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`547dcd`,`Texas Instruments`],[`54dce9`,`Silicon Laboratories`],[`54ef44`,`Lumi United Technology Co., Ltd`],[`54f82a`,`u-blox AG`],[`54feeb`,`Texas Instruments`],[`58263a`,`Silicon Laboratories`],[`582abd`,`Espressif Inc.`],[`582b0a`,`Texas Instruments`],[`58350f`,`EM Microelectronic`],[`583bc2`,`Silicon Laboratories`],[`587a62`,`Texas Instruments`],[`588c81`,`Espressif Inc.`],[`588ccf`,`Silicon Laboratories`],[`588e81`,`Silicon Laboratories`],[`5893d8`,`Texas Instruments`],[`58a15f`,`Texas Instruments`],[`58bf25`,`Espressif Inc.`],[`58c356`,`EM Microelectronic`],[`58cf79`,`Espressif Inc.`],[`58d15a`,`Texas Instruments`],[`58d50a`,`Murata Manufacturing Co., Ltd.`],[`58e6c5`,`Espressif Inc.`],[`5c013b`,`Espressif Inc.`],[`5c0272`,`Silicon Laboratories`],[`5c313e`,`Texas Instruments`],[`5c33b1`,`EM Microelectronic`],[`5c3aa2`,`Silicon Laboratories`],[`5c53b4`,`EM Microelectronic`],[`5c6152`,`NXP Semiconductor (Tianjin) LTD.`],[`5c6b32`,`Texas Instruments`],[`5cb260`,`EM Microelectronic`],[`5cc7c1`,`Silicon Laboratories`],[`5ccf7f`,`Espressif Inc.`],[`5cdad4`,`Murata Manufacturing Co., Ltd.`],[`5cf821`,`Texas Instruments`],[`5cf8a1`,`Murata Manufacturing Co., Ltd.`],[`600194`,`Espressif Inc.`],[`60045c`,`NXP Semiconductor (Tianjin) LTD.`],[`6009c3`,`u-blox AG`],[`6021c0`,`Murata Manufacturing Co., Ltd.`],[`602602`,`Texas Instruments`],[`602b58`,`EM Microelectronic`],[`603ffb`,`Telink Micro LLC`],[`6055f9`,`Espressif Inc.`],[`606405`,`Texas Instruments`],[`607771`,`Texas Instruments`],[`6083da`,`Silicon Laboratories`],[`608a10`,`Microchip Technology Inc.`],[`609866`,`Texas Instruments`],[`60a423`,`Silicon Laboratories`],[`60b647`,`Silicon Laboratories`],[`60b6e1`,`Texas Instruments`],[`60b763`,`Silicon Laboratories`],[`60d877`,`Phyplus Technology (Shanghai) Co., Ltd`],[`60e85b`,`Texas Instruments`],[`60efab`,`Silicon Laboratories`],[`60f189`,`Murata Manufacturing Co., Ltd.`],[`64028f`,`Silicon Laboratories`],[`641c10`,`Texas Instruments`],[`6433db`,`Texas Instruments`],[`64694e`,`Texas Instruments`],[`647060`,`Texas Instruments`],[`647bd4`,`Texas Instruments`],[`648cbb`,`Texas Instruments`],[`649b8f`,`Texas Instruments`],[`649c8e`,`Texas Instruments`],[`64b708`,`Espressif Inc.`],[`64cfd9`,`Texas Instruments`],[`64e833`,`Espressif Inc.`],[`64f54e`,`EM Microelectronic`],[`680947`,`Espressif Inc.`],[`680ae2`,`Silicon Laboratories`],[`6823b0`,`Texas Instruments`],[`6825dd`,`Espressif Inc.`],[`682719`,`Microchip Technology Inc.`],[`684406`,`Texas Instruments`],[`684724`,`EM Microelectronic`],[`684749`,`Texas Instruments`],[`685377`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`68539d`,`EM Microelectronic`],[`68572d`,`Tuya Smart Inc.`],[`685e1c`,`Texas Instruments`],[`685edf`,`NXP Semiconductors Taiwan Ltd.`],[`686725`,`Espressif Inc.`],[`689e19`,`Texas Instruments`],[`68b6b3`,`Espressif Inc.`],[`68b8bb`,`Beijing Xiaomi Electronics Co.,Ltd`],[`68c63a`,`Espressif Inc.`],[`68c90b`,`Texas Instruments`],[`68d976`,`EM Microelectronic`],[`68e74a`,`Texas Instruments`],[`68ec8a`,`IKEA of Sweden AB`],[`68fe71`,`Espressif Inc.`],[`6c0dc4`,`Beijing Xiaomi Electronics Co., Ltd.`],[`6c1aea`,`Texas Instruments`],[`6c1deb`,`u-blox AG`],[`6c302a`,`Texas Instruments`],[`6c5cb1`,`Silicon Laboratories`],[`6c79b8`,`Texas Instruments`],[`6ca042`,`Silicon Laboratories`],[`6cb2fd`,`Texas Instruments`],[`6cb456`,`Espressif Inc.`],[`6cc374`,`Texas Instruments`],[`6cc840`,`Espressif Inc.`],[`6cd8fb`,`Qorvo Utrecht B.V.`],[`6ce4a4`,`Silicon Laboratories`],[`6ceceb`,`Texas Instruments`],[`6cfd22`,`Silicon Laboratories`],[`70039f`,`Espressif Inc.`],[`70041d`,`Espressif Inc.`],[`704bca`,`Espressif Inc.`],[`705464`,`Silicon Laboratories`],[`707414`,`Murata Manufacturing Co., Ltd.`],[`7086c1`,`Texas Instruments`],[`7087a7`,`Murata Manufacturing Co., Ltd.`],[`708976`,`Tuya Smart Inc.`],[`70ac08`,`Silicon Laboratories`],[`70af09`,`Espressif Inc.`],[`70b3d5`,`IEEE Registration Authority`],[`70b8f6`,`Espressif Inc.`],[`70b950`,`Texas Instruments`],[`70c59c`,`Silicon Laboratories`],[`70d07e`,`Silicon Laboratories`],[`70e56e`,`Texas Instruments`],[`70ff76`,`Texas Instruments`],[`7402e1`,`Texas Instruments`],[`74057c`,`Qorvo International Pte. Ltd.`],[`742981`,`Texas Instruments`],[`7446b3`,`Texas Instruments`],[`744dbd`,`Espressif Inc.`],[`746a84`,`Texas Instruments`],[`747a90`,`Murata Manufacturing Co., Ltd.`],[`7488a8`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`74a58c`,`Texas Instruments`],[`74b839`,`Texas Instruments`],[`74c90f`,`Microchip Technologies Inc`],[`74d285`,`Texas Instruments`],[`74d5c6`,`Microchip Technologies Inc`],[`74d6ea`,`Texas Instruments`],[`74daea`,`Texas Instruments`],[`74dc13`,`Telink Micro LLC`],[`74e182`,`Texas Instruments`],[`780473`,`Texas Instruments`],[`7811dc`,`XIAOMI Electronics,CO.,LTD`],[`781c3c`,`Espressif Inc.`],[`781c9d`,`Silicon Laboratories`],[`782184`,`Espressif Inc.`],[`78421c`,`Espressif Inc.`],[`784b87`,`Murata Manufacturing Co., Ltd.`],[`785333`,`Beijing Xiaomi Electronics Co.,Ltd`],[`785f28`,`EM Microelectronic`],[`787871`,`Texas Instruments`],[`78a504`,`Texas Instruments`],[`78c5e5`,`Texas Instruments`],[`78cd55`,`Texas Instruments`],[`78db2f`,`Texas Instruments`],[`78dee4`,`Texas Instruments`],[`78e36d`,`Espressif Inc.`],[`78ee4c`,`Espressif Inc.`],[`78f505`,`Murata Manufacturing Co., Ltd.`],[`7c010a`,`Texas Instruments`],[`7c1779`,`EM Microelectronic`],[`7c2c67`,`Espressif Inc.`],[`7c31fa`,`Silicon Laboratories`],[`7c3866`,`Texas Instruments`],[`7c3e82`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`7c49eb`,`XIAOMI Electronics,CO.,LTD`],[`7c669d`,`Texas Instruments`],[`7c72e7`,`Texas Instruments`],[`7c7398`,`Espressif Inc.`],[`7c87ce`,`Espressif Inc.`],[`7c8ee4`,`Texas Instruments`],[`7c9ebd`,`Espressif Inc.`],[`7cb8da`,`Murata Manufacturing Co., Ltd.`],[`7cb94c`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`7cc6b6`,`Silicon Laboratories`],[`7cdfa1`,`Espressif Inc.`],[`7ce269`,`Texas Instruments`],[`7cec79`,`Texas Instruments`],[`7cf666`,`Tuya Smart Inc.`],[`801f12`,`Microchip Technology Inc.`],[`8030dc`,`Texas Instruments`],[`803428`,`Microchip Technology Inc.`],[`804b50`,`Silicon Laboratories`],[`804c5d`,`NXP Semiconductor (Tianjin) LTD.`],[`80646f`,`Espressif Inc.`],[`80647c`,`Tuya Smart Inc.`],[`806559`,`EM Microelectronic`],[`806599`,`Espressif Inc.`],[`806a34`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`806fb0`,`Texas Instruments`],[`807d3a`,`Espressif Inc.`],[`80999b`,`Murata Manufacturing Co., Ltd.`],[`80a197`,`u-blox AG`],[`80acc8`,`Phyplus Microelectronics Limited`],[`80b54e`,`Espressif Inc.`],[`80c41b`,`Texas Instruments`],[`80f1b2`,`Espressif Inc.`],[`80f3da`,`Espressif Inc.`],[`80f5b5`,`Texas Instruments`],[`840d8e`,`Espressif Inc.`],[`841fe8`,`Espressif Inc.`],[`842712`,`Silicon Laboratories`],[`842e14`,`Silicon Laboratories`],[`847127`,`Silicon Laboratories`],[`847293`,`Texas Instruments`],[`847e40`,`Texas Instruments`],[`849690`,`Murata Manufacturing Co., Ltd.`],[`84b4db`,`Silicon Laboratories`],[`84ba20`,`Silicon Laboratories`],[`84bb26`,`Texas Instruments`],[`84c692`,`Texas Instruments`],[`84cb85`,`EM Microelectronic`],[`84cca8`,`Espressif Inc.`],[`84dd20`,`Texas Instruments`],[`84e342`,`Tuya Smart Inc.`],[`84e585`,`EM Microelectronic`],[`84eb18`,`Texas Instruments`],[`84f1f7`,`NXP Semiconductor (Tianjin) LTD.`],[`84f3eb`,`Espressif Inc.`],[`84f703`,`Espressif Inc.`],[`84fce6`,`Espressif Inc.`],[`84fd27`,`Silicon Laboratories`],[`8801f9`,`Texas Instruments`],[`880ce0`,`Texas Instruments`],[`880f62`,`Silicon Laboratories`],[`8813bf`,`Espressif Inc.`],[`881a14`,`Silicon Laboratories`],[`88308a`,`Murata Manufacturing Co., Ltd.`],[`883314`,`Texas Instruments`],[`883f4a`,`Texas Instruments`],[`884aea`,`Texas Instruments`],[`88546b`,`Texas Instruments`],[`8856a6`,`Espressif Inc.`],[`885721`,`Espressif Inc.`],[`888c1b`,`EM Microelectronic`],[`88ba74`,`Silicon Laboratories`],[`88c255`,`Texas Instruments`],[`88cfcd`,`Texas Instruments`],[`88f155`,`Espressif Inc.`],[`8c0879`,`Texas Instruments`],[`8c4500`,`Murata Manufacturing Co., Ltd.`],[`8c4b14`,`Espressif Inc.`],[`8c4f00`,`Espressif Inc.`],[`8c5af8`,`Beijing Xiaomi Electronics Co., Ltd.`],[`8c6120`,`EM Microelectronic`],[`8c65a3`,`Silicon Laboratories`],[`8c6fb9`,`Silicon Laboratories`],[`8c7112`,`Microchip Technologies Inc`],[`8c73da`,`Silicon Laboratories`],[`8c8b48`,`Silicon Laboratories`],[`8c8b83`,`Texas Instruments`],[`8c8c29`,`Espressif Inc.`],[`8c94df`,`Espressif Inc.`],[`8caab5`,`Espressif Inc.`],[`8cbfea`,`Espressif Inc.`],[`8ccd55`,`EM Microelectronic`],[`8cce4e`,`Espressif Inc.`],[`8cd066`,`Texas Instruments`],[`8cd54a`,`TAIYO YUDEN CO.,LTD`],[`8cd67f`,`EM Microelectronic`],[`8cf681`,`Silicon Laboratories`],[`8cfd49`,`Espressif Inc.`],[`9006f2`,`Texas Instruments`],[`901506`,`Espressif Inc.`],[`901a4f`,`EM Microelectronic`],[`901f09`,`Silicon Laboratories`],[`9035ea`,`Silicon Laboratories`],[`90380c`,`Espressif Inc.`],[`90395e`,`Silicon Laboratories`],[`904846`,`Texas Instruments`],[`9059af`,`Texas Instruments`],[`90649b`,`Espressif Inc.`],[`906560`,`EM Microelectronic`],[`907065`,`Texas Instruments`],[`907069`,`Espressif Inc.`],[`907bc6`,`Texas Instruments`],[`9097d5`,`Espressif Inc.`],[`909a77`,`Texas Instruments`],[`90a7bf`,`EM Microelectronic`],[`90ab96`,`Silicon Laboratories`],[`90b686`,`Murata Manufacturing Co., Ltd.`],[`90ceb8`,`Texas Instruments`],[`90d7eb`,`Texas Instruments`],[`90e202`,`Texas Instruments`],[`90e5b1`,`Espressif Inc.`],[`90f861`,`u-blox AG`],[`90fd9f`,`Silicon Laboratories`],[`940bfa`,`EM Microelectronic`],[`940e2a`,`NXP Semiconductors Taiwan Ltd.`],[`943469`,`Silicon Laboratories`],[`943cc6`,`Espressif Inc.`],[`945044`,`Texas Instruments`],[`9451dc`,`Espressif Inc.`],[`9454c5`,`Espressif Inc.`],[`94626d`,`Beijing Xiaomi Electronics Co.,Ltd`],[`946c04`,`EM Microelectronic`],[`948854`,`Texas Instruments`],[`94a081`,`Silicon Laboratories`],[`94a990`,`Espressif Inc.`],[`94a9a8`,`Texas Instruments`],[`94b216`,`Silicon Laboratories`],[`94b555`,`Espressif Inc.`],[`94b97e`,`Espressif Inc.`],[`94deb8`,`Silicon Laboratories`],[`94e36d`,`Texas Instruments`],[`94e686`,`Espressif Inc.`],[`94ec32`,`Silicon Laboratories`],[`98038a`,`Texas Instruments`],[`98072d`,`Texas Instruments`],[`980c33`,`Silicon Laboratories`],[`983268`,`Silicon Laboratories`],[`983dae`,`Espressif Inc.`],[`985945`,`Texas Instruments`],[`985dad`,`Texas Instruments`],[`987596`,`EM Microelectronic`],[`987bf3`,`Texas Instruments`],[`9884e3`,`Texas Instruments`],[`9888e0`,`Espressif Inc.`],[`988924`,`Texas Instruments`],[`98a316`,`Espressif Inc.`],[`98cdac`,`Espressif Inc.`],[`98e7d5`,`NXP Semiconductor (Tianjin) LTD.`],[`98f07b`,`Texas Instruments`],[`98f170`,`Murata Manufacturing Co., Ltd.`],[`98f487`,`Texas Instruments`],[`98f4ab`,`Espressif Inc.`],[`9c139e`,`Espressif Inc.`],[`9c1d58`,`Texas Instruments`],[`9c2410`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`9c50d1`,`Murata Manufacturing Co., Ltd.`],[`9c6937`,`Qorvo International Pte. Ltd.`],[`9c956e`,`Microchip Technology Inc.`],[`9c9c1f`,`Espressif Inc.`],[`9c9e6e`,`Espressif Inc.`],[`9ccc01`,`Espressif Inc.`],[`9cdfb3`,`NXP Semiconductor (Tianjin) LTD.`],[`a020a6`,`Espressif Inc.`],[`a05866`,`Qorvo Utrecht B.V.`],[`a06c65`,`Texas Instruments`],[`a0764e`,`Espressif Inc.`],[`a07e16`,`EM Microelectronic`],[`a085e3`,`Espressif Inc.`],[`a09208`,`Tuya Smart Inc.`],[`a0a3b3`,`Espressif Inc.`],[`a0b765`,`Espressif Inc.`],[`a0c9a0`,`Murata Manufacturing Co., Ltd.`],[`a0cc2b`,`Murata Manufacturing Co., Ltd.`],[`a0cdf3`,`Murata Manufacturing Co., Ltd.`],[`a0d91a`,`Texas Instruments`],[`a0dd6c`,`Espressif Inc.`],[`a0e6f8`,`Texas Instruments`],[`a0f262`,`Espressif Inc.`],[`a0f6fd`,`Texas Instruments`],[`a405fd`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`a406e9`,`Texas Instruments`],[`a408ea`,`Murata Manufacturing Co., Ltd.`],[`a434f1`,`Texas Instruments`],[`a459bf`,`Silicon Laboratories`],[`a45c25`,`Texas Instruments`],[`a46d33`,`Phyplus Technology (Shanghai) Co., Ltd`],[`a46dd4`,`Silicon Laboratories`],[`a47b9d`,`Espressif Inc.`],[`a47e36`,`EM Microelectronic`],[`a49e69`,`Silicon Laboratories`],[`a4b0f5`,`Texas Instruments`],[`a4c138`,`Telink Semiconductor (Taipei) Co. Ltd.`],[`a4c34e`,`Texas Instruments`],[`a4cb8f`,`Espressif Inc.`],[`a4cf12`,`Espressif Inc.`],[`a4d578`,`Texas Instruments`],[`a4da32`,`Texas Instruments`],[`a4e57c`,`Espressif Inc.`],[`a4f00f`,`Espressif Inc.`],[`a8032a`,`Espressif Inc.`],[`a81087`,`Texas Instruments`],[`a81710`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`a81b6a`,`Texas Instruments`],[`a842e3`,`Espressif Inc.`],[`a84674`,`Espressif Inc.`],[`a848fa`,`Espressif Inc.`],[`a861ec`,`Texas Instruments`],[`a863f2`,`Texas Instruments`],[`a88055`,`Tuya Smart Inc.`],[`a8e2c1`,`Texas Instruments`],[`a8e77d`,`Texas Instruments`],[`a8f8c9`,`NXP Semiconductor (Tianjin) LTD.`],[`ac0bfb`,`Espressif Inc.`],[`ac1518`,`Espressif Inc.`],[`ac1f0f`,`Texas Instruments`],[`ac276e`,`Espressif Inc.`],[`ac3b96`,`NXP Semiconductor (Tianjin) LTD.`],[`ac3fa4`,`TAIYO YUDEN CO.,LTD`],[`ac4d16`,`Texas Instruments`],[`ac5c80`,`Telink Micro LLC`],[`ac67b2`,`Espressif Inc.`],[`ac9a22`,`NXP Semiconductors`],[`aca704`,`Espressif Inc.`],[`acd074`,`Espressif Inc.`],[`acd829`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`acebe6`,`Espressif Inc.`],[`acf932`,`NXP Semiconductor (Tianjin) LTD.`],[`acfce3`,`EM Microelectronic`],[`b010a0`,`Texas Instruments`],[`b05246`,`NXP Semiconductor (Tianjin) LTD.`],[`b0653a`,`Murata Manufacturing Co., Ltd.`],[`b072bf`,`Murata Manufacturing Co., Ltd.`],[`b07e11`,`Texas Instruments`],[`b08184`,`Espressif Inc.`],[`b09122`,`Texas Instruments`],[`b09501`,`EM Microelectronic`],[`b0a604`,`Espressif Inc.`],[`b0a732`,`Espressif Inc.`],[`b0b113`,`Texas Instruments`],[`b0b21c`,`Espressif Inc.`],[`b0b448`,`Texas Instruments`],[`b0c7de`,`Silicon Laboratories`],[`b0cbd8`,`Espressif Inc.`],[`b0d278`,`Texas Instruments`],[`b0d5cc`,`Texas Instruments`],[`b0e8e8`,`Silicon Laboratories`],[`b0fa91`,`EM Microelectronic`],[`b40ecf`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`b4107b`,`Texas Instruments`],[`b42330`,`Itron Inc`],[`b43522`,`Silicon Laboratories`],[`b43a31`,`Silicon Laboratories`],[`b43a45`,`Espressif Inc.`],[`b43d6b`,`NXP Semiconductor (Tianjin) LTD.`],[`b452a9`,`Texas Instruments`],[`b48931`,`Silicon Laboratories`],[`b48a0a`,`Espressif Inc.`],[`b4994c`,`Texas Instruments`],[`b4ac9d`,`Texas Instruments`],[`b4bc7c`,`Texas Instruments`],[`b4bfe9`,`Espressif Inc.`],[`b4c2e0`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`b4e3f9`,`Silicon Laboratories`],[`b4e62d`,`Espressif Inc.`],[`b4e842`,`Hong Kong Bouffalo Lab Limited`],[`b4eed4`,`Texas Instruments`],[`b8060d`,`Tuya Smart Inc.`],[`b83df6`,`Texas Instruments`],[`b83dfb`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`b848aa`,`EM Microelectronic`],[`b852e0`,`Beijing Xiaomi Electronics Co.,Ltd`],[`b8804f`,`Texas Instruments`],[`b894d9`,`Texas Instruments`],[`b8d61a`,`Espressif Inc.`],[`b8d7af`,`Murata Manufacturing Co., Ltd.`],[`b8f009`,`Espressif Inc.`],[`b8f44f`,`u-blox AG`],[`b8f862`,`Espressif Inc.`],[`b8fffe`,`Texas Instruments`],[`bc026e`,`Silicon Laboratories`],[`bc0da5`,`Texas Instruments`],[`bc33ac`,`Silicon Laboratories`],[`bc351e`,`Tuya Smart Inc.`],[`bc6a29`,`Texas Instruments`],[`bc6e6d`,`EM Microelectronic`],[`bc8d7e`,`Silicon Laboratories`],[`bc9d37`,`Telink Micro LLC`],[`bcb4fd`,`NXP Semiconductor (Tianjin) LTD.`],[`bcddc2`,`Espressif Inc.`],[`bcf212`,`Telink Micro LLC`],[`bcff4d`,`Espressif Inc.`],[`c02ced`,`Silicon Laboratories`],[`c049bd`,`EM Microelectronic`],[`c049ef`,`Espressif Inc.`],[`c04a0e`,`Texas Instruments`],[`c04e30`,`Espressif Inc.`],[`c05d89`,`Espressif Inc.`],[`c06380`,`Texas Instruments`],[`c09b9e`,`Silicon Laboratories`],[`c0a3c7`,`Telink Micro LLC`],[`c0cdd6`,`Espressif Inc.`],[`c0d063`,`EM Microelectronic`],[`c0d60a`,`Texas Instruments`],[`c0e422`,`Texas Instruments`],[`c0f853`,`Tuya Smart Inc.`],[`c419d1`,`Telink Semiconductor (Shanghai) Co., Ltd.`],[`c4224e`,`Telink Micro LLC`],[`c42996`,`Signify B.V.`],[`c44f33`,`Espressif Inc.`],[`c45746`,`Texas Instruments`],[`c45bbe`,`Espressif Inc.`],[`c464e3`,`Texas Instruments`],[`c47da8`,`NXP Semiconductor (Tianjin) LTD.`],[`c482e1`,`Tuya Smart Inc.`],[`c49886`,`Qorvo International Pte. Ltd.`],[`c4ac59`,`Murata Manufacturing Co., Ltd.`],[`c4be84`,`Texas Instruments`],[`c4d36a`,`Texas Instruments`],[`c4d7fd`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`c4d8c8`,`Silicon Laboratories`],[`c4d8d5`,`Espressif Inc.`],[`c4dd57`,`Espressif Inc.`],[`c4dee2`,`Espressif Inc.`],[`c4edba`,`Texas Instruments`],[`c4f312`,`Texas Instruments`],[`c82832`,`Beijing Xiaomi Electronics Co., Ltd.`],[`c82b96`,`Espressif Inc.`],[`c82e18`,`Espressif Inc.`],[`c83e99`,`Texas Instruments`],[`c890a8`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`c8a030`,`Texas Instruments`],[`c8b1ee`,`Qorvo`],[`c8c83f`,`Texas Instruments`],[`c8c9a3`,`Espressif Inc.`],[`c8df84`,`Texas Instruments`],[`c8e713`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`c8f09e`,`Espressif Inc.`],[`c8f225`,`EM Microelectronic`],[`c8fd19`,`Texas Instruments`],[`cc037b`,`Texas Instruments`],[`cc22df`,`EM Microelectronic`],[`cc3331`,`Texas Instruments`],[`cc36bb`,`Silicon Laboratories`],[`cc45a5`,`Texas Instruments`],[`cc50e3`,`Espressif Inc.`],[`cc78ab`,`Texas Instruments`],[`cc7b5c`,`Espressif Inc.`],[`cc7d5b`,`Telink Semiconductor (Shanghai) Co., Ltd.`],[`cc86ec`,`Silicon Laboratories`],[`cc8cbf`,`Tuya Smart Inc.`],[`cc8ce3`,`Texas Instruments`],[`cc8da2`,`Espressif Inc.`],[`ccacfe`,`Telink Semiconductor (Shanghai) Co., Ltd.`],[`ccb54c`,`Texas Instruments`],[`ccba97`,`Espressif Inc.`],[`ccc079`,`Murata Manufacturing Co., Ltd.`],[`cccccc`,`Silicon Laboratories`],[`ccdab5`,`Texas Instruments`],[`ccdba7`,`Espressif Inc.`],[`ccf957`,`u-blox AG`],[`d003eb`,`Texas Instruments`],[`d00790`,`Texas Instruments`],[`d00b27`,`Murata Manufacturing Co., Ltd.`],[`d01769`,`Murata Manufacturing Co., Ltd.`],[`d02eab`,`Texas Instruments`],[`d035e5`,`EM Microelectronic`],[`d03761`,`Texas Instruments`],[`d03972`,`Texas Instruments`],[`d040ef`,`Murata Manufacturing Co., Ltd.`],[`d05fb8`,`Texas Instruments`],[`d08cb5`,`Texas Instruments`],[`d0a9d3`,`EM Microelectronic`],[`d0ab4a`,`Telink Micro LLC`],[`d0b5c2`,`Texas Instruments`],[`d0cf13`,`Espressif Inc.`],[`d0e44a`,`Murata Manufacturing Co., Ltd.`],[`d0ef76`,`Espressif Inc.`],[`d0ff50`,`Texas Instruments`],[`d4060f`,`Texas Instruments`],[`d419f6`,`NXP Semiconductor (Tianjin) LTD.`],[`d43639`,`Texas Instruments`],[`d44867`,`Silicon Laboratories`],[`d44b5e`,`TAIYO YUDEN CO., LTD.`],[`d44da4`,`Murata Manufacturing Co., Ltd.`],[`d45383`,`Murata Manufacturing Co., Ltd.`],[`d45eec`,`Beijing Xiaomi Electronics Co., Ltd.`],[`d48afc`,`Espressif Inc.`],[`d48c49`,`Espressif Inc.`],[`d494a1`,`Texas Instruments`],[`d4a651`,`Tuya Smart Inc.`],[`d4ca6e`,`u-blox AG`],[`d4d4da`,`Espressif Inc.`],[`d4e95e`,`Texas Instruments`],[`d4e9f4`,`Espressif Inc.`],[`d4f513`,`Texas Instruments`],[`d4f98d`,`Espressif Inc.`],[`d4fe28`,`Silicon Laboratories`],[`d80bcb`,`Telink Semiconductor (Shanghai) Co., Ltd.`],[`d81068`,`Murata Manufacturing Co., Ltd.`],[`d8132a`,`Espressif Inc.`],[`d81d13`,`Texas Instruments`],[`d81f12`,`Tuya Smart Inc.`],[`d83bda`,`Espressif Inc.`],[`d8478f`,`Microchip Technology Inc.`],[`d852fa`,`Texas Instruments`],[`d8543a`,`Texas Instruments`],[`d85f77`,`Telink Semiconductor (Shanghai) Co., Ltd.`],[`d8714d`,`Texas Instruments`],[`d878f0`,`Silicon Laboratories`],[`d87a3b`,`Silicon Laboratories`],[`d88039`,`Microchip Technology Inc.`],[`d885ac`,`Espressif Inc.`],[`d8952f`,`Texas Instruments`],[`d8a01d`,`Espressif Inc.`],[`d8a98b`,`Texas Instruments`],[`d8b673`,`Texas Instruments`],[`d8bc38`,`Espressif Inc.`],[`d8bfc0`,`Espressif Inc.`],[`d8c46a`,`Murata Manufacturing Co., Ltd.`],[`d8c80c`,`Tuya Smart Inc.`],[`d8d668`,`Tuya Smart Inc.`],[`d8ddfd`,`Texas Instruments`],[`d8f15b`,`Espressif Inc.`],[`d8f760`,`EM Microelectronic`],[`d8fc92`,`Tuya Smart Inc.`],[`dc0675`,`Espressif Inc.`],[`dc1ed5`,`Espressif Inc.`],[`dc4f22`,`Espressif Inc.`],[`dc5475`,`Espressif Inc.`],[`dc8e95`,`Silicon Laboratories`],[`dc9b95`,`Phyplus Technology (Shanghai) Co., Ltd`],[`dcb4d9`,`Espressif Inc.`],[`dcbe04`,`Texas Instruments`],[`dccd66`,`NXP Semiconductor (Tianjin) LTD.`],[`dcda0c`,`Espressif Inc.`],[`dcdee3`,`Texas Instruments`],[`dcefca`,`Murata Manufacturing Co., Ltd.`],[`dcf31c`,`Texas Instruments`],[`dcfe23`,`Murata Manufacturing Co., Ltd.`],[`e0189f`,`EM Microelectronic`],[`e0315d`,`EM Microelectronic`],[`e05124`,`NXP Semiconductors`],[`e05a1b`,`Espressif Inc.`],[`e06234`,`Texas Instruments`],[`e068ee`,`Phyplus Microelectronics Limited`],[`e07291`,`Silicon Laboratories`],[`e072a1`,`Espressif Inc.`],[`e0798d`,`Silicon Laboratories`],[`e07dea`,`Texas Instruments`],[`e08cfe`,`Espressif Inc.`],[`e0928f`,`Texas Instruments`],[`e09806`,`Espressif Inc.`],[`e0b655`,`Beijing Xiaomi Electronics Co., Ltd.`],[`e0c79d`,`Texas Instruments`],[`e0d7ba`,`Texas Instruments`],[`e0def2`,`Texas Instruments`],[`e0e2e6`,`Espressif Inc.`],[`e0e5cf`,`Texas Instruments`],[`e0fff1`,`Texas Instruments`],[`e406bf`,`Silicon Laboratories`],[`e415f6`,`Texas Instruments`],[`e44519`,`Beijing Xiaomi Electronics Co.,Ltd`],[`e4521e`,`Texas Instruments`],[`e456ac`,`Silicon Laboratories`],[`e45d39`,`Texas Instruments`],[`e46447`,`EM Microelectronic`],[`e465b8`,`Espressif Inc.`],[`e498bb`,`Phyplus Microelectronics Limited`],[`e4aee4`,`Tuya Smart Inc.`],[`e4b063`,`Espressif Inc.`],[`e4b323`,`Espressif Inc.`],[`e4db6d`,`Beijing Xiaomi Electronics Co., Ltd.`],[`e4e112`,`Texas Instruments`],[`e4fa5b`,`Texas Instruments`],[`e80690`,`Espressif Inc.`],[`e831cd`,`Espressif Inc.`],[`e83dc1`,`Espressif Inc.`],[`e84f25`,`Murata Manufacturing Co., Ltd.`],[`e868e7`,`Espressif Inc.`],[`e86bea`,`Espressif Inc.`],[`e89f6d`,`Espressif Inc.`],[`e8b527`,`Phyplus Technology (Shanghai) Co., Ltd`],[`e8ca50`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`e8db84`,`Espressif Inc.`],[`e8e07e`,`Silicon Laboratories`],[`e8e8b7`,`Murata Manufacturing Co., Ltd.`],[`e8eb11`,`Texas Instruments`],[`e8eb1b`,`Microchip Technology Inc.`],[`e8f60a`,`Espressif Inc.`],[`ec09c9`,`Texas Instruments`],[`ec1055`,`Beijing Xiaomi Electronics Co.,Ltd`],[`ec1127`,`Texas Instruments`],[`ec1bbd`,`Silicon Laboratories`],[`ec1bfa`,`EM Microelectronic`],[`ec24b8`,`Texas Instruments`],[`ec3baf`,`EM Microelectronic`],[`ec4118`,`XIAOMI Electronics,CO.,LTD`],[`ec5c84`,`Murata Manufacturing Co., Ltd.`],[`ec6260`,`Espressif Inc.`],[`ec64c9`,`Espressif Inc.`],[`ec94cb`,`Espressif Inc.`],[`ec9a34`,`Texas Instruments`],[`ecb0d2`,`EM Microelectronic`],[`ecb5fa`,`Philips Lighting BV`],[`ecbfd0`,`Texas Instruments`],[`ecc9ff`,`Espressif Inc.`],[`ecda3b`,`Espressif Inc.`],[`ece334`,`Espressif Inc.`],[`ecf64c`,`Silicon Laboratories`],[`ecfa5c`,`Beijing Xiaomi Electronics Co., Ltd.`],[`ecfabc`,`Espressif Inc.`],[`f008d1`,`Espressif Inc.`],[`f010a5`,`Texas Instruments`],[`f0161d`,`Espressif Inc.`],[`f024f9`,`Espressif Inc.`],[`f02765`,`Murata Manufacturing Co., Ltd.`],[`f03e05`,`Murata Manufacturing Co., Ltd.`],[`f044d3`,`Silicon Laboratories`],[`f045da`,`Texas Instruments`],[`f05ecd`,`Texas Instruments`],[`f06d93`,`EM Microelectronic`],[`f074bf`,`Silicon Laboratories`],[`f082c0`,`Silicon Laboratories`],[`f0866f`,`EM Microelectronic`],[`f09e9e`,`Espressif Inc.`],[`f0b5d1`,`Texas Instruments`],[`f0c77f`,`Texas Instruments`],[`f0d1b8`,`LEDVANCE`],[`f0f5bd`,`Espressif Inc.`],[`f0f8f2`,`Texas Instruments`],[`f0fd45`,`Silicon Laboratories`],[`f4063c`,`Texas Instruments`],[`f412fa`,`Espressif Inc.`],[`f42dc9`,`Espressif Inc.`],[`f44250`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`f45eab`,`Texas Instruments`],[`f46077`,`Texas Instruments`],[`f4635a`,`NXP Semiconductor (Tianjin) LTD.`],[`f4650b`,`Espressif Inc.`],[`f46ed6`,`EM Microelectronic`],[`f4844c`,`Texas Instruments`],[`f4b3b1`,`Silicon Laboratories`],[`f4b85e`,`Texas Instruments`],[`f4b898`,`Texas Instruments`],[`f4ce36`,`Nordic Semiconductor ASA`],[`f4cfa2`,`Espressif Inc.`],[`f4e11e`,`Texas Instruments`],[`f4fbf5`,`EM Microelectronic`],[`f4fc32`,`Texas Instruments`],[`f80584`,`EM Microelectronic`],[`f8172d`,`Tuya Smart Inc.`],[`f82e0c`,`Texas Instruments`],[`f83002`,`Texas Instruments`],[`f83331`,`Texas Instruments`],[`f8369b`,`Texas Instruments`],[`f84477`,`Silicon Laboratories`],[`f85548`,`Texas Instruments`],[`f85b1b`,`Espressif Inc.`],[`f88a5e`,`Texas Instruments`],[`f8916f`,`Texas Instruments`],[`f8b3b7`,`Espressif Inc.`],[`f8fb90`,`Texas Instruments`],[`fc012c`,`Espressif Inc.`],[`fc0f4b`,`Texas Instruments`],[`fc0fe7`,`Microchip Technology Inc.`],[`fc13f0`,`Bouffalo Lab (Nanjing) Co., Ltd.`],[`fc268c`,`Signify B.V.`],[`fc3cd7`,`Tuya Smart Inc.`],[`fc45c3`,`Texas Instruments`],[`fc4d6a`,`Silicon Laboratories`],[`fc671f`,`Tuya Smart Inc.`],[`fc6947`,`Texas Instruments`],[`fc84a7`,`Murata Manufacturing Co., Ltd.`],[`fc8fa4`,`NXP Semiconductors Taiwan Ltd.`],[`fc963e`,`EM Microelectronic`],[`fca89b`,`Texas Instruments`],[`fcb467`,`Espressif Inc.`],[`fcc23d`,`Atmel Corporation`],[`fcc2de`,`Murata Manufacturing Co., Ltd.`],[`fccf9f`,`EM Microelectronic`],[`fcdbb3`,`Murata Manufacturing Co., Ltd.`],[`fcdec5`,`Texas Instruments`],[`fce8c0`,`Espressif Inc.`],[`fcf5c4`,`Espressif Inc.`]]),b=e(t(),1),x=n(),S=r.create(({sourceIdx:e,homeassistantEnabled:t,name:n,renameDevice:r})=>{let o=i(),{t:s}=m([`zigbee`,`common`]),[c,l]=(0,b.useState)(!1),[u,d]=(0,b.useState)(n);return(0,b.useEffect)(()=>{d(n)},[n]),(0,b.useEffect)(()=>{let e=e=>{e.key===`Escape`&&(e.preventDefault(),o.remove())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[o]),(0,x.jsx)(a,{isOpen:o.visible,title:`${s(e=>e.rename_device)} ${n}`,footer:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(p,{className:`btn btn-neutral`,onClick:o.remove,children:s(e=>e.cancel,{ns:`common`})}),(0,x.jsx)(p,{className:`btn btn-primary ms-1`,onClick:async()=>{o.remove(),await r(e,n,u,c)},children:s(e=>e.rename_device)})]}),children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,x.jsx)(g,{name:`friendly_name`,label:s(e=>e.friendly_name,{ns:`common`}),onChange:e=>d(e.target.value),value:u,type:`text`}),t&&(0,x.jsx)(_,{label:s(e=>e.update_Home_assistant_entity_id),name:`update_Home_assistant_entity_id`,onChange:e=>l(e.target.checked),checked:c})]})})}),C=(0,b.memo)(({sourceIdx:e,name:t,homeassistantEnabled:n,style:i,renameDevice:a})=>{let{t:o}=m(`zigbee`);return(0,x.jsx)(p,{className:`btn ${i}`,onClick:async()=>await r.show(S,{sourceIdx:e,name:t,renameDevice:a,homeassistantEnabled:n}),title:o(e=>e.rename_device),children:(0,x.jsx)(u,{icon:l})})});function w({sourceIdx:e,device:t,otaState:n,homeassistantEnabled:i,renameDevice:a,configureDevice:s,interviewDevice:l,removeDevice:g,btnClassName:_=``}){let{t:y}=m([`zigbee`,`common`]),b=t.interview_state===o.InProgress||t.interview_state===o.Pending||n===`updating`;return(0,x.jsxs)(`div`,{className:`join join-horizontal`,children:[(0,x.jsx)(C,{sourceIdx:e,name:t.friendly_name,renameDevice:a,homeassistantEnabled:i,style:`btn-outline btn-primary join-item btn-square ${_}`}),(0,x.jsx)(h,{className:`btn btn-outline btn-warning join-item btn-square ${_}`,onClick:s,item:[e,t.ieee_address],title:y(e=>e.reconfigure),modalDescription:y(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:y(e=>e.cancel,{ns:`common`}),disabled:b,children:(0,x.jsx)(u,{icon:c})}),(0,x.jsx)(h,{className:`btn btn-outline btn-info join-item btn-square ${_}`,onClick:l,item:[e,t.ieee_address],title:y(e=>e.interview),modalDescription:y(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:y(e=>e.cancel,{ns:`common`}),disabled:b,children:(0,x.jsx)(u,{icon:f})}),(0,x.jsx)(p,{onClick:async()=>await r.show(v,{sourceIdx:e,device:t,removeDevice:g}),className:`btn btn-outline btn-error join-item btn-square ${_}`,title:y(e=>e.remove_device),children:(0,x.jsx)(u,{icon:d})})]})}var T=(0,b.memo)(e=>{let{t}=m(`availability`),{availability:n,availabilityFeatureEnabled:r,availabilityEnabledForDevice:i,disabled:a}=e;return a?(0,x.jsx)(`span`,{children:t(e=>e.disabled)}):i??r?(0,x.jsx)(`span`,{className:n===`online`?`text-success`:`text-error`,children:t(e=>e[n])}):(0,x.jsx)(`a`,{className:`link link-hover`,target:`_blank`,rel:`noopener noreferrer`,href:s,children:t(e=>e.disabled)})});export{y as i,w as n,C as r,T as t};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{i as r}from"./store-DGIKh3zK.js";import{t as i}from"./shallow-inzhGNJg.js";import{Cn as a,t as o,yr as s,z as c}from"./dist-CfE5hTP4.js";import{t as l}from"./Button-C09wmyxO.js";import{f as u,i as d,r as f}from"./index-D3pYOruP.js";import{a as p,c as m,d as h,i as g,n as _,o as v,r as y,s as b,t as x,u as S}from"./floating-ui.react-DzkqpTVq.js";import{c as C,i as w,o as T,t as E}from"./BindRow-BqbLxL4R.js";var D=e(t(),1),O=n(),k=e=>`${e.isNew}-${e.source.endpoint}-${e.source.ieee_address}-${`ieee_address`in e.target?e.target.ieee_address:e.target.id}-${e.clusters.join(`-`)}`,A=(0,D.memo)(({endpointId:e,rules:t,devices:n,groups:r,sourceIdx:i,device:s,onApply:d})=>{let{t:f}=u([`common`,`zigbee`,`scene`]),w=(0,D.useRef)(null),[T,A]=(0,D.useState)(!1),[j,M]=(0,D.useState)(null),{refs:N,floatingStyles:P,context:F}=p({open:T,onOpenChange:A,placement:`bottom-end`,middleware:[S(8),h({padding:16,crossAxis:!0}),m({element:w})],strategy:`fixed`,transform:!1}),{getReferenceProps:I,getFloatingProps:L}=v([y(F,{event:`click`}),g(F),b(F)]);(0,D.useEffect)(()=>{M(T?C(s.ieee_address,e):null)},[T,s.ieee_address,e]);let R=(0,D.useCallback)(async([e,t])=>{await d([e,t]),t.isNew&&A(!1)},[d]);return(0,O.jsx)(`section`,{className:`card bg-base-200 card-border border-base-200 shadow-sm`,children:(0,O.jsxs)(`div`,{className:`card-body p-3`,children:[(0,O.jsxs)(`div`,{className:`card-title flex flex-wrap gap-2 items-center justify-between`,children:[f(e=>e.source_endpoint,{ns:`common`}),` `,e,(0,O.jsxs)(`button`,{ref:N.setReference,type:`button`,className:`btn btn-primary btn-outline btn-sm`,...I(),children:[(0,O.jsx)(o,{icon:a}),(0,O.jsx)(`span`,{children:f(e=>e.add,{ns:`common`})})]})]}),t.length>0?t.map((e,a)=>(0,O.jsx)(E,{rule:e,sourceIdx:i,groups:r,device:s,devices:n,showDivider:a<t.length-1,onApply:R},k(e))):(0,O.jsx)(`p`,{className:`text-sm opacity-70`,children:f(e=>e.none,{ns:`common`})}),T&&j?(0,O.jsx)(_,{children:(0,O.jsxs)(`aside`,{ref:N.setFloating,style:P,...L({className:`card bg-base-200 shadow-lg border border-base-300 w-[min(32rem,calc(100vw-2.5rem))] max-h-[90vh] z-11`}),children:[(0,O.jsxs)(`div`,{className:`card-body py-2`,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,O.jsxs)(`h4`,{className:`card-title`,children:[f(e=>e.add,{ns:`common`}),`: `,f(e=>e.source_endpoint,{ns:`common`}),` `,e]}),(0,O.jsx)(l,{onClick:()=>A(!1),className:`btn btn-ghost btn-square`,children:(0,O.jsx)(o,{icon:c})})]}),(0,O.jsx)(E,{rule:j,sourceIdx:i,groups:r,device:s,devices:n,showDivider:!1,onApply:R})]}),(0,O.jsx)(x,{ref:w,context:F,className:`fill-base-200 [&>path:first-of-type]:stroke-base-300 [&>path:last-of-type]:stroke-base-300`})]})}):null]})})});function j({sourceIdx:e,device:t}){let{t:n}=u(`common`),a=r(i(t=>t.devices[e])),c=r(i(t=>t.groups[e])),l=(0,D.useMemo)(()=>w(t),[t]),p=(0,D.useCallback)(async([n,r])=>{let i=T(r.target,a,c);if(!i)return;let o={from:t.ieee_address,from_endpoint:r.source.endpoint,to:i.to,to_endpoint:i.toEndpoint,clusters:r.clusters};n===`Bind`?await d(e,`bridge/request/device/bind`,o):await d(e,`bridge/request/device/unbind`,o)},[e,t,a,c]),m=(0,D.useCallback)(async([e,t,n])=>{await d(e,`bridge/request/device/binds/clear`,{target:t,ieee_list:n})},[]);return(0,O.jsxs)(`div`,{className:`flex flex-col w-full gap-3`,children:[(0,O.jsxs)(`div`,{className:`flex flex-row flex-wrap gap-3`,children:[(0,O.jsxs)(f,{className:`btn btn-outline btn-error join-item`,item:[e,t.ieee_address,[t.ieee_address]],onClick:m,title:n(e=>e.clear_self_as_source),modalDescription:n(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:n(e=>e.cancel,{ns:`common`}),children:[(0,O.jsx)(o,{icon:s}),n(e=>e.clear_self_as_source)]}),(0,O.jsxs)(f,{className:`btn btn-outline btn-error join-item`,item:[e,t.ieee_address,[`0xffffffffffffffff`]],onClick:m,title:n(e=>e.clear_all),modalDescription:n(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:n(e=>e.cancel,{ns:`common`}),children:[(0,O.jsx)(o,{icon:s}),n(e=>e.clear_all)]})]}),l.map(n=>(0,O.jsx)(A,{...n,devices:a,groups:c,sourceIdx:e,device:t,onApply:p},n.endpointId))]})}export{j as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{d as r,s as i}from"./store-DGIKh3zK.js";import{D as a}from"./consts-ACU3OL1g.js";import{Gt as o,Sr as s,t as c}from"./dist-CfE5hTP4.js";import{t as l}from"./Button-C09wmyxO.js";import{f as u,r as d}from"./index-D3pYOruP.js";import{t as f}from"./react-select.esm-D6gkf1g1.js";import{t as p}from"./DevicePicker-DEKNbCXB.js";import{t as m}from"./EndpointPicker-CSugtgbJ.js";var h=(e,t)=>({isNew:!0,target:{type:`endpoint`,ieee_address:``,endpoint:``},source:{ieee_address:e,endpoint:t},clusters:[]}),g=e=>{let t={};for(let n in e.endpoints){let r=e.endpoints[n];for(let i of r.bindings){let r=`ieee_address`in i.target?`${i.target.ieee_address}-${i.target.endpoint}`:i.target.id;r=`${r}-${n}`,t[r]?t[r].clusters.push(i.cluster):t[r]={source:{ieee_address:e.ieee_address,endpoint:n},target:{...i.target},clusters:[i.cluster]}}}return Object.values(t)},_=e=>{let t=[];for(let n in e.endpoints){let r=e.endpoints[n],i={};for(let t of r.bindings){let r=`ieee_address`in t.target?`${t.target.ieee_address}-${t.target.endpoint}`:`group-${t.target.id}`;i[r]?i[r].clusters.push(t.cluster):i[r]={source:{ieee_address:e.ieee_address,endpoint:n},target:{...t.target},clusters:[t.cluster]}}t.push({endpointId:n,rules:Object.values(i)})}return t},v=(e,t,n)=>{let r=new Set(e.clusters),i=t[e.source.endpoint],a=e.target.type===`endpoint`&&e.target.endpoint!=null?n?.endpoints[e.target.endpoint]:void 0,o=e.target.type===`group`||n?.type===`Coordinator`;if(i&&(a||o))for(let e of[...i.clusters.input,...i.clusters.output])if(o)r.add(e);else{let t=i.clusters.input.includes(e)&&a?.clusters.output.includes(e),n=i.clusters.output.includes(e)&&a?.clusters.input.includes(e);(t||n||o)&&r.add(e)}return r},y=(e,t,n)=>{if(e.type===`group`){let t=n.find(t=>t.id===e.id);if(!t){console.error(`Target group does not exist:`,e.id);return}return{to:t.id}}let r=t.find(t=>t.ieee_address===e.ieee_address);if(!r){console.error(`Target device does not exist:`,e.ieee_address);return}return{to:r.ieee_address,toEndpoint:r.type===`Coordinator`?void 0:e.endpoint}},b=e=>!(!Array.isArray(e)||e.length===0),x=e=>{if(e.source.endpoint===void 0||e.source.endpoint===``||Number.isNaN(e.source.endpoint))return!1;if(e.target.type===`endpoint`){if(!e.target.ieee_address||e.target.endpoint===void 0||e.target.endpoint===``||Number.isNaN(e.target.endpoint))return!1}else if(e.target.type===`group`&&(e.target.id===void 0||Number.isNaN(e.target.id)))return!1;return b(e.clusters)},S=e(t(),1),C=n(),w=(0,S.memo)(({clusters:e,onChange:t,label:n,value:r,disabled:i,required:o})=>{let{t:s}=u(`zigbee`),c=(0,S.useMemo)(()=>{let t=[];for(let n of e)t.push({label:n,value:n});return t.sort((e,t)=>e.label.localeCompare(t.label)),t},[e]),l=(0,S.useMemo)(()=>r==null?[]:c.filter(e=>r.includes(e.value)),[r,c]);return(0,C.jsxs)(`fieldset`,{className:`fieldset`,children:[n&&(0,C.jsxs)(`legend`,{className:`fieldset-legend`,children:[n,o?` *`:``]}),(0,C.jsx)(f,{unstyled:!0,placeholder:s(e=>e.select_cluster),"aria-label":n??s(e=>e.select_cluster),options:c,value:l,isMulti:!0,hideSelectedOptions:!0,isSearchable:!0,isDisabled:i,onChange:e=>{t(e.map(e=>e.value))},className:`min-w-64`,classNames:a})]})}),T=(0,S.memo)(({devices:e,groups:t,device:n,rule:a,onApply:f,showDivider:h,hideUnbind:g=!1})=>{let[_,y]=(0,S.useState)(a),{t:b}=u([`common`,`zigbee`]);(0,S.useEffect)(()=>{y(a)},[a]);let T=(0,S.useCallback)(e=>{if(!e)return;let t=r(e)?{type:`endpoint`,ieee_address:e.ieee_address,endpoint:``}:{type:`group`,id:e.id};y(e=>({...e,target:t,clusters:[]}))},[]),E=(0,S.useCallback)(e=>{_.target.type===`endpoint`&&y(t=>({...t,target:{...t.target,endpoint:e},clusters:[]}))},[_.target.type]),D=(0,S.useCallback)(e=>{y(t=>({...t,clusters:e}))},[]),O=(0,S.useMemo)(()=>{let{target:n}=_;return n.type===`group`?t.find(e=>e.id===n.id):e.find(e=>e.ieee_address===n.ieee_address)},[_,e,t]),k=(0,S.useMemo)(()=>i(O),[O]),A=(0,S.useMemo)(()=>v(_,n.endpoints,O),[n.endpoints,_,O]),j=(0,S.useMemo)(()=>x(_),[_]);return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(`div`,{className:`flex flex-row flex-wrap gap-2`,children:[(0,C.jsx)(p,{label:b(e=>e.destination),disabled:!_.isNew,value:`ieee_address`in _.target?_.target.ieee_address:_.target.id,devices:e,groups:t,onChange:T,required:!0}),_.target.type===`endpoint`?(0,C.jsx)(m,{label:b(e=>e.destination_endpoint),disabled:!_.isNew,values:k,value:_.target.endpoint,onChange:E}):(0,C.jsx)(`div`,{className:`w-32`}),(0,C.jsx)(`div`,{className:`grow w-128`,children:(0,C.jsx)(w,{label:b(e=>e.clusters),clusters:A,value:_.clusters,onChange:D})}),(0,C.jsxs)(`fieldset`,{className:`fieldset ml-auto`,children:[(0,C.jsx)(`legend`,{className:`fieldset-legend`,children:b(e=>e.actions)}),(0,C.jsxs)(`div`,{className:`join join-horizontal`,children:[(0,C.jsxs)(l,{item:[`Bind`,_],disabled:!j,title:b(e=>e.bind),className:`btn btn-primary btn-outline join-item`,onClick:f,children:[(0,C.jsx)(c,{icon:o}),b(e=>e.bind),`\xA0`]}),!g&&!_.isNew?(0,C.jsxs)(d,{item:[`Unbind`,_],disabled:!j,title:b(e=>e.unbind),className:`btn btn-error btn-outline join-item`,onClick:f,modalDescription:b(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:b(e=>e.cancel,{ns:`common`}),children:[(0,C.jsx)(c,{icon:s}),`\xA0`,b(e=>e.unbind)]}):null]})]})]}),h?(0,C.jsx)(`div`,{className:`divider my-0`}):null]})});export{v as a,h as c,_ as i,w as n,y as o,g as r,b as s,T as t};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{n as r,r as i,t as a}from"./Modal-DkH2V1VC.js";import{i as o,r as s,s as c,t as l}from"./store-DGIKh3zK.js";import{Gt as u,Hn as d,Sr as f,t as p}from"./dist-CfE5hTP4.js";import{t as m}from"./Button-C09wmyxO.js";import{c as h,f as g,i as _,n as v,r as y,t as b}from"./index-D3pYOruP.js";import{a as x,c as S,n as C,o as w,r as T,s as E,t as D}from"./BindRow-BqbLxL4R.js";import{t as O}from"./DevicePicker-DEKNbCXB.js";import{t as k}from"./SelectField-CiAuVYZq.js";import{t as A}from"./EndpointPicker-CSugtgbJ.js";import{t as j}from"./DeviceImage-CXlsJhdp.js";import{n as M,t as N}from"./TableSearch-MGqlMDuh.js";import{t as P}from"./Table-C3iXCYbr.js";import{t as F}from"./IndeterminateCheckbox-CAvqBmLF.js";var I=e(t(),1),L=n(),R=r.create(({sourceIdx:e,device:t,devices:n,groups:r,rule:o,onApply:s})=>{let c=i(),{t:l}=g([`common`,`devicePage`]),u=(0,I.useCallback)(async e=>{await s(e),c.remove()},[c,s]);return(0,I.useEffect)(()=>{let e=e=>{e.key===`Escape`&&(e.preventDefault(),c.remove())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[c]),(0,L.jsx)(a,{isOpen:c.visible,title:`${l(e=>e.bind,{ns:`devicePage`})}: ${t.friendly_name} (${o.source.endpoint})`,footer:(0,L.jsx)(m,{className:`btn btn-neutral`,onClick:c.remove,children:l(e=>e.cancel)}),children:(0,L.jsx)(D,{sourceIdx:e,device:t,devices:n,groups:r,rule:o,onApply:u,showDivider:!1,hideUnbind:!0})})}),z=r.create(({devices:e,selectedRows:t,onApply:n})=>{let r=i(),{t:o}=g([`zigbee`,`common`,`devicePage`]),[s,c]=(0,I.useState)([]),l=(0,I.useCallback)(async()=>{Array.isArray(s)&&s.length>0&&(await n([!1,s]),r.remove())},[n,r,s]);(0,I.useEffect)(()=>{let e=e=>{e.key===`Escape`&&(e.preventDefault(),r.remove())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[r]);let u=(0,I.useMemo)(()=>{let n=new Set,r=!1;for(let i of t){let{original:{sourceIdx:t,rule:a,device:o}}=i,{target:s}=a,c=s.type===`group`?void 0:e[t].find(e=>e.ieee_address===s.ieee_address),l=x(a,o.endpoints,c);if(!r){n=l,r=!0;continue}n=n.intersection(l)}return n},[t,e]),d=(0,I.useMemo)(()=>{let e=t[0]?.original.rule.target.type;return t.some(t=>t.original.rule.target.type!==e)},[t]),f=(0,I.useMemo)(()=>E(s),[s]);return d?(0,L.jsx)(a,{isOpen:r.visible,title:o(e=>e.bind,{ns:`devicePage`}),footer:(0,L.jsx)(m,{className:`btn btn-neutral`,onClick:r.remove,children:o(e=>e.cancel,{ns:`common`})}),children:o(e=>e.mismatching_types,{ns:`common`})}):(0,L.jsx)(a,{isOpen:r.visible,title:o(e=>e.bind,{ns:`devicePage`}),footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(m,{className:`btn btn-neutral`,onClick:r.remove,children:o(e=>e.cancel,{ns:`common`})}),(0,L.jsx)(m,{title:o(e=>e.apply,{ns:`common`}),className:`btn btn-primary ms-1`,onClick:l,disabled:!f,children:o(e=>e.apply,{ns:`common`})})]}),children:(0,L.jsx)(C,{label:o(e=>e.clusters,{ns:`common`}),clusters:u,value:s??[],onChange:c})})});function B(){let e=o(e=>e.devices),t=o(e=>e.groups),{t:n}=g([`zigbee`,`common`]),[i,a]=(0,I.useState)(0),[x,C]=(0,I.useState)(null),[E,B]=(0,I.useState)(``),[V,H]=(0,I.useState)(null),[U,W]=(0,I.useState)({});(0,I.useEffect)(()=>{W({})},[e]);let G=(0,I.useMemo)(()=>{let t=[];for(let n=0;n<l.length;n++){let r=e[n]??[];for(let e of r)for(let r of T(e))t.push({sourceIdx:n,device:e,rule:r})}return t},[e]),K=(0,I.useMemo)(()=>Object.keys(U).length,[U]),q=(0,I.useCallback)(async([e,t])=>{let n=[];for(let r of Q.table.getFilteredRowModel().rows)if(r.getIsSelected()){let{sourceIdx:i,rule:a}=r.original;n.push(_(i,e?`bridge/request/device/unbind`:`bridge/request/device/bind`,{from:a.source.ieee_address,from_endpoint:a.source.endpoint,to:a.target.type===`group`?a.target.id:a.target.ieee_address,to_endpoint:a.target.type===`endpoint`?a.target.endpoint:void 0,clusters:t??a.clusters}))}W({}),n.length>0&&await Promise.allSettled(n)},[e,t]),J=(0,I.useCallback)(async e=>{let t=[],n=new Set;for(let r of Q.table.getFilteredRowModel().rows)if(r.getIsSelected()){let{sourceIdx:i,device:a}=r.original;if(n.has(a.ieee_address))continue;n.add(a.ieee_address),t.push(_(i,`bridge/request/device/binds/clear`,{target:a.ieee_address,ieee_list:[e?`0xffffffffffffffff`:a.ieee_address]}))}W({}),t.length>0&&await Promise.allSettled(t)},[]),Y=(0,I.useMemo)(()=>c(x),[x]);(0,I.useEffect)(()=>{H(x&&E?S(x.ieee_address,E):null)},[E,x]);let X=(0,I.useCallback)(async(n,r,i)=>{let a=w(i.target,e[n],t[n]);if(!a)return;let o={from:i.source.ieee_address,from_endpoint:i.source.endpoint,to:a.to,to_endpoint:a.toEndpoint,clusters:i.clusters};r===`Bind`?await _(n,`bridge/request/device/bind`,o):await _(n,`bridge/request/device/unbind`,o)},[e,t]),Z=(0,I.useCallback)(async([e,t])=>{x&&(await X(i,e,t),a(0),C(null),B(``))},[X,i,x]),Q=M({id:`all-bindings`,columns:(0,I.useMemo)(()=>[{id:`select`,size:45,header:({table:e})=>(0,L.jsx)(F,{checked:e.getIsAllRowsSelected(),indeterminate:e.getIsSomeRowsSelected(),onChange:e.getToggleAllRowsSelectedHandler()}),accessorFn:()=>``,cell:({row:e})=>(0,L.jsx)(`input`,{type:`checkbox`,className:`checkbox`,checked:e.getIsSelected(),disabled:!e.getCanSelect(),onChange:e.getToggleSelectedHandler()}),enableGlobalFilter:!1,enableColumnFilter:!1,enableSorting:!1},{id:`source`,size:60,header:()=>(0,L.jsx)(`span`,{title:n(e=>e.source,{ns:`common`}),children:(0,L.jsx)(p,{icon:d})}),accessorFn:({sourceIdx:e})=>l[e],cell:({row:{original:{sourceIdx:e}}})=>(0,L.jsx)(v,{idx:e,nameClassName:`hidden md:inline-block`}),filterFn:`equals`,meta:{filterVariant:`select`,showFacetedOccurrences:!0}},{id:`friendly_name`,size:250,minSize:175,header:n(e=>e.friendly_name,{ns:`common`}),accessorFn:({device:e})=>`${e.friendly_name} ${e.ieee_address} ${e.definition?.model??``}`,cell:({row:{original:{sourceIdx:e,device:t}}})=>(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,L.jsx)(`div`,{className:`avatar`,children:(0,L.jsx)(`div`,{className:`h-11 w-11`,style:{overflow:`visible`},children:(0,L.jsx)(j,{device:t,disabled:t.disabled})})}),(0,L.jsxs)(`div`,{className:`flex-grow flex flex-col min-w-0`,children:[(0,L.jsx)(h,{to:`/device/${e}/${t.ieee_address}/bind`,className:`link link-hover truncate`,children:t.friendly_name}),t.description&&(0,L.jsx)(`div`,{className:`max-w-3xs text-xs opacity-50 truncate`,title:t.description,children:t.description})]})]}),sortingFn:(e,t)=>e.original.device.friendly_name.localeCompare(t.original.device.friendly_name),filterFn:`includesString`,meta:{filterVariant:`text`,textFaceted:!0}},{id:`source_endpoint`,size:110,header:n(e=>e.source_endpoint,{ns:`common`}),accessorFn:({rule:e})=>`${e.source.endpoint}`,filterFn:`includesString`,meta:{filterVariant:`text`}},{id:`type`,size:120,header:n(e=>e.type,{ns:`zigbee`}),accessorFn:({rule:e})=>n(t=>e.target.type===`group`?t.group:t.device,{ns:`zigbee`}),filterFn:`equals`,meta:{filterVariant:`select`,showFacetedOccurrences:!0}},{id:`destination`,minSize:200,header:n(e=>e.destination,{ns:`common`}),accessorFn:({sourceIdx:r,rule:i})=>i.target.type===`group`?t[r].find(e=>e.id===i.target.id)?.friendly_name||`${n(e=>e.unknown)}: ${i.target.id}`:e[r].find(e=>e.ieee_address===i.target.ieee_address)?.friendly_name||`${n(e=>e.unknown)}: ${i.target.ieee_address}`,filterFn:`includesString`,meta:{filterVariant:`text`,textFaceted:!0}},{id:`destination_endpoint`,minSize:200,header:n(e=>e.destination_endpoint,{ns:`common`}),accessorFn:({rule:e})=>e.target.type===`group`?`N/A`:`${e.target.endpoint}`,filterFn:`includesString`,meta:{filterVariant:`text`}},{id:`clusters`,minSize:200,header:n(e=>e.clusters,{ns:`common`}),accessorFn:({rule:e})=>e.clusters.join(`, `),cell:({row:{original:{rule:e}}})=>(0,L.jsx)(`div`,{className:`flex flex-row flex-wrap gap-1`,children:e.clusters.map(e=>(0,L.jsx)(`span`,{className:`badge badge-ghost badge-sm`,children:e},e))}),filterFn:`includesString`,meta:{filterVariant:`text`}},{id:`actions`,size:110,cell:({row:{original:{sourceIdx:i,device:a,rule:o}}})=>(0,L.jsxs)(`div`,{className:`join join-horizontal`,children:[(0,L.jsx)(m,{className:`btn btn-sm btn-square btn-outline btn-primary join-item`,title:n(e=>e.bind,{ns:`common`}),onClick:async()=>await r.show(R,{sourceIdx:i,device:a,devices:e[i],groups:t[i],rule:o,onApply:async e=>await X(i,e[0],e[1])}),children:(0,L.jsx)(p,{icon:u})}),o.isNew?null:(0,L.jsx)(y,{title:n(e=>e.unbind,{ns:`common`}),className:`btn btn-sm btn-square btn-error btn-outline join-item`,onClick:async()=>await X(i,`Unbind`,o),modalDescription:n(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:n(e=>e.cancel,{ns:`common`}),children:(0,L.jsx)(p,{icon:f})})]}),enableSorting:!1,enableColumnFilter:!1,enableGlobalFilter:!1}],[X,e,t,n]),data:G,visibleColumns:{source:s},sorting:[{id:`friendly_name`,desc:!1},{id:`source_endpoint`,desc:!1}],rowSelection:U,onRowSelectionChange:W});return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(b,{children:(0,L.jsx)(N,{...Q})}),(0,L.jsxs)(`div`,{className:`flex flex-row flex-wrap justify-center gap-2 mb-2`,children:[s?(0,L.jsx)(k,{name:`source`,label:n(e=>e.source,{ns:`common`}),value:i,onChange:e=>{e.target.validationMessage||(a(Number.parseInt(e.target.value,10)),C(null),B(``))},className:`select`,children:l.map((e,t)=>(0,L.jsx)(`option`,{value:t,children:e},`${t}-${e}`))}):null,(0,L.jsx)(O,{label:n(e=>e.device,{ns:`zigbee`}),devices:e[i]??[],value:x?.ieee_address??``,onChange:e=>{e&&`ieee_address`in e?(C(e),B(``)):C(null)},disabled:(e[i]??[]).length===0}),(0,L.jsx)(A,{label:n(e=>e.source_endpoint,{ns:`common`}),values:Y,value:E,disabled:!x,onChange:e=>B(String(e))}),x&&V?(0,L.jsx)(D,{sourceIdx:i,device:x,devices:e[i]??[],groups:t[i]??[],rule:V,onApply:Z,showDivider:!1}):null]}),(0,L.jsx)(`div`,{className:`mb-5`,children:(0,L.jsxs)(`div`,{className:`flex flex-row flex-wrap gap-2 px-2 pb-3`,children:[(0,L.jsx)(m,{className:`btn btn-outline btn-error btn-sm`,title:n(e=>e.bind_selected,{ns:`common`}),onClick:async()=>await r.show(z,{devices:e,selectedRows:Q.table.getFilteredRowModel().rows.filter(e=>e.getIsSelected()),onApply:q}),disabled:K===0,children:`${n(e=>e.bind_selected,{ns:`common`})} (${K})`}),(0,L.jsx)(y,{item:[!0,void 0],className:`btn btn-outline btn-error btn-sm`,onClick:q,title:n(e=>e.unbind_selected,{ns:`common`}),disabled:K===0,modalDescription:n(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:n(e=>e.cancel,{ns:`common`}),children:`${n(e=>e.unbind_selected,{ns:`common`})} (${K})`}),(0,L.jsx)(y,{item:!1,className:`btn btn-outline btn-error btn-sm`,onClick:J,title:n(e=>e.clear_self_as_source,{ns:`common`}),disabled:K===0,modalDescription:n(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:n(e=>e.cancel,{ns:`common`}),children:`${n(e=>e.clear_self_as_source,{ns:`common`})} (${K})`}),(0,L.jsx)(y,{item:!0,className:`btn btn-outline btn-error btn-sm`,onClick:J,title:n(e=>e.clear_all,{ns:`common`}),disabled:K===0,modalDescription:n(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:n(e=>e.cancel,{ns:`common`}),children:`${n(e=>e.clear_all,{ns:`common`})} (${K})`})]})}),(0,L.jsx)(`div`,{className:`mb-5`,children:(0,L.jsx)(P,{id:`all-bindings`,...Q})})]})}export{B as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-C5tU7uY8.js";import{i as t}from"./store-DGIKh3zK.js";import{t as n}from"./shallow-inzhGNJg.js";import{t as r}from"./Json-DWlaTYN_.js";var i=e();function a({sourceIdx:e}){return(0,i.jsx)(r,{obj:t(n(t=>t.bridgeInfo[e]))})}export{a as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-C5tU7uY8.js";var t=e();function n(e){let{children:n,item:r,onClick:i,title:a,className:o,...s}=e;return(0,t.jsx)(`button`,{type:`button`,className:`${o} ${a?`tooltip`:``}`,"data-tip":a,...s,onClick:async()=>await i?.(r),children:n})}export{n as t};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";var r=e(t(),1),i=n(),a=(0,r.memo)(e=>{let{label:t,detail:n,onChange:r,...a}=e;return(0,i.jsxs)(`fieldset`,{className:`fieldset`,children:[t&&(0,i.jsxs)(`legend`,{className:`fieldset-legend`,children:[t,e.required?` *`:``]}),n?(0,i.jsxs)(`label`,{className:`label`,children:[(0,i.jsx)(`input`,{className:`checkbox ${e.required?`validator`:``}`,type:`checkbox`,onChange:r,...a}),n]}):(0,i.jsx)(`input`,{className:`checkbox ${e.required?`validator`:``}`,type:`checkbox`,onChange:r,...a})]})});export{a as t};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{i as r}from"./store-DGIKh3zK.js";import{t as i}from"./shallow-inzhGNJg.js";import{D as a}from"./consts-ACU3OL1g.js";import{f as o}from"./index-D3pYOruP.js";import{t as s}from"./react-select.esm-D6gkf1g1.js";var c=function(e){return e[e.NO_DATA=0]=`NO_DATA`,e[e.DATA8=8]=`DATA8`,e[e.DATA16=9]=`DATA16`,e[e.DATA24=10]=`DATA24`,e[e.DATA32=11]=`DATA32`,e[e.DATA40=12]=`DATA40`,e[e.DATA48=13]=`DATA48`,e[e.DATA56=14]=`DATA56`,e[e.DATA64=15]=`DATA64`,e[e.BOOLEAN=16]=`BOOLEAN`,e[e.BITMAP8=24]=`BITMAP8`,e[e.BITMAP16=25]=`BITMAP16`,e[e.BITMAP24=26]=`BITMAP24`,e[e.BITMAP32=27]=`BITMAP32`,e[e.BITMAP40=28]=`BITMAP40`,e[e.BITMAP48=29]=`BITMAP48`,e[e.BITMAP56=30]=`BITMAP56`,e[e.BITMAP64=31]=`BITMAP64`,e[e.UINT8=32]=`UINT8`,e[e.UINT16=33]=`UINT16`,e[e.UINT24=34]=`UINT24`,e[e.UINT32=35]=`UINT32`,e[e.UINT40=36]=`UINT40`,e[e.UINT48=37]=`UINT48`,e[e.UINT56=38]=`UINT56`,e[e.UINT64=39]=`UINT64`,e[e.INT8=40]=`INT8`,e[e.INT16=41]=`INT16`,e[e.INT24=42]=`INT24`,e[e.INT32=43]=`INT32`,e[e.INT40=44]=`INT40`,e[e.INT48=45]=`INT48`,e[e.INT56=46]=`INT56`,e[e.INT64=47]=`INT64`,e[e.ENUM8=48]=`ENUM8`,e[e.ENUM16=49]=`ENUM16`,e[e.SEMI_PREC=56]=`SEMI_PREC`,e[e.SINGLE_PREC=57]=`SINGLE_PREC`,e[e.DOUBLE_PREC=58]=`DOUBLE_PREC`,e[e.OCTET_STR=65]=`OCTET_STR`,e[e.CHAR_STR=66]=`CHAR_STR`,e[e.LONG_OCTET_STR=67]=`LONG_OCTET_STR`,e[e.LONG_CHAR_STR=68]=`LONG_CHAR_STR`,e[e.ARRAY=72]=`ARRAY`,e[e.STRUCT=76]=`STRUCT`,e[e.SET=80]=`SET`,e[e.BAG=81]=`BAG`,e[e.TOD=224]=`TOD`,e[e.DATE=225]=`DATE`,e[e.UTC=226]=`UTC`,e[e.CLUSTER_ID=232]=`CLUSTER_ID`,e[e.ATTR_ID=233]=`ATTR_ID`,e[e.BAC_OID=234]=`BAC_OID`,e[e.IEEE_ADDR=240]=`IEEE_ADDR`,e[e.SEC_KEY=241]=`SEC_KEY`,e[e.UNKNOWN=255]=`UNKNOWN`,e}({}),l=function(e){return e[e.USE_DATA_TYPE=1e3]=`USE_DATA_TYPE`,e[e.LIST_UINT8=1001]=`LIST_UINT8`,e[e.LIST_UINT16=1002]=`LIST_UINT16`,e[e.LIST_UINT24=1003]=`LIST_UINT24`,e[e.LIST_UINT32=1004]=`LIST_UINT32`,e[e.LIST_ZONEINFO=1005]=`LIST_ZONEINFO`,e[e.EXTENSION_FIELD_SETS=1006]=`EXTENSION_FIELD_SETS`,e[e.LIST_THERMO_TRANSITIONS=1007]=`LIST_THERMO_TRANSITIONS`,e[e.BUFFER=1008]=`BUFFER`,e[e.GPD_FRAME=1009]=`GPD_FRAME`,e[e.STRUCTURED_SELECTOR=1010]=`STRUCTURED_SELECTOR`,e[e.LIST_TUYA_DATAPOINT_VALUES=1011]=`LIST_TUYA_DATAPOINT_VALUES`,e[e.LIST_MIBOXER_ZONES=1012]=`LIST_MIBOXER_ZONES`,e[e.BIG_ENDIAN_UINT24=1013]=`BIG_ENDIAN_UINT24`,e[e.MI_STRUCT=1014]=`MI_STRUCT`,e}({}),u=e=>e.type>=c.UINT8&&e.type<=c.INT64||e.type>=c.SEMI_PREC&&e.type<=c.DOUBLE_PREC||e.type>=c.TOD&&e.type<=c.UTC,d=(e,t,n)=>{let r=e.custom_clusters[t];if(r){let e=r[n];if(e)return e.attributes}let i=e.clusters[n];return i?i.attributes:{}},f=(e,t,n,r)=>d(e,t,n)[r],p=(e,t,n)=>{let r=e.custom_clusters[t];if(r){let e=r[n];if(e)return e.commands}let i=e.clusters[n];return i?i.commands:{}},m=e(t(),1),h=n(),g=(0,m.memo)(({sourceIdx:e,cluster:t,device:n,onChange:c,value:l,label:u,required:f,disabled:p})=>{let g=r(i(t=>t.bridgeDefinitions[e])),{t:_}=o(`zigbee`),v=(0,m.useMemo)(()=>d(g,n.ieee_address,t),[g,n.ieee_address,t]),y=(0,m.useMemo)(()=>{let e=[];for(let t in v)e.push({value:t,label:t});return e},[v]),b=(0,m.useMemo)(()=>l==null||l===``?null:y.find(e=>e.value===l)??null,[l,y]);return(0,h.jsxs)(`fieldset`,{className:`fieldset`,children:[u&&(0,h.jsxs)(`legend`,{className:`fieldset-legend`,children:[u,f?` *`:``]}),(0,h.jsx)(s,{unstyled:!0,placeholder:_(e=>e.select_attribute),"aria-label":u??_(e=>e.select_attribute),options:y,value:b,isSearchable:!0,isDisabled:p,onChange:e=>{e!=null&&c(e.value,v[e.value])},className:`min-w-64`,classNames:a})]})}),_=(0,m.memo)(({clusters:e,onChange:t,value:n,label:r,disabled:i,required:c})=>{let{t:l}=o([`zigbee`,`common`]),[u,d]=(0,m.useMemo)(()=>{let t=[],n=[];if(Array.isArray(e))for(let r of e){let e=[];for(let t of r.clusters){let r={value:t,label:t};e.push(r),n.push(r)}e.sort((e,t)=>e.label.localeCompare(t.label)),t.push({label:l(e=>e[r.name]),options:e})}else{let r=[];for(let t of e){let e={value:t,label:t};r.push(e),n.push(e)}r.sort((e,t)=>e.label.localeCompare(t.label)),t.push({label:l(e=>e.cluster),options:r})}return[t,n]},[e,l]),f=(0,m.useMemo)(()=>n==null||n===``?null:d.find(e=>e.value===n)??null,[n,d]);return(0,h.jsxs)(`fieldset`,{className:`fieldset`,children:[r&&(0,h.jsxs)(`legend`,{className:`fieldset-legend`,children:[r,c?` *`:``]}),(0,h.jsx)(s,{unstyled:!0,placeholder:l(e=>e.select_cluster),"aria-label":r??l(e=>e.select_cluster),options:u,value:f,isSearchable:!0,isDisabled:i,onChange:e=>{e!=null&&t(e.value)},className:`min-w-64`,classNames:a})]})});export{p as a,u as c,d as i,g as n,l as o,f as r,c as s,_ as t};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{o as r,s as i,t as a}from"./dist-CfE5hTP4.js";import{f as o}from"./index-D3pYOruP.js";var s=e(t(),1),c=n();function l({device:e}){let{t}=o(`zigbee`);return(0,c.jsx)(`ul`,{className:`menu bg-base-100 w-full`,children:(0,s.useMemo)(()=>{let n=[];for(let o in e.endpoints){let s=e.endpoints[o];n.push((0,c.jsx)(`li`,{children:(0,c.jsxs)(`details`,{open:!0,children:[(0,c.jsxs)(`summary`,{children:[t(e=>e.endpoint),` `,o]}),(0,c.jsxs)(`ul`,{children:[(0,c.jsx)(`li`,{children:(0,c.jsxs)(`details`,{children:[(0,c.jsxs)(`summary`,{children:[(0,c.jsx)(a,{icon:r}),` `,t(e=>e.output_clusters)]}),(0,c.jsx)(`ul`,{children:s.clusters.output.map(e=>(0,c.jsx)(`li`,{children:(0,c.jsx)(`span`,{className:`cursor-text select-text`,children:e})},e))})]})}),(0,c.jsx)(`li`,{children:(0,c.jsxs)(`details`,{children:[(0,c.jsxs)(`summary`,{children:[(0,c.jsx)(a,{icon:i}),` `,t(e=>e.input_clusters)]}),(0,c.jsx)(`ul`,{children:s.clusters.input.map(e=>(0,c.jsx)(`li`,{children:(0,c.jsx)(`span`,{className:`cursor-text select-text`,children:e})},e))})]})})]})]})},o))}return n},[e.endpoints,t])})}export{l as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./jsx-runtime-C5tU7uY8.js";import{a as t,c as n,l as r,o as i,s as a}from"./consts-ACU3OL1g.js";import{Ot as o,ft as s,t as c}from"./dist-CfE5hTP4.js";import{f as l}from"./index-D3pYOruP.js";var u=e(),d=[(0,u.jsxs)(`div`,{className:`flex flex-col gap-3 items-center`,children:[(0,u.jsx)(`a`,{target:`_blank`,rel:`noopener noreferrer`,href:`https://www.buymeacoffee.com/Nerivec`,className:`h-10`,children:(0,u.jsx)(`img`,{alt:`Nerivec`,src:`https://img.buymeacoffee.com/button-api/?text=Thanks Nerivec&emoji=☕&slug=Nerivec&button_colour=FFDD00&font_colour=000000&font_family=Arial&outline_colour=000000&coffee_colour=ffffff`,className:`h-10`})}),(0,u.jsxs)(`a`,{target:`_blank`,rel:`noopener noreferrer`,className:`btn btn-secondary`,href:`https://github.com/sponsors/Nerivec`,children:[(0,u.jsx)(c,{icon:o}),`Sponsor Nerivec on Github`]})]},`Nerivec`),(0,u.jsxs)(`div`,{className:`flex flex-col gap-3 items-center`,children:[(0,u.jsx)(`a`,{target:`_blank`,rel:`noopener noreferrer`,href:`https://www.buymeacoffee.com/koenkk`,className:`h-10`,children:(0,u.jsx)(`img`,{alt:`koenkk`,src:`https://img.buymeacoffee.com/button-api/?text=Thanks Koenkk&emoji=☕&slug=koenkk&button_colour=FFDD00&font_colour=000000&font_family=Arial&outline_colour=000000&coffee_colour=ffffff`,className:`h-10`})}),(0,u.jsxs)(`a`,{target:`_blank`,rel:`noopener noreferrer`,className:`btn btn-secondary`,href:`https://github.com/sponsors/Koenkk`,children:[(0,u.jsx)(c,{icon:o}),`Sponsor Koenkk on Github`]})]},`koenkk`)];function f(){let{t:e}=l(`contribute`);return(0,u.jsx)(`div`,{className:`mb-3`,children:(0,u.jsxs)(`div`,{className:`flex flex-col gap-6 items-center`,children:[(0,u.jsxs)(`div`,{className:`flex flex-col gap-3 items-center`,children:[e(e=>e.donation_text),d.sort(()=>Math.random()-.5)]}),(0,u.jsx)(`h2`,{className:`text-lg font-bold`,children:e(e=>e.development)}),(0,u.jsx)(`p`,{children:e(e=>e.contributing)}),(0,u.jsxs)(`div`,{className:`flex flex-row flex-wrap gap-4 justify-center`,children:[(0,u.jsxs)(`a`,{className:`link link-hover link-primary`,target:`_blank`,rel:`noopener noreferrer`,href:i,children:[`WindFront`,(0,u.jsx)(c,{icon:s,size:`lg`,className:`ms-1`})]}),(0,u.jsxs)(`a`,{className:`link link-hover link-primary`,target:`_blank`,rel:`noopener noreferrer`,href:t,children:[e(e=>e.translation),(0,u.jsx)(c,{icon:s,size:`lg`,className:`ms-1`})]})]}),(0,u.jsxs)(`div`,{className:`flex flex-row flex-wrap gap-4 justify-center`,children:[(0,u.jsxs)(`a`,{className:`link link-hover link-primary`,target:`_blank`,rel:`noopener noreferrer`,href:a,children:[`Zigbee2MQTT`,(0,u.jsx)(c,{icon:s,size:`lg`,className:`ms-1`})]}),(0,u.jsxs)(`a`,{className:`link link-hover link-primary`,target:`_blank`,rel:`noopener noreferrer`,href:n,children:[`Zigbee Herdsman Converters`,(0,u.jsx)(c,{icon:s,size:`lg`,className:`ms-1`})]}),(0,u.jsxs)(`a`,{className:`link link-hover link-primary`,target:`_blank`,rel:`noopener noreferrer`,href:r,children:[`Zigbee Herdsman`,(0,u.jsx)(c,{icon:s,size:`lg`,className:`ms-1`})]})]})]})})}export{f as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{n as r}from"./Modal-DkH2V1VC.js";import{c as i,i as a,n as o,t as s,v as c}from"./store-DGIKh3zK.js";import{m as l,t as u,vr as d}from"./dist-CfE5hTP4.js";import{t as f}from"./Button-C09wmyxO.js";import{f as p,i as m,t as h}from"./index-D3pYOruP.js";import{t as g}from"./RemoveDeviceModal-B7NqbupW.js";import{n as _,t as v}from"./useColumnCount-D-zut-DS.js";import{t as y}from"./DashboardFeatureWrapper-xH2Rdw9Q.js";import{t as b}from"./DeviceCard-Ds-P0T0L.js";import{n as x,t as S}from"./TableSearch-MGqlMDuh.js";var C=e(t(),1),w=n(),T=({original:{sourceIdx:e,device:t,deviceState:n,deviceAvailability:i,features:a,lastSeenConfig:o,removeDevice:s}})=>{let{t:c}=p(`zigbee`),l=(0,C.useCallback)(async n=>{await m(e,`${t.ieee_address}/set`,n)},[e,t.ieee_address]);return(0,w.jsx)(`div`,{className:`mb-3 card bg-base-200 rounded-box shadow-md ${i===`disabled`?`card-dash border-warning/40`:i===`offline`?`card-border border-error/50`:`card-border border-base-300`}`,children:(0,w.jsx)(b,{features:a,sourceIdx:e,device:t,deviceState:n,onChange:l,featureWrapperClass:y,lastSeenConfig:o,children:(0,w.jsx)(`div`,{className:`join join-horizontal`,children:(0,w.jsx)(f,{onClick:async()=>await r.show(g,{sourceIdx:e,device:t,removeDevice:s}),className:`btn btn-outline btn-error btn-square btn-sm join-item tooltip-left`,title:c(e=>e.remove_device),children:(0,w.jsx)(u,{icon:d})})})})})},E=e=>e?.data?(0,w.jsx)(T,{...e.data}):null;function D(){let{t:e}=p([`common`,`zigbee`,`availability`]),t=a(e=>e.deviceStates),n=a(e=>e.availability),r=a(e=>e.deviceDashboardFeatures),d=a(e=>e.bridgeInfo),g=a(e=>e.devices),y=v(),b=(0,C.useCallback)(async(e,t,n,r)=>{await m(e,`bridge/request/device/remove`,{id:t,force:n,block:r})},[]),T=(0,C.useMemo)(()=>{let e=[];for(let i=0;i<o.length;i++){let a=d[i].config.advanced.last_seen,o=d[i].config.availability.enabled;for(let s of g[i]){if(s.disabled||!s.supported||!s.definition)continue;let c=r[i][s.ieee_address];if(!c||c.length===0)continue;let l=new Set,u=new Set;for(let e of c)if(`features`in e&&e.features){for(let t of e.features)t.type&&l.add(t.type),t.name&&u.add(t.name);e.type&&l.add(e.type)}else e.type&&l.add(e.type),e.name&&u.add(e.name);let f=t[i][s.friendly_name]??{},p;s.power_source===`Battery`&&(p=!1,`battery`in f?f.battery<20&&(p=!0):`battery_state`in f?f.battery_state===`low`&&(p=!0):`battery_low`in f&&(p=!!f.battery_low));let m=`disabled`;if(!s.disabled){let e=d[i].config.devices[s.ieee_address]?.availability;m=(e==null?void 0:!!e)??o?n[i][s.friendly_name]?.state??`offline`:`disabled`}e.push({sourceIdx:i,device:s,deviceState:f,deviceAvailability:m,batteryLow:p,features:c,featureTypes:Array.from(l),featureNames:Array.from(u),lastSeenConfig:a,removeDevice:b})}}return e},[g,t,r,d,n,b]),D=x({id:`dashboard-devices`,columns:(0,C.useMemo)(()=>[{id:`source`,accessorFn:({sourceIdx:e})=>s[e],filterFn:`equals`,meta:{filterVariant:`select`,showFacetedOccurrences:!0}},{id:`friendly_name`,header:e(e=>e.friendly_name),accessorFn:({device:e})=>`${e.friendly_name} ${e.description??``}`,sortingFn:(e,t)=>e.original.device.friendly_name.localeCompare(t.original.device.friendly_name),filterFn:`includesString`,meta:{filterVariant:`text`,textFaceted:!0}},{id:`ieee_address`,header:e(e=>e.ieee_address,{ns:`zigbee`}),accessorFn:({device:e})=>`${e.ieee_address} ${c(e.network_address,4)} ${e.network_address}`,filterFn:`includesString`,meta:{filterVariant:`text`}},{id:`availability`,header:e(e=>e.availability,{ns:`availability`}),accessorFn:({deviceAvailability:t})=>e(e=>e[t],{ns:`availability`}),filterFn:`equals`,meta:{filterVariant:`select`,showFacetedOccurrences:!0}},{id:`type`,header:e(e=>e.type,{ns:`zigbee`}),accessorFn:({device:t})=>e(e=>e[t.type],{ns:`zigbee`}),filterFn:`equals`,meta:{filterVariant:`select`,showFacetedOccurrences:!0}},{id:`state`,header:e(e=>e.state),accessorFn:({deviceState:e})=>e.state,filterFn:`equals`,meta:{filterVariant:`select`,showFacetedOccurrences:!0}},{id:`lqi`,header:e(e=>e.lqi,{ns:`zigbee`}),accessorFn:({deviceState:e})=>e.linkquality,filterFn:`inNumberRange`,meta:{filterVariant:`range`}},{id:`last_seen`,header:e(e=>e.last_seen,{ns:`zigbee`}),accessorFn:({deviceState:e,lastSeenConfig:t})=>{let n=i(e.last_seen,t);return n?Math.round((Date.now()-n)/1e3/60):void 0},enableGlobalFilter:!1,filterFn:`inNumberRange`,meta:{filterVariant:`range`,tooltip:e(e=>e.last_seen_filter_info)}},{id:`battery_low`,header:e(e=>e.battery_low,{ns:`zigbee`}),accessorFn:({batteryLow:e})=>e===void 0?`N/A`:e,filterFn:`equals`,meta:{filterVariant:`boolean`}},{id:`feature_type`,header:e(e=>e.feature_type),accessorFn:({featureTypes:e})=>e,filterFn:`arrIncludes`,meta:{filterVariant:`arrSelect`},enableGlobalFilter:!1},{id:`feature_name`,header:e(e=>e.feature_name),accessorFn:({featureNames:e})=>e,filterFn:`arrIncludes`,meta:{filterVariant:`arrSelect`},enableGlobalFilter:!1}],[e]),data:T,sorting:[{id:`friendly_name`,desc:!1}]}),{rows:O}=D.table.getRowModel();return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(h,{children:(0,w.jsx)(S,{...D})}),(0,w.jsx)(`div`,{children:(0,w.jsx)(_,{useWindowScroll:!0,columnCount:y,data:O,ItemContent:E,className:`gap-3`},`dashboard-${O.length}-${D.globalFilter}`)}),(0,w.jsx)(`div`,{className:`sticky z-9 bottom-0 pb-1 w-full flex flex-row justify-end sm:hidden`,children:(0,w.jsx)(f,{title:e(e=>e.scroll_to_top),className:`btn btn-primary btn-square`,onClick:()=>{window.scrollTo(0,0)},children:(0,w.jsx)(u,{icon:l})})})]})}export{D as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{t}from"./jsx-runtime-C5tU7uY8.js";import{t as n}from"./dist-CfE5hTP4.js";import{f as r}from"./index-D3pYOruP.js";import{t as i}from"./startCase-uNz46yT6.js";import{n as a}from"./features-BSYFOmr-.js";var o=e(i(),1),s=t();function c({children:e,feature:t,deviceValue:i,endpointSpecific:c}){let l=t.unit,[u,d]=a(t.name,i,l),{t:f}=r(`zigbee`),p=t.name===`state`?t.property:t.name;return(0,s.jsxs)(`div`,{className:`flex flex-row items-center gap-1 mb-2`,children:[(0,s.jsx)(n,{icon:u,className:d}),(0,s.jsxs)(`div`,{className:`grow-1`,title:p,children:[(0,o.default)(p),!c&&(0,s.jsx)(`span`,{title:f(e=>e.endpoint),children:t.endpoint?` (${t.endpoint})`:null})]}),(0,s.jsx)(`div`,{className:`shrink-1 *:bg-base-200`,children:e})]})}export{c as t};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";var r=e(t(),1),i=n(),a=(0,r.memo)(({value:e,onChange:t,debounce:n=500,...a})=>{let[o,s]=(0,r.useState)(e.toString()),c=(0,r.useRef)(!1),l=(0,r.useRef)(void 0);(0,r.useEffect)(()=>{s(e.toString())},[e]),(0,r.useEffect)(()=>{if(l.current===o)return;if(c.current===!1){l.current=o,c.current=!0;return}let e=setTimeout(()=>{l.current!==o&&(l.current=o,t(o))},n);return()=>clearTimeout(e)},[o,n,t]);let u=(0,r.useCallback)(e=>{s(e.target.value)},[]),d=(0,r.useCallback)(e=>{e.key===`Escape`&&(e.preventDefault(),s(``))},[]);return(0,i.jsx)(`input`,{...a,type:`text`,value:o,onChange:u,onKeyDown:d})});export{a as t};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{i as r}from"./store-DGIKh3zK.js";import{t as i}from"./shallow-inzhGNJg.js";import{C as a,d as o,m as s,u as c}from"./consts-ACU3OL1g.js";import{t as l}from"./Button-C09wmyxO.js";import{f as u,i as d,l as f,r as p}from"./index-D3pYOruP.js";import{t as m}from"./SelectField-CiAuVYZq.js";import{t as h}from"./TextareaField-CWDMDAzr.js";import{t as g}from"./InputField--ZMqg114.js";import{t as _}from"./InfoAlert-CHgsiNoZ.js";var v=e(t(),1),y=n(),b=({sourceIdx:e})=>{let{t}=u([`devConsole`,`common`]),[n,r]=(0,v.useState)(``),[i,o]=(0,v.useState)(`{}`),s=(0,v.useMemo)(()=>{if(!n)return!1;if(i!==``)try{let e=JSON.parse(i);if(typeof e!=`object`||Array.isArray(e))return!1}catch{return!1}return!0},[n,i]),c=(0,v.useCallback)(async()=>{await d(e,n,i===``?i:JSON.parse(i))},[e,n,i]);return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`h2`,{className:`text-lg mb-2`,children:t(e=>e.send_mqtt)}),(0,y.jsx)(_,{children:(0,y.jsx)(`a`,{href:a,target:`_blank`,rel:`noreferrer`,className:`link link-hover`,children:t(e=>e.read_the_docs_info,{ns:`common`})})}),(0,y.jsx)(g,{type:`text`,name:`topic`,label:t(e=>e.topic),detail:t(e=>e.mqtt_topic_info),placeholder:`bridge/request/permit_join`,value:n,onChange:e=>r(e.target.value),className:`input validator w-full`,required:!0}),(0,y.jsx)(h,{name:`payload`,label:t(e=>e.payload,{ns:`common`}),rows:5,value:i,onChange:e=>o(e.target.value),className:`textarea validator w-full`}),(0,y.jsx)(`div`,{className:`join join-horizontal mt-2`,children:(0,y.jsx)(l,{onClick:c,disabled:!s,className:`btn btn-success`,children:t(e=>e.send,{ns:`common`})})})]})},x=({sourceIdx:e})=>{let{t}=u([`devConsole`,`common`]),n=r(i(t=>t.converters[e])),[a,s]=(0,v.useState)(),[f,b]=(0,v.useState)({name:``,code:``}),x=(0,v.useMemo)(()=>(a||!!f.name)&&!!f.code,[a,f]),S=(0,v.useCallback)(e=>{if(e.target.value){let t=n.find(t=>t.name===e.target.value);t&&(s(t),b(t))}else s(void 0),b({name:``,code:``})},[n]),C=(0,v.useCallback)(e=>{b(t=>({name:e.target.value,code:t.code}))},[]),w=(0,v.useCallback)(e=>{b(t=>({name:t.name,code:e.target.value}))},[]),T=(0,v.useCallback)(async()=>{await d(e,`bridge/request/converter/save`,f)},[e,f]),E=(0,v.useCallback)(async()=>{await d(e,`bridge/request/converter/remove`,{name:f.name})},[e,f.name]);return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`h2`,{className:`text-lg mb-2`,children:t(e=>e.add_update_external_converter)}),(0,y.jsxs)(_,{children:[(0,y.jsx)(`a`,{href:o,target:`_blank`,rel:`noreferrer`,className:`link link-hover`,children:t(e=>e.read_the_docs_info,{ns:`common`})}),(0,y.jsx)(`a`,{href:c,target:`_blank`,rel:`noreferrer`,className:`link link-hover`,children:t(e=>e.codespace_info)})]}),(0,y.jsxs)(m,{name:`converter_name_edit`,label:t(e=>e.select_converter_to_edit),onChange:S,value:a?.name??``,children:[(0,y.jsxs)(`option`,{value:``,children:[`N/A - `,t(e=>e.create_new_converter)]}),n.map(e=>(0,y.jsx)(`option`,{value:e.name,children:e.name},e.name))]}),(0,y.jsx)(g,{name:`converter_name`,label:t(e=>e.name,{ns:`common`}),type:`text`,onChange:C,value:f.name,readOnly:a!==void 0,required:!0}),(0,y.jsx)(h,{name:`converter_code`,label:t(e=>e.code),rows:5,value:f.code,onChange:w,className:`textarea validator w-full`,required:!0}),(0,y.jsxs)(`div`,{className:`join join-horizontal mt-2`,children:[(0,y.jsx)(l,{onClick:T,disabled:!x,className:`btn btn-success join-item`,children:t(e=>e.save,{ns:`common`})}),(0,y.jsx)(p,{onClick:E,disabled:!a,className:`btn btn-error join-item`,title:t(e=>e.delete,{ns:`common`}),modalDescription:t(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:t(e=>e.cancel,{ns:`common`}),children:t(e=>e.delete,{ns:`common`})})]})]})},S=({sourceIdx:e})=>{let{t}=u([`devConsole`,`common`]),n=r(i(t=>t.extensions[e])),[a,o]=(0,v.useState)(),[c,f]=(0,v.useState)({name:``,code:``}),b=(0,v.useMemo)(()=>(a||!!c.name)&&!!c.code,[a,c]),x=(0,v.useCallback)(e=>{if(e.target.value){let t=n.find(t=>t.name===e.target.value);t&&(o(t),f(t))}else o(void 0),f({name:``,code:``})},[n]),S=(0,v.useCallback)(e=>{f(t=>({name:e.target.value,code:t.code}))},[]),C=(0,v.useCallback)(e=>{f(t=>({name:t.name,code:e.target.value}))},[]),w=(0,v.useCallback)(async()=>{await d(e,`bridge/request/extension/save`,c)},[e,c]),T=(0,v.useCallback)(async()=>{await d(e,`bridge/request/extension/remove`,{name:c.name})},[e,c.name]);return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`h2`,{className:`text-lg mb-2`,children:t(e=>e.add_update_external_extension)}),(0,y.jsx)(_,{children:(0,y.jsx)(`a`,{href:s,target:`_blank`,rel:`noreferrer`,className:`link link-hover`,children:t(e=>e.read_the_docs_info,{ns:`common`})})}),(0,y.jsxs)(m,{name:`extension_name_edit`,label:t(e=>e.select_extension_to_edit),onChange:x,value:a?.name??``,children:[(0,y.jsxs)(`option`,{value:``,children:[`N/A - `,t(e=>e.create_new_extension)]}),n.map(e=>(0,y.jsx)(`option`,{value:e.name,children:e.name},e.name))]}),(0,y.jsx)(g,{name:`extension_name`,label:t(e=>e.name,{ns:`common`}),type:`text`,onChange:S,value:c.name,readOnly:a!==void 0,required:!0}),(0,y.jsx)(h,{name:`extension_code`,label:t(e=>e.code),rows:5,value:c.code,onChange:C,className:`textarea validator w-full`,required:!0}),(0,y.jsxs)(`div`,{className:`join join-horizontal mt-2`,children:[(0,y.jsx)(l,{onClick:w,disabled:!b,className:`btn btn-success join-item`,children:t(e=>e.save,{ns:`common`})}),(0,y.jsx)(p,{onClick:T,disabled:!a,className:`btn btn-error join-item`,title:t(e=>e.delete,{ns:`common`}),modalDescription:t(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:t(e=>e.cancel,{ns:`common`}),children:t(e=>e.delete,{ns:`common`})})]})]})},C=({sourceIdx:e})=>{let{t}=u([`devConsole`,`common`]),n=r(i(t=>t.bridgeDefinitions[e].actions??[])),[o,s]=(0,v.useState)(`raw`),[c,f]=(0,v.useState)(`{}`),p=(0,v.useMemo)(()=>{if(!o)return!1;if(c!==``)try{let e=JSON.parse(c);if(typeof e!=`object`||Array.isArray(e))return!1}catch{return!1}return!0},[o,c]),g=(0,v.useCallback)(e=>{e.target.value&&s(e.target.value)},[]),b=(0,v.useCallback)(async()=>{await d(e,`bridge/request/action`,{action:o,params:c===``?c:JSON.parse(c)})},[e,o,c]);return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`h2`,{className:`text-lg mb-2`,children:t(e=>e.actions)}),(0,y.jsx)(_,{children:(0,y.jsx)(`a`,{href:a,target:`_blank`,rel:`noreferrer`,className:`link link-hover`,children:t(e=>e.read_the_docs_info,{ns:`common`})})}),(0,y.jsx)(m,{name:`action`,label:t(e=>e.action),onChange:g,value:o,children:n.map(e=>(0,y.jsx)(`option`,{value:e,children:e},e))}),(0,y.jsx)(h,{name:`payload`,label:t(e=>e.payload,{ns:`common`}),rows:5,value:c,onChange:e=>f(e.target.value),className:`textarea validator w-full`}),(0,y.jsx)(`div`,{className:`join join-horizontal mt-2`,children:(0,y.jsx)(l,{onClick:b,disabled:!p,className:`btn btn-success`,children:t(e=>e.send,{ns:`common`})})})]})};function w(e,t){switch(t){case`mqtt`:return(0,y.jsx)(b,{sourceIdx:e});case`external_converters`:return(0,y.jsx)(x,{sourceIdx:e});case`external_extensions`:return(0,y.jsx)(S,{sourceIdx:e});case`actions`:return(0,y.jsx)(C,{sourceIdx:e})}}var T=({isActive:e})=>e?`tab tab-active`:`tab`;function E({sourceIdx:e,tab:t}){let{t:n}=u(`devConsole`);return(0,y.jsxs)(`div`,{className:`tabs tabs-border`,children:[(0,y.jsx)(f,{to:`/settings/${e}/dev-console/mqtt`,className:T,children:n(e=>e.mqtt)}),(0,y.jsx)(f,{to:`/settings/${e}/dev-console/external_converters`,className:T,children:n(e=>e.external_converters)}),(0,y.jsx)(f,{to:`/settings/${e}/dev-console/external_extensions`,className:T,children:n(e=>e.external_extensions)}),(0,y.jsx)(f,{to:`/settings/${e}/dev-console/actions`,className:T,children:n(e=>e.actions)}),(0,y.jsx)(`div`,{className:`tab-content block h-full bg-base-100 p-3`,children:w(e,t)})]})}export{E as default};
|
|
Binary file
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{i as r,l as i,s as a}from"./store-DGIKh3zK.js";import{t as o}from"./shallow-inzhGNJg.js";import{D as s,M as c,b as l}from"./consts-ACU3OL1g.js";import{En as u,Nn as d,en as f,pn as p,rt as m,t as h,vr as g}from"./dist-CfE5hTP4.js";import{t as _}from"./Button-C09wmyxO.js";import{c as v,f as y,i as b,r as x}from"./index-D3pYOruP.js";import{t as S}from"./react-select.esm-D6gkf1g1.js";import{t as C}from"./EndpointPicker-CSugtgbJ.js";import{t as w}from"./TextareaField-CWDMDAzr.js";import{t as T}from"./Json-DWlaTYN_.js";import{a as E,n as D,o as O,s as k,t as A}from"./ClusterSinglePicker-DF_DhA2_.js";import{t as j}from"./InputField--ZMqg114.js";var M=e(t(),1),N=n(),P=(0,M.memo)(({message:e})=>(0,N.jsx)(`div`,{className:`mockup-code w-full before:content-none`,children:(0,N.jsx)(`pre`,{"data-prefix":`~`,className:l[e.level],children:(0,N.jsxs)(`code`,{children:[`[`,e.timestamp,`] `,e.message]})})})),F=e=>{switch(e){case k.ARRAY:case k.SET:case k.BAG:return`{"elementType": TODO, "elements": [TODO]}`;case k.STRUCT:return`[{"elmType": TODO, "elmVal": TODO}]`;case k.TOD:return`{"hours": TODO, "minutes": TODO, "seconds": TODO, "hundredths": TODO}`;case k.DATE:return`{"year": TODO, "month": TODO, "dayOfMonth": TODO, "dayOfWeek": TODO}`;case k.SEC_KEY:return`[TODO]`}};function I({value:e,onChange:t,attribute:n,definition:r}){if(r.type===k.ARRAY||r.type===k.STRUCT||r.type===k.SET||r.type===k.BAG||r.type===k.TOD||r.type===k.DATE||r.type===k.SEC_KEY)return(0,N.jsx)(`input`,{type:`text`,className:`flex-1 input`,value:e!=null&&e!==``?typeof e==`object`?JSON.stringify(e):e:void 0,placeholder:F(r.type),onChange:e=>{t(n,e.target.value)},onBlur:e=>{e.target.value&&t(n,JSON.parse(e.target.value))},disabled:!r.write});let i=r.type===k.IEEE_ADDR||r.type>=k.OCTET_STR&&r.type<=k.LONG_CHAR_STR?`text`:`number`;return(0,N.jsx)(`input`,{type:i,value:e==null||typeof e==`string`||typeof e==`number`?e:void 0,min:r.minExcl?r.minExcl+1:r.min,max:r.maxExcl?r.maxExcl-1:r.max,minLength:r.minLen??r.length,maxLength:r.maxLen??r.length,onChange:e=>{let r=i===`number`?e.target.valueAsNumber:e.target.value;t(n,Number.isNaN(r)?void 0:r)},disabled:!r.write,className:`flex-1 input validator`})}var L=(0,M.memo)(({sourceIdx:e,device:t,read:n,write:s,readReporting:c,lastLog:l})=>{let d=r(o(t=>t.bridgeDefinitions[e])),[v,b]=(0,M.useState)(i(t.endpoints)??``),[S,w]=(0,M.useState)(``),[T,E]=(0,M.useState)([]),[O,F]=(0,M.useState)(``),{t:L}=y([`common`,`zigbee`,`devConsole`]),R=(0,M.useCallback)(e=>{w(``),E([]),b(e.toString())},[]),z=(0,M.useCallback)(e=>{E([]),w(e)},[]),B=(0,M.useCallback)((e,t)=>{T.find(t=>t.attribute===e)||E(T.concat([{attribute:e,definition:t}]))},[T]),V=(0,M.useCallback)(e=>{F(e.target.value)},[]),H=(0,M.useCallback)(async()=>{await n(v,S,T.map(e=>e.attribute),O)},[v,S,T,O,n]),U=(0,M.useCallback)(async()=>{await s(v,S,T)},[v,S,T,s]),W=(0,M.useCallback)(async()=>{await c(v,S,T.map(e=>({attribute:e.attribute})))},[v,S,T,c]),G=(0,M.useMemo)(()=>T.length>0&&(0,N.jsx)(`fieldset`,{className:`fieldset gap-1 p-3 bg-base-200 rounded-box shadow-md border border-base-300 w-full`,children:T.map(({attribute:e,value:t=``,definition:n})=>(0,N.jsxs)(`div`,{className:`w-full flex flex-row items-center rounded-box p-1.5 hover:bg-base-100`,children:[(0,N.jsxs)(`div`,{className:`flex-1 self-center text-[0.85rem] flex flex-row items-center gap-1`,children:[e,` (`,k[n.type],`)`,n.required?null:(0,N.jsx)(`span`,{className:`tooltip tooltip-right`,"data-tip":L(e=>e.attribute_not_required,{ns:`zigbee`}),children:(0,N.jsx)(h,{icon:u,className:`text-warning`})}),n.read===!1?(0,N.jsx)(`span`,{className:`tooltip tooltip-right`,"data-tip":L(e=>e.attribute_not_readable,{ns:`zigbee`}),children:(0,N.jsx)(h,{icon:f,className:`text-error`})}):null,n.write?null:(0,N.jsx)(`span`,{className:`tooltip tooltip-right`,"data-tip":L(e=>e.attribute_not_writable,{ns:`zigbee`}),children:(0,N.jsx)(h,{icon:p,className:`text-error`})}),n.report?null:(0,N.jsx)(`span`,{className:`tooltip tooltip-right`,"data-tip":L(e=>e.attribute_report_not_required,{ns:`zigbee`}),children:(0,N.jsx)(h,{icon:m,className:`text-warning`})})]}),(0,N.jsx)(_,{className:`btn btn-error btn-outline mx-2`,item:e,onClick:e=>{E(T.filter(t=>t.attribute!==e))},children:(0,N.jsx)(h,{icon:g})}),(0,N.jsx)(I,{value:t,attribute:e,definition:n,onChange:(e,t)=>{let n=Array.from(T),r=n.find(t=>t.attribute===e);r&&(r.value=t),E(n)}})]},e))}),[T,L]),K=(0,M.useMemo)(()=>{let e=new Set,n=new Set,r=new Set;if(v){let i=t.endpoints[Number.parseInt(v,10)],a=new Set;if(d.custom_clusters[t.ieee_address])for(let e in d.custom_clusters[t.ieee_address])a.has(e)||(a.add(e),n.add(e));if(i)for(let t of i.clusters.input)a.has(t)||(a.add(t),e.add(t));for(let e in d.clusters)a.has(e)||r.add(e)}return[{name:`custom_clusters`,clusters:n},{name:`input_clusters`,clusters:e},{name:`other_zcl_clusters`,clusters:r}]},[t,v,d]),q=T.length===0||S===``,J=(0,M.useMemo)(()=>a(t),[t]);return v?(0,N.jsxs)(`div`,{className:`flex-1 flex flex-col gap-3 w-full`,children:[(0,N.jsx)(`h2`,{className:`text-lg`,children:L(e=>e.read_write_attributes,{ns:`zigbee`})}),(0,N.jsxs)(`div`,{className:`flex flex-row flex-wrap gap-2`,children:[(0,N.jsx)(C,{label:L(e=>e.endpoint,{ns:`zigbee`}),values:J,value:v,onChange:R,required:!0}),(0,N.jsx)(A,{label:L(e=>e.cluster),clusters:K,value:S,onChange:z,required:!0}),(0,N.jsx)(D,{sourceIdx:e,label:L(e=>e.attribute),value:``,cluster:S,device:t,onChange:B}),(0,N.jsx)(j,{type:`text`,name:`state_property`,label:L(e=>e.state_property,{ns:`devConsole`}),value:O,detail:`${L(e=>e.optional)}. ${L(e=>e.state_property_info,{ns:`devConsole`})}`,onChange:V})]}),G,(0,N.jsxs)(`div`,{className:`w-full flex flex-row flex-wrap justify-between gap-2`,children:[(0,N.jsxs)(`div`,{className:`w-full flex flex-row justify-between`,children:[(0,N.jsxs)(_,{disabled:q||T.some(e=>e.definition.read===!1||e.value!=null&&e.value!==``),className:`btn btn-success`,onClick:H,children:[(0,N.jsx)(h,{icon:f}),L(e=>e.read)]}),(0,N.jsxs)(_,{disabled:q||T.some(e=>!e.definition.write),className:`btn btn-error`,onClick:U,children:[(0,N.jsx)(h,{icon:p}),L(e=>e.write)]})]}),(0,N.jsxs)(x,{disabled:q||T.some(e=>e.value!=null&&e.value!==``),className:`btn btn-accent`,onClick:W,title:L(e=>e.sync_reporting),modalDescription:L(e=>e.dialog_confirmation_prompt),modalCancelLabel:L(e=>e.cancel),children:[(0,N.jsx)(h,{icon:m}),L(e=>e.sync_reporting)]})]}),l&&(0,N.jsx)(P,{message:l})]}):(0,N.jsx)(`span`,{children:`No endpoints`})}),R=(0,M.memo)(({sourceIdx:e,cluster:t,device:n,onChange:i,value:a,label:c,required:l,disabled:u})=>{let d=r(o(t=>t.bridgeDefinitions[e])),{t:f}=y(`zigbee`),p=(0,M.useMemo)(()=>E(d,n.ieee_address,t),[d,n.ieee_address,t]),m=(0,M.useMemo)(()=>{let e=[];for(let t in p)e.push({value:t,label:t});return e},[p]),h=(0,M.useMemo)(()=>a==null||a===``?null:m.find(e=>e.value===a)??null,[a,m]);return(0,N.jsxs)(`fieldset`,{className:`fieldset`,children:[c&&(0,N.jsxs)(`legend`,{className:`fieldset-legend`,children:[c,l?` *`:``]}),(0,N.jsx)(S,{unstyled:!0,placeholder:f(e=>e.select_command),"aria-label":c??f(e=>e.select_command),options:m,value:h,isSearchable:!0,isDisabled:u,onChange:e=>{e!=null&&i(e.value,p[e.value])},className:`min-w-64`,classNames:s})]})}),z=e=>{if(e){let t=`[`;for(let n of e){t+=`{${n.type}`;for(let e in n)e!==`type`&&(t+=` ${e}=${n[e]}`);t+=`}`}return`${t}]`}},B=(0,M.memo)(({sourceIdx:e,device:t,lastLog:n})=>{let{t:i}=y([`common`,`zigbee`]),[a,s]=(0,M.useState)(1),[c,l]=(0,M.useState)(``),[f,p]=(0,M.useState)(``),[m,g]=(0,M.useState)(null),[v,x]=(0,M.useState)(`{}`),S=r(o(t=>t.bridgeDefinitions[e])),C=(0,M.useMemo)(()=>{if(!c||!f)return!1;try{let e=JSON.parse(v);if(typeof e!=`object`||Array.isArray(e)&&e.length>0&&typeof e[0]!=`object`)return!1}catch{return!1}return!0},[v,c,f]),T=(0,M.useMemo)(()=>{let e=t.endpoints[a],n=new Set,r=new Set,i=new Set,o=new Set,s=new Set;if(S.custom_clusters[t.ieee_address])for(let e in S.custom_clusters[t.ieee_address])n.has(e)||(n.add(e),o.add(e));if(e){for(let t of e.clusters.input)n.has(t)||(n.add(t),r.add(t));for(let t of e.clusters.output)n.has(t)||(n.add(t),i.add(t))}for(let e in S.clusters)n.has(e)||s.add(e);return[{name:`custom_clusters`,clusters:o},{name:`input_clusters`,clusters:r},{name:`output_clusters`,clusters:i},{name:`other_zcl_clusters`,clusters:s}]},[t.ieee_address,t.endpoints,a,S]),E=(0,M.useCallback)((e,t)=>{p(e),g(t);let n=`{
|
|
2
|
+
`,r=t.parameters.length-1;for(let e=0;e<t.parameters.length;e++){let i=t.parameters[e];n+=` "${i.name}": TODO${e===r?``:`,`}\n`}n+=`}`,x(n)},[]),D=(0,M.useCallback)(async()=>{let n=Number.parseInt(f,10);Number.isNaN(n)&&(n=f),await b(e,`${t.ieee_address}/${a}/set`,{command:{cluster:c,command:n,payload:JSON.parse(v)}})},[e,c,t.ieee_address,f,v,a]);return(0,N.jsxs)(`div`,{className:`flex-1 flex flex-col gap-3 w-full`,children:[(0,N.jsx)(`h2`,{className:`text-lg`,children:i(e=>e.execute_command)}),(0,N.jsxs)(`div`,{className:`flex flex-row flex-wrap gap-2`,children:[(0,N.jsx)(j,{type:`number`,name:`endpoint`,label:i(e=>e.endpoint,{ns:`zigbee`}),min:1,max:255,value:a,onChange:e=>!!e.target.value&&s(e.target.valueAsNumber),required:!0}),(0,N.jsx)(A,{label:i(e=>e.cluster,{ns:`zigbee`}),clusters:T,value:c,onChange:e=>{l(e)},required:!0}),(0,N.jsx)(R,{sourceIdx:e,label:i(e=>e.command),value:f,cluster:c,device:t,onChange:E})]}),m?(0,N.jsxs)(`div`,{className:`list`,children:[m.required&&m.response==null?null:(0,N.jsx)(`div`,{className:`list-row p-1`,children:(0,N.jsxs)(`div`,{className:`flex flex-row gap-2`,children:[m.required?null:(0,N.jsx)(`span`,{className:`tooltip tooltip-right`,"data-tip":i(e=>e.command_not_required,{ns:`zigbee`}),children:(0,N.jsx)(h,{icon:u,className:`text-warning`})}),m.response==null?null:(0,N.jsx)(`span`,{className:`tooltip tooltip-right`,"data-tip":i(e=>e.command_has_response,{ns:`zigbee`}),children:(0,N.jsx)(h,{icon:d,className:`text-accent`})})]})}),m.parameters.length>0?m.parameters.map(e=>(0,N.jsxs)(`div`,{className:`list-row p-1`,children:[(0,N.jsxs)(`div`,{children:[e.name,`: `,k[e.type]??O[e.type]]}),(0,N.jsxs)(`div`,{className:`flex flex-row gap-2 justify-end`,children:[e.min==null?null:(0,N.jsxs)(`span`,{children:[`Min: `,e.min]}),e.minExcl==null?null:(0,N.jsxs)(`span`,{children:[`Min excl: `,e.minExcl]}),e.max==null?null:(0,N.jsxs)(`span`,{children:[`Max: `,e.max]}),e.maxExcl==null?null:(0,N.jsxs)(`span`,{children:[`Max excl: `,e.maxExcl]}),e.minLen==null?null:(0,N.jsxs)(`span`,{children:[`Min len: `,e.minLen]}),e.maxLen==null?null:(0,N.jsxs)(`span`,{children:[`Max len: `,e.maxLen]}),e.length==null?null:(0,N.jsxs)(`span`,{children:[`Length: `,e.length]}),e.special==null?null:(0,N.jsxs)(`span`,{children:[`Special: [`,e.special.map(e=>`${e[0]}=${e[1]}`).join(` `),`]`]}),e.conditions==null?null:(0,N.jsxs)(`span`,{children:[`Conditions: `,z(e.conditions)]})]})]},e.name)):(0,N.jsx)(N.Fragment,{children:`NO PARAMETER`})]}):null,(0,N.jsx)(w,{name:`payload`,label:i(e=>e.payload),rows:(v.match(/\n/g)||``).length+1,value:v,onChange:e=>x(e.target.value),className:`textarea validator w-full`,required:!0,disabled:m?.parameters.length===0}),(0,N.jsx)(`div`,{children:(0,N.jsx)(_,{onClick:D,disabled:!C,className:`btn btn-success`,children:i(e=>e.execute)})}),n&&(0,N.jsx)(P,{message:n})]})}),V=(0,M.memo)(({sourceIdx:e,device:t,externalDefinition:n})=>{let{t:i}=y(`zigbee`),a=r(o(t=>t.bridgeInfo[e])),s={template:`new_device_support.yaml`,title:`[New device support]: ${t.model_id} from ${t.manufacturer}`,z2m_version:`${a.version} (${a.commit})`,notes:`
|
|
3
|
+
software_build_id: \`${t.software_build_id}\`
|
|
4
|
+
date_code: \`${t.date_code}\`
|
|
5
|
+
endpoints:
|
|
6
|
+
\`\`\`json
|
|
7
|
+
${JSON.stringify(t.endpoints)}
|
|
8
|
+
\`\`\``,external_definition:n};return(0,N.jsx)(v,{target:`_blank`,rel:`noopener noreferrer`,to:`${c}?${new URLSearchParams(s).toString()}`,className:`btn`,children:i(e=>e.request_support)})}),H=/^(zhc:tz: Read result of |z2m: Publish 'set' 'read' to |z2m: Publish 'set' 'write' to |zhc:tz: Wrote )/;function U({sourceIdx:e,device:t}){let{t:n}=y([`devConsole`,`common`]),i=r(o(n=>n.generatedExternalDefinitions[e][t.ieee_address])),a=r(o(t=>t.logs[e].findLast(e=>e.message.startsWith(`zhc:tz: Invoked `)))),s=r(o(t=>t.logs[e].findLast(e=>H.test(e.message)))),c=r(e=>e.resetDeviceState),[l,u]=(0,M.useState)(!1),[d,f]=(0,M.useState)(!1);(0,M.useEffect)(()=>{u(!1)},[t]);let p=(0,M.useCallback)(async(n,r,i,a)=>{let o={read:{cluster:r,attributes:i}};a&&(o.read.state_property=a),await b(e,`${t.ieee_address}/${n}/set`,o)},[e,t.ieee_address]),m=(0,M.useCallback)(async(n,r,i)=>{let a={write:{cluster:r,payload:{}}};for(let e of i)a.write.payload[e.attribute]=e.value;await b(e,`${t.ieee_address}/${n}/set`,a)},[e,t.ieee_address]),h=(0,M.useCallback)(async(n,r,i)=>{await b(e,`bridge/request/device/reporting/read`,{id:t.ieee_address,endpoint:n,cluster:r,configs:i})},[e,t.ieee_address]),g=(0,M.useCallback)(async()=>{u(!0),await b(e,`bridge/request/device/generate_external_definition`,{id:t.ieee_address})},[e,t.ieee_address]),S=(0,M.useCallback)(()=>{c(e,t.friendly_name)},[e,t.friendly_name,c]);return(0,N.jsxs)(`div`,{className:`flex flex-col gap-3 w-full`,children:[(0,N.jsxs)(`div`,{className:`flex flex-row flex-wrap justify-center items-center gap-2`,children:[i?t.supported?null:(0,N.jsx)(V,{sourceIdx:e,device:t,externalDefinition:i}):l?(0,N.jsx)(`span`,{className:`loading loading-infinity loading-xl`}):(0,N.jsx)(_,{className:`btn btn-primary`,onClick:g,children:n(e=>e.generate_external_definition)}),(0,N.jsx)(_,{item:!d,onClick:f,className:`btn btn-primary`,children:n(e=>d?e.hide_definition:e.show_definition)}),(0,N.jsx)(x,{className:`btn btn-error`,onClick:S,title:n(e=>e.reset_frontend_state),modalDescription:n(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:n(e=>e.cancel,{ns:`common`}),children:n(e=>e.reset_frontend_state)})]}),i&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`div`,{className:`divider`}),(0,N.jsx)(w,{name:`generated_external_definition`,label:n(e=>e.generated_external_definition),value:i,className:`textarea w-full`,rows:8,readOnly:!0}),(0,N.jsx)(v,{to:`https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html`,target:`_blank`,rel:`noreferrer`,className:`link link-primary self-end`,children:n(e=>e.documentation,{ns:`common`})})]}),d&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`div`,{className:`divider`}),(0,N.jsx)(T,{obj:t.definition??{},lines:12})]}),(0,N.jsx)(`div`,{className:`divider`}),(0,N.jsx)(L,{sourceIdx:e,device:t,read:p,write:m,readReporting:h,lastLog:s}),(0,N.jsx)(`div`,{className:`divider`}),(0,N.jsx)(B,{sourceIdx:e,device:t,lastLog:a})]})}export{U as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{Fn as r,t as i}from"./dist-CfE5hTP4.js";import{c as a,f as o,n as s}from"./index-D3pYOruP.js";import{t as c}from"./DeviceImage-CXlsJhdp.js";import{t as l}from"./LastSeen-DZTP2CnK.js";import{t as u}from"./PowerSource-Pz7Bfb6S.js";import{n as d}from"./startCase-uNz46yT6.js";import{r as f}from"./features-BSYFOmr-.js";import{t as p}from"./Lqi-va07g-tn.js";var m=e(t(),1),h=n(),g=(0,m.memo)(({onChange:e,onRead:t,sourceIdx:n,hideSourceDot:g,device:_,endpoint:v,deviceState:y,lastSeenConfig:b,features:x,featureWrapperClass:S,children:C})=>{let{t:w}=o([`zigbee`,`common`]),T=v==null?void 0:_.endpoints[v]?.name,E=(0,m.useMemo)(()=>{let n=[];for(let r of x){let i=v!=null&&!!r.endpoint;(!i||Number(r.endpoint)===v||r.endpoint===T)&&n.push((0,h.jsx)(d,{feature:r,device:_,deviceState:y,onChange:e,onRead:t,featureWrapperClass:S,minimal:!0,parentFeatures:[],endpointSpecific:i},f(r)))}return n},[T,_,v,y,x,S,e,t]);return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(`div`,{className:`card-body p-2`,children:[(0,h.jsxs)(`div`,{className:`flex flex-row items-center gap-3 w-full`,children:[(0,h.jsx)(`div`,{className:`flex-none h-11 w-11 overflow-visible`,children:(0,h.jsx)(c,{disabled:!1,device:_,otaState:y.update?.state})}),(0,h.jsxs)(`div`,{className:`min-w-0`,children:[(0,h.jsxs)(a,{to:`/device/${n}/${_.ieee_address}/info`,className:`link link-hover font-semibold`,children:[_.friendly_name,v==null?``:` (${w(e=>e.endpoint)}: ${T?`${T} / `:``}${v})`]}),_.description&&(0,h.jsx)(`div`,{className:`text-xs opacity-50 truncate`,title:_.description,children:_.description}),(0,h.jsx)(`div`,{className:`text-xs opacity-50`,children:(0,h.jsx)(l,{lastSeen:y.last_seen,config:b})}),!g&&(0,h.jsx)(`span`,{className:`absolute top-2 right-2`,children:(0,h.jsx)(s,{idx:n,autoHide:!0})})]})]}),(0,h.jsx)(`div`,{className:`text-sm w-full p-2`,children:E}),(0,h.jsx)(`div`,{className:`flex flex-row justify-end mb-2`,children:(0,h.jsxs)(a,{to:`/device/${n}/${_.ieee_address}/exposes`,className:`btn btn-xs`,children:[w(e=>e.exposes,{ns:`common`}),` `,(0,h.jsx)(i,{icon:r,size:`lg`})]})})]}),(0,h.jsxs)(`div`,{className:`flex flex-row flex-wrap gap-1 mx-2 mb-2 justify-around items-center`,children:[(0,h.jsx)(`span`,{className:`badge badge-soft badge-ghost cursor-default tooltip`,"data-tip":w(e=>e.lqi),children:(0,h.jsx)(p,{value:y.linkquality})}),(0,h.jsx)(`span`,{className:`badge badge-soft badge-ghost cursor-default tooltip`,"data-tip":w(e=>e.power),children:(0,h.jsx)(u,{device:_,batteryPercent:y.battery,batteryState:y.battery_state,batteryLow:y.battery_low,showLevel:!0})}),C]})]})});export{g as t};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,t}from"./rolldown-runtime-B1FJdls4.js";import{n,t as r}from"./jsx-runtime-C5tU7uY8.js";import{_ as i}from"./consts-ACU3OL1g.js";import{Dn as a,Xn as o,Zn as s,h as c,nr as l,t as u,ut as d}from"./dist-CfE5hTP4.js";import{f}from"./index-D3pYOruP.js";import{r as p,t as m}from"./device-CWMG6uQC.js";var h=r();function g({error:e,children:t}){return e?(0,h.jsx)(u,{icon:d,size:`3x`,className:`text-error`}):t}var _=t(((e,t)=>{function n(e){"@babel/helpers - typeof";return t.exports=n=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t.exports.__esModule=!0,t.exports.default=t.exports,n(e)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports})),v=t(((e,t)=>{var n=_().default;function r(e,t){if(n(e)!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||`default`);if(n(i)!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports})),y=t(((e,t)=>{var n=_().default,r=v();function i(e){var t=r(e,`string`);return n(t)==`symbol`?t:t+``}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports})),b=t(((e,t)=>{var n=y();function r(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports})),x=t(((e,t)=>{function n(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports})),S=t(((e,t)=>{(function(r,i){typeof e==`object`&&t!==void 0?i(e,b(),x(),n()):typeof define==`function`&&define.amd?define([`exports`,`@babel/runtime/helpers/defineProperty`,`@babel/runtime/helpers/objectWithoutPropertiesLoose`,`react`],i):(r=typeof globalThis>`u`?r||self:globalThis,i(r.Img={},r._defineProperty,r._objectWithoutPropertiesLoose,r.React))})(e,function(e,t,n,r){function i(e){return e&&typeof e==`object`&&`default`in e?e:{default:e}}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t,n=1;n<arguments.length;n++)t=arguments[n]==null?{}:arguments[n],n%2?a(Object(t),!0).forEach(function(n){u.default(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))});return e}function s(e){var t=e.srcList,n=e.imgPromise,i=n===void 0?p({decode:!0}):n,a=e.useSuspense,s=a===void 0||a,c=r.useState(!1)[1],l=m(h(t)),u=l.join(``);if(g[u]||(g[u]={promise:_(l,i),cache:`pending`,error:null}),g[u].cache===`resolved`)return{src:g[u].src,isLoading:!1,error:null};if(g[u].cache===`rejected`){if(s)throw g[u].error;return{isLoading:!1,error:g[u].error,src:void 0}}if(g[u].promise.then(function(e){g[u]=o(o({},g[u]),{},{cache:`resolved`,src:e}),s||c(u)}).catch(function(e){g[u]=o(o({},g[u]),{},{cache:`rejected`,error:e}),s||c(u)}),s)throw g[u].promise;return{isLoading:!0,src:void 0,error:null}}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function l(e){for(var t,n=1;n<arguments.length;n++)t=arguments[n]==null?{}:arguments[n],n%2?c(Object(t),!0).forEach(function(n){u.default(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):c(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))});return e}var u=i(t),d=i(n),f=i(r),p=function(e){var t=e.decode,n=e.crossOrigin,r=n===void 0?``:n;return function(e){return new Promise(function(n,i){var a=new Image;r&&(a.crossOrigin=r),a.onload=function(){(t===void 0||t)&&a.decode?a.decode().then(n).catch(i):n()},a.onerror=i,a.src=e})}},m=function(e){return e.filter(function(e){return e})},h=function(e){return Array.isArray(e)?e:[e]},g={},_=function(e,t){var n=!1;return new Promise(function(r,i){var a=function(e){return t(e).then(function(){n=!0,r(e)})};e.reduce(function(e,t){return e.catch(function(){if(!n)return a(t)})},a(e.shift())).catch(i)})},v=[`decode`,`src`,`loader`,`unloader`,`container`,`loaderContainer`,`unloaderContainer`,`imgPromise`,`crossorigin`,`useSuspense`],y=function(e){return e};e.Img=function(e){var t=e.decode,n=e.src,r=n===void 0?[]:n,i=e.loader,a=i===void 0?null:i,o=e.unloader,c=o===void 0?null:o,u=e.container,m=u===void 0?y:u,h=e.loaderContainer,g=h===void 0?y:h,_=e.unloaderContainer,b=_===void 0?y:_,x=e.imgPromise,S=e.crossorigin,C=e.useSuspense,w=C!==void 0&&C,T=d.default(e,v);x||=p({decode:t===void 0||t,crossOrigin:S});var E=s({srcList:r,imgPromise:x,useSuspense:w}),D=E.src,O=E.isLoading;return D?m(f.default.createElement(`img`,l({src:D},T))):!w&&O?g(a):!w&&c?b(c):null},e.useImage=s,Object.defineProperty(e,`__esModule`,{value:!0})})})),C=e(n(),1),w=S(),T=(0,C.memo)(({device:e={},className:t})=>{let n=e.definition?.icon,r=m(e),i=[];n&&i.push(n),r&&i.push(r),r!==``+new URL(`generic-zigbee-device-Dj-9sUqG.png`,import.meta.url).href&&i.push(p);let{src:a}=(0,w.useImage)({srcList:i});return(0,h.jsx)(`img`,{alt:e.ieee_address,src:a,className:`object-contain ${t??``}`})}),E=(0,C.memo)(e=>{let{t}=f([`zigbee`,`common`]),{device:n={},disabled:r,otaState:m,className:_,noIndicator:v}=e,y=(0,C.useMemo)(()=>n.interview_state===i.InProgress?(0,h.jsx)(`span`,{title:t(e=>e.interviewing),children:(0,h.jsx)(u,{icon:o,spin:!0,className:`indicator-item indicator-bottom indicator-end text-info`})}):n.interview_state===i.Failed?(0,h.jsx)(`span`,{title:t(e=>e.interview_failed),children:(0,h.jsx)(u,{icon:d,beat:!0,className:`indicator-item indicator-bottom indicator-end text-error`})}):n.definition?.source===`generated`?(0,h.jsx)(`span`,{title:t(e=>e.unsupported),children:(0,h.jsx)(u,{icon:a,beat:!0,className:`indicator-item indicator-bottom indicator-end text-warning`})}):n.definition?.source===`external`?(0,h.jsx)(`span`,{title:t(e=>e.unsupported),children:(0,h.jsx)(u,{icon:s,className:`indicator-item indicator-bottom indicator-end text-info`})}):null,[n.interview_state,n.definition,t]);return(0,h.jsx)(C.Suspense,{fallback:(0,h.jsx)(`img`,{alt:n.ieee_address,src:p}),children:(0,h.jsx)(g,{children:v?(0,h.jsx)(T,{device:n,className:`grid place-items-center${_?` ${_}`:``}`}):(0,h.jsxs)(`div`,{className:`indicator w-full`,children:[m===`updating`&&(0,h.jsx)(`span`,{title:t(e=>e.updating_firmware),children:(0,h.jsx)(u,{icon:l,spin:!0,className:`indicator-item indicator-top indicator-end text-info`})}),y,r&&(0,h.jsx)(`span`,{title:t(e=>e.disabled,{ns:`common`}),children:(0,h.jsx)(u,{icon:c,className:`indicator-item indicator-middle indicator-center text-error`,size:`2xl`})}),(0,h.jsx)(T,{device:n,className:`grid place-items-center${_?` ${_}`:``}`})]})})})});export{E as t};
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{n as r,r as i,t as a}from"./Modal-DkH2V1VC.js";import{i as o,n as s,r as c,v as l}from"./store-DGIKh3zK.js";import{t as u}from"./shallow-inzhGNJg.js";import{M as d,_ as f}from"./consts-ACU3OL1g.js";import{Xn as p,j as m,st as h,t as g,ut as _}from"./dist-CfE5hTP4.js";import{t as v}from"./Button-C09wmyxO.js";import{c as y,f as b,i as x,n as S}from"./index-D3pYOruP.js";import{t as C}from"./TextareaField-CWDMDAzr.js";import{t as w}from"./snakeCase-0YGV1fIQ.js";import{i as T,n as E,r as D,t as O}from"./Availability-CPqL8wxZ.js";import{n as ee}from"./device-CWMG6uQC.js";import{t as k}from"./DeviceImage-CXlsJhdp.js";import{i as A,t as j}from"./OtaControlGroup-DwpR1GB_.js";import{n as M,t as N}from"./VendorLink-Jm24ebj5.js";import{t as P}from"./DisplayValue-DFsRQsrg.js";import{t as F}from"./LastSeen-DZTP2CnK.js";import{t as I}from"./PowerSource-Pz7Bfb6S.js";var L=e(w(),1),R=e(t(),1),z=n(),B=r.create(({device:e,setDeviceDescription:t})=>{let n=i(),{t:r}=b([`zigbee`,`common`]),[o,s]=(0,R.useState)(e.description||``);return(0,R.useEffect)(()=>{s(e.description||``)},[e.description]),(0,R.useEffect)(()=>{let e=e=>{e.key===`Escape`&&(e.preventDefault(),n.remove())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n]),(0,z.jsx)(a,{isOpen:n.visible,title:`${r(e=>e.update_description)} ${e.friendly_name}`,footer:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(v,{className:`btn btn-neutral`,onClick:n.remove,children:r(e=>e.cancel,{ns:`common`})}),(0,z.jsx)(v,{className:`btn btn-primary ms-1`,onClick:async()=>{n.remove(),await t(e.ieee_address,o)},children:r(e=>e.save_description)})]}),children:(0,z.jsx)(`div`,{className:`flex flex-col gap-2`,children:(0,z.jsx)(C,{label:r(e=>e.description),name:`update_description`,onChange:e=>s(e.target.value),rows:3,value:o})})})}),V=(0,R.memo)(({device:e,setDeviceDescription:t})=>{let{t:n}=b(`zigbee`);return(0,z.jsx)(v,{className:`btn btn-link btn-md ${e.description?`btn-square`:``} tooltip-bottom`,onClick:async()=>await r.show(B,{device:e,setDeviceDescription:t}),title:n(e=>e.edit_description),children:e.description?(0,z.jsx)(g,{icon:h}):n(e=>e.edit_description)})}),H=/\[(.*?)]\((.*?)\)/,U={native:`badge-success`,external:`badge-info`,generated:`badge-warning`},W=(e,t)=>{if(!(e===`bindings`||e===`configured_reportings`||e===`scenes`))return t},G=(0,R.memo)(({sourceIdx:e,device:t})=>{let{t:n}=b(`zigbee`),r=o(u(t=>t.bridgeInfo[e])),i={template:`external_converter.yaml`,title:`[External Converter]: ${t.model_id} from ${t.manufacturer}`,z2m_version:`${r.version} (${r.commit})`,notes:`
|
|
2
|
+
software_build_id: \`${t.software_build_id}\`
|
|
3
|
+
date_code: \`${t.date_code}\`
|
|
4
|
+
endpoints:
|
|
5
|
+
\`\`\`json
|
|
6
|
+
${JSON.stringify(t.endpoints,W)}
|
|
7
|
+
\`\`\``};return(0,z.jsx)(y,{target:`_blank`,rel:`noopener noreferrer`,to:`${d}?${new URLSearchParams(i).toString()}`,className:`link link-hover`,children:n(e=>e.submit_converter)})}),K=(0,R.memo)(({sourceIdx:e,device:t})=>{let{t:n}=b(`zigbee`),r=o(u(t=>t.bridgeInfo[e])),i=o(u(t=>t.bridgeHealth[e])),a=t.definition;if(!a)return null;let s=a.model===t.model_id?``:` (${a.model})`,c={template:`problem_report.yaml`,title:`[${t.model_id}${s} / ${t.manufacturer}] ???`,z2m_version:`${r.version} (${r.commit})`,adapter_fwversion:JSON.stringify(r.coordinator.meta),adapter:r.coordinator.type,setup:`os: \`${r.os.version}\`
|
|
8
|
+
node: \`${r.os.node_version}\`
|
|
9
|
+
ha: \`${r.config.homeassistant.enabled}\``,notes:`
|
|
10
|
+
#### Device
|
|
11
|
+
definition: \`${a.model}\` - \`${a.vendor}\` (\`v${a.version??`0.0.0`}\`)
|
|
12
|
+
software_build_id: \`${t.software_build_id}\`
|
|
13
|
+
date_code: \`${t.date_code}\`
|
|
14
|
+
endpoints:
|
|
15
|
+
\`\`\`json
|
|
16
|
+
${JSON.stringify(t.endpoints)}
|
|
17
|
+
\`\`\``};return i.response_time>0&&(c.notes+=`
|
|
18
|
+
##### Health
|
|
19
|
+
time: \`${new Date(i.response_time)}\`
|
|
20
|
+
os.load_average: \`${i.os.load_average.join(`, `)}\`
|
|
21
|
+
os.memory_percent: \`${i.os.memory_percent}\`
|
|
22
|
+
process.memory_percent: \`${i.process.memory_percent}\`
|
|
23
|
+
process.uptime_sec: \`${Math.round(i.process.uptime_sec)}\`
|
|
24
|
+
\`\`\`json
|
|
25
|
+
${JSON.stringify(i.devices[t.ieee_address]??{})}
|
|
26
|
+
\`\`\`
|
|
27
|
+
`),(0,z.jsx)(y,{target:`_blank`,rel:`noopener noreferrer`,to:`${d}?${new URLSearchParams(c).toString()}`,className:`btn btn-ghost`,children:n(e=>e.report_problem)})});function q({sourceIdx:e,device:t}){let{t:n}=b([`zigbee`,`availability`,`common`,`ota`]),r=o(u(t=>t.deviceStates[e])),i=o(u(t=>t.bridgeInfo[e].config)),a=o(u(t=>t.availability[e])),d=o(u(t=>t.recentActivity[e])),h=i.homeassistant.enabled,v=r[t.friendly_name]??{},C=d[t.friendly_name],w=(0,R.useMemo)(()=>ee(t),[t]),B=(0,R.useMemo)(()=>A(v.update?.installed_version),[v.update?.installed_version]),W=(0,R.useMemo)(()=>T.get(t.ieee_address.slice(2,8))??`?`,[t.ieee_address]),q=(0,R.useCallback)(async(t,n)=>{await x(e,`bridge/request/device/options`,{id:t,options:{description:n}})},[e]),J=(0,R.useCallback)(async(e,t,n,r)=>{await x(e,`bridge/request/device/rename`,{from:t,to:n,homeassistant_rename:r,last:void 0})},[]),Y=(0,R.useCallback)(async([e,t])=>{await x(e,`bridge/request/device/configure`,{id:t})},[]),X=(0,R.useCallback)(async([e,t])=>{await x(e,`bridge/request/device/interview`,{id:t})},[]),Z=(0,R.useCallback)(async(e,t,n,r)=>{await x(e,`bridge/request/device/remove`,{id:t,force:n,block:r})},[]),Q=(0,R.useCallback)(async({sourceIdx:e,ieee:t,...n})=>await x(e,`bridge/request/device/ota_update/check`,{id:t,...n}),[]),te=(0,R.useCallback)(async({sourceIdx:e,ieee:t,downgrade:n,...r})=>await x(e,n?`bridge/request/device/ota_update/update/downgrade`:`bridge/request/device/ota_update/update`,{id:t,...r}),[]),ne=(0,R.useCallback)(async({sourceIdx:e,ieee:t,downgrade:n,...r})=>await x(e,n?`bridge/request/device/ota_update/schedule/downgrade`:`bridge/request/device/ota_update/schedule`,{id:t,...r}),[]),re=(0,R.useCallback)(async({sourceIdx:e,ieee:t})=>await x(e,`bridge/request/device/ota_update/unschedule`,{id:t}),[]),$=i.devices[t.ieee_address]?.availability,ie=(0,R.useMemo)(()=>{let e=t.definition?.description?H.exec(t.definition?.description):void 0;if(e){let[,t,n]=e;return(0,z.jsx)(y,{target:`_blank`,rel:`noopener noreferrer`,to:n,className:`link link-hover`,children:t})}return(0,z.jsx)(z.Fragment,{children:t.definition?.description})},[t.definition]),ae=(0,R.useMemo)(()=>{switch(t.interview_state){case f.Pending:return(0,z.jsx)(g,{icon:p,className:`text-info`});case f.InProgress:return(0,z.jsx)(g,{icon:p,spin:!0,className:`text-info`});case f.Successful:return(0,z.jsx)(g,{icon:m,className:`text-success`});default:return(0,z.jsx)(g,{icon:_,beat:!0,className:`text-error`})}},[t.interview_state]);return(0,z.jsxs)(`div`,{className:`card lg:card-side bg-base-100`,children:[(0,z.jsx)(`figure`,{className:`w-64 h-64`,style:{overflow:`visible`},children:(0,z.jsx)(k,{device:t,otaState:v.update?.state,disabled:t.disabled,noIndicator:!0})}),(0,z.jsxs)(`div`,{className:`card-body py-0 px-3`,children:[(0,z.jsxs)(`h2`,{className:`card-title`,children:[t.friendly_name,(0,z.jsx)(D,{sourceIdx:e,name:t.friendly_name,renameDevice:J,homeassistantEnabled:h,style:`btn-link btn-md btn-square`})]}),(0,z.jsxs)(`div`,{className:`flex flex-row flex-wrap gap-2`,children:[(0,z.jsxs)(`span`,{className:`badge ${t.definition?U[t.definition.source]:``}`,children:[(0,z.jsx)(P,{name:`supported`,value:t.supported}),t.definition?`: ${t.definition.source}`:``]}),!t.supported&&(0,z.jsx)(`span`,{className:`badge`,children:(0,z.jsx)(y,{target:`_blank`,rel:`noopener noreferrer`,to:`https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html`,className:`link link-hover`,children:n(e=>e.how_to_add_support)})}),t.definition?.source===`external`&&(0,z.jsx)(`span`,{className:`badge`,children:(0,z.jsx)(G,{sourceIdx:e,device:t})}),(0,z.jsxs)(`span`,{className:`badge opacity-70 tooltip tooltip-bottom`,"data-tip":t.interview_state,children:[n(e=>e.interview_state),`: `,ae]})]}),(0,z.jsxs)(`div`,{children:[(0,z.jsx)(`pre`,{className:`inline text-wrap break-all`,children:t.description||``}),(0,z.jsx)(V,{device:t,setDeviceDescription:q})]}),(0,z.jsxs)(`div`,{className:`grid grid-cols-[max-content_1fr] gap-x-3 gap-y-2 text-wrap`,children:[(0,z.jsx)(`div`,{className:`font-semibold text-base-content/70`,children:n(e=>e.type)}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`p`,{className:`font-semibold`,children:t.type}),(0,z.jsxs)(`p`,{className:`text-base-content/50`,children:[t.type===`GreenPower`?`GreenPower`:n(e=>e[(0,L.default)(t.power_source)]||e.unknown),(0,z.jsx)(`span`,{className:`ms-3`,children:(0,z.jsx)(I,{showLevel:!0,device:t,batteryPercent:v.battery,batteryState:v.battery_state,batteryLow:v.battery_low})})]})]}),(0,z.jsx)(`div`,{className:`font-semibold text-base-content/70`,children:n(e=>e.ieee_address)}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`p`,{className:`font-semibold font-mono`,children:t.ieee_address}),(0,z.jsx)(`p`,{className:`text-base-content/50`,children:(0,z.jsxs)(`span`,{className:`tooltip tooltip-bottom`,children:[(0,z.jsxs)(`span`,{className:`tooltip-content`,children:[`Organizationally Unique Identifier`,(0,z.jsx)(`br`,{}),`(IEEE Vendor Prefix)`]}),`OUI: `,W]})})]}),(0,z.jsx)(`div`,{className:`font-semibold text-base-content/70`,children:n(e=>e.network_address)}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`p`,{className:`font-semibold`,children:(0,z.jsx)(`span`,{className:`tooltip tooltip-bottom`,"data-tip":n(e=>e.network_address_hex),children:(0,z.jsx)(`span`,{className:`font-mono`,children:l(t.network_address)})})}),(0,z.jsxs)(`p`,{className:`text-base-content/50`,children:[n(e=>e.network_address_dec),`: `,(0,z.jsx)(`span`,{className:`font-mono`,children:t.network_address})]})]}),(0,z.jsx)(`div`,{className:`font-semibold text-base-content/70`,children:n(e=>e.zigbee_model)}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`p`,{className:`font-semibold break-all`,children:t.model_id}),(0,z.jsx)(`p`,{className:`text-base-content/50`,children:t.manufacturer})]}),(0,z.jsxs)(`div`,{className:`font-semibold text-base-content/70`,children:[n(e=>e.definition,{ns:`common`}),` (Zigbee2MQTT)`]}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsxs)(`p`,{className:`font-semibold break-all`,children:[(0,z.jsx)(M,{modelId:t.model_id,supported:t.supported,definitionModel:t.definition?.model,icon:!0}),t.definition?.version&&t.definition.version!==`0.0.0`?` (v${t.definition.version})`:null]}),(0,z.jsxs)(`p`,{className:`text-base-content/50`,children:[ie,` (`,(0,z.jsx)(N,{supported:t.supported,definitionVendor:t.definition?.vendor,icon:!0}),`)`]})]}),t.software_build_id?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`font-semibold text-base-content/70`,children:n(e=>e.firmware_id)}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`p`,{className:`font-semibold`,children:t.software_build_id||`N/A`}),(0,z.jsx)(`p`,{className:`text-base-content/50`,children:t.date_code||`N/A`})]})]}):null,w?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`font-semibold text-base-content/70`,children:n(e=>e.firmware_version,{ns:`ota`})}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsxs)(`p`,{className:`font-semibold`,children:[v.update?.installed_version??n(e=>e.unknown),(0,z.jsx)(`span`,{className:`ms-3`,children:(0,z.jsx)(j,{sourceIdx:e,device:t,otaSettings:i.ota,state:v.update,onCheckClick:Q,onUpdateClick:te,onScheduleClick:ne,onUnscheduleClick:re})})]}),B?(0,z.jsxs)(`p`,{className:`text-base-content/50`,children:[n(e=>e.app,{ns:`ota`}),`: `,`${B[0]} build ${B[1]}`,` | `,n(e=>e.stack,{ns:`ota`}),`: `,`${B[2]} build ${B[3]}`]}):null]})]}):null,(0,z.jsx)(`div`,{className:`font-semibold text-base-content/70`,children:n(e=>e.last_seen)}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`p`,{className:`font-semibold`,children:(0,z.jsx)(F,{config:i.advanced.last_seen,lastSeen:v.last_seen,fallback:n(e=>e.disabled,{ns:`common`})})}),(0,z.jsxs)(`p`,{className:`text-base-content/50`,children:[n(e=>e.availability,{ns:`availability`}),`: `,(0,z.jsx)(O,{availability:a[t.friendly_name]?.state??`offline`,disabled:t.disabled,availabilityFeatureEnabled:i.availability.enabled,availabilityEnabledForDevice:$==null?void 0:!!$})]})]}),C&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`font-semibold text-base-content/70`,children:n(e=>e.recent_activity,{ns:`common`})}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsxs)(`p`,{className:`font-semibold break-all`,children:[(0,z.jsx)(S,{idx:e,autoHide:!0}),C.desc]}),(0,z.jsx)(`p`,{className:`text-base-content/50`,children:new Date(C.timestamp).toLocaleString()})]})]}),(0,z.jsx)(`div`,{className:`font-semibold text-base-content/70`,children:`MQTT`}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsxs)(`p`,{className:`font-semibold break-all`,children:[i.mqtt.base_topic,`/`,t.friendly_name]}),(0,z.jsx)(`p`,{className:`text-base-content/0`,children:`-`})]}),c&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`font-semibold text-base-content/70`,children:n(e=>e.source,{ns:`common`})}),(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsx)(`p`,{className:`font-semibold`,children:(0,z.jsx)(S,{idx:e,alwaysShowName:!0})}),(0,z.jsx)(`p`,{className:`text-base-content/50`,children:s[e]})]})]})]}),(0,z.jsxs)(`div`,{className:`card-actions justify-center md:justify-end mt-2 me-4`,children:[t.supported&&(0,z.jsx)(K,{sourceIdx:e,device:t}),(0,z.jsx)(E,{sourceIdx:e,device:t,otaState:v.update?.state,homeassistantEnabled:h,renameDevice:J,configureDevice:Y,interviewDevice:X,removeDevice:Z})]})]})]})}export{q as default};
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Bind-9H8Ygq6_.js","./rolldown-runtime-B1FJdls4.js","./index-D3pYOruP.js","./store-DGIKh3zK.js","./jsx-runtime-C5tU7uY8.js","./consts-ACU3OL1g.js","./envs-DWZQH-AC.js","./Modal-DkH2V1VC.js","./react-dom-hbu23gpx.js","./dist-CfE5hTP4.js","./store2-BXEcxMC-.js","./shallow-inzhGNJg.js","./Button-C09wmyxO.js","./localStoreConsts-BEZFCCkV.js","./index-DfWIRG7b.css","./floating-ui.react-DzkqpTVq.js","./floating-ui.dom-Bdt9HdJ7.js","./BindRow-BqbLxL4R.js","./react-select.esm-D6gkf1g1.js","./Select-ef7c0426.esm-DELyZaz8.js","./extends-lXRikpl0.js","./DevicePicker-DEKNbCXB.js","./EndpointPicker-CSugtgbJ.js","./SelectField-CiAuVYZq.js","./Clusters-CIrSZ1ES.js","./DevConsole-DTNqfNCp.js","./InputField--ZMqg114.js","./TextareaField-CWDMDAzr.js","./ClusterSinglePicker-DF_DhA2_.js","./Json-DWlaTYN_.js","./DeviceInfo-BVoM2RRf.js","./DeviceImage-CXlsJhdp.js","./device-CWMG6uQC.js","./snakeCase-0YGV1fIQ.js","./_createCompounder-BILaihi7.js","./isObjectLike-CBVcfcwF.js","./Availability-CPqL8wxZ.js","./CheckboxField-CzFe1pWJ.js","./RemoveDeviceModal-B7NqbupW.js","./OtaControlGroup-DwpR1GB_.js","./VendorLink-Jm24ebj5.js","./DisplayValue-DFsRQsrg.js","./LastSeen-DZTP2CnK.js","./TimeAgo-CvmaD1n4.js","./PowerSource-Pz7Bfb6S.js","./DeviceSettings-CJI6LRl6.js","./merge-Cm7ReLF9.js","./isObject-D5MxFwns.js","./InfoAlert-CHgsiNoZ.js","./SettingsList-cB7_nCRL.js","./NumberField-CgBWn-Gs.js","./DeviceSpecificSettings-BSfI6iA1.js","./startCase-uNz46yT6.js","./features-BSYFOmr-.js","./FeatureWrapper-DEHOZ1_c.js","./Docs-2JBekN1z.js","./Exposes-DfcXtDKb.js","./Exposes-BIUuYxZ-.js","./Groups-Tuy41GAz.js","./useColumnCount-D-zut-DS.js","./Reporting-DYh5JQzx.js","./ReportingRow-DXZEf2vY.js","./Scene-KYXW6bAC.js","./RecallRemove-DHfef3S1.js","./DashboardFeatureWrapper-xH2Rdw9Q.js","./State-D77N0vaS.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{S as r,i,n as a,u as o}from"./store-DGIKh3zK.js";import{t as s}from"./shallow-inzhGNJg.js";import{D as c}from"./consts-ACU3OL1g.js";import{D as l,Gt as u,J as d,Y as f,jn as p,jr as m,kr as h,ln as g,p as _,rt as v,t as y,yt as b,zt as x}from"./dist-CfE5hTP4.js";import{d as S,f as C,l as w,n as T,t as E,u as D}from"./index-D3pYOruP.js";import{t as O}from"./react-select.esm-D6gkf1g1.js";var k=e(t(),1),A=n(),j=(0,k.memo)(({currentSourceIdx:e,currentDevice:t,tab:n=`info`})=>{let{t:r}=C(`common`),o=i(e=>e.devices),s=D(),l=(0,k.useCallback)(e=>{e&&s(e.link)},[s]),u=(0,k.useMemo)(()=>{let r=[];for(let i=0;i<a.length;i++)for(let a of o[i])a.type===`Coordinator`||i===e&&a.ieee_address===t?.ieee_address||r.push({value:a.friendly_name,label:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(T,{idx:i,autoHide:!0,namePostfix:` – `}),` `,a.friendly_name]}),name:`${i} ${a.friendly_name}`,link:`/device/${i}/${a.ieee_address}/${n}`});return r.sort((e,t)=>e.name.localeCompare(t.name)),r},[o,e,t,n]);return(0,A.jsx)(O,{unstyled:!0,placeholder:t&&e!==void 0?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(T,{idx:e,autoHide:!0,namePostfix:` – `}),` `,t.friendly_name]}):r(e=>e.select_device),"aria-label":r(e=>e.select_device),options:u,isSearchable:!0,onChange:l,className:`min-w-48 sm:w-auto me-2`,classNames:c})}),M=(0,k.lazy)(async()=>await r(()=>import(`./Bind-9H8Ygq6_.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,22,23]),import.meta.url)),N=(0,k.lazy)(async()=>await r(()=>import(`./Clusters-CIrSZ1ES.js`),__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,10,11,12,13,14]),import.meta.url)),P=(0,k.lazy)(async()=>await r(()=>import(`./DevConsole-DTNqfNCp.js`),__vite__mapDeps([25,1,2,3,4,5,6,7,8,9,10,11,12,13,14,18,19,20,16,26,27,28,22,23,29]),import.meta.url)),F=(0,k.lazy)(async()=>await r(()=>import(`./DeviceInfo-BVoM2RRf.js`),__vite__mapDeps([30,1,2,3,4,5,6,7,8,9,10,11,12,13,14,31,32,33,34,35,36,37,26,38,27,39,15,16,23,40,41,42,43,44]),import.meta.url)),I=(0,k.lazy)(async()=>await r(()=>import(`./DeviceSettings-CJI6LRl6.js`),__vite__mapDeps([45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,46,35,47,48,49,37,26,50,23]),import.meta.url)),L=(0,k.lazy)(async()=>await r(()=>import(`./DeviceSpecificSettings-BSfI6iA1.js`),__vite__mapDeps([51,1,2,3,4,5,6,7,8,9,10,11,12,13,14,52,34,35,47,53,41,54]),import.meta.url)),R=(0,k.lazy)(async()=>await r(()=>import(`./Docs-2JBekN1z.js`),__vite__mapDeps([55,1,3,4,5,6,9,11]),import.meta.url)),z=(0,k.lazy)(async()=>await r(()=>import(`./Exposes-DfcXtDKb.js`),__vite__mapDeps([56,57,1,2,3,4,5,6,7,8,9,10,11,12,13,14,52,34,35,47,53,41,54]),import.meta.url)),B=(0,k.lazy)(async()=>await r(()=>import(`./Groups-Tuy41GAz.js`),__vite__mapDeps([58,1,2,3,4,5,6,7,8,9,10,11,12,13,14,59,18,19,20,16,22,23]),import.meta.url)),V=(0,k.lazy)(async()=>await r(()=>import(`./Reporting-DYh5JQzx.js`),__vite__mapDeps([60,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,61,26,28,18,19,20]),import.meta.url)),H=(0,k.lazy)(async()=>await r(()=>import(`./Scene-KYXW6bAC.js`),__vite__mapDeps([62,3,1,4,5,6,63,2,7,8,9,10,11,12,13,14,19,20,16,52,34,35,47,53,41,64,26]),import.meta.url)),U=(0,k.lazy)(async()=>await r(()=>import(`./State-D77N0vaS.js`),__vite__mapDeps([65,3,1,4,5,6,11,29]),import.meta.url));function W(e,t,n){let r=`${e}-${n.ieee_address}`;switch(t){case`info`:return(0,A.jsx)(F,{sourceIdx:e,device:n},r);case`exposes`:return(0,A.jsx)(z,{sourceIdx:e,device:n},r);case`bind`:return(0,A.jsx)(M,{sourceIdx:e,device:n},r);case`reporting`:return(0,A.jsx)(V,{sourceIdx:e,device:n},r);case`settings`:return(0,A.jsx)(I,{sourceIdx:e,ieeeAddress:n.ieee_address},r);case`settings-specific`:return(0,A.jsx)(L,{sourceIdx:e,device:n},r);case`state`:return(0,A.jsx)(U,{sourceIdx:e,friendlyName:n.friendly_name},r);case`clusters`:return(0,A.jsx)(N,{device:n},r);case`groups`:return(0,A.jsx)(B,{sourceIdx:e,device:n},r);case`scene`:return(0,A.jsx)(H,{sourceIdx:e,device:n},r);case`dev-console`:return(0,A.jsx)(P,{sourceIdx:e,device:n},r);case`docs`:return n.definition?.model?(0,A.jsx)(R,{sourceIdx:e,definitionModel:n.definition.model},r):null}}var G=({isActive:e})=>e?`tab tab-active`:`tab`;function K(){let e=D(),{t}=C([`devicePage`,`common`]),{sourceIdx:n,deviceId:r,tab:a}=S(),[c,T]=o(n),O=i(s(e=>r?e.devices[c].find(e=>e.ieee_address===r):void 0));return(0,k.useEffect)(()=>{n&&T&&O?O.type===`Coordinator`?e(`/settings/${n}/about`,{replace:!0}):a||e(`/device/${n}/${O.ieee_address}/info`,{replace:!0}):e(`/devices`,{replace:!0})},[n,T,a,O,e]),(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(E,{children:(0,A.jsx)(j,{currentSourceIdx:c,currentDevice:O,tab:a})}),(0,A.jsxs)(`div`,{className:`tabs tabs-border`,children:[(0,A.jsxs)(w,{to:`/device/${c}/${r}/info`,className:G,children:[(0,A.jsx)(y,{icon:x,className:`me-2`}),t(e=>e.about)]}),(0,A.jsxs)(w,{to:`/device/${c}/${r}/exposes`,className:G,children:[(0,A.jsx)(y,{icon:h,className:`me-2`}),t(e=>e.exposes,{ns:`common`})]}),(0,A.jsxs)(w,{to:`/device/${c}/${r}/bind`,className:G,children:[(0,A.jsx)(y,{icon:u,className:`me-2`}),t(e=>e.bind)]}),(0,A.jsxs)(w,{to:`/device/${c}/${r}/reporting`,className:G,children:[(0,A.jsx)(y,{icon:v,className:`me-2`}),t(e=>e.reporting)]}),(0,A.jsxs)(w,{to:`/device/${c}/${r}/settings`,className:G,children:[(0,A.jsx)(y,{icon:f,className:`me-2`}),t(e=>e.settings)]}),(0,A.jsxs)(w,{to:`/device/${c}/${r}/settings-specific`,className:G,children:[(0,A.jsx)(y,{icon:d,className:`me-2`}),t(e=>e.settings_specific)]}),(0,A.jsxs)(w,{to:`/device/${c}/${r}/state`,className:G,children:[(0,A.jsx)(y,{icon:_,className:`me-2`}),t(e=>e.state)]}),(0,A.jsxs)(w,{to:`/device/${c}/${r}/clusters`,className:G,children:[(0,A.jsx)(y,{icon:p,className:`me-2`}),t(e=>e.clusters)]}),(0,A.jsxs)(w,{to:`/device/${c}/${r}/groups`,className:G,children:[(0,A.jsx)(y,{icon:g,className:`me-2`}),t(e=>e.groups)]}),(0,A.jsxs)(w,{to:`/device/${c}/${r}/scene`,className:G,children:[(0,A.jsx)(y,{icon:m,className:`me-2`}),t(e=>e.scene)]}),(0,A.jsxs)(w,{to:`/device/${c}/${r}/dev-console`,className:G,children:[(0,A.jsx)(y,{icon:l,className:`me-2`}),t(e=>e.dev_console)]}),O?.supported&&O.definition?.source===`native`?(0,A.jsxs)(w,{to:`/device/${c}/${r}/docs`,className:G,children:[(0,A.jsx)(y,{icon:b,className:`me-2`}),t(e=>e.docs)]}):null,(0,A.jsx)(`div`,{className:`tab-content block h-full bg-base-100 p-3`,children:a&&O?W(c,a,O):(0,A.jsx)(`div`,{className:`flex-auto justify-center items-center`,children:t(e=>e.unknown_device,{ns:`common`})})})]})]})}export{K as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{D as r}from"./consts-ACU3OL1g.js";import{f as i}from"./index-D3pYOruP.js";import{t as a}from"./react-select.esm-D6gkf1g1.js";var o=e(t(),1),s=n(),c=(0,o.memo)(({devices:e,value:t,label:n,detail:c,required:l,disabled:u,onChange:d,groups:f=[]})=>{let{t:p}=i(`common`),m=t=>{if(t)if(t.value.startsWith(`0x`))d(e.find(e=>e.ieee_address===t.value));else{let e=Number.parseInt(t.value,10);d(f.find(t=>e===t.id))}},h=(0,o.useMemo)(()=>{let t=[],n=e.map(e=>({value:e.ieee_address,label:`${e.friendly_name} ${e.definition?.model?`(${e.definition?.model})`:``}`})).sort((e,t)=>e.label.localeCompare(t.label));if(f?.length){let e=f.map(e=>({value:`${e.id}`,label:e.friendly_name})).sort((e,t)=>e.label.localeCompare(t.label));t.push({label:p(e=>e.devices),options:n}),t.push({label:p(e=>e.groups),options:e})}else t.push({label:p(e=>e.devices),options:n});return t},[e,f,p]),g=(0,o.useMemo)(()=>t==null||t===``?null:typeof t==`number`?h[1]?.options.find(e=>e.value===`${t}`)??null:h[0]?.options.find(e=>e.value===t)??null,[t,h]);return(0,s.jsxs)(`fieldset`,{className:`fieldset`,children:[n&&(0,s.jsxs)(`legend`,{className:`fieldset-legend`,children:[n,l?` *`:``]}),(0,s.jsx)(a,{unstyled:!0,placeholder:p(e=>e.select_device),"aria-label":n??p(e=>e.select_device),options:h,value:g,isSearchable:!0,isDisabled:u,onChange:m,className:`min-w-64`,classNames:r}),c&&(0,s.jsx)(`span`,{className:`label`,children:c})]})});export{c as t};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{i as r}from"./store-DGIKh3zK.js";import{t as i}from"./shallow-inzhGNJg.js";import{p as a}from"./consts-ACU3OL1g.js";import{f as o,i as s}from"./index-D3pYOruP.js";import{t as c}from"./merge-Cm7ReLF9.js";import{t as l}from"./InfoAlert-CHgsiNoZ.js";import{t as u}from"./SettingsList-cB7_nCRL.js";var d=e(c(),1),f=e(t(),1),p=n();function m({sourceIdx:e,ieeeAddress:t}){let{t:n}=o([`settings`,`common`]),c=r(i(t=>t.bridgeInfo[e])),m=(0,f.useCallback)(async n=>{await s(e,`bridge/request/device/options`,{id:t,options:n})},[e,t]);return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(l,{children:(0,p.jsx)(`a`,{href:a,target:`_blank`,rel:`noreferrer`,className:`link link-hover`,children:n(e=>e.read_the_docs_info,{ns:`common`})})}),(0,p.jsx)(u,{schema:c.config_schema.definitions.device??{properties:{}},data:(0,d.default)({},c.config.device_options,c.config.devices[t]),set:m,namespace:`definitions-device`})]})}export{m as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{i as r}from"./store-DGIKh3zK.js";import{t as i}from"./shallow-inzhGNJg.js";import{f as a,i as o}from"./index-D3pYOruP.js";import{n as s}from"./startCase-uNz46yT6.js";import{r as c}from"./features-BSYFOmr-.js";import{t as l}from"./FeatureWrapper-DEHOZ1_c.js";var u=e(t(),1),d=n();function f({sourceIdx:e,device:t}){let{t:n}=a(`common`),f=r(i(t=>t.bridgeInfo[e])),p=(0,u.useCallback)(async n=>{await o(e,`bridge/request/device/options`,{id:t.ieee_address,options:n})},[e,t.ieee_address]);return t.definition?.options?.length?(0,d.jsx)(`div`,{className:`list bg-base-100`,children:t.definition.options.map(e=>(0,d.jsx)(s,{feature:e,device:t,deviceState:f.config.devices[t.ieee_address]??{},onChange:p,featureWrapperClass:l,parentFeatures:[]},c(e)))}):n(e=>e.empty_exposes_definition)}export{f as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{i as r,s as i}from"./store-DGIKh3zK.js";import{t as a}from"./shallow-inzhGNJg.js";import{t as o,vr as s}from"./dist-CfE5hTP4.js";import{t as c}from"./Button-C09wmyxO.js";import{f as l,i as u,r as d}from"./index-D3pYOruP.js";import{t as f}from"./DevicePicker-DEKNbCXB.js";import{t as p}from"./EndpointPicker-CSugtgbJ.js";import{n as m,t as h}from"./useColumnCount-D-zut-DS.js";import{t as g}from"./DashboardFeatureWrapper-xH2Rdw9Q.js";import{n as _,t as v}from"./RecallRemove-DHfef3S1.js";import{t as y}from"./DeviceCard-Ds-P0T0L.js";var b=e(t(),1),x=n(),S=(0,b.memo)(({sourceIdx:e,devices:t,group:n})=>{let[r,a]=(0,b.useState)(``),[o,s]=(0,b.useState)(``),d=(0,b.useMemo)(()=>i(t.find(e=>e.ieee_address===o)),[o,t]),{t:m}=l([`groups`,`zigbee`]),h=(0,b.useCallback)(e=>{s(e.ieee_address),a(i(e).values().next().value)},[]),g=(0,b.useCallback)(async()=>await u(e,`bridge/request/group/members/add`,{group:n.id.toString(),endpoint:r,device:o}),[e,n.id,r,o]);return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`h2`,{className:`text-lg font-semibold`,children:m(e=>e.add_to_group_header)}),(0,x.jsxs)(`div`,{className:`mb-3`,children:[(0,x.jsx)(f,{label:m(e=>e.device,{ns:`zigbee`}),value:o,devices:t,onChange:h}),(0,x.jsx)(p,{label:m(e=>e.endpoint,{ns:`zigbee`}),values:d,value:r,onChange:e=>a(e),disabled:!o})]}),(0,x.jsx)(c,{onClick:g,className:`btn btn-primary`,disabled:r==null||r===``||!o,children:m(e=>e.add_to_group)})]})}),C=({sourceIdx:e,device:t,deviceState:n,deviceAvailability:i,groupMember:c,lastSeenConfig:u,removeDeviceFromGroup:f,setDeviceState:p})=>{let{endpoint:m}=c,{t:h}=l([`groups`,`common`]),_=r(a(n=>n.deviceScenesFeatures[e][t.ieee_address]??[])),v=(0,b.useCallback)(async e=>await p(t.ieee_address,e),[t.ieee_address,p]),S=(0,b.useCallback)(async()=>await f(t.ieee_address,m),[t.ieee_address,m,f]);return(0,x.jsx)(`div`,{className:`mb-3 card card-border bg-base-200 rounded-box shadow-md ${i===`offline`?`border-error/50`:`border-base-300`}`,children:(0,x.jsx)(y,{sourceIdx:e,hideSourceDot:!0,features:_,device:t,endpoint:m,deviceState:n,onChange:v,featureWrapperClass:g,lastSeenConfig:u,children:(0,x.jsx)(d,{onClick:S,className:`btn btn-square btn-outline btn-error btn-sm`,title:h(e=>e.remove_from_group),modalDescription:h(e=>e.dialog_confirmation_prompt,{ns:`common`}),modalCancelLabel:h(e=>e.cancel,{ns:`common`}),children:(0,x.jsx)(o,{icon:s})})})})},w=e=>e?.data?(0,x.jsx)(C,{...e.data}):null,T=(0,b.memo)(({sourceIdx:e,devices:t,group:n})=>{let i=r(e=>e.availability),o=r(e=>e.bridgeInfo),s=r(a(t=>t.deviceStates[e])),c=r(a(t=>t.bridgeInfo[e].config.advanced.last_seen)),l=h(),d=(0,b.useCallback)(async(t,r)=>await u(e,`bridge/request/group/members/remove`,{device:t,endpoint:r,group:n.id.toString()}),[e,n.id]),f=(0,b.useCallback)(async(t,n)=>{await u(e,`${t}/set`,n)},[e]),p=(0,b.useMemo)(()=>{let r=[],a=o[e].config.availability.enabled;for(let l of n.members){let n=t.find(e=>e.ieee_address===l.ieee_address);if(n){let t=`disabled`;if(!n.disabled){let r=o[e].config.devices[n.ieee_address]?.availability;t=(r==null?void 0:!!r)??a?i[e][n.friendly_name]?.state??`offline`:`disabled`}r.push({sourceIdx:e,groupMember:l,device:n,deviceState:s[n.friendly_name]??{},deviceAvailability:t,lastSeenConfig:c,removeDeviceFromGroup:d,setDeviceState:f})}}return r.sort((e,t)=>e.device.ieee_address.localeCompare(t.device.ieee_address)),r},[e,n,t,c,s,o,i,d,f]);return(0,x.jsx)(`div`,{children:(0,x.jsx)(m,{useWindowScroll:!0,columnCount:l,data:p,ItemContent:w,className:`gap-3`},`groupmembers-${p.length}`)})});function E({sourceIdx:e,group:t}){let n=r(a(t=>t.devices[e]));return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)(`div`,{className:`flex flex-row flex-wrap gap-4 mb-4 w-full`,children:[(0,x.jsx)(`div`,{className:`card card-border bg-base-200 border-base-300 rounded-box shadow-md flex-1`,children:(0,x.jsx)(`div`,{className:`card-body p-4`,children:(0,x.jsx)(S,{sourceIdx:e,devices:n,group:t})})}),(0,x.jsx)(`div`,{className:`card card-border bg-base-200 border-base-300 rounded-box shadow-md flex-1`,children:(0,x.jsx)(`div`,{className:`card-body p-4`,children:(0,x.jsx)(v,{sourceIdx:e,target:t})})}),(0,x.jsx)(`div`,{className:`card card-border bg-base-200 border-base-300 rounded-box shadow-md flex-1`,children:(0,x.jsx)(`div`,{className:`card-body p-4`,children:(0,x.jsx)(_,{sourceIdx:e,target:t,deviceState:{}})})})]}),(0,x.jsx)(T,{sourceIdx:e,devices:n,group:t})]})}export{E as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{c as r,i,n as a,r as o,t as s,v as c}from"./store-DGIKh3zK.js";import{Hn as l,t as u}from"./dist-CfE5hTP4.js";import{c as d,f,i as p,n as m,t as h}from"./index-D3pYOruP.js";import{i as g,n as _,t as v}from"./Availability-CPqL8wxZ.js";import{t as y}from"./DeviceImage-CXlsJhdp.js";import{n as b,t as x}from"./VendorLink-Jm24ebj5.js";import{t as S}from"./LastSeen-DZTP2CnK.js";import{t as C}from"./Lqi-va07g-tn.js";import{n as w,t as T}from"./TableSearch-MGqlMDuh.js";import{t as E}from"./Table-C3iXCYbr.js";var D=e(t(),1),O=n();function k(){let e=i(e=>e.devices),t=i(e=>e.deviceStates),n=i(e=>e.bridgeInfo),k=i(e=>e.availability),{t:A}=f([`zigbee`,`common`,`availability`]),j=(0,D.useMemo)(()=>{let r=[];for(let i=0;i<a.length;i++)for(let a of e[i])if(a.type!==`Coordinator`){let e=t[i][a.friendly_name]??{},o=n[i].config.devices[a.ieee_address]?.availability,s=g.get(a.ieee_address.slice(2,8))??`?`,c;a.power_source===`Battery`&&(c=!1,`battery`in e?e.battery<20&&(c=!0):`battery_state`in e?e.battery_state===`low`&&(c=!0):`battery_low`in e&&(c=!!e.battery_low)),r.push({sourceIdx:i,device:a,state:e,availabilityState:k[i][a.friendly_name]?.state??`offline`,availabilityEnabledForDevice:o==null?void 0:!!o,batteryLow:c,oui:s})}return r},[e,t,n,k]),M=(0,D.useCallback)(async(e,t,n,r)=>{await p(e,`bridge/request/device/rename`,{from:t,to:n,homeassistant_rename:r,last:void 0})},[]),N=(0,D.useCallback)(async([e,t])=>{await p(e,`bridge/request/device/configure`,{id:t})},[]),P=(0,D.useCallback)(async([e,t])=>{await p(e,`bridge/request/device/interview`,{id:t})},[]),F=(0,D.useCallback)(async(e,t,n,r)=>{await p(e,`bridge/request/device/remove`,{id:t,force:n,block:r})},[]),I=w({id:`all-devices`,columns:(0,D.useMemo)(()=>[{id:`source`,size:60,header:()=>(0,O.jsx)(`span`,{title:A(e=>e.source,{ns:`common`}),children:(0,O.jsx)(u,{icon:l})}),accessorFn:({sourceIdx:e})=>s[e],cell:({row:{original:{sourceIdx:e}}})=>(0,O.jsx)(m,{idx:e,nameClassName:`hidden md:inline-block`}),filterFn:`equals`,meta:{filterVariant:`select`,showFacetedOccurrences:!0}},{id:`friendly_name`,size:250,minSize:175,header:A(e=>e.friendly_name,{ns:`common`}),accessorFn:({device:e})=>`${e.friendly_name} ${e.description??``}`,cell:({row:{original:{sourceIdx:e,device:t,state:n}}})=>(0,O.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,O.jsx)(`div`,{className:`avatar`,children:(0,O.jsx)(`div`,{className:`h-11 w-11`,style:{overflow:`visible`},children:(0,O.jsx)(y,{device:t,otaState:n.update?.state,disabled:t.disabled})})}),(0,O.jsxs)(`div`,{className:`flex-grow flex flex-col min-w-0`,children:[(0,O.jsx)(d,{to:`/device/${e}/${t.ieee_address}/info`,className:`link link-hover truncate`,children:t.friendly_name}),t.description&&(0,O.jsx)(`div`,{className:`max-w-3xs text-xs opacity-50 truncate`,title:t.description,children:t.description})]})]}),sortingFn:(e,t)=>e.original.device.friendly_name.localeCompare(t.original.device.friendly_name),filterFn:`includesString`,meta:{filterVariant:`text`,textFaceted:!0}},{id:`ieee_address`,minSize:175,header:A(e=>e.ieee_address),accessorFn:({device:e})=>`${e.ieee_address} ${c(e.network_address,4)} ${e.network_address}`,cell:({row:{original:{sourceIdx:e,device:t}}})=>(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(`div`,{children:(0,O.jsx)(d,{to:`/device/${e}/${t.ieee_address}/info`,className:`link link-hover font-mono`,children:t.ieee_address})}),(0,O.jsxs)(`div`,{className:`flex flex-row gap-1`,children:[(0,O.jsx)(`span`,{className:`badge badge-ghost badge-sm cursor-default font-mono`,title:A(e=>e.network_address_hex),children:c(t.network_address,4)}),(0,O.jsx)(`span`,{className:`badge badge-ghost badge-sm cursor-default font-mono`,title:A(e=>e.network_address_dec),children:t.network_address})]})]}),sortingFn:(e,t)=>e.original.device.ieee_address.localeCompare(t.original.device.ieee_address),filterFn:`includesString`,meta:{filterVariant:`text`}},{id:`oui`,minSize:125,header:`OUI`,accessorFn:({oui:e})=>e,filterFn:`includesString`,meta:{filterVariant:`text`,textFaceted:!0,showFacetedOccurrences:!0}},{id:`model`,minSize:175,header:A(e=>e.model),accessorFn:({device:e})=>`${e.definition?.model??``} ${e.model_id??``} ${e.definition?.vendor??e.manufacturer??``}`,cell:({row:{original:{device:e}}})=>(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(b,{modelId:e.model_id,supported:e.supported,definitionModel:e.definition?.model}),(0,O.jsx)(`div`,{className:`flex flex-row gap-1`,children:(0,O.jsx)(`span`,{className:`badge badge-ghost badge-sm tooltip tooltip-bottom`,"data-tip":A(e=>e.manufacturer),children:(0,O.jsx)(x,{supported:e.supported,definitionVendor:e.definition?.vendor})})})]}),filterFn:`includesString`,meta:{filterVariant:`text`,textFaceted:!0,showFacetedOccurrences:!0}},{id:`type`,size:100,header:A(e=>e.type),accessorFn:({device:e})=>A(t=>t[e.type]),cell:({row:{original:{device:e}}})=>A(t=>t[e.type]),filterFn:`equals`,meta:{filterVariant:`select`,showFacetedOccurrences:!0}},{id:`lqi`,size:70,header:A(e=>e.lqi),accessorFn:({state:e})=>e.linkquality,cell:({row:{original:{state:e}}})=>(0,O.jsx)(C,{value:e.linkquality}),filterFn:`inNumberRange`,meta:{filterVariant:`range`}},{id:`last_seen`,size:120,header:A(e=>e.last_seen),accessorFn:({sourceIdx:e,state:t})=>{let i=r(t.last_seen,n[e].config.advanced.last_seen);return i?Math.round((Date.now()-i)/1e3/60):void 0},cell:({row:{original:{sourceIdx:e,state:t}}})=>(0,O.jsx)(S,{lastSeen:t.last_seen,config:n[e].config.advanced.last_seen,fallback:A(e=>e.disabled,{ns:`common`})}),sortingFn:(e,t)=>{let i=r(e.original.state.last_seen,n[e.original.sourceIdx].config.advanced.last_seen),a=r(t.original.state.last_seen,n[t.original.sourceIdx].config.advanced.last_seen);return i>a?-1:i<a?1:0},enableGlobalFilter:!1,filterFn:`inNumberRange`,meta:{filterVariant:`range`,tooltip:A(e=>e.last_seen_filter_info,{ns:`common`})}},{id:`availability`,size:125,header:A(e=>e.availability,{ns:`availability`}),accessorFn:({sourceIdx:e,availabilityState:t,availabilityEnabledForDevice:r,device:i})=>A(a=>a[i.disabled?`disabled`:r??n[e].config.availability.enabled?t:`disabled`],{ns:`availability`}),cell:({row:{original:{sourceIdx:e,device:t,availabilityState:r,availabilityEnabledForDevice:i}}})=>(0,O.jsx)(v,{disabled:t.disabled,availability:r,availabilityEnabledForDevice:i,availabilityFeatureEnabled:n[e].config.availability.enabled}),filterFn:`equals`,meta:{filterVariant:`select`,showFacetedOccurrences:!0}},{id:`power_source`,size:100,header:A(e=>e.power_source),accessorFn:({device:e})=>e.power_source,filterFn:`equals`,meta:{filterVariant:`select`,showFacetedOccurrences:!0}},{id:`battery_level`,size:100,header:A(e=>e.battery_level),accessorFn:({state:e})=>e.battery??void 0,cell:({row:{original:{state:e,batteryLow:t}}})=>e.battery==null?`N/A`:(0,O.jsxs)(`span`,{className:t?`text-error`:void 0,children:[String(e.battery),`%`]}),filterFn:`inNumberRange`,meta:{filterVariant:`range`}},{id:`battery_low`,size:100,header:A(e=>e.battery_low),accessorFn:({batteryLow:e})=>e,cell:({row:{original:{batteryLow:e}}})=>e===void 0?`N/A`:(0,O.jsx)(`span`,{className:e?`text-error`:void 0,children:String(e)}),filterFn:`equals`,meta:{filterVariant:`boolean`}},{id:`disabled`,size:100,header:A(e=>e.disabled,{ns:`common`}),accessorFn:({device:e})=>`${!!e.disabled}`,filterFn:`equals`,meta:{filterVariant:`select`}},{id:`actions`,minSize:130,cell:({row:{original:{sourceIdx:e,device:t,state:r}}})=>(0,O.jsx)(_,{sourceIdx:e,device:t,otaState:r.update?.state,homeassistantEnabled:n[e].config.homeassistant.enabled,renameDevice:M,removeDevice:F,configureDevice:N,interviewDevice:P,btnClassName:`btn-sm`}),enableSorting:!1,enableColumnFilter:!1,enableGlobalFilter:!1}],[n,M,F,N,P,A]),data:j,visibleColumns:{source:o,type:!1,power_source:!1,battery_level:!1,battery_low:!1,disabled:!1,oui:!1},sorting:[{id:`friendly_name`,desc:!1}]});return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(h,{children:(0,O.jsx)(T,{...I})}),(0,O.jsx)(`div`,{className:`mb-5`,children:(0,O.jsx)(E,{id:`all-devices`,...I})})]})}export{k as default};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-B1FJdls4.js";import{n as t,t as n}from"./jsx-runtime-C5tU7uY8.js";import{f as r}from"./index-D3pYOruP.js";var i=e(t(),1),a=n(),o=(0,i.memo)(e=>{let{value:t,name:n}=e,{t:i}=r(`values`);switch(n){case`contact`:return i(t?e=>e.closed:e=>e.open);case`occupancy`:case`area1Occupancy`:case`area2Occupancy`:case`area3Occupancy`:case`area4Occupancy`:return i(t?e=>e.occupied:e=>e.clear);case`water_leak`:return t?(0,a.jsx)(`span`,{className:`text-error animate-pulse`,children:i(e=>e.leaking)}):i(e=>e.clear);case`carbon_monoxide`:return t?(0,a.jsx)(`span`,{className:`text-error animate-pulse`,children:i(e=>e.alarm)}):i(e=>e.normal);case`tamper`:return t?(0,a.jsx)(`span`,{className:`text-error animate-pulse`,children:i(e=>e.tampered)}):i(e=>e.clear);case`end_of_life`:case`fault`:return t?(0,a.jsx)(`span`,{className:`text-error animate-pulse`,children:i(e=>e.true)}):i(e=>e.false);case`testing`:case`warming_up`:return t?(0,a.jsx)(`span`,{className:`text-warning animate-pulse`,children:i(e=>e.in_progress)}):i(e=>e.done);case`supported`:return i(t?e=>e.supported:e=>e.not_supported);default:return i(t?e=>e.true:e=>e.false)}}),s=(0,i.memo)(e=>{let{t}=r(`values`),{value:n}=e;switch(typeof n){case`boolean`:return(0,a.jsx)(o,{...e});case`undefined`:return`N/A`;case`object`:return n===null?t(e=>e.null):JSON.stringify(n);case`string`:return n===``?(0,a.jsx)(`span`,{className:`text-xs opacity-50`,children:t(e=>e.empty_string)}):n;default:return JSON.stringify(n)}});export{s as t};
|
|
Binary file
|