homebridge-config-ui-x 5.0.0-beta.53 → 5.0.0-beta.55

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 (143) hide show
  1. package/CHANGELOG.md +29 -3
  2. package/dist/bin/platforms/darwin.js +2 -2
  3. package/dist/bin/platforms/darwin.js.map +1 -1
  4. package/dist/core/config/config.service.js +4 -1
  5. package/dist/core/config/config.service.js.map +1 -1
  6. package/dist/modules/accessories/accessories.service.js +6 -6
  7. package/dist/modules/accessories/accessories.service.js.map +1 -1
  8. package/dist/modules/backup/backup.service.d.ts +1 -0
  9. package/dist/modules/backup/backup.service.js +40 -12
  10. package/dist/modules/backup/backup.service.js.map +1 -1
  11. package/dist/modules/config-editor/config-editor.service.js +56 -58
  12. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  13. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.d.ts +1 -1
  14. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +6 -6
  15. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  16. package/dist/modules/plugins/plugins.service.js +6 -0
  17. package/dist/modules/plugins/plugins.service.js.map +1 -1
  18. package/dist/modules/server/server.service.js +26 -6
  19. package/dist/modules/server/server.service.js.map +1 -1
  20. package/package.json +15 -15
  21. package/public/assets/hap-icons/co-sensor.svg +72 -0
  22. package/public/assets/hap-icons/co2-sensor.svg +72 -0
  23. package/public/{chunk-IFJS5HBB.js → chunk-3LVJVXOR.js} +1 -1
  24. package/public/{chunk-JN4WEHM3.js → chunk-3NYGPFUX.js} +1 -1
  25. package/public/chunk-3Q7XB2WT.js +1 -0
  26. package/public/{chunk-FASTOCS5.js → chunk-4DC564T2.js} +1 -1
  27. package/public/chunk-4OGTUIG4.js +1 -0
  28. package/public/{chunk-ZREFVRCJ.js → chunk-54KHHHVC.js} +1 -1
  29. package/public/{chunk-MNIEFP5R.js → chunk-5C5HO7YG.js} +1 -1
  30. package/public/{chunk-JKRWJSXD.js → chunk-5E6U5Y4F.js} +1 -1
  31. package/public/{chunk-2WNK6SOS.js → chunk-5R5SNIWB.js} +1 -1
  32. package/public/{chunk-3QZ375B7.js → chunk-624CM2T3.js} +1 -1
  33. package/public/chunk-65WTJRTP.js +1 -0
  34. package/public/{chunk-MJJZV2ZZ.js → chunk-6QX3MMJP.js} +1 -1
  35. package/public/{chunk-WSXVUEYM.js → chunk-7JNBJKZO.js} +1 -1
  36. package/public/{chunk-H3B6SNLD.js → chunk-AHTFOOTM.js} +1 -1
  37. package/public/chunk-AK2OL7BC.js +1 -0
  38. package/public/chunk-ALEJ35FB.js +1 -0
  39. package/public/{chunk-YYVRF4AL.js → chunk-AR7DMLNC.js} +1 -1
  40. package/public/{chunk-MR2YBKPP.js → chunk-B75F7CUZ.js} +1 -1
  41. package/public/chunk-BY7R34BA.js +1 -0
  42. package/public/chunk-CNL3SMTK.js +1 -0
  43. package/public/{chunk-A6T442AC.js → chunk-CP2SJFWV.js} +1 -1
  44. package/public/{chunk-NSTYUUFS.js → chunk-DBJHYM6V.js} +1 -1
  45. package/public/{chunk-HATWVP5C.js → chunk-DCBQXYKE.js} +1 -1
  46. package/public/{chunk-YCKXYAPE.js → chunk-DCNG2M5F.js} +1 -1
  47. package/public/{chunk-XHTRCMG4.js → chunk-DKYXLNGS.js} +1 -1
  48. package/public/chunk-DNDUU6MV.js +1 -0
  49. package/public/{chunk-V65HN5SX.js → chunk-E7KALXAM.js} +1 -1
  50. package/public/chunk-ESHZ74WN.js +1 -0
  51. package/public/{chunk-MRUJHSFO.js → chunk-FA7ICRJL.js} +1 -1
  52. package/public/{chunk-R5JL6NY3.js → chunk-FMKGRMAH.js} +1 -1
  53. package/public/{chunk-SD472BD2.js → chunk-GG52KGAI.js} +1 -1
  54. package/public/{chunk-6KTIHC4T.js → chunk-HBSDY26I.js} +1 -1
  55. package/public/{chunk-ZJTXU2GZ.js → chunk-HEL4RGNB.js} +1 -1
  56. package/public/chunk-HFC26QPP.js +1 -0
  57. package/public/{chunk-7V7FVNQR.js → chunk-J3AMOH5Y.js} +1 -1
  58. package/public/chunk-JSWQJ6V6.js +1 -0
  59. package/public/chunk-JZGZ5SYW.js +1 -0
  60. package/public/{chunk-ON2E7LVH.js → chunk-KDJYMZFG.js} +1 -1
  61. package/public/{chunk-WPESHLCE.js → chunk-LL54UFJE.js} +1 -1
  62. package/public/{chunk-CHKLSRJ3.js → chunk-LLHKFCES.js} +1 -1
  63. package/public/chunk-M26MCENI.js +1 -0
  64. package/public/chunk-MW6DM2X7.js +1 -0
  65. package/public/{chunk-CPYAFTPH.js → chunk-MY2S4HAC.js} +1 -1
  66. package/public/{chunk-ATZCPOHY.js → chunk-MY6CGMNC.js} +1 -1
  67. package/public/{chunk-XBIY2EKP.js → chunk-N3KVODFS.js} +1 -1
  68. package/public/{chunk-6ILQEJNG.js → chunk-NAEAPYF6.js} +1 -1
  69. package/public/chunk-NAGTO24L.js +1 -0
  70. package/public/chunk-NKUJNNAM.js +1 -0
  71. package/public/{chunk-ESRGAJUF.js → chunk-NXJPK6JI.js} +1 -1
  72. package/public/{chunk-6WEQLPNK.js → chunk-NZOTW24P.js} +1 -1
  73. package/public/{chunk-XSZWYGN5.js → chunk-OMGG43SK.js} +1 -1
  74. package/public/{chunk-GZSXNYQC.js → chunk-OYCLVTQL.js} +1 -1
  75. package/public/{chunk-GKSJJJEG.js → chunk-OZCC7YKF.js} +1 -1
  76. package/public/chunk-PE233UAD.js +1 -0
  77. package/public/{chunk-I5QQRRPS.js → chunk-PTXWCPV7.js} +1 -1
  78. package/public/chunk-Q4G2TRSH.js +1 -0
  79. package/public/chunk-QHZFT356.js +1 -0
  80. package/public/{chunk-RP6EJVPS.js → chunk-QI6ARLTK.js} +1 -1
  81. package/public/chunk-QNWPOWRO.js +7 -0
  82. package/public/chunk-R2PBAQ35.js +1 -0
  83. package/public/{chunk-IC7Y4XQH.js → chunk-RBZHYCMS.js} +1 -1
  84. package/public/chunk-RPGE3RJH.js +1 -0
  85. package/public/chunk-RSWIVWAL.js +1 -0
  86. package/public/{chunk-H22PVD4I.js → chunk-S5NGU6NT.js} +1 -1
  87. package/public/chunk-SFHKXQSB.js +1 -0
  88. package/public/{chunk-XEJ57GXO.js → chunk-SJ3UWAAJ.js} +1 -1
  89. package/public/{chunk-C7B7J3YU.js → chunk-T2GRE36D.js} +1 -1
  90. package/public/{chunk-2TXKGWMR.js → chunk-TR4NZKA2.js} +1 -1
  91. package/public/chunk-TR7NPBZA.js +1 -0
  92. package/public/{chunk-WCXU6QPE.js → chunk-TVD6GFRS.js} +1 -1
  93. package/public/chunk-TZQXMRKN.js +1 -0
  94. package/public/chunk-V2DJBKJO.js +1 -0
  95. package/public/chunk-VAECS3ST.js +2 -0
  96. package/public/chunk-VFRL2KBN.js +1 -0
  97. package/public/chunk-VK24YDWN.js +1 -0
  98. package/public/{chunk-ADLO54TI.js → chunk-VWW5OXYB.js} +1 -1
  99. package/public/{chunk-OE7J5OFK.js → chunk-VYV2IVDF.js} +1 -1
  100. package/public/{chunk-2OUYQIDT.js → chunk-VZOSCXVJ.js} +2 -2
  101. package/public/chunk-WQ2LJPDD.js +1 -0
  102. package/public/{chunk-X7R5UQDS.js → chunk-WVBOP2LW.js} +1 -1
  103. package/public/{chunk-JMXJZ2Q7.js → chunk-XW7GWYFD.js} +1 -1
  104. package/public/{chunk-BSQTJCCZ.js → chunk-YQSLQ3BS.js} +1 -1
  105. package/public/{chunk-FNBFKTZI.js → chunk-ZAWXBC3X.js} +1 -1
  106. package/public/index.html +2 -2
  107. package/public/main-CBCOTPKJ.js +1 -0
  108. package/public/polyfills-QPBMDKSH.js +2 -0
  109. package/public/styles-EYD3YW3P.css +1 -0
  110. package/public/chunk-2SKV4EZG.js +0 -1
  111. package/public/chunk-3MX5DOL7.js +0 -1
  112. package/public/chunk-5YCO5TXF.js +0 -1
  113. package/public/chunk-7NJFL3V5.js +0 -1
  114. package/public/chunk-ASPLXDLK.js +0 -1
  115. package/public/chunk-BVKEUYDD.js +0 -1
  116. package/public/chunk-DNCUP6B7.js +0 -2
  117. package/public/chunk-ECYEAXRB.js +0 -1
  118. package/public/chunk-IU42UO7J.js +0 -1
  119. package/public/chunk-JUFP3U6F.js +0 -1
  120. package/public/chunk-JXE2EDWO.js +0 -1
  121. package/public/chunk-KUMEH2DS.js +0 -1
  122. package/public/chunk-KW4MJOSS.js +0 -1
  123. package/public/chunk-KXTEHFOE.js +0 -1
  124. package/public/chunk-LFQIH47S.js +0 -1
  125. package/public/chunk-LU42XXER.js +0 -1
  126. package/public/chunk-MF5APUVW.js +0 -1
  127. package/public/chunk-N23UCYUG.js +0 -1
  128. package/public/chunk-NTKR7QBR.js +0 -1
  129. package/public/chunk-NVNBNEFN.js +0 -7
  130. package/public/chunk-PNVUM7VV.js +0 -1
  131. package/public/chunk-PWQDJSBN.js +0 -1
  132. package/public/chunk-QTMHY65L.js +0 -1
  133. package/public/chunk-RDPAVLAZ.js +0 -1
  134. package/public/chunk-RK2BHUS3.js +0 -1
  135. package/public/chunk-SRUQ34W2.js +0 -1
  136. package/public/chunk-THWGBC4V.js +0 -1
  137. package/public/chunk-UL2YWIGQ.js +0 -1
  138. package/public/chunk-UTIL4E7P.js +0 -1
  139. package/public/chunk-X3WLRBIN.js +0 -1
  140. package/public/chunk-ZS7TMHAN.js +0 -1
  141. package/public/main-BETLO3TF.js +0 -1
  142. package/public/polyfills-JNAS3VFQ.js +0 -2
  143. package/public/styles-CJ5TSDXW.css +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge-config-ui-x",
3
3
  "displayName": "Homebridge UI",
4
- "version": "5.0.0-beta.53",
4
+ "version": "5.0.0-beta.55",
5
5
  "description": "A web based management, configuration and control platform for Homebridge.",
6
6
  "author": "oznu <dev@oz.nu>",
7
7
  "license": "MIT",
@@ -82,24 +82,24 @@
82
82
  "@fastify/helmet": "13.0.1",
83
83
  "@fastify/multipart": "9.0.3",
84
84
  "@fastify/static": "8.1.1",
85
- "@homebridge/hap-client": "2.0.6",
85
+ "@homebridge/hap-client": "2.1.0",
86
86
  "@homebridge/node-pty-prebuilt-multiarch": "0.12.0-beta.5",
87
87
  "@nestjs/axios": "4.0.0",
88
- "@nestjs/common": "11.0.12",
89
- "@nestjs/core": "11.0.12",
88
+ "@nestjs/common": "11.0.16",
89
+ "@nestjs/core": "11.0.16",
90
90
  "@nestjs/jwt": "11.0.0",
91
91
  "@nestjs/passport": "11.0.5",
92
- "@nestjs/platform-fastify": "11.0.12",
93
- "@nestjs/platform-socket.io": "11.0.12",
94
- "@nestjs/swagger": "11.0.7",
95
- "@nestjs/websockets": "11.0.12",
92
+ "@nestjs/platform-fastify": "11.0.16",
93
+ "@nestjs/platform-socket.io": "11.0.16",
94
+ "@nestjs/swagger": "11.1.2",
95
+ "@nestjs/websockets": "11.0.16",
96
96
  "axios": "1.8.4",
97
97
  "bash-color": "0.0.4",
98
98
  "class-transformer": "0.5.1",
99
99
  "class-validator": "0.14.1",
100
100
  "commander": "13.1.0",
101
101
  "dayjs": "1.11.13",
102
- "fastify": "5.2.1",
102
+ "fastify": "5.2.2",
103
103
  "fs-extra": "11.3.0",
104
104
  "jsonwebtoken": "9.0.2",
105
105
  "lodash": "4.17.21",
@@ -120,19 +120,19 @@
120
120
  "unzipper": "0.12.3"
121
121
  },
122
122
  "devDependencies": {
123
- "@antfu/eslint-config": "^4.10.2",
123
+ "@antfu/eslint-config": "^4.12.0",
124
124
  "@nestjs/testing": "^11.0.12",
125
125
  "@prettier/plugin-xml": "^3.4.1",
126
126
  "@types/fs-extra": "^11.0.4",
127
127
  "@types/lodash": "^4.17.16",
128
- "@types/node": "^22.13.11",
128
+ "@types/node": "^22.14.1",
129
129
  "@types/node-schedule": "^2.1.7",
130
130
  "@types/passport-jwt": "^4.0.1",
131
- "@types/semver": "^7.5.8",
131
+ "@types/semver": "^7.7.0",
132
132
  "@types/tail": "^2.2.3",
133
133
  "@types/tcp-port-used": "^1.0.4",
134
134
  "@types/unzipper": "^0.10.11",
135
- "@vitest/coverage-v8": "^3.0.9",
135
+ "@vitest/coverage-v8": "^3.1.1",
136
136
  "concurrently": "^9.1.2",
137
137
  "eslint-plugin-format": "^1.0.1",
138
138
  "form-data": "^4.0.2",
@@ -141,9 +141,9 @@
141
141
  "ts-loader": "^9.5.2",
142
142
  "ts-node": "^10.9.2",
143
143
  "tsconfig-paths": "^4.2.0",
144
- "typescript": "^5.8.2",
144
+ "typescript": "^5.8.3",
145
145
  "unplugin-swc": "^1.5.1",
146
- "vitest": "^3.0.9"
146
+ "vitest": "^3.1.1"
147
147
  },
148
148
  "maintainers": [
149
149
  {
@@ -0,0 +1,72 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg
4
+ xmlns="http://www.w3.org/2000/svg"
5
+ xmlns:xlink="http://www.w3.org/1999/xlink"
6
+ version="1.1"
7
+ width="500"
8
+ height="500"
9
+ viewBox="0 0 500 500"
10
+ xml:space="preserve"
11
+ >
12
+ <desc>CO Sensor with Spaced, Wide, Thick Cyan Wavy Lines</desc>
13
+ <defs />
14
+ <!-- Sensor Housing -->
15
+ <g transform="matrix(1 0 0 1 250 125)" opacity="1" fill="#3daeff" fill-opacity="1" class="smoke_sensor_box">
16
+ <path
17
+ style="stroke: none; fill-rule: nonzero; opacity: 1;"
18
+ vector-effect="non-scaling-stroke"
19
+ transform=" translate(-222.5, -100)"
20
+ d="M 0 0 L 445 0 L 445 124.6137 L 402.96864 124.6137 L 350.9804 200 L 88.48046 200 L 36.492219999999996 124.6137 L 0.0011099999999970578 124.6137 z M 94.73049 185.04636 L 149.73026 185.04636 L 149.73026 130.21633 L 94.73048999999999 130.21633 z M 289.72949 184.04945 L 343.72913 184.04945 L 343.72913 130.21633 L 289.72949 130.21633 z M 224.72945 185.04636 L 279.72922 185.04636 L 279.72922 130.21633 L 224.72944999999999 130.21633 z M 159.73052 185.04636 L 214.73029000000002 185.04636 L 214.73029000000002 130.21633 L 159.73052 130.21633 z"
21
+ />
22
+ </g>
23
+
24
+ <!-- Centered CO Label -->
25
+ <g transform="matrix(1 0 0 1 250 100)" fill="#ffffff" class="label-text">
26
+ <text
27
+ text-anchor="middle"
28
+ dominant-baseline="middle"
29
+ font-family="Arial"
30
+ font-size="100"
31
+ font-weight="bold"
32
+ x="0"
33
+ y="0"
34
+ >
35
+ CO
36
+ </text>
37
+ </g>
38
+
39
+ <!-- Cyan Wavy Lines -->
40
+ <!-- Top Wave (narrowest) -->
41
+ <g
42
+ transform="matrix(1 0 0 1 250 268)"
43
+ fill="none"
44
+ stroke="#00cfd6"
45
+ stroke-width="15"
46
+ class="smoke_sensor_trigger_lines"
47
+ >
48
+ <path d="M -50 0 Q -40 10 -30 0 Q -20 -10 -10 0 Q 0 10 10 0 Q 20 -10 30 0 Q 40 10 50 0" />
49
+ </g>
50
+
51
+ <!-- Middle Wave (wider) -->
52
+ <g
53
+ transform="matrix(1 0 0 1 250 318)"
54
+ fill="none"
55
+ stroke="#00cfd6"
56
+ stroke-width="15"
57
+ class="smoke_sensor_trigger_lines"
58
+ >
59
+ <path d="M -65 0 Q -52 12 -39 0 Q -26 -12 -13 0 Q 0 12 13 0 Q 26 -12 39 0 Q 52 12 65 0" />
60
+ </g>
61
+
62
+ <!-- Bottom Wave (widest) -->
63
+ <g
64
+ transform="matrix(1 0 0 1 250 368)"
65
+ fill="none"
66
+ stroke="#00cfd6"
67
+ stroke-width="15"
68
+ class="smoke_sensor_trigger_lines"
69
+ >
70
+ <path d="M -80 0 Q -64 14 -48 0 Q -32 -14 -16 0 Q 0 14 16 0 Q 32 -14 48 0 Q 64 14 80 0" />
71
+ </g>
72
+ </svg>
@@ -0,0 +1,72 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg
4
+ xmlns="http://www.w3.org/2000/svg"
5
+ xmlns:xlink="http://www.w3.org/1999/xlink"
6
+ version="1.1"
7
+ width="500"
8
+ height="500"
9
+ viewBox="0 0 500 500"
10
+ xml:space="preserve"
11
+ >
12
+ <desc>CO Sensor with Spaced, Wide, Thick Cyan Wavy Lines</desc>
13
+ <defs />
14
+ <!-- Sensor Housing -->
15
+ <g transform="matrix(1 0 0 1 250 125)" opacity="1" fill="#3daeff" fill-opacity="1" class="smoke_sensor_box">
16
+ <path
17
+ style="stroke: none; fill-rule: nonzero; opacity: 1;"
18
+ vector-effect="non-scaling-stroke"
19
+ transform=" translate(-222.5, -100)"
20
+ d="M 0 0 L 445 0 L 445 124.6137 L 402.96864 124.6137 L 350.9804 200 L 88.48046 200 L 36.492219999999996 124.6137 L 0.0011099999999970578 124.6137 z M 94.73049 185.04636 L 149.73026 185.04636 L 149.73026 130.21633 L 94.73048999999999 130.21633 z M 289.72949 184.04945 L 343.72913 184.04945 L 343.72913 130.21633 L 289.72949 130.21633 z M 224.72945 185.04636 L 279.72922 185.04636 L 279.72922 130.21633 L 224.72944999999999 130.21633 z M 159.73052 185.04636 L 214.73029000000002 185.04636 L 214.73029000000002 130.21633 L 159.73052 130.21633 z"
21
+ />
22
+ </g>
23
+
24
+ <!-- Centered CO Label -->
25
+ <g transform="matrix(1 0 0 1 250 100)" fill="#ffffff" class="label-text">
26
+ <text
27
+ text-anchor="middle"
28
+ dominant-baseline="middle"
29
+ font-family="Arial"
30
+ font-size="100"
31
+ font-weight="bold"
32
+ x="0"
33
+ y="0"
34
+ >
35
+ CO2
36
+ </text>
37
+ </g>
38
+
39
+ <!-- Cyan Wavy Lines -->
40
+ <!-- Top Wave (narrowest) -->
41
+ <g
42
+ transform="matrix(1 0 0 1 250 268)"
43
+ fill="none"
44
+ stroke="#00cfd6"
45
+ stroke-width="15"
46
+ class="smoke_sensor_trigger_lines"
47
+ >
48
+ <path d="M -50 0 Q -40 10 -30 0 Q -20 -10 -10 0 Q 0 10 10 0 Q 20 -10 30 0 Q 40 10 50 0" />
49
+ </g>
50
+
51
+ <!-- Middle Wave (wider) -->
52
+ <g
53
+ transform="matrix(1 0 0 1 250 318)"
54
+ fill="none"
55
+ stroke="#00cfd6"
56
+ stroke-width="15"
57
+ class="smoke_sensor_trigger_lines"
58
+ >
59
+ <path d="M -65 0 Q -52 12 -39 0 Q -26 -12 -13 0 Q 0 12 13 0 Q 26 -12 39 0 Q 52 12 65 0" />
60
+ </g>
61
+
62
+ <!-- Bottom Wave (widest) -->
63
+ <g
64
+ transform="matrix(1 0 0 1 250 368)"
65
+ fill="none"
66
+ stroke="#00cfd6"
67
+ stroke-width="15"
68
+ class="smoke_sensor_trigger_lines"
69
+ >
70
+ <path d="M -80 0 Q -64 14 -48 0 Q -32 -14 -16 0 Q 0 14 16 0 Q 32 -14 48 0 Q 64 14 80 0" />
71
+ </g>
72
+ </svg>
@@ -1 +1 @@
1
- import{ga as e,n as r}from"./chunk-NVNBNEFN.js";var n=(()=>{class t{raspberryPiThrottled=new r;static \u0275fac=function(o){return new(o||t)};static \u0275prov=e({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{n as a};
1
+ import{ga as e,n as r}from"./chunk-QNWPOWRO.js";var n=(()=>{class t{raspberryPiThrottled=new r;static \u0275fac=function(o){return new(o||t)};static \u0275prov=e({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{n as a};