zigbee2mqtt-windfront 1.0.5 → 1.1.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.
Files changed (235) hide show
  1. package/README.md +2 -0
  2. package/dist/assets/About-CHG9qEyJ.js +1 -0
  3. package/dist/assets/About-CHG9qEyJ.js.br +0 -0
  4. package/dist/assets/{Availability-Jxv3jj-f.js → Availability-DqdWkfDH.js} +1 -1
  5. package/dist/assets/Availability-DqdWkfDH.js.br +0 -0
  6. package/dist/assets/Bind-BZCsVn5K.js +1 -0
  7. package/dist/assets/Bind-BZCsVn5K.js.br +0 -0
  8. package/dist/assets/Bridge-C0GtTxvP.js +1 -0
  9. package/dist/assets/Bridge-C0GtTxvP.js.br +0 -0
  10. package/dist/assets/{CheckboxField-aJECTtGJ.js → CheckboxField-D4WcnhtA.js} +1 -1
  11. package/dist/assets/CheckboxField-D4WcnhtA.js.br +0 -0
  12. package/dist/assets/{ClusterSinglePicker-Ckri6Ml1.js → ClusterSinglePicker-B5OOQ6mb.js} +1 -1
  13. package/dist/assets/ClusterSinglePicker-B5OOQ6mb.js.br +0 -0
  14. package/dist/assets/Clusters-CbiAzP-9.js +1 -0
  15. package/dist/assets/Clusters-CbiAzP-9.js.br +0 -0
  16. package/dist/assets/Dashboard-CqVyYUM9.js +1 -0
  17. package/dist/assets/Dashboard-CqVyYUM9.js.br +0 -0
  18. package/dist/assets/{DashboardFeatureWrapper-DZDafjVF.js → DashboardFeatureWrapper-Ea6Qa5lp.js} +1 -1
  19. package/dist/assets/DashboardFeatureWrapper-Ea6Qa5lp.js.br +3 -0
  20. package/dist/assets/{DebouncedInput-hrRL_knE.js → DebouncedInput-BCwsFI67.js} +1 -1
  21. package/dist/assets/DebouncedInput-BCwsFI67.js.br +0 -0
  22. package/dist/assets/DevConsole-BSa7PeYc.js +1 -0
  23. package/dist/assets/DevConsole-BSa7PeYc.js.br +0 -0
  24. package/dist/assets/DevConsole-CkK2XsUe.js +1 -0
  25. package/dist/assets/DevConsole-CkK2XsUe.js.br +0 -0
  26. package/dist/assets/DeviceCard-BuAJV1ep.js +1 -0
  27. package/dist/assets/DeviceCard-BuAJV1ep.js.br +0 -0
  28. package/dist/assets/{DeviceControlEditName-B_UgBTKk.js → DeviceControlEditName-5UBVC6Eg.js} +1 -1
  29. package/dist/assets/DeviceControlEditName-5UBVC6Eg.js.br +0 -0
  30. package/dist/assets/DeviceImage-Cb7RHKBI.js +1 -0
  31. package/dist/assets/DeviceImage-Cb7RHKBI.js.br +0 -0
  32. package/dist/assets/DeviceInfo-COKYwTKa.js +1 -0
  33. package/dist/assets/DeviceInfo-COKYwTKa.js.br +0 -0
  34. package/dist/assets/DevicePage-BY_N8DYI.js +2 -0
  35. package/dist/assets/DevicePage-BY_N8DYI.js.br +0 -0
  36. package/dist/assets/{DevicePicker-Dt0o_iaP.js → DevicePicker-CW0G0R1X.js} +1 -1
  37. package/dist/assets/DevicePicker-CW0G0R1X.js.br +0 -0
  38. package/dist/assets/DeviceSettings-BWCnryj7.js +1 -0
  39. package/dist/assets/DeviceSettings-BWCnryj7.js.br +0 -0
  40. package/dist/assets/DeviceSpecificSettings-fSa3sI14.js +1 -0
  41. package/dist/assets/DeviceSpecificSettings-fSa3sI14.js.br +0 -0
  42. package/dist/assets/Devices-CHNA9iyw.js +1 -0
  43. package/dist/assets/Devices-CHNA9iyw.js.br +0 -0
  44. package/dist/assets/DevicesPage-DD_lq9fM.js +1 -0
  45. package/dist/assets/DevicesPage-DD_lq9fM.js.br +0 -0
  46. package/dist/assets/{DisplayValue-CjZXHxIO.js → DisplayValue-D6WaJtz3.js} +1 -1
  47. package/dist/assets/DisplayValue-D6WaJtz3.js.br +0 -0
  48. package/dist/assets/Donate-cXhugEOk.js +1 -0
  49. package/dist/assets/Donate-cXhugEOk.js.br +0 -0
  50. package/dist/assets/{EndpointPicker-CX9S9S7k.js → EndpointPicker-BFmyskL0.js} +1 -1
  51. package/dist/assets/EndpointPicker-BFmyskL0.js.br +4 -0
  52. package/dist/assets/Exposes-CuAljq_B.js +1 -0
  53. package/dist/assets/Exposes-CuAljq_B.js.br +0 -0
  54. package/dist/assets/Feature-BCBPYnkS.js +1 -0
  55. package/dist/assets/Feature-BCBPYnkS.js.br +0 -0
  56. package/dist/assets/Frontend-C0oorWBo.js +1 -0
  57. package/dist/assets/Frontend-C0oorWBo.js.br +0 -0
  58. package/dist/assets/GroupPage-BlV5Ncv4.js +2 -0
  59. package/dist/assets/GroupPage-BlV5Ncv4.js.br +0 -0
  60. package/dist/assets/GroupSettings-3BRfTE0G.js +1 -0
  61. package/dist/assets/GroupSettings-3BRfTE0G.js.br +0 -0
  62. package/dist/assets/Groups-D6fh3n8c.js +1 -0
  63. package/dist/assets/Groups-D6fh3n8c.js.br +0 -0
  64. package/dist/assets/GroupsPage-DoSDMcht.js +1 -0
  65. package/dist/assets/GroupsPage-DoSDMcht.js.br +0 -0
  66. package/dist/assets/Health-B9s7LtEK.js +1 -0
  67. package/dist/assets/Health-B9s7LtEK.js.br +0 -0
  68. package/dist/assets/HomePage-zGwSdNWr.js +1 -0
  69. package/dist/assets/HomePage-zGwSdNWr.js.br +0 -0
  70. package/dist/assets/{InputField-TubacR8F.js → InputField-CUtgkM7U.js} +1 -1
  71. package/dist/assets/InputField-CUtgkM7U.js.br +0 -0
  72. package/dist/assets/LastSeen-GhuRvai1.js +1 -0
  73. package/dist/assets/LastSeen-GhuRvai1.js.br +0 -0
  74. package/dist/assets/LogsPage-Ctm8MAct.js +1 -0
  75. package/dist/assets/LogsPage-Ctm8MAct.js.br +0 -0
  76. package/dist/assets/{Lqi-BNx2QV2z.js → Lqi-ZwgCV9oF.js} +1 -1
  77. package/dist/assets/Lqi-ZwgCV9oF.js.br +0 -0
  78. package/dist/assets/NetworkPage-DOP4KKYZ.js +2 -0
  79. package/dist/assets/NetworkPage-DOP4KKYZ.js.br +0 -0
  80. package/dist/assets/{NumberField-B10BRlkz.js → NumberField-BEvCeksV.js} +1 -1
  81. package/dist/assets/NumberField-BEvCeksV.js.br +0 -0
  82. package/dist/assets/OtaPage-n9DevcfN.js +1 -0
  83. package/dist/assets/OtaPage-n9DevcfN.js.br +0 -0
  84. package/dist/assets/PowerSource-QPJB86Ep.js +1 -0
  85. package/dist/assets/PowerSource-QPJB86Ep.js.br +0 -0
  86. package/dist/assets/{RawNetworkData-uldf8APR.js → RawNetworkData-BHAe5V1f.js} +2 -2
  87. package/dist/assets/RawNetworkData-BHAe5V1f.js.br +0 -0
  88. package/dist/assets/{RawNetworkMap-CAdhahgm.js → RawNetworkMap-VreVUHDy.js} +2 -2
  89. package/dist/assets/RawNetworkMap-VreVUHDy.js.br +0 -0
  90. package/dist/assets/{RecallRemove-CLsmJI45.js → RecallRemove-CyUS3cNL.js} +1 -1
  91. package/dist/assets/RecallRemove-CyUS3cNL.js.br +0 -0
  92. package/dist/assets/Reporting-BMofiL2I.js +1 -0
  93. package/dist/assets/Reporting-BMofiL2I.js.br +0 -0
  94. package/dist/assets/Scene-Bmk9qkHa.js +1 -0
  95. package/dist/assets/Scene-Bmk9qkHa.js.br +0 -0
  96. package/dist/assets/{SelectField-CboFEeLv.js → SelectField-CeC-3WfV.js} +1 -1
  97. package/dist/assets/SelectField-CeC-3WfV.js.br +0 -0
  98. package/dist/assets/Settings-4YsrF3gD.js +1 -0
  99. package/dist/assets/Settings-4YsrF3gD.js.br +0 -0
  100. package/dist/assets/{SettingsList-BXXsCJCy.js → SettingsList-C8kLqktG.js} +1 -1
  101. package/dist/assets/SettingsList-C8kLqktG.js.br +0 -0
  102. package/dist/assets/SettingsPage-vFYHL-yF.js +2 -0
  103. package/dist/assets/SettingsPage-vFYHL-yF.js.br +0 -0
  104. package/dist/assets/State-PkeiVF8r.js +1 -0
  105. package/dist/assets/State-PkeiVF8r.js.br +0 -0
  106. package/dist/assets/{Table-CK8_rY6Z.js → Table-BDjEregh.js} +1 -1
  107. package/dist/assets/Table-BDjEregh.js.br +0 -0
  108. package/dist/assets/{TextareaField-Cb3faakR.js → TextareaField-DOKywSRw.js} +1 -1
  109. package/dist/assets/TextareaField-DOKywSRw.js.br +0 -0
  110. package/dist/assets/Tools-DrhIW8C1.js +1 -0
  111. package/dist/assets/Tools-DrhIW8C1.js.br +0 -0
  112. package/dist/assets/TouchlinkPage-DpRQZGgK.js +1 -0
  113. package/dist/assets/TouchlinkPage-DpRQZGgK.js.br +0 -0
  114. package/dist/assets/{VendorLink-CQWJDUO2.js → VendorLink-CgOu9biy.js} +1 -1
  115. package/dist/assets/VendorLink-CgOu9biy.js.br +3 -0
  116. package/dist/assets/{_createCompounder-COpq92ed.js → _createCompounder-Dk28qyWA.js} +1 -1
  117. package/dist/assets/_createCompounder-Dk28qyWA.js.br +0 -0
  118. package/dist/assets/{capitalize-JuEfl3u2.js → capitalize-De56x2mx.js} +1 -1
  119. package/dist/assets/capitalize-De56x2mx.js.br +0 -0
  120. package/dist/assets/envs-DXl2ikyY.js +1 -0
  121. package/dist/assets/format-hzS4qi3R.js +1 -0
  122. package/dist/assets/format-hzS4qi3R.js.br +0 -0
  123. package/dist/assets/index-Dhds16Bb.css +1 -0
  124. package/dist/assets/index-Dhds16Bb.css.br +0 -0
  125. package/dist/assets/{index-CUIfkU6p.js → index-DsxT80wB.js} +1 -1
  126. package/dist/assets/index-DsxT80wB.js.br +0 -0
  127. package/dist/assets/index-ZiLZvzeu.js +635 -0
  128. package/dist/assets/index-ZiLZvzeu.js.br +0 -0
  129. package/dist/assets/{jszip.min-1QgvwwzN.js → jszip.min-DVbOwowp.js} +1 -1
  130. package/dist/assets/jszip.min-DVbOwowp.js.br +0 -0
  131. package/dist/assets/snakeCase-D13tb9hI.js +1 -0
  132. package/dist/assets/snakeCase-D13tb9hI.js.br +0 -0
  133. package/dist/index.html +3 -2
  134. package/dist/index.html.br +0 -0
  135. package/package.json +11 -11
  136. package/dist/assets/About-Bwc-SnjR.js +0 -1
  137. package/dist/assets/About-Bwc-SnjR.js.br +0 -0
  138. package/dist/assets/Availability-Jxv3jj-f.js.br +0 -0
  139. package/dist/assets/Bind-CCmoXBga.js +0 -1
  140. package/dist/assets/Bind-CCmoXBga.js.br +0 -0
  141. package/dist/assets/Bridge-B00gjrw-.js +0 -1
  142. package/dist/assets/Bridge-B00gjrw-.js.br +0 -0
  143. package/dist/assets/CheckboxField-aJECTtGJ.js.br +0 -0
  144. package/dist/assets/ClusterSinglePicker-Ckri6Ml1.js.br +0 -0
  145. package/dist/assets/Clusters-C4Yp-rHe.js +0 -1
  146. package/dist/assets/Clusters-C4Yp-rHe.js.br +0 -0
  147. package/dist/assets/Dashboard-CjpyYRjt.js +0 -1
  148. package/dist/assets/Dashboard-CjpyYRjt.js.br +0 -0
  149. package/dist/assets/DashboardFeatureWrapper-DZDafjVF.js.br +0 -0
  150. package/dist/assets/DebouncedInput-hrRL_knE.js.br +0 -0
  151. package/dist/assets/DevConsole-B4vldyLk.js +0 -1
  152. package/dist/assets/DevConsole-B4vldyLk.js.br +0 -0
  153. package/dist/assets/DevConsole-FoMbBemz.js +0 -1
  154. package/dist/assets/DevConsole-FoMbBemz.js.br +0 -0
  155. package/dist/assets/DeviceCard-C2NVxg8O.js +0 -1
  156. package/dist/assets/DeviceCard-C2NVxg8O.js.br +0 -0
  157. package/dist/assets/DeviceControlEditName-B_UgBTKk.js.br +0 -0
  158. package/dist/assets/DeviceInfo-D7K10Qfz.js +0 -1
  159. package/dist/assets/DeviceInfo-D7K10Qfz.js.br +0 -0
  160. package/dist/assets/DevicePage-BuRX-zbG.js +0 -2
  161. package/dist/assets/DevicePage-BuRX-zbG.js.br +0 -0
  162. package/dist/assets/DevicePicker-Dt0o_iaP.js.br +0 -0
  163. package/dist/assets/DeviceSettings-DPEQ0NWl.js +0 -1
  164. package/dist/assets/DeviceSettings-DPEQ0NWl.js.br +0 -0
  165. package/dist/assets/DeviceSpecificSettings-B5ywqTh7.js +0 -1
  166. package/dist/assets/DeviceSpecificSettings-B5ywqTh7.js.br +0 -0
  167. package/dist/assets/Devices-DAG6vs0G.js +0 -1
  168. package/dist/assets/Devices-DAG6vs0G.js.br +0 -0
  169. package/dist/assets/DevicesPage-BgcI1RZT.js +0 -1
  170. package/dist/assets/DevicesPage-BgcI1RZT.js.br +0 -0
  171. package/dist/assets/DisplayValue-CjZXHxIO.js.br +0 -0
  172. package/dist/assets/Donate-BI8FFOLc.js +0 -1
  173. package/dist/assets/Donate-BI8FFOLc.js.br +0 -0
  174. package/dist/assets/EndpointPicker-CX9S9S7k.js.br +0 -0
  175. package/dist/assets/Exposes-CZ40iv73.js +0 -1
  176. package/dist/assets/Exposes-CZ40iv73.js.br +0 -0
  177. package/dist/assets/Feature-DhPZqYWh.js +0 -1
  178. package/dist/assets/Feature-DhPZqYWh.js.br +0 -0
  179. package/dist/assets/Frontend-D8k0f0AR.js +0 -1
  180. package/dist/assets/Frontend-D8k0f0AR.js.br +0 -0
  181. package/dist/assets/GroupPage-H559xYGM.js +0 -2
  182. package/dist/assets/GroupPage-H559xYGM.js.br +0 -0
  183. package/dist/assets/GroupSettings-CEzY10KG.js +0 -1
  184. package/dist/assets/GroupSettings-CEzY10KG.js.br +0 -0
  185. package/dist/assets/Groups-QvxyfbK9.js +0 -1
  186. package/dist/assets/Groups-QvxyfbK9.js.br +0 -0
  187. package/dist/assets/GroupsPage-DQRrJ45C.js +0 -1
  188. package/dist/assets/GroupsPage-DQRrJ45C.js.br +0 -0
  189. package/dist/assets/HomePage-Dqztw8Hc.js +0 -1
  190. package/dist/assets/HomePage-Dqztw8Hc.js.br +0 -0
  191. package/dist/assets/InputField-TubacR8F.js.br +0 -0
  192. package/dist/assets/LastSeen-DjUuaYXi.js +0 -1
  193. package/dist/assets/LastSeen-DjUuaYXi.js.br +0 -0
  194. package/dist/assets/LogsPage-DrJ3t-Cv.js +0 -1
  195. package/dist/assets/LogsPage-DrJ3t-Cv.js.br +0 -0
  196. package/dist/assets/Lqi-BNx2QV2z.js.br +0 -0
  197. package/dist/assets/NetworkPage-C4sfYTKz.js +0 -2
  198. package/dist/assets/NetworkPage-C4sfYTKz.js.br +0 -0
  199. package/dist/assets/NumberField-B10BRlkz.js.br +0 -0
  200. package/dist/assets/OtaPage-M9j8HXqi.js +0 -1
  201. package/dist/assets/OtaPage-M9j8HXqi.js.br +0 -0
  202. package/dist/assets/PowerSource-CT5LulZX.js +0 -1
  203. package/dist/assets/PowerSource-CT5LulZX.js.br +0 -0
  204. package/dist/assets/RawNetworkData-uldf8APR.js.br +0 -0
  205. package/dist/assets/RawNetworkMap-CAdhahgm.js.br +0 -0
  206. package/dist/assets/RecallRemove-CLsmJI45.js.br +0 -0
  207. package/dist/assets/Reporting-Bo6_VF2b.js +0 -1
  208. package/dist/assets/Reporting-Bo6_VF2b.js.br +0 -0
  209. package/dist/assets/Scene-BXVtU8op.js +0 -1
  210. package/dist/assets/Scene-BXVtU8op.js.br +0 -0
  211. package/dist/assets/SelectField-CboFEeLv.js.br +0 -0
  212. package/dist/assets/Settings-B5wIMTA9.js +0 -1
  213. package/dist/assets/Settings-B5wIMTA9.js.br +0 -0
  214. package/dist/assets/SettingsList-BXXsCJCy.js.br +0 -0
  215. package/dist/assets/SettingsPage-DnvMw2Gc.js +0 -2
  216. package/dist/assets/SettingsPage-DnvMw2Gc.js.br +0 -0
  217. package/dist/assets/State--9WxnrT8.js +0 -1
  218. package/dist/assets/State--9WxnrT8.js.br +0 -0
  219. package/dist/assets/Table-CK8_rY6Z.js.br +0 -0
  220. package/dist/assets/TextareaField-Cb3faakR.js.br +0 -0
  221. package/dist/assets/Tools-DdvQNnDA.js +0 -1
  222. package/dist/assets/Tools-DdvQNnDA.js.br +0 -0
  223. package/dist/assets/TouchlinkPage-DGFmsjIH.js +0 -1
  224. package/dist/assets/TouchlinkPage-DGFmsjIH.js.br +0 -0
  225. package/dist/assets/VendorLink-CQWJDUO2.js.br +0 -0
  226. package/dist/assets/_createCompounder-COpq92ed.js.br +0 -0
  227. package/dist/assets/capitalize-JuEfl3u2.js.br +0 -0
  228. package/dist/assets/index-CUIfkU6p.js.br +0 -0
  229. package/dist/assets/index-Cs-KexR1.js +0 -635
  230. package/dist/assets/index-Cs-KexR1.js.br +0 -0
  231. package/dist/assets/index-vRya9HWu.css +0 -1
  232. package/dist/assets/index-vRya9HWu.css.br +0 -0
  233. package/dist/assets/jszip.min-1QgvwwzN.js.br +0 -0
  234. package/dist/assets/snakeCase-XNTmpa2i.js +0 -1
  235. package/dist/assets/snakeCase-XNTmpa2i.js.br +0 -0
@@ -1 +0,0 @@
1
- import{r as l,b as g,j as s,B as N,Q as h,F as f,R as j,a as y,W as $,L,S as D}from"./index-Cs-KexR1.js";import{D as M,P as z}from"./PowerSource-CT5LulZX.js";import{T as A}from"./Table-CK8_rY6Z.js";import{M as P,V as q}from"./VendorLink-CQWJDUO2.js";import"./index-CUIfkU6p.js";import"./snakeCase-XNTmpa2i.js";import"./_createCompounder-COpq92ed.js";import"./DebouncedInput-hrRL_knE.js";const B=l.memo(({label:t,remaining:i,progress:n})=>{if(i&&i>0){const a=Math.floor(i/3600),o=Math.floor(i/60)%60,m=Math.floor(i%60),r=a>0,u=o>0;return s.jsxs(s.Fragment,{children:[s.jsx("progress",{className:"progress w-48",value:n,max:"100"}),s.jsxs("div",{children:[t," ",`${r?`${a}:`:""}${u?`${o}:`:""}${m}`]})]})}return s.jsx("progress",{className:"progress w-48",value:n,max:"100"})}),U=l.memo(t=>{const{t:i}=g(["ota","common"]),{device:n,state:a,onCheckClick:o,onUpdateClick:m,onScheduleClick:r,onUnscheduleClick:u}=t;return a==null||a.state==="idle"?s.jsxs("div",{className:"join join-horizontal",children:[s.jsx(N,{className:"btn btn-primary btn-sm join-item",onClick:o,item:n.ieee_address,children:i("check")}),s.jsx(h,{className:"btn btn-info btn-sm join-item",onClick:r,item:n.ieee_address,title:i("schedule"),modalDescription:i("schedule_info"),modalCancelLabel:i("common:cancel"),children:s.jsx(f,{icon:j})})]}):a.state==="updating"?s.jsx(B,{label:i("remaining_time"),remaining:a.remaining,progress:a.progress}):s.jsx("div",{className:"join join-horizontal",children:a.state==="available"?s.jsxs(s.Fragment,{children:[s.jsx(h,{className:"btn btn-error btn-sm join-item",onClick:m,item:n.ieee_address,title:i("update"),modalDescription:i("common:dialog_confirmation_prompt"),modalCancelLabel:i("common:cancel"),children:i("update")}),s.jsx(h,{className:"btn btn-info btn-sm join-item",onClick:r,item:n.ieee_address,title:i("schedule"),modalDescription:i("schedule_info"),modalCancelLabel:i("common:cancel"),children:s.jsx(f,{icon:j})})]}):a.state==="scheduled"?s.jsx(h,{className:"btn btn-sm btn-error join-item",onClick:u,item:n.ieee_address,title:i("unschedule"),modalDescription:i("common:dialog_confirmation_prompt"),modalCancelLabel:i("common:cancel"),children:i("unschedule")}):s.jsxs(s.Fragment,{children:[s.jsx(N,{className:"btn btn-primary btn-sm join-item",onClick:o,item:n.ieee_address,children:i("check")}),s.jsx(h,{className:"btn btn-info btn-sm join-item",onClick:r,item:n.ieee_address,title:i("schedule"),modalDescription:i("schedule_info"),modalCancelLabel:i("common:cancel"),children:s.jsx(f,{icon:j})})]})})}),S=l.memo(t=>{const{t:i}=g("ota"),n=l.useMemo(()=>{if(t.version==null||t.version<0)return;const a=t.version.toString(16).padStart(8,"0"),o=`${a[0]}.${a[1]}`,m=a.slice(2,4),r=`${a[4]}.${a[5]}`,u=a.slice(6);return[o,m,r,u]},[t.version]);return n===void 0?s.jsx(s.Fragment,{children:"N/A"}):s.jsxs("div",{className:"join join-vertical",children:[s.jsxs("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default join-item w-full",children:[i("app"),": ",`${n[0]} build ${n[1]}`]}),s.jsxs("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default join-item w-full",children:[i("stack"),": ",`${n[2]} build ${n[3]}`]})]})}),O=l.memo(({device:t})=>{var o,m,r,u;const{t:i}=g("zigbee");let n="https://github.com/Koenkk/zigbee-OTA/releases";const a=t.software_build_id||i("unknown");switch((o=t==null?void 0:t.definition)==null?void 0:o.vendor){case"IKEA":n="https://ww8.ikea.com/ikeahomesmart/releasenotes/releasenotes.html";break;case"Inovelli":n="https://help.inovelli.com/en/articles/8503774-what-is-the-latest-firmware-version-for-your-device#h_b74c1e7dc6";break;case"Philips":n=`https://www.philips-hue.com/en-us/support/release-notes/${(m=t.definition)!=null&&m.exposes.find(b=>b.type==="light")?"lamps":"accessories"}`;break;case"Ubisys":n=`https://www.ubisys.de/en/support/firmware/change-logs-${(u=(r=t.definition)==null?void 0:r.model)==null?void 0:u.replace(/[-]/g,"").toLowerCase()}/`;break}return s.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:n,className:"link link-hover",children:a})});function H(){const t=y(e=>e.devices),i=y(e=>e.deviceStates),{sendMessage:n}=l.useContext($),{t:a}=g(["ota","zigbee","common"]),[o,m]=l.useState([]);l.useEffect(()=>{m([])},[t]);const r=l.useMemo(()=>{var c;const e=[];for(const d of t)if((c=d.definition)!=null&&c.supports_ota&&!d.disabled){const p=i[d.friendly_name]??{};e.push({device:d,state:p.update,batteryState:d.power_source==="Battery"?{batteryPercent:p.battery,batteryState:p.battery_state,batteryLow:p.battery_low}:void 0,selected:o.includes(d.ieee_address)})}return e},[i,t,o]),u=l.useCallback(e=>{e.target.checked?m(r.map(({device:c})=>c.ieee_address)):m([])},[r]),b=l.useCallback((e,c)=>{m(c?[...o,e.ieee_address]:o.filter(d=>d!==e.ieee_address))},[o]),x=l.useCallback(async()=>{await Promise.allSettled(o.map(e=>n("bridge/request/device/ota_update/check",{id:e})))},[n,o]),k=l.useCallback(async()=>{await Promise.allSettled(o.map(e=>n("bridge/request/device/ota_update/update",{id:e})))},[n,o]),_=l.useCallback(async e=>await n("bridge/request/device/ota_update/check",{id:e}),[n]),C=l.useCallback(async e=>await n("bridge/request/device/ota_update/update",{id:e}),[n]),w=l.useCallback(async e=>await n("bridge/request/device/ota_update/schedule",{id:e}),[n]),v=l.useCallback(async e=>await n("bridge/request/device/ota_update/unschedule",{id:e}),[n]),F=l.useMemo(()=>[{id:"select",header:()=>s.jsx("label",{children:s.jsx("input",{type:"checkbox",className:"checkbox",onChange:u,defaultChecked:o.length===r.length})}),accessorFn:()=>"",cell:({row:{original:{device:e,selected:c}}})=>s.jsx("label",{children:s.jsx("input",{type:"checkbox",className:"checkbox",onChange:d=>b(e,d.target.checked),defaultChecked:c})}),enableColumnFilter:!1,enableSorting:!1},{header:a("common:friendly_name"),accessorFn:({device:e})=>[e.friendly_name,e.description,e.ieee_address].join(" "),cell:({row:{original:{device:e,state:c,batteryState:d}}})=>s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx("div",{className:"avatar",children:s.jsx("div",{className:"h-12 w-12",style:{overflow:"visible"},children:s.jsx(M,{device:e,otaState:c==null?void 0:c.state,disabled:!1})})}),s.jsxs("div",{className:"flex flex-col",children:[s.jsxs(L,{to:`/device/${e.ieee_address}/info`,className:"link link-hover",children:[e.friendly_name,e.friendly_name!==e.ieee_address?` (${e.ieee_address})`:""]}),e.description&&s.jsx("div",{className:"text-xs opacity-50",children:e.description}),s.jsxs("div",{className:"flex flex-row gap-1 my-1 items-center",children:[s.jsxs("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default",title:a("zigbee:firmware_id"),children:[s.jsx(f,{icon:D}),s.jsx(O,{device:e}),e.date_code?s.jsxs("span",{title:a("zigbee:firmware_build_date"),children:[" (",e.date_code,")"]}):void 0]}),d&&s.jsx("span",{className:"badge badge-sm badge-soft badge-ghost cursor-default",children:s.jsx(z,{device:e,...d})})]})]})]})},{header:a("zigbee:model"),accessorFn:({device:e})=>{var c,d;return[(c=e.definition)==null?void 0:c.model,e.model_id,(d=e.definition)==null?void 0:d.vendor,e.manufacturer].join(" ")},cell:({row:{original:{device:e}}})=>s.jsxs(s.Fragment,{children:[s.jsx(P,{device:e}),s.jsx("div",{children:s.jsx("span",{className:"badge badge-sm badge-ghost",title:a("zigbee:manufacturer"),children:s.jsx(q,{device:e})})})]})},{header:a("firmware_version"),accessorFn:({state:e})=>e==null?void 0:e.installed_version,cell:({row:{original:{state:e}}})=>s.jsx(S,{version:e==null?void 0:e.installed_version}),enableColumnFilter:!1},{header:a("available_firmware_version"),accessorFn:({state:e})=>e==null?void 0:e.latest_version,cell:({row:{original:{state:e}}})=>s.jsx(S,{version:e==null?void 0:e.latest_version}),enableColumnFilter:!1},{header:()=>s.jsxs("div",{className:"join join-vertical",children:[s.jsx(h,{className:"btn btn-error btn-xs join-item",onClick:x,title:a("check_selected"),modalDescription:a("common:dialog_confirmation_prompt"),modalCancelLabel:a("common:cancel"),disabled:o.length===0,children:a("check_selected")}),s.jsx(h,{className:"btn btn-error btn-xs join-item",onClick:k,title:a("update_selected"),modalDescription:a("update_selected_info"),modalCancelLabel:a("common:cancel"),disabled:o.length===0,children:a("update_selected")})]}),accessorFn:({state:e})=>e==null?void 0:e.state,id:"check_all",cell:({row:{original:{device:e,state:c}}})=>s.jsx(U,{device:e,state:c,onCheckClick:_,onUpdateClick:C,onScheduleClick:w,onUnscheduleClick:v}),enableSorting:!1,enableColumnFilter:!1}],[o.length,r.length,u,b,x,k,_,C,w,v,a]);return s.jsx(A,{id:"ota-devices",columns:F,data:r})}export{H as default};
Binary file
@@ -1 +0,0 @@
1
- import{j as a,F as m,Y as _,r as b,b as E,aj as P,bF as I,bG as D,J as L,bH as B,bI as $,bC as F,bJ as k,bg as A,bw as v,bx as z,by as S,bz as M,bq as h}from"./index-Cs-KexR1.js";import{g as T,a as x}from"./index-CUIfkU6p.js";import{s as j}from"./snakeCase-XNTmpa2i.js";function C({error:t,children:e}){return t?a.jsx(m,{icon:_,size:"3x",className:"text-error",title:"Missing image"}):e}function g(t){"@babel/helpers - typeof";return g=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},g(t)}function Q(t,e){if(g(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(g(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function q(t){var e=Q(t,"string");return g(e)=="symbol"?e:e+""}function G(t,e,r){return(e=q(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var K=function(t){var e=t.crossOrigin,r=e===void 0?"":e;return function(n){return new Promise(function(s,o){var i=new Image;r&&(i.crossOrigin=r),i.onload=function(){i.decode?i.decode().then(s).catch(o):s()},i.onerror=o,i.src=n})}};function O(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),r.push.apply(r,n)}return r}function w(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?O(Object(r),!0).forEach(function(n){G(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):O(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}var H=function(e){return e.filter(function(r){return r})},J=function(e){return Array.isArray(e)?e:[e]},f={},Z=function(e,r){var n=!1;return new Promise(function(s,o){var i=function(u){return r(u).then(function(){n=!0,s(u)})};e.reduce(function(l,u){return l.catch(function(){if(!n)return i(u)})},i(e.shift())).catch(o)})};function R(t){var e=t.srcList,r=t.imgPromise,n=r===void 0?K({}):r,s=t.useSuspense,o=s===void 0?!0:s,i=b.useState(!1),l=i[1],u=H(J(e)),c=u.join("");if(f[c]||(f[c]={promise:Z(u,n),cache:"pending",error:null}),f[c].cache==="resolved")return{src:f[c].src,isLoading:!1,error:null};if(f[c].cache==="rejected"){if(o)throw f[c].error;return{isLoading:!1,error:f[c].error,src:void 0}}if(f[c].promise.then(function(d){f[c]=w(w({},f[c]),{},{cache:"resolved",src:d}),o||l(c)}).catch(function(d){f[c]=w(w({},f[c]),{},{cache:"rejected",error:d}),o||l(c)}),o)throw f[c].promise;return{isLoading:!0,src:void 0,error:null}}const N=b.memo(({device:t={},className:e})=>{var i;const r=(i=t.definition)==null?void 0:i.icon,n=T(t),s=[];r&&s.push(r),n&&s.push(n),n!==x&&s.push(x);const{src:o}=R({srcList:s});return a.jsx("img",{alt:t.ieee_address,crossOrigin:"anonymous",src:o,className:e})}),W=b.memo(t=>{const{t:e}=E("zigbee"),{device:r={},disabled:n,otaState:s,className:o,noIndicator:i}=t,l=b.useMemo(()=>r.interview_state===P.InProgress?a.jsx(m,{icon:I,spin:!0,title:e("interviewing"),className:"indicator-item indicator-bottom indicator-end text-info"}):r.interview_state===P.Failed?a.jsx(m,{icon:_,beat:!0,title:e("interview_failed"),className:"indicator-item indicator-bottom indicator-end text-error"}):r.supported?null:a.jsx(m,{icon:D,beat:!0,title:e("unsupported"),className:"indicator-item indicator-bottom indicator-end text-warning"}),[r.interview_state,r.supported,e]);return a.jsx(b.Suspense,{fallback:a.jsx("img",{alt:r.ieee_address,src:x}),children:a.jsx(C,{children:i?a.jsx(N,{device:r,className:`grid place-items-center${o?` ${o}`:""}`}):a.jsxs("div",{className:"indicator w-full",children:[s==="updating"&&a.jsx(m,{icon:L,spin:!0,title:e("updating_firmware"),className:"indicator-item indicator-top indicator-end text-info"}),l,n&&a.jsx(m,{icon:B,title:e("common:disabled"),className:"indicator-item indicator-middle indicator-center text-error",size:"2xl"}),a.jsx(N,{device:r,className:`grid place-items-center${o?` ${o}`:""}`})]})})})}),X=b.memo(t=>{const{device:e,batteryPercent:r,batteryState:n,batteryLow:s,showLevel:o,...i}=t,{t:l}=E("zigbee");let u;switch(e!=null&&e.power_source&&(u=e.power_source),u){case"Battery":{let c=l("battery"),d="",p=v,y=!1;if(r!=null)d=`${r}%`,r>=85?p=v:r>=65?p=z:r>=40?p=S:r>=20?p=M:(p=h,y=!0);else if(n!=null)switch(d=n,n){case"high":p=v;break;case"medium":p=S;break;case"low":p=h,y=!0;break}else s!=null&&(d=s?"low":"ok",p=s?h:v);return s===!0&&(y=!0),d!==""&&(c+=`, ${l("power_level")}: ${d}`),a.jsxs("span",{className:y?"text-error":"",children:[a.jsx(m,{icon:p,fade:y,title:c,...i}),o&&a.jsx("span",{className:"ps-2",children:d})]})}case"Mains (single phase)":case"Mains (3 phase)":case"DC Source":return a.jsx(m,{icon:A,title:l(j(u)),...i});case"Emergency mains and transfer switch":case"Emergency mains constantly powered":return a.jsx(m,{icon:k,title:l(j(u)),...i});default:return(e==null?void 0:e.type)==="GreenPower"?a.jsx(m,{icon:$,title:"Green",...i}):a.jsx(m,{icon:F,title:u?l(j(u)):void 0,...i})}});export{W as D,X as P};
@@ -1 +0,0 @@
1
- import{r as n,b as j,ac as R,j as t,B as N,Q as k,W as w}from"./index-Cs-KexR1.js";import{I as C}from"./InputField-TubacR8F.js";import{C as E,A as y}from"./ClusterSinglePicker-Ckri6Ml1.js";import{E as S}from"./EndpointPicker-CX9S9S7k.js";import"./SelectField-CboFEeLv.js";const q=["maximum_report_interval","minimum_report_interval","reportable_change","endpoint","cluster","attribute"],A=n.memo(l=>{const{rule:r,device:o,onApply:a}=l,[e,u]=n.useState({rule:r}),{t:s}=j(["zigbee","common"]);n.useEffect(()=>{u({rule:r})},[r]);const c=n.useCallback(i=>{e.rule.endpoint=i,u({rule:e.rule})},[e]),_=n.useCallback(i=>{e.rule.cluster=i,u({rule:e.rule})},[e]),g=n.useCallback(i=>{e.rule.attribute=i,u({rule:e.rule})},[e]),p=n.useCallback(i=>{const{name:m,valueAsNumber:d}=i.target;e.rule[m]=d,u({rule:e.rule})},[e]),v=n.useCallback(()=>{a({...e.rule,maximum_report_interval:65535})},[e,a]),x=n.useMemo(()=>R(o),[o]),f=n.useMemo(()=>{const i=new Set,m=new Set;e.rule.cluster&&m.add(e.rule.cluster);const d=o.endpoints[Number.parseInt(e.rule.endpoint,10)];if(d){for(const b of d.clusters.output)m.add(b);for(const b of d.clusters.input)m.has(b)||i.add(b)}return[{name:"available",clusters:m},{name:"possible",clusters:i}]},[o.endpoints,e.rule.endpoint,e.rule.cluster]),h=n.useMemo(()=>q.every(i=>e.rule[i]!==void 0&&e.rule[i]!==""),[e]);return t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex flex-row flex-wrap gap-2",children:[t.jsx(S,{label:s("endpoint"),disabled:!r.isNew,values:x,value:e.rule.endpoint,onChange:c,required:!0}),t.jsx(E,{label:s("cluster"),disabled:!e.rule.endpoint,clusters:f,value:e.rule.cluster,onChange:_,required:!0}),t.jsx(y,{label:s("attribute"),disabled:!e.rule.cluster,value:e.rule.attribute,cluster:e.rule.cluster,device:o,onChange:g,required:!0}),t.jsx(C,{name:"minimum_report_interval",label:s("min_rep_interval"),type:"number",value:e.rule.minimum_report_interval,onChange:p,required:!0}),t.jsx(C,{name:"maximum_report_interval",label:s("max_rep_interval"),type:"number",value:e.rule.maximum_report_interval,onChange:p,required:!0}),t.jsx(C,{name:"reportable_change",label:s("min_rep_change"),type:"number",value:e.rule.reportable_change,onChange:p,required:!0}),t.jsxs("fieldset",{className:"fieldset",children:[t.jsx("legend",{className:"fieldset-legend",children:s("actions")}),t.jsxs("div",{className:"join join-horizontal",children:[t.jsx(N,{className:"btn btn-primary join-item",item:e.rule,onClick:a,disabled:!h,children:s("common:apply")}),e.rule.isNew?null:t.jsx(k,{title:s("common:disable"),className:"btn btn-error join-item",onClick:v,modalDescription:s("common:dialog_confirmation_prompt"),modalCancelLabel:s("common:cancel"),children:s("common:disable")})]})]})]}),t.jsx("div",{className:"divider"})]})}),I=l=>{const r=[];for(const o in l.endpoints){const a=l.endpoints[o];for(const e of a.configured_reportings)r.push({...e,endpoint:o})}return r},M=l=>`${l.isNew}-${l.endpoint}-${l.cluster}-${l.attribute}`;function P(l){const{device:r}=l,{sendMessage:o}=n.useContext(w),[a,e]=n.useState({isNew:r.ieee_address,reportable_change:0,minimum_report_interval:60,maximum_report_interval:3600,endpoint:"",cluster:"",attribute:""}),u=n.useMemo(()=>I(r),[r]);n.useEffect(()=>{e({isNew:r.ieee_address,reportable_change:0,minimum_report_interval:60,maximum_report_interval:3600,endpoint:"",cluster:"",attribute:""})},[r.ieee_address]);const s=n.useCallback(async c=>{const{cluster:_,endpoint:g,attribute:p,minimum_report_interval:v,maximum_report_interval:x,reportable_change:f}=c;await o("bridge/request/device/configure_reporting",{id:r.ieee_address,endpoint:g,cluster:_,attribute:p,minimum_report_interval:v,maximum_report_interval:x,reportable_change:f,option:{}})},[o,r.ieee_address]);return t.jsx("div",{className:"flex flex-col",children:[...u,a].map(c=>t.jsx(A,{rule:c,device:r,onApply:s},M(c)))})}export{P as default};
@@ -1 +0,0 @@
1
- import{a,j as e}from"./index-Cs-KexR1.js";import{A as s,R as m}from"./RecallRemove-CLsmJI45.js";import"./DashboardFeatureWrapper-DZDafjVF.js";import"./Feature-DhPZqYWh.js";import"./DisplayValue-CjZXHxIO.js";import"./_createCompounder-COpq92ed.js";import"./capitalize-JuEfl3u2.js";import"./InputField-TubacR8F.js";import"./SelectField-CboFEeLv.js";function j(t){const i=a(r=>r.deviceStates[t.device.friendly_name]??{});return e.jsxs("div",{className:"flex flex-row flex-wrap justify-around items-start gap-3 my-2",children:[e.jsx("div",{children:e.jsx(s,{target:t.device,deviceState:i})}),e.jsx("div",{children:e.jsx(m,{target:t.device,deviceState:i})})]})}export{j as default};
Binary file
@@ -1 +0,0 @@
1
- import{r as o,W as d,a as f,b,j as e,F as p,I as u,bV as g,B as x}from"./index-Cs-KexR1.js";import{S as l}from"./SettingsList-BXXsCJCy.js";import"./CheckboxField-aJECTtGJ.js";import"./InputField-TubacR8F.js";import"./NumberField-B10BRlkz.js";import"./SelectField-CboFEeLv.js";const r="main",h=[r,"frontend","mqtt","serial","availability","ota","advanced","homeassistant"];function I(){const{sendMessage:n}=o.useContext(d),a=f(s=>s.bridgeInfo),[t,m]=o.useState(r),{t:i}=b("settings"),c=o.useCallback(async s=>{t===r?await n("bridge/request/options",{options:s}):await n("bridge/request/options",{options:{[t]:s}})},[n,t]);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"alert alert-info alert-soft mb-3",role:"alert",children:[e.jsx(p,{icon:u,size:"2xl"}),e.jsx("a",{href:g,target:"_blank",rel:"noreferrer",className:"link link-hover",children:i("common:read_the_docs_info")})]}),e.jsxs("div",{className:"tabs tabs-border",children:[h.map(s=>e.jsx(x,{className:`tab${t===s?" tab-active":""}`,"aria-current":"page",item:s,onClick:m,children:i(s)},s)),e.jsx("div",{className:"tab-content block h-full bg-base-100 p-3",children:t===r?e.jsx(l,{schema:a.config_schema,data:a.config,set:c,rootOnly:!0}):e.jsx(l,{schema:a.config_schema.properties[t],data:a.config[t],set:c})})]})]})}export{I as default};
Binary file
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./About-Bwc-SnjR.js","./index-Cs-KexR1.js","./index-vRya9HWu.css","./snakeCase-XNTmpa2i.js","./_createCompounder-COpq92ed.js","./Frontend-D8k0f0AR.js","./CheckboxField-aJECTtGJ.js","./InputField-TubacR8F.js","./NumberField-B10BRlkz.js","./SelectField-CboFEeLv.js","./Settings-B5wIMTA9.js","./SettingsList-BXXsCJCy.js","./Tools-DdvQNnDA.js","./index-CUIfkU6p.js","./Bridge-B00gjrw-.js","./DevConsole-B4vldyLk.js","./TextareaField-Cb3faakR.js","./Donate-BI8FFOLc.js"])))=>i.map(i=>d[i]);
2
- import{u,d as _,b as d,r as a,j as s,N as o,F as n,e as b,a5 as x,k as j,a6 as g,a7 as p,q as v,a8 as N,_ as r}from"./index-Cs-KexR1.js";const T=a.lazy(async()=>await r(()=>import("./About-Bwc-SnjR.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)),f=a.lazy(async()=>await r(()=>import("./Frontend-D8k0f0AR.js"),__vite__mapDeps([5,1,2,6,7,8,9]),import.meta.url)),E=a.lazy(async()=>await r(()=>import("./Settings-B5wIMTA9.js"),__vite__mapDeps([10,1,2,11,6,7,8,9]),import.meta.url)),y=a.lazy(async()=>await r(()=>import("./Tools-DdvQNnDA.js"),__vite__mapDeps([12,1,2,13]),import.meta.url)),h=a.lazy(async()=>await r(()=>import("./Bridge-B00gjrw-.js"),__vite__mapDeps([14,1,2]),import.meta.url)),A=a.lazy(async()=>await r(()=>import("./DevConsole-B4vldyLk.js"),__vite__mapDeps([15,1,2,7,9,16]),import.meta.url)),D=a.lazy(async()=>await r(()=>import("./Donate-BI8FFOLc.js"),__vite__mapDeps([17,1,2]),import.meta.url));function w(){const c=u(),{tab:i}=_(),{t}=d(["settings","navbar"]);a.useEffect(()=>{i||c("/settings/about",{replace:!0})},[i,c]);const l=a.useMemo(()=>{switch(i){case"about":return s.jsx(T,{});case"frontend":return s.jsx(f,{});case"settings":return s.jsx(E,{});case"tools":return s.jsx(y,{});case"bridge":return s.jsx(h,{});case"dev-console":return s.jsx(A,{});case"donate":return s.jsx(D,{})}return s.jsx(s.Fragment,{})},[i]),e=({isActive:m})=>m?"tab tab-active":"tab";return s.jsx(s.Fragment,{children:s.jsxs("div",{className:"tabs tabs-border",children:[s.jsxs(o,{to:"/settings/about",className:e,children:[s.jsx(n,{icon:b,className:"me-2"}),t("about")]}),s.jsxs(o,{to:"/settings/frontend",className:e,children:[s.jsx(n,{icon:x,className:"me-2"}),t("frontend")]}),s.jsxs(o,{to:"/settings/settings",className:e,children:[s.jsx(n,{icon:j,className:"me-2"}),t("settings")]}),s.jsxs(o,{to:"/settings/tools",className:e,children:[s.jsx(n,{icon:g,className:"me-2"}),t("tools")]}),s.jsxs(o,{to:"/settings/bridge",className:e,children:[s.jsx(n,{icon:p,className:"me-2"}),t("bridge")]}),s.jsxs(o,{to:"/settings/dev-console",className:e,children:[s.jsx(n,{icon:v,className:"me-2"}),t("dev_console")]}),s.jsxs(o,{to:"/settings/donate",className:e,children:[s.jsx(n,{icon:N,className:"me-2"}),t("donate")]}),s.jsx("div",{className:"tab-content block h-full bg-base-100 p-3",children:l})]})})}export{w as default};
@@ -1 +0,0 @@
1
- import{a as l,j as o}from"./index-Cs-KexR1.js";function i(t){const{device:a}=t,s=l(r=>r.deviceStates[a.friendly_name]??{}),e=JSON.stringify(s,null,4),n=Math.max(10,(e.match(/\n/g)||"").length+1);return o.jsx("textarea",{className:"textarea w-full",rows:n,readOnly:!0,value:e})}export{i as default};
Binary file
Binary file
@@ -1 +0,0 @@
1
- import{r as i,W as x,b as f,j as a,B as l,A as w,a as p,a4 as k,av as _,Q as h,bX as C,bY as y,bZ as N}from"./index-Cs-KexR1.js";import{g as v}from"./index-CUIfkU6p.js";async function S(r){return await new Promise((s,o)=>{const n=new FileReader;n.onloadend=()=>s(n.result),n.onerror=d=>o(d),n.readAsDataURL(r)})}async function z(r){const s=await fetch(r);if(s.ok){const o=await s.blob();return await S(o)}return Promise.reject(s.status)}function B(r){const[s,o]=i.useState("none"),{devices:n}=r,[d,m]=i.useState({}),{sendMessage:t}=i.useContext(x),{t:c}=f("settings"),b=i.useCallback(async e=>{m(j=>({...j,[e.ieee_address]:"init"}));const u=v(e),g=await z(u);return await t("bridge/request/device/options",{id:e.ieee_address,options:{icon:g}}),m(j=>({...j,[e.ieee_address]:"done"})),!0},[t]);switch(i.useEffect(()=>{if(s==="start"){for(const e of n)e.type!=="Coordinator"&&b(e).catch(u=>{console.error("Error localising image",u),m(g=>({...g,[e.ieee_address]:"error"}))}).then();o("inprogress")}},[s,n,b]),s){case"none":return a.jsx(l,{className:"btn btn-primary join-item",onClick:()=>o("start"),children:c("localise_images")});case"inprogress":return a.jsx("ul",{className:"menu menu-xs bg-base-200 max-w-xs w-full join-item",children:n.map(e=>a.jsxs("li",{className:"flex-row justify-between items-center border-b py-0.5",children:[e.friendly_name,a.jsx("span",{className:"badge badge-xs",children:c(`common:${d[e.ieee_address]}`)})]},e.ieee_address))});case"done":return a.jsx("div",{children:c("common:unknown")})}return a.jsx("div",{children:c("zigbee:unknown")})}function I(){const r=w(),{sendMessage:s}=i.useContext(x),o=p(e=>e.bridgeInfo),n=p(e=>e.backup),d=p(e=>e.preparingBackup),m=p(e=>e.devices),{t}=f(["settings","common"]),c=i.useCallback(()=>{const e=k(new Date).replace(/[\s_:]/g,"-"),u=`z2m-backup.${o.version}.${e}.zip`;_(`data:application/zip;base64,${n}`,u)},[n,o.version]),b=i.useCallback(async()=>{const e=prompt(t("enter_install_code"));e&&await s("bridge/request/install_code/add",{value:e})},[s,t]);return a.jsxs("div",{className:"join join-vertical",children:[a.jsx(h,{className:"btn btn-error join-item mb-2",onClick:async()=>await s("bridge/request/restart",""),title:t("restart_zigbee2mqtt"),modalDescription:t("common:dialog_confirmation_prompt"),modalCancelLabel:t("common:cancel"),children:t("restart_zigbee2mqtt")}),a.jsx(l,{className:"btn btn-primary join-item",onClick:async()=>await C(y.getState(),"state.json"),children:t("download_state")}),d?a.jsx(l,{className:"btn btn-primary join-item disabled",children:a.jsx("span",{className:"loading loading-dots loading-xl"})}):n?a.jsx(l,{className:"btn btn-primary join-item",onClick:c,children:t("download_z2m_backup")}):a.jsx(l,{className:"btn btn-primary join-item",onClick:async()=>{r(N()),await s("bridge/request/backup","")},children:t("request_z2m_backup")}),a.jsx(l,{className:"btn btn-primary join-item",onClick:b,children:t("add_install_code")}),a.jsx(B,{devices:m})]})}export{I as default};
Binary file
@@ -1 +0,0 @@
1
- import{r as t,W as _,A as C,a as o,b as I,T as P,U as w,V as N,j as s,L as T,B as m,F as k,X as x,Y as F,Z as v}from"./index-Cs-KexR1.js";import{T as S}from"./Table-CK8_rY6Z.js";import"./DebouncedInput-hrRL_knE.js";function q(){const{sendMessage:i}=t.useContext(_),a=C(),b=o(e=>e.touchlinkDevices),d=o(e=>e.devices),c=o(e=>e.touchlinkIdentifyInProgress),l=o(e=>e.touchlinkResetInProgress),h=o(e=>e.touchlinkScanInProgress),u=c||l,{t:n}=I(["touchlink","common","zigbee"]),p=t.useCallback(async()=>{a(P({inProgress:!0,devices:[]})),await i("bridge/request/touchlink/scan","")},[i,a]),g=t.useCallback(async e=>{a(w(!0)),await i("bridge/request/touchlink/identify",e)},[i,a]),f=t.useCallback(async e=>{a(N(!0)),await i("bridge/request/touchlink/factory_reset",e)},[i,a]),j=t.useMemo(()=>[{header:n("zigbee:ieee_address"),accessorFn:e=>e.ieee_address,cell:({row:{original:e}})=>d.find(r=>r.ieee_address===e.ieee_address)?s.jsx(T,{to:`/device/${e.ieee_address}/info`,className:"link link-hover",children:e.ieee_address}):e.ieee_address,sortingFn:(e,r)=>e.original.ieee_address.localeCompare(r.original.ieee_address)},{header:n("common:friendly_name"),accessorFn:e=>{var r;return(r=d.find(y=>y.ieee_address===e.ieee_address))==null?void 0:r.friendly_name}},{id:"channel",header:n("zigbee:channel"),accessorFn:e=>e.channel},{id:"actions",header:"",cell:({row:{original:e}})=>s.jsxs("div",{className:"join join-horizontal",children:[s.jsx(m,{disabled:u,item:e,title:n("identify"),className:"btn btn-primary join-item",onClick:g,children:s.jsx(k,{icon:c?x:F,spin:c})}),s.jsx(m,{disabled:u,item:e,title:n("factory_reset"),className:"btn btn-error join-item",onClick:f,children:s.jsx(k,{icon:l?x:v,spin:l})})]}),enableSorting:!1,enableColumnFilter:!1}],[c,l,u,d,n,g,f]);return h?s.jsx("div",{className:"flex flex-row justify-center items-center gap-2",children:s.jsx("span",{className:"loading loading-infinity loading-xl"})}):s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"flex flex-row flex-wrap justify-center items-center gap-2 mb-3",children:s.jsx(m,{className:"btn btn-primary",onClick:p,disabled:h,children:n("scan")})}),s.jsx(S,{id:"touchlink-devices",columns:j,data:b})]})}export{q as default};
Binary file