@switchbot/homebridge-switchbot 4.3.2-beta.9 → 4.3.3

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 (222) hide show
  1. package/.github/copilot-instructions.md +328 -0
  2. package/.github/scripts/npm-version-script-esm-auto.js +207 -0
  3. package/.github/workflows/beta-release.yml +8 -12
  4. package/.github/workflows/release.yml +54 -22
  5. package/CHANGELOG.md +11 -1
  6. package/README.md +13 -10
  7. package/config.schema.json +248 -5
  8. package/coverage/base.css +224 -0
  9. package/coverage/block-navigation.js +87 -0
  10. package/coverage/clover.xml +15847 -0
  11. package/coverage/coverage-final.json +42 -0
  12. package/coverage/docs/assets/dmt/dmt-component-data.js.html +85 -0
  13. package/coverage/docs/assets/dmt/dmt-components.js.html +286 -0
  14. package/coverage/docs/assets/dmt/index.html +131 -0
  15. package/coverage/docs/assets/hierarchy.js.html +85 -0
  16. package/coverage/docs/assets/icons.js.html +136 -0
  17. package/coverage/docs/assets/index.html +146 -0
  18. package/coverage/docs/assets/main.js.html +265 -0
  19. package/coverage/favicon.png +0 -0
  20. package/coverage/index.html +191 -0
  21. package/coverage/prettify.css +1 -0
  22. package/coverage/prettify.js +2 -0
  23. package/coverage/sort-arrow-sprite.png +0 -0
  24. package/coverage/sorter.js +196 -0
  25. package/coverage/src/device/blindtilt.ts.html +3238 -0
  26. package/coverage/src/device/bot.ts.html +2803 -0
  27. package/coverage/src/device/ceilinglight.ts.html +2338 -0
  28. package/coverage/src/device/colorbulb.ts.html +2824 -0
  29. package/coverage/src/device/contact.ts.html +1465 -0
  30. package/coverage/src/device/curtain.ts.html +2869 -0
  31. package/coverage/src/device/device.ts.html +2500 -0
  32. package/coverage/src/device/fan.ts.html +2242 -0
  33. package/coverage/src/device/hub.ts.html +1408 -0
  34. package/coverage/src/device/humidifier.ts.html +2116 -0
  35. package/coverage/src/device/index.html +416 -0
  36. package/coverage/src/device/iosensor.ts.html +1375 -0
  37. package/coverage/src/device/lightstrip.ts.html +2617 -0
  38. package/coverage/src/device/lock.ts.html +1963 -0
  39. package/coverage/src/device/meter.ts.html +1372 -0
  40. package/coverage/src/device/meterplus.ts.html +1384 -0
  41. package/coverage/src/device/meterpro.ts.html +1618 -0
  42. package/coverage/src/device/motion.ts.html +1264 -0
  43. package/coverage/src/device/plug.ts.html +1372 -0
  44. package/coverage/src/device/relayswitch.ts.html +2284 -0
  45. package/coverage/src/device/robotvacuumcleaner.ts.html +1810 -0
  46. package/coverage/src/device/waterdetector.ts.html +1294 -0
  47. package/coverage/src/homebridge-ui/index.html +116 -0
  48. package/coverage/src/homebridge-ui/server.ts.html +229 -0
  49. package/coverage/src/index.html +161 -0
  50. package/coverage/src/index.ts.html +124 -0
  51. package/coverage/src/irdevice/airconditioner.ts.html +1687 -0
  52. package/coverage/src/irdevice/airpurifier.ts.html +844 -0
  53. package/coverage/src/irdevice/camera.ts.html +475 -0
  54. package/coverage/src/irdevice/fan.ts.html +766 -0
  55. package/coverage/src/irdevice/index.html +251 -0
  56. package/coverage/src/irdevice/irdevice.ts.html +1117 -0
  57. package/coverage/src/irdevice/light.ts.html +826 -0
  58. package/coverage/src/irdevice/other.ts.html +2458 -0
  59. package/coverage/src/irdevice/tv.ts.html +1222 -0
  60. package/coverage/src/irdevice/vacuumcleaner.ts.html +466 -0
  61. package/coverage/src/irdevice/waterheater.ts.html +469 -0
  62. package/coverage/src/platform.ts.html +8776 -0
  63. package/coverage/src/settings.ts.html +934 -0
  64. package/coverage/src/utils.ts.html +2092 -0
  65. package/dist/device/blindtilt.d.ts.map +1 -1
  66. package/dist/device/blindtilt.js +12 -4
  67. package/dist/device/blindtilt.js.map +1 -1
  68. package/dist/device/bot.d.ts.map +1 -1
  69. package/dist/device/bot.js +12 -4
  70. package/dist/device/bot.js.map +1 -1
  71. package/dist/device/ceilinglight.d.ts.map +1 -1
  72. package/dist/device/ceilinglight.js +18 -7
  73. package/dist/device/ceilinglight.js.map +1 -1
  74. package/dist/device/colorbulb.d.ts.map +1 -1
  75. package/dist/device/colorbulb.js +18 -7
  76. package/dist/device/colorbulb.js.map +1 -1
  77. package/dist/device/contact.d.ts.map +1 -1
  78. package/dist/device/contact.js +6 -2
  79. package/dist/device/contact.js.map +1 -1
  80. package/dist/device/curtain.d.ts.map +1 -1
  81. package/dist/device/curtain.js +12 -4
  82. package/dist/device/curtain.js.map +1 -1
  83. package/dist/device/device.d.ts +5 -7
  84. package/dist/device/device.d.ts.map +1 -1
  85. package/dist/device/device.js +11 -5
  86. package/dist/device/device.js.map +1 -1
  87. package/dist/device/fan.d.ts.map +1 -1
  88. package/dist/device/fan.js +16 -6
  89. package/dist/device/fan.js.map +1 -1
  90. package/dist/device/hub.d.ts +2 -2
  91. package/dist/device/hub.d.ts.map +1 -1
  92. package/dist/device/hub.js +8 -3
  93. package/dist/device/hub.js.map +1 -1
  94. package/dist/device/humidifier.d.ts.map +1 -1
  95. package/dist/device/humidifier.js +16 -6
  96. package/dist/device/humidifier.js.map +1 -1
  97. package/dist/device/iosensor.d.ts.map +1 -1
  98. package/dist/device/iosensor.js +6 -2
  99. package/dist/device/iosensor.js.map +1 -1
  100. package/dist/device/lightstrip.d.ts.map +1 -1
  101. package/dist/device/lightstrip.js +16 -6
  102. package/dist/device/lightstrip.js.map +1 -1
  103. package/dist/device/lock.d.ts.map +1 -1
  104. package/dist/device/lock.js +12 -4
  105. package/dist/device/lock.js.map +1 -1
  106. package/dist/device/meter.d.ts.map +1 -1
  107. package/dist/device/meter.js +6 -2
  108. package/dist/device/meter.js.map +1 -1
  109. package/dist/device/meterplus.d.ts.map +1 -1
  110. package/dist/device/meterplus.js +6 -2
  111. package/dist/device/meterplus.js.map +1 -1
  112. package/dist/device/meterpro.d.ts.map +1 -1
  113. package/dist/device/meterpro.js +7 -4
  114. package/dist/device/meterpro.js.map +1 -1
  115. package/dist/device/motion.d.ts.map +1 -1
  116. package/dist/device/motion.js +6 -2
  117. package/dist/device/motion.js.map +1 -1
  118. package/dist/device/plug.d.ts.map +1 -1
  119. package/dist/device/plug.js +12 -4
  120. package/dist/device/plug.js.map +1 -1
  121. package/dist/device/presence.d.ts +42 -0
  122. package/dist/device/presence.d.ts.map +1 -0
  123. package/dist/device/presence.js +349 -0
  124. package/dist/device/presence.js.map +1 -0
  125. package/dist/device/relayswitch.d.ts.map +1 -1
  126. package/dist/device/relayswitch.js +12 -4
  127. package/dist/device/relayswitch.js.map +1 -1
  128. package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
  129. package/dist/device/robotvacuumcleaner.js +14 -5
  130. package/dist/device/robotvacuumcleaner.js.map +1 -1
  131. package/dist/device/waterdetector.d.ts.map +1 -1
  132. package/dist/device/waterdetector.js +6 -2
  133. package/dist/device/waterdetector.js.map +1 -1
  134. package/dist/homebridge-ui/public/index.html +1 -1
  135. package/dist/irdevice/airconditioner.d.ts.map +1 -1
  136. package/dist/irdevice/airconditioner.js +2 -1
  137. package/dist/irdevice/airconditioner.js.map +1 -1
  138. package/dist/irdevice/airpurifier.d.ts +1 -1
  139. package/dist/irdevice/airpurifier.d.ts.map +1 -1
  140. package/dist/irdevice/airpurifier.js +6 -5
  141. package/dist/irdevice/airpurifier.js.map +1 -1
  142. package/dist/irdevice/camera.d.ts.map +1 -1
  143. package/dist/irdevice/camera.js +2 -1
  144. package/dist/irdevice/camera.js.map +1 -1
  145. package/dist/irdevice/fan.d.ts.map +1 -1
  146. package/dist/irdevice/fan.js +2 -1
  147. package/dist/irdevice/fan.js.map +1 -1
  148. package/dist/irdevice/irdevice.d.ts +2 -6
  149. package/dist/irdevice/irdevice.d.ts.map +1 -1
  150. package/dist/irdevice/irdevice.js.map +1 -1
  151. package/dist/irdevice/light.d.ts.map +1 -1
  152. package/dist/irdevice/light.js +2 -1
  153. package/dist/irdevice/light.js.map +1 -1
  154. package/dist/irdevice/other.d.ts.map +1 -1
  155. package/dist/irdevice/other.js +2 -1
  156. package/dist/irdevice/other.js.map +1 -1
  157. package/dist/irdevice/tv.d.ts.map +1 -1
  158. package/dist/irdevice/tv.js +2 -1
  159. package/dist/irdevice/tv.js.map +1 -1
  160. package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
  161. package/dist/irdevice/vacuumcleaner.js +2 -1
  162. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  163. package/dist/irdevice/waterheater.d.ts.map +1 -1
  164. package/dist/irdevice/waterheater.js +2 -1
  165. package/dist/irdevice/waterheater.js.map +1 -1
  166. package/dist/platform.d.ts +2 -2
  167. package/dist/platform.d.ts.map +1 -1
  168. package/dist/platform.js +77 -78
  169. package/dist/platform.js.map +1 -1
  170. package/dist/settings.d.ts +6 -0
  171. package/dist/settings.d.ts.map +1 -1
  172. package/dist/settings.js +1 -0
  173. package/dist/settings.js.map +1 -1
  174. package/docs/index.html +20 -11
  175. package/docs/variables/default.html +1 -1
  176. package/eslint.config.js +0 -1
  177. package/package.json +9 -10
  178. package/src/device/blindtilt.ts +10 -4
  179. package/src/device/bot.ts +10 -4
  180. package/src/device/ceilinglight.ts +16 -7
  181. package/src/device/colorbulb.ts +16 -7
  182. package/src/device/contact.ts +5 -2
  183. package/src/device/curtain.ts +12 -6
  184. package/src/device/device.ts +14 -8
  185. package/src/device/fan.ts +14 -6
  186. package/src/device/hub.ts +10 -6
  187. package/src/device/humidifier.ts +14 -6
  188. package/src/device/iosensor.ts +5 -2
  189. package/src/device/lightstrip.ts +14 -6
  190. package/src/device/lock.ts +10 -4
  191. package/src/device/meter.ts +6 -3
  192. package/src/device/meterplus.ts +5 -2
  193. package/src/device/meterpro.ts +7 -5
  194. package/src/device/motion.ts +5 -2
  195. package/src/device/plug.ts +10 -4
  196. package/src/device/presence.ts +393 -0
  197. package/src/device/relayswitch.ts +10 -4
  198. package/src/device/robotvacuumcleaner.ts +12 -5
  199. package/src/device/waterdetector.ts +5 -2
  200. package/src/homebridge-ui/public/index.html +1 -1
  201. package/src/irdevice/airconditioner.ts +2 -1
  202. package/src/irdevice/airpurifier.ts +6 -5
  203. package/src/irdevice/camera.ts +2 -1
  204. package/src/irdevice/fan.ts +2 -1
  205. package/src/irdevice/irdevice.ts +2 -2
  206. package/src/irdevice/light.ts +2 -1
  207. package/src/irdevice/other.ts +2 -1
  208. package/src/irdevice/tv.ts +2 -1
  209. package/src/irdevice/vacuumcleaner.ts +2 -1
  210. package/src/irdevice/waterheater.ts +2 -1
  211. package/src/platform.ts +80 -88
  212. package/src/settings.ts +7 -0
  213. package/.github/npm-version-script-esm.js +0 -97
  214. package/.github/workflows/build.yml +0 -18
  215. package/.github/workflows/changerelease.yml +0 -11
  216. package/.github/workflows/labeler.yml +0 -16
  217. package/.github/workflows/release-drafter.yml +0 -14
  218. package/dist/device/airpurifier.d.ts +0 -54
  219. package/dist/device/airpurifier.d.ts.map +0 -1
  220. package/dist/device/airpurifier.js +0 -527
  221. package/dist/device/airpurifier.js.map +0 -1
  222. package/src/device/airpurifier.ts +0 -563
@@ -0,0 +1,251 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/irdevice</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> src/irdevice</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0.78% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>19/2415</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">9.09% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>1/11</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">9.09% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/11</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0.78% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>19/2415</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <div class="pad1">
66
+ <table class="coverage-summary">
67
+ <thead>
68
+ <tr>
69
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
+ </tr>
80
+ </thead>
81
+ <tbody><tr>
82
+ <td class="file low" data-value="airconditioner.ts"><a href="airconditioner.ts.html">airconditioner.ts</a></td>
83
+ <td data-value="0.47" class="pic low">
84
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
+ </td>
86
+ <td data-value="0.47" class="pct low">0.47%</td>
87
+ <td data-value="418" class="abs low">2/418</td>
88
+ <td data-value="0" class="pct low">0%</td>
89
+ <td data-value="1" class="abs low">0/1</td>
90
+ <td data-value="0" class="pct low">0%</td>
91
+ <td data-value="1" class="abs low">0/1</td>
92
+ <td data-value="0.47" class="pct low">0.47%</td>
93
+ <td data-value="418" class="abs low">2/418</td>
94
+ </tr>
95
+
96
+ <tr>
97
+ <td class="file low" data-value="airpurifier.ts"><a href="airpurifier.ts.html">airpurifier.ts</a></td>
98
+ <td data-value="1.1" class="pic low">
99
+ <div class="chart"><div class="cover-fill" style="width: 1%"></div><div class="cover-empty" style="width: 99%"></div></div>
100
+ </td>
101
+ <td data-value="1.1" class="pct low">1.1%</td>
102
+ <td data-value="181" class="abs low">2/181</td>
103
+ <td data-value="50" class="pct medium">50%</td>
104
+ <td data-value="2" class="abs medium">1/2</td>
105
+ <td data-value="50" class="pct medium">50%</td>
106
+ <td data-value="2" class="abs medium">1/2</td>
107
+ <td data-value="1.1" class="pct low">1.1%</td>
108
+ <td data-value="181" class="abs low">2/181</td>
109
+ </tr>
110
+
111
+ <tr>
112
+ <td class="file low" data-value="camera.ts"><a href="camera.ts.html">camera.ts</a></td>
113
+ <td data-value="2.32" class="pic low">
114
+ <div class="chart"><div class="cover-fill" style="width: 2%"></div><div class="cover-empty" style="width: 98%"></div></div>
115
+ </td>
116
+ <td data-value="2.32" class="pct low">2.32%</td>
117
+ <td data-value="86" class="abs low">2/86</td>
118
+ <td data-value="0" class="pct low">0%</td>
119
+ <td data-value="1" class="abs low">0/1</td>
120
+ <td data-value="0" class="pct low">0%</td>
121
+ <td data-value="1" class="abs low">0/1</td>
122
+ <td data-value="2.32" class="pct low">2.32%</td>
123
+ <td data-value="86" class="abs low">2/86</td>
124
+ </tr>
125
+
126
+ <tr>
127
+ <td class="file low" data-value="fan.ts"><a href="fan.ts.html">fan.ts</a></td>
128
+ <td data-value="1.17" class="pic low">
129
+ <div class="chart"><div class="cover-fill" style="width: 1%"></div><div class="cover-empty" style="width: 99%"></div></div>
130
+ </td>
131
+ <td data-value="1.17" class="pct low">1.17%</td>
132
+ <td data-value="170" class="abs low">2/170</td>
133
+ <td data-value="0" class="pct low">0%</td>
134
+ <td data-value="1" class="abs low">0/1</td>
135
+ <td data-value="0" class="pct low">0%</td>
136
+ <td data-value="1" class="abs low">0/1</td>
137
+ <td data-value="1.17" class="pct low">1.17%</td>
138
+ <td data-value="170" class="abs low">2/170</td>
139
+ </tr>
140
+
141
+ <tr>
142
+ <td class="file low" data-value="irdevice.ts"><a href="irdevice.ts.html">irdevice.ts</a></td>
143
+ <td data-value="0.35" class="pic low">
144
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
145
+ </td>
146
+ <td data-value="0.35" class="pct low">0.35%</td>
147
+ <td data-value="281" class="abs low">1/281</td>
148
+ <td data-value="0" class="pct low">0%</td>
149
+ <td data-value="1" class="abs low">0/1</td>
150
+ <td data-value="0" class="pct low">0%</td>
151
+ <td data-value="1" class="abs low">0/1</td>
152
+ <td data-value="0.35" class="pct low">0.35%</td>
153
+ <td data-value="281" class="abs low">1/281</td>
154
+ </tr>
155
+
156
+ <tr>
157
+ <td class="file low" data-value="light.ts"><a href="light.ts.html">light.ts</a></td>
158
+ <td data-value="1.21" class="pic low">
159
+ <div class="chart"><div class="cover-fill" style="width: 1%"></div><div class="cover-empty" style="width: 99%"></div></div>
160
+ </td>
161
+ <td data-value="1.21" class="pct low">1.21%</td>
162
+ <td data-value="164" class="abs low">2/164</td>
163
+ <td data-value="0" class="pct low">0%</td>
164
+ <td data-value="1" class="abs low">0/1</td>
165
+ <td data-value="0" class="pct low">0%</td>
166
+ <td data-value="1" class="abs low">0/1</td>
167
+ <td data-value="1.21" class="pct low">1.21%</td>
168
+ <td data-value="164" class="abs low">2/164</td>
169
+ </tr>
170
+
171
+ <tr>
172
+ <td class="file low" data-value="other.ts"><a href="other.ts.html">other.ts</a></td>
173
+ <td data-value="0.31" class="pic low">
174
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
175
+ </td>
176
+ <td data-value="0.31" class="pct low">0.31%</td>
177
+ <td data-value="645" class="abs low">2/645</td>
178
+ <td data-value="0" class="pct low">0%</td>
179
+ <td data-value="1" class="abs low">0/1</td>
180
+ <td data-value="0" class="pct low">0%</td>
181
+ <td data-value="1" class="abs low">0/1</td>
182
+ <td data-value="0.31" class="pct low">0.31%</td>
183
+ <td data-value="645" class="abs low">2/645</td>
184
+ </tr>
185
+
186
+ <tr>
187
+ <td class="file low" data-value="tv.ts"><a href="tv.ts.html">tv.ts</a></td>
188
+ <td data-value="0.67" class="pic low">
189
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
190
+ </td>
191
+ <td data-value="0.67" class="pct low">0.67%</td>
192
+ <td data-value="296" class="abs low">2/296</td>
193
+ <td data-value="0" class="pct low">0%</td>
194
+ <td data-value="1" class="abs low">0/1</td>
195
+ <td data-value="0" class="pct low">0%</td>
196
+ <td data-value="1" class="abs low">0/1</td>
197
+ <td data-value="0.67" class="pct low">0.67%</td>
198
+ <td data-value="296" class="abs low">2/296</td>
199
+ </tr>
200
+
201
+ <tr>
202
+ <td class="file low" data-value="vacuumcleaner.ts"><a href="vacuumcleaner.ts.html">vacuumcleaner.ts</a></td>
203
+ <td data-value="2.32" class="pic low">
204
+ <div class="chart"><div class="cover-fill" style="width: 2%"></div><div class="cover-empty" style="width: 98%"></div></div>
205
+ </td>
206
+ <td data-value="2.32" class="pct low">2.32%</td>
207
+ <td data-value="86" class="abs low">2/86</td>
208
+ <td data-value="0" class="pct low">0%</td>
209
+ <td data-value="1" class="abs low">0/1</td>
210
+ <td data-value="0" class="pct low">0%</td>
211
+ <td data-value="1" class="abs low">0/1</td>
212
+ <td data-value="2.32" class="pct low">2.32%</td>
213
+ <td data-value="86" class="abs low">2/86</td>
214
+ </tr>
215
+
216
+ <tr>
217
+ <td class="file low" data-value="waterheater.ts"><a href="waterheater.ts.html">waterheater.ts</a></td>
218
+ <td data-value="2.27" class="pic low">
219
+ <div class="chart"><div class="cover-fill" style="width: 2%"></div><div class="cover-empty" style="width: 98%"></div></div>
220
+ </td>
221
+ <td data-value="2.27" class="pct low">2.27%</td>
222
+ <td data-value="88" class="abs low">2/88</td>
223
+ <td data-value="0" class="pct low">0%</td>
224
+ <td data-value="1" class="abs low">0/1</td>
225
+ <td data-value="0" class="pct low">0%</td>
226
+ <td data-value="1" class="abs low">0/1</td>
227
+ <td data-value="2.27" class="pct low">2.27%</td>
228
+ <td data-value="88" class="abs low">2/88</td>
229
+ </tr>
230
+
231
+ </tbody>
232
+ </table>
233
+ </div>
234
+ <div class='push'></div><!-- for sticky footer -->
235
+ </div><!-- /wrapper -->
236
+ <div class='footer quiet pad2 space-top1 center small'>
237
+ Code coverage generated by
238
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
239
+ at 2025-08-21T05:12:41.588Z
240
+ </div>
241
+ <script src="../../prettify.js"></script>
242
+ <script>
243
+ window.onload = function () {
244
+ prettyPrint();
245
+ };
246
+ </script>
247
+ <script src="../../sorter.js"></script>
248
+ <script src="../../block-navigation.js"></script>
249
+ </body>
250
+ </html>
251
+