@zwave-js/cc 15.21.1 → 15.22.1

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 (639) hide show
  1. package/build/cjs/cc/AlarmSensorCC._validateArgs.d.ts +1 -1
  2. package/build/cjs/cc/AlarmSensorCC.d.ts +3 -3
  3. package/build/cjs/cc/AlarmSensorCC.js +18 -57
  4. package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
  5. package/build/cjs/cc/ApplicationStatusCC.js +9 -48
  6. package/build/cjs/cc/ApplicationStatusCC.js.map +1 -1
  7. package/build/cjs/cc/AssociationCC._validateArgs.d.ts +8 -8
  8. package/build/cjs/cc/AssociationCC.d.ts +2 -2
  9. package/build/cjs/cc/AssociationCC.js +32 -71
  10. package/build/cjs/cc/AssociationCC.js.map +2 -2
  11. package/build/cjs/cc/AssociationGroupInfoCC._validateArgs.d.ts +6 -6
  12. package/build/cjs/cc/AssociationGroupInfoCC.d.ts +3 -3
  13. package/build/cjs/cc/AssociationGroupInfoCC.js +28 -65
  14. package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
  15. package/build/cjs/cc/BarrierOperatorCC._validateArgs.d.ts +4 -4
  16. package/build/cjs/cc/BarrierOperatorCC.d.ts +3 -3
  17. package/build/cjs/cc/BarrierOperatorCC.js +30 -67
  18. package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
  19. package/build/cjs/cc/BasicCC._validateArgs.d.ts +1 -1
  20. package/build/cjs/cc/BasicCC.d.ts +3 -3
  21. package/build/cjs/cc/BasicCC.js +17 -54
  22. package/build/cjs/cc/BasicCC.js.map +2 -2
  23. package/build/cjs/cc/BasicWindowCoveringCC._validateArgs.d.ts +2 -2
  24. package/build/cjs/cc/BasicWindowCoveringCC.js +12 -51
  25. package/build/cjs/cc/BasicWindowCoveringCC.js.map +1 -1
  26. package/build/cjs/cc/BatteryCC.d.ts +3 -3
  27. package/build/cjs/cc/BatteryCC.js +15 -54
  28. package/build/cjs/cc/BatteryCC.js.map +2 -2
  29. package/build/cjs/cc/BinarySensorCC._validateArgs.d.ts +3 -3
  30. package/build/cjs/cc/BinarySensorCC.d.ts +2 -2
  31. package/build/cjs/cc/BinarySensorCC.js +19 -58
  32. package/build/cjs/cc/BinarySensorCC.js.map +2 -2
  33. package/build/cjs/cc/BinarySwitchCC._validateArgs.d.ts +1 -1
  34. package/build/cjs/cc/BinarySwitchCC.d.ts +2 -2
  35. package/build/cjs/cc/BinarySwitchCC.js +17 -54
  36. package/build/cjs/cc/BinarySwitchCC.js.map +2 -2
  37. package/build/cjs/cc/CRC16CC.js +7 -46
  38. package/build/cjs/cc/CRC16CC.js.map +1 -1
  39. package/build/cjs/cc/CentralSceneCC._validateArgs.d.ts +1 -1
  40. package/build/cjs/cc/CentralSceneCC.d.ts +1 -1
  41. package/build/cjs/cc/CentralSceneCC.js +19 -58
  42. package/build/cjs/cc/CentralSceneCC.js.map +1 -1
  43. package/build/cjs/cc/ClimateControlScheduleCC._validateArgs.d.ts +3 -3
  44. package/build/cjs/cc/ClimateControlScheduleCC.js +25 -64
  45. package/build/cjs/cc/ClimateControlScheduleCC.js.map +1 -1
  46. package/build/cjs/cc/ClockCC._validateArgs.d.ts +1 -1
  47. package/build/cjs/cc/ClockCC.d.ts +3 -3
  48. package/build/cjs/cc/ClockCC.js +15 -54
  49. package/build/cjs/cc/ClockCC.js.map +2 -2
  50. package/build/cjs/cc/ColorSwitchCC._validateArgs.d.ts +4 -4
  51. package/build/cjs/cc/ColorSwitchCC.d.ts +3 -3
  52. package/build/cjs/cc/ColorSwitchCC.js +26 -65
  53. package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
  54. package/build/cjs/cc/ConfigurationCC._validateArgs.d.ts +9 -9
  55. package/build/cjs/cc/ConfigurationCC.d.ts +3 -8
  56. package/build/cjs/cc/ConfigurationCC.js +43 -82
  57. package/build/cjs/cc/ConfigurationCC.js.map +2 -2
  58. package/build/cjs/cc/DeviceResetLocallyCC.js +7 -46
  59. package/build/cjs/cc/DeviceResetLocallyCC.js.map +1 -1
  60. package/build/cjs/cc/DoorLockCC._validateArgs.d.ts +2 -2
  61. package/build/cjs/cc/DoorLockCC.d.ts +5 -5
  62. package/build/cjs/cc/DoorLockCC.js +26 -65
  63. package/build/cjs/cc/DoorLockCC.js.map +2 -2
  64. package/build/cjs/cc/DoorLockLoggingCC._validateArgs.d.ts +1 -1
  65. package/build/cjs/cc/DoorLockLoggingCC.d.ts +2 -2
  66. package/build/cjs/cc/DoorLockLoggingCC.js +17 -56
  67. package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
  68. package/build/cjs/cc/EnergyProductionCC._validateArgs.d.ts +1 -1
  69. package/build/cjs/cc/EnergyProductionCC.d.ts +2 -2
  70. package/build/cjs/cc/EnergyProductionCC.js +13 -52
  71. package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
  72. package/build/cjs/cc/EntryControlCC._validateArgs.d.ts +1 -1
  73. package/build/cjs/cc/EntryControlCC.d.ts +3 -3
  74. package/build/cjs/cc/EntryControlCC.js +25 -64
  75. package/build/cjs/cc/EntryControlCC.js.map +2 -2
  76. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +6 -6
  77. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +34 -73
  78. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  79. package/build/cjs/cc/HailCC.js +3 -42
  80. package/build/cjs/cc/HailCC.js.map +1 -1
  81. package/build/cjs/cc/HumidityControlModeCC._validateArgs.d.ts +1 -1
  82. package/build/cjs/cc/HumidityControlModeCC.d.ts +2 -2
  83. package/build/cjs/cc/HumidityControlModeCC.js +19 -58
  84. package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
  85. package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +2 -2
  86. package/build/cjs/cc/HumidityControlOperatingStateCC.js +11 -50
  87. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
  88. package/build/cjs/cc/HumidityControlSetpointCC._validateArgs.d.ts +4 -4
  89. package/build/cjs/cc/HumidityControlSetpointCC.d.ts +2 -2
  90. package/build/cjs/cc/HumidityControlSetpointCC.js +30 -69
  91. package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
  92. package/build/cjs/cc/InclusionControllerCC.js +9 -48
  93. package/build/cjs/cc/InclusionControllerCC.js.map +1 -1
  94. package/build/cjs/cc/IndicatorCC._validateArgs.d.ts +9 -9
  95. package/build/cjs/cc/IndicatorCC.d.ts +2 -2
  96. package/build/cjs/cc/IndicatorCC.js +31 -70
  97. package/build/cjs/cc/IndicatorCC.js.map +2 -2
  98. package/build/cjs/cc/IrrigationCC._validateArgs.d.ts +10 -10
  99. package/build/cjs/cc/IrrigationCC.d.ts +7 -7
  100. package/build/cjs/cc/IrrigationCC.js +54 -93
  101. package/build/cjs/cc/IrrigationCC.js.map +2 -2
  102. package/build/cjs/cc/LanguageCC._validateArgs.d.ts +1 -1
  103. package/build/cjs/cc/LanguageCC.d.ts +3 -3
  104. package/build/cjs/cc/LanguageCC.js +15 -54
  105. package/build/cjs/cc/LanguageCC.js.map +2 -2
  106. package/build/cjs/cc/LockCC._validateArgs.d.ts +1 -1
  107. package/build/cjs/cc/LockCC.d.ts +2 -2
  108. package/build/cjs/cc/LockCC.js +15 -54
  109. package/build/cjs/cc/LockCC.js.map +2 -2
  110. package/build/cjs/cc/ManufacturerProprietaryCC._validateArgs.d.ts +2 -2
  111. package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +2 -2
  112. package/build/cjs/cc/ManufacturerProprietaryCC.js +10 -49
  113. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
  114. package/build/cjs/cc/ManufacturerSpecificCC._validateArgs.d.ts +2 -2
  115. package/build/cjs/cc/ManufacturerSpecificCC.d.ts +1 -1
  116. package/build/cjs/cc/ManufacturerSpecificCC.js +16 -55
  117. package/build/cjs/cc/ManufacturerSpecificCC.js.map +1 -1
  118. package/build/cjs/cc/MeterCC._validateArgs.d.ts +5 -5
  119. package/build/cjs/cc/MeterCC.d.ts +3 -3
  120. package/build/cjs/cc/MeterCC.js +23 -62
  121. package/build/cjs/cc/MeterCC.js.map +2 -2
  122. package/build/cjs/cc/MultiChannelAssociationCC._validateArgs.d.ts +5 -5
  123. package/build/cjs/cc/MultiChannelAssociationCC.d.ts +3 -3
  124. package/build/cjs/cc/MultiChannelAssociationCC.js +26 -65
  125. package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
  126. package/build/cjs/cc/MultiChannelCC._validateArgs.d.ts +4 -4
  127. package/build/cjs/cc/MultiChannelCC.js +34 -73
  128. package/build/cjs/cc/MultiChannelCC.js.map +1 -1
  129. package/build/cjs/cc/MultiCommandCC._validateArgs.d.ts +1 -1
  130. package/build/cjs/cc/MultiCommandCC.js +9 -48
  131. package/build/cjs/cc/MultiCommandCC.js.map +1 -1
  132. package/build/cjs/cc/MultilevelSensorCC._validateArgs.d.ts +3 -3
  133. package/build/cjs/cc/MultilevelSensorCC.d.ts +2 -2
  134. package/build/cjs/cc/MultilevelSensorCC.js +23 -62
  135. package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
  136. package/build/cjs/cc/MultilevelSwitchCC._validateArgs.d.ts +2 -2
  137. package/build/cjs/cc/MultilevelSwitchCC.d.ts +3 -3
  138. package/build/cjs/cc/MultilevelSwitchCC.js +26 -63
  139. package/build/cjs/cc/MultilevelSwitchCC.js.map +2 -2
  140. package/build/cjs/cc/NoOperationCC.js +5 -44
  141. package/build/cjs/cc/NoOperationCC.js.map +1 -1
  142. package/build/cjs/cc/NodeNamingCC._validateArgs.d.ts +2 -2
  143. package/build/cjs/cc/NodeNamingCC.d.ts +2 -2
  144. package/build/cjs/cc/NodeNamingCC.js +22 -61
  145. package/build/cjs/cc/NodeNamingCC.js.map +2 -2
  146. package/build/cjs/cc/NotificationCC._validateArgs.d.ts +4 -4
  147. package/build/cjs/cc/NotificationCC.d.ts +22 -5
  148. package/build/cjs/cc/NotificationCC.js +141 -104
  149. package/build/cjs/cc/NotificationCC.js.map +2 -2
  150. package/build/cjs/cc/PowerlevelCC._validateArgs.d.ts +4 -4
  151. package/build/cjs/cc/PowerlevelCC.d.ts +2 -2
  152. package/build/cjs/cc/PowerlevelCC.js +22 -61
  153. package/build/cjs/cc/PowerlevelCC.js.map +1 -1
  154. package/build/cjs/cc/ProtectionCC._validateArgs.d.ts +3 -3
  155. package/build/cjs/cc/ProtectionCC.d.ts +3 -3
  156. package/build/cjs/cc/ProtectionCC.js +33 -72
  157. package/build/cjs/cc/ProtectionCC.js.map +2 -2
  158. package/build/cjs/cc/SceneActivationCC._validateArgs.d.ts +1 -1
  159. package/build/cjs/cc/SceneActivationCC.js +9 -48
  160. package/build/cjs/cc/SceneActivationCC.js.map +1 -1
  161. package/build/cjs/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +2 -2
  162. package/build/cjs/cc/SceneActuatorConfigurationCC.js +14 -53
  163. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +1 -1
  164. package/build/cjs/cc/SceneControllerConfigurationCC._validateArgs.d.ts +3 -3
  165. package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +2 -2
  166. package/build/cjs/cc/SceneControllerConfigurationCC.js +17 -56
  167. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
  168. package/build/cjs/cc/ScheduleEntryLockCC._validateArgs.d.ts +8 -8
  169. package/build/cjs/cc/ScheduleEntryLockCC.d.ts +1 -1
  170. package/build/cjs/cc/ScheduleEntryLockCC.js +46 -85
  171. package/build/cjs/cc/ScheduleEntryLockCC.js.map +1 -1
  172. package/build/cjs/cc/Security2CC.d.ts +1 -1
  173. package/build/cjs/cc/Security2CC.js +33 -72
  174. package/build/cjs/cc/Security2CC.js.map +1 -1
  175. package/build/cjs/cc/SecurityCC.d.ts +1 -1
  176. package/build/cjs/cc/SecurityCC.js +27 -66
  177. package/build/cjs/cc/SecurityCC.js.map +2 -2
  178. package/build/cjs/cc/SoundSwitchCC._validateArgs.d.ts +3 -3
  179. package/build/cjs/cc/SoundSwitchCC.d.ts +2 -2
  180. package/build/cjs/cc/SoundSwitchCC.js +29 -68
  181. package/build/cjs/cc/SoundSwitchCC.js.map +1 -1
  182. package/build/cjs/cc/SupervisionCC.js +9 -48
  183. package/build/cjs/cc/SupervisionCC.js.map +1 -1
  184. package/build/cjs/cc/ThermostatFanModeCC._validateArgs.d.ts +1 -1
  185. package/build/cjs/cc/ThermostatFanModeCC.d.ts +2 -2
  186. package/build/cjs/cc/ThermostatFanModeCC.js +19 -58
  187. package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
  188. package/build/cjs/cc/ThermostatFanStateCC.d.ts +2 -2
  189. package/build/cjs/cc/ThermostatFanStateCC.js +11 -50
  190. package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
  191. package/build/cjs/cc/ThermostatModeCC._validateArgs.d.ts +1 -1
  192. package/build/cjs/cc/ThermostatModeCC.d.ts +3 -3
  193. package/build/cjs/cc/ThermostatModeCC.js +19 -58
  194. package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
  195. package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +2 -2
  196. package/build/cjs/cc/ThermostatOperatingStateCC.js +11 -50
  197. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
  198. package/build/cjs/cc/ThermostatSetbackCC._validateArgs.d.ts +1 -1
  199. package/build/cjs/cc/ThermostatSetbackCC.d.ts +3 -3
  200. package/build/cjs/cc/ThermostatSetbackCC.js +15 -54
  201. package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
  202. package/build/cjs/cc/ThermostatSetpointCC._validateArgs.d.ts +3 -3
  203. package/build/cjs/cc/ThermostatSetpointCC.d.ts +3 -3
  204. package/build/cjs/cc/ThermostatSetpointCC.js +25 -64
  205. package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
  206. package/build/cjs/cc/TimeCC._validateArgs.d.ts +4 -4
  207. package/build/cjs/cc/TimeCC.d.ts +1 -1
  208. package/build/cjs/cc/TimeCC.js +24 -63
  209. package/build/cjs/cc/TimeCC.js.map +1 -1
  210. package/build/cjs/cc/TimeParametersCC._validateArgs.d.ts +1 -1
  211. package/build/cjs/cc/TimeParametersCC.js +13 -52
  212. package/build/cjs/cc/TimeParametersCC.js.map +1 -1
  213. package/build/cjs/cc/TransportServiceCC.js +13 -52
  214. package/build/cjs/cc/TransportServiceCC.js.map +1 -1
  215. package/build/cjs/cc/UserCodeCC._validateArgs.d.ts +6 -6
  216. package/build/cjs/cc/UserCodeCC.d.ts +7 -5
  217. package/build/cjs/cc/UserCodeCC.js +89 -98
  218. package/build/cjs/cc/UserCodeCC.js.map +2 -2
  219. package/build/cjs/cc/VersionCC._validateArgs.d.ts +3 -3
  220. package/build/cjs/cc/VersionCC.d.ts +2 -2
  221. package/build/cjs/cc/VersionCC.js +25 -64
  222. package/build/cjs/cc/VersionCC.js.map +1 -1
  223. package/build/cjs/cc/WakeUpCC._validateArgs.d.ts +1 -1
  224. package/build/cjs/cc/WakeUpCC.d.ts +1 -1
  225. package/build/cjs/cc/WakeUpCC.js +21 -60
  226. package/build/cjs/cc/WakeUpCC.js.map +1 -1
  227. package/build/cjs/cc/WindowCoveringCC._validateArgs.d.ts +4 -4
  228. package/build/cjs/cc/WindowCoveringCC.d.ts +3 -3
  229. package/build/cjs/cc/WindowCoveringCC.js +28 -65
  230. package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
  231. package/build/cjs/cc/ZWaveLongRangeCC.js +3 -42
  232. package/build/cjs/cc/ZWaveLongRangeCC.js.map +1 -1
  233. package/build/cjs/cc/ZWavePlusCC._validateArgs.d.ts +1 -1
  234. package/build/cjs/cc/ZWavePlusCC.d.ts +1 -1
  235. package/build/cjs/cc/ZWavePlusCC.js +11 -50
  236. package/build/cjs/cc/ZWavePlusCC.js.map +1 -1
  237. package/build/cjs/cc/ZWaveProtocolCC.js +73 -112
  238. package/build/cjs/cc/ZWaveProtocolCC.js.map +1 -1
  239. package/build/cjs/cc/_CCValues.generated.d.ts +1173 -1049
  240. package/build/cjs/cc/_CCValues.generated.js +68 -5
  241. package/build/cjs/cc/_CCValues.generated.js.map +2 -2
  242. package/build/cjs/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +2 -2
  243. package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
  244. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +22 -59
  245. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
  246. package/build/cjs/lib/API.d.ts +1 -0
  247. package/build/cjs/lib/API.js.map +2 -2
  248. package/build/cjs/lib/CommandClass.d.ts +6 -2
  249. package/build/cjs/lib/CommandClass.js +2 -1
  250. package/build/cjs/lib/CommandClass.js.map +2 -2
  251. package/build/cjs/lib/Security2/Extension.js +9 -48
  252. package/build/cjs/lib/Security2/Extension.js.map +1 -1
  253. package/build/cjs/lib/Values.d.ts +5 -5
  254. package/build/cjs/lib/Values.js.map +2 -2
  255. package/build/cjs/lib/_CCAPI.generated.d.ts +64 -64
  256. package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts +1 -1
  257. package/build/esm/cc/AlarmSensorCC._validateArgs.d.ts.map +1 -1
  258. package/build/esm/cc/AlarmSensorCC.d.ts +3 -3
  259. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  260. package/build/esm/cc/AlarmSensorCC.js +9 -38
  261. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  262. package/build/esm/cc/ApplicationStatusCC.d.ts.map +1 -1
  263. package/build/esm/cc/ApplicationStatusCC.js +1 -34
  264. package/build/esm/cc/ApplicationStatusCC.js.map +1 -1
  265. package/build/esm/cc/AssociationCC._validateArgs.d.ts +8 -8
  266. package/build/esm/cc/AssociationCC._validateArgs.d.ts.map +1 -1
  267. package/build/esm/cc/AssociationCC.d.ts +2 -2
  268. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  269. package/build/esm/cc/AssociationCC.js +3 -36
  270. package/build/esm/cc/AssociationCC.js.map +1 -1
  271. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts +6 -6
  272. package/build/esm/cc/AssociationGroupInfoCC._validateArgs.d.ts.map +1 -1
  273. package/build/esm/cc/AssociationGroupInfoCC.d.ts +3 -3
  274. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  275. package/build/esm/cc/AssociationGroupInfoCC.js +5 -36
  276. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  277. package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts +4 -4
  278. package/build/esm/cc/BarrierOperatorCC._validateArgs.d.ts.map +1 -1
  279. package/build/esm/cc/BarrierOperatorCC.d.ts +3 -3
  280. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  281. package/build/esm/cc/BarrierOperatorCC.js +5 -36
  282. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  283. package/build/esm/cc/BasicCC._validateArgs.d.ts +1 -1
  284. package/build/esm/cc/BasicCC._validateArgs.d.ts.map +1 -1
  285. package/build/esm/cc/BasicCC.d.ts +3 -3
  286. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  287. package/build/esm/cc/BasicCC.js +5 -36
  288. package/build/esm/cc/BasicCC.js.map +1 -1
  289. package/build/esm/cc/BasicWindowCoveringCC._validateArgs.d.ts +2 -2
  290. package/build/esm/cc/BasicWindowCoveringCC._validateArgs.d.ts.map +1 -1
  291. package/build/esm/cc/BasicWindowCoveringCC.d.ts.map +1 -1
  292. package/build/esm/cc/BasicWindowCoveringCC.js +1 -34
  293. package/build/esm/cc/BasicWindowCoveringCC.js.map +1 -1
  294. package/build/esm/cc/BatteryCC.d.ts +3 -3
  295. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  296. package/build/esm/cc/BatteryCC.js +3 -36
  297. package/build/esm/cc/BatteryCC.js.map +1 -1
  298. package/build/esm/cc/BinarySensorCC._validateArgs.d.ts +3 -3
  299. package/build/esm/cc/BinarySensorCC._validateArgs.d.ts.map +1 -1
  300. package/build/esm/cc/BinarySensorCC.d.ts +2 -2
  301. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  302. package/build/esm/cc/BinarySensorCC.js +3 -36
  303. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  304. package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts +1 -1
  305. package/build/esm/cc/BinarySwitchCC._validateArgs.d.ts.map +1 -1
  306. package/build/esm/cc/BinarySwitchCC.d.ts +2 -2
  307. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  308. package/build/esm/cc/BinarySwitchCC.js +5 -36
  309. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  310. package/build/esm/cc/CRC16CC.d.ts.map +1 -1
  311. package/build/esm/cc/CRC16CC.js +1 -34
  312. package/build/esm/cc/CRC16CC.js.map +1 -1
  313. package/build/esm/cc/CentralSceneCC._validateArgs.d.ts +1 -1
  314. package/build/esm/cc/CentralSceneCC._validateArgs.d.ts.map +1 -1
  315. package/build/esm/cc/CentralSceneCC.d.ts +1 -1
  316. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
  317. package/build/esm/cc/CentralSceneCC.js +1 -34
  318. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  319. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts +3 -3
  320. package/build/esm/cc/ClimateControlScheduleCC._validateArgs.d.ts.map +1 -1
  321. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
  322. package/build/esm/cc/ClimateControlScheduleCC.js +1 -34
  323. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  324. package/build/esm/cc/ClockCC._validateArgs.d.ts +1 -1
  325. package/build/esm/cc/ClockCC._validateArgs.d.ts.map +1 -1
  326. package/build/esm/cc/ClockCC.d.ts +3 -3
  327. package/build/esm/cc/ClockCC.d.ts.map +1 -1
  328. package/build/esm/cc/ClockCC.js +3 -36
  329. package/build/esm/cc/ClockCC.js.map +1 -1
  330. package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts +4 -4
  331. package/build/esm/cc/ColorSwitchCC._validateArgs.d.ts.map +1 -1
  332. package/build/esm/cc/ColorSwitchCC.d.ts +3 -3
  333. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  334. package/build/esm/cc/ColorSwitchCC.js +3 -36
  335. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  336. package/build/esm/cc/ConfigurationCC._validateArgs.d.ts +9 -9
  337. package/build/esm/cc/ConfigurationCC._validateArgs.d.ts.map +1 -1
  338. package/build/esm/cc/ConfigurationCC.d.ts +3 -8
  339. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
  340. package/build/esm/cc/ConfigurationCC.js +3 -36
  341. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  342. package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
  343. package/build/esm/cc/DeviceResetLocallyCC.js +1 -34
  344. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
  345. package/build/esm/cc/DoorLockCC._validateArgs.d.ts +2 -2
  346. package/build/esm/cc/DoorLockCC._validateArgs.d.ts.map +1 -1
  347. package/build/esm/cc/DoorLockCC.d.ts +5 -5
  348. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  349. package/build/esm/cc/DoorLockCC.js +3 -36
  350. package/build/esm/cc/DoorLockCC.js.map +1 -1
  351. package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts +1 -1
  352. package/build/esm/cc/DoorLockLoggingCC._validateArgs.d.ts.map +1 -1
  353. package/build/esm/cc/DoorLockLoggingCC.d.ts +2 -2
  354. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  355. package/build/esm/cc/DoorLockLoggingCC.js +3 -36
  356. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  357. package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts +1 -1
  358. package/build/esm/cc/EnergyProductionCC._validateArgs.d.ts.map +1 -1
  359. package/build/esm/cc/EnergyProductionCC.d.ts +2 -2
  360. package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
  361. package/build/esm/cc/EnergyProductionCC.js +3 -36
  362. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  363. package/build/esm/cc/EntryControlCC._validateArgs.d.ts +1 -1
  364. package/build/esm/cc/EntryControlCC._validateArgs.d.ts.map +1 -1
  365. package/build/esm/cc/EntryControlCC.d.ts +3 -3
  366. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  367. package/build/esm/cc/EntryControlCC.js +3 -36
  368. package/build/esm/cc/EntryControlCC.js.map +1 -1
  369. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +6 -6
  370. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -1
  371. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
  372. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +1 -34
  373. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  374. package/build/esm/cc/HailCC.js +1 -34
  375. package/build/esm/cc/HailCC.js.map +1 -1
  376. package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts +1 -1
  377. package/build/esm/cc/HumidityControlModeCC._validateArgs.d.ts.map +1 -1
  378. package/build/esm/cc/HumidityControlModeCC.d.ts +2 -2
  379. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  380. package/build/esm/cc/HumidityControlModeCC.js +3 -36
  381. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  382. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +2 -2
  383. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  384. package/build/esm/cc/HumidityControlOperatingStateCC.js +3 -36
  385. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  386. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts +4 -4
  387. package/build/esm/cc/HumidityControlSetpointCC._validateArgs.d.ts.map +1 -1
  388. package/build/esm/cc/HumidityControlSetpointCC.d.ts +2 -2
  389. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  390. package/build/esm/cc/HumidityControlSetpointCC.js +3 -36
  391. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  392. package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -1
  393. package/build/esm/cc/InclusionControllerCC.js +1 -34
  394. package/build/esm/cc/InclusionControllerCC.js.map +1 -1
  395. package/build/esm/cc/IndicatorCC._validateArgs.d.ts +9 -9
  396. package/build/esm/cc/IndicatorCC._validateArgs.d.ts.map +1 -1
  397. package/build/esm/cc/IndicatorCC.d.ts +2 -2
  398. package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
  399. package/build/esm/cc/IndicatorCC.js +3 -36
  400. package/build/esm/cc/IndicatorCC.js.map +1 -1
  401. package/build/esm/cc/IrrigationCC._validateArgs.d.ts +10 -10
  402. package/build/esm/cc/IrrigationCC._validateArgs.d.ts.map +1 -1
  403. package/build/esm/cc/IrrigationCC.d.ts +7 -7
  404. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  405. package/build/esm/cc/IrrigationCC.js +3 -36
  406. package/build/esm/cc/IrrigationCC.js.map +1 -1
  407. package/build/esm/cc/LanguageCC._validateArgs.d.ts +1 -1
  408. package/build/esm/cc/LanguageCC._validateArgs.d.ts.map +1 -1
  409. package/build/esm/cc/LanguageCC.d.ts +3 -3
  410. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  411. package/build/esm/cc/LanguageCC.js +3 -36
  412. package/build/esm/cc/LanguageCC.js.map +1 -1
  413. package/build/esm/cc/LockCC._validateArgs.d.ts +1 -1
  414. package/build/esm/cc/LockCC._validateArgs.d.ts.map +1 -1
  415. package/build/esm/cc/LockCC.d.ts +2 -2
  416. package/build/esm/cc/LockCC.d.ts.map +1 -1
  417. package/build/esm/cc/LockCC.js +3 -36
  418. package/build/esm/cc/LockCC.js.map +1 -1
  419. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts +2 -2
  420. package/build/esm/cc/ManufacturerProprietaryCC._validateArgs.d.ts.map +1 -1
  421. package/build/esm/cc/ManufacturerProprietaryCC.d.ts +2 -2
  422. package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
  423. package/build/esm/cc/ManufacturerProprietaryCC.js +3 -36
  424. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  425. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts +2 -2
  426. package/build/esm/cc/ManufacturerSpecificCC._validateArgs.d.ts.map +1 -1
  427. package/build/esm/cc/ManufacturerSpecificCC.d.ts +1 -1
  428. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
  429. package/build/esm/cc/ManufacturerSpecificCC.js +1 -34
  430. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  431. package/build/esm/cc/MeterCC._validateArgs.d.ts +5 -5
  432. package/build/esm/cc/MeterCC._validateArgs.d.ts.map +1 -1
  433. package/build/esm/cc/MeterCC.d.ts +3 -3
  434. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  435. package/build/esm/cc/MeterCC.js +3 -36
  436. package/build/esm/cc/MeterCC.js.map +1 -1
  437. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts +5 -5
  438. package/build/esm/cc/MultiChannelAssociationCC._validateArgs.d.ts.map +1 -1
  439. package/build/esm/cc/MultiChannelAssociationCC.d.ts +3 -3
  440. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  441. package/build/esm/cc/MultiChannelAssociationCC.js +4 -37
  442. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  443. package/build/esm/cc/MultiChannelCC._validateArgs.d.ts +4 -4
  444. package/build/esm/cc/MultiChannelCC._validateArgs.d.ts.map +1 -1
  445. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
  446. package/build/esm/cc/MultiChannelCC.js +1 -34
  447. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  448. package/build/esm/cc/MultiCommandCC._validateArgs.d.ts +1 -1
  449. package/build/esm/cc/MultiCommandCC._validateArgs.d.ts.map +1 -1
  450. package/build/esm/cc/MultiCommandCC.d.ts.map +1 -1
  451. package/build/esm/cc/MultiCommandCC.js +1 -34
  452. package/build/esm/cc/MultiCommandCC.js.map +1 -1
  453. package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts +3 -3
  454. package/build/esm/cc/MultilevelSensorCC._validateArgs.d.ts.map +1 -1
  455. package/build/esm/cc/MultilevelSensorCC.d.ts +2 -2
  456. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  457. package/build/esm/cc/MultilevelSensorCC.js +3 -36
  458. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  459. package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts +2 -2
  460. package/build/esm/cc/MultilevelSwitchCC._validateArgs.d.ts.map +1 -1
  461. package/build/esm/cc/MultilevelSwitchCC.d.ts +3 -3
  462. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  463. package/build/esm/cc/MultilevelSwitchCC.js +5 -36
  464. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  465. package/build/esm/cc/NoOperationCC.d.ts.map +1 -1
  466. package/build/esm/cc/NoOperationCC.js +1 -34
  467. package/build/esm/cc/NoOperationCC.js.map +1 -1
  468. package/build/esm/cc/NodeNamingCC._validateArgs.d.ts +2 -2
  469. package/build/esm/cc/NodeNamingCC._validateArgs.d.ts.map +1 -1
  470. package/build/esm/cc/NodeNamingCC.d.ts +2 -2
  471. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
  472. package/build/esm/cc/NodeNamingCC.js +3 -36
  473. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  474. package/build/esm/cc/NotificationCC._validateArgs.d.ts +4 -4
  475. package/build/esm/cc/NotificationCC._validateArgs.d.ts.map +1 -1
  476. package/build/esm/cc/NotificationCC.d.ts +22 -5
  477. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  478. package/build/esm/cc/NotificationCC.js +143 -89
  479. package/build/esm/cc/NotificationCC.js.map +1 -1
  480. package/build/esm/cc/PowerlevelCC._validateArgs.d.ts +4 -4
  481. package/build/esm/cc/PowerlevelCC._validateArgs.d.ts.map +1 -1
  482. package/build/esm/cc/PowerlevelCC.d.ts +2 -2
  483. package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
  484. package/build/esm/cc/PowerlevelCC.js +1 -34
  485. package/build/esm/cc/PowerlevelCC.js.map +1 -1
  486. package/build/esm/cc/ProtectionCC._validateArgs.d.ts +3 -3
  487. package/build/esm/cc/ProtectionCC._validateArgs.d.ts.map +1 -1
  488. package/build/esm/cc/ProtectionCC.d.ts +3 -3
  489. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  490. package/build/esm/cc/ProtectionCC.js +3 -36
  491. package/build/esm/cc/ProtectionCC.js.map +1 -1
  492. package/build/esm/cc/SceneActivationCC._validateArgs.d.ts +1 -1
  493. package/build/esm/cc/SceneActivationCC._validateArgs.d.ts.map +1 -1
  494. package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
  495. package/build/esm/cc/SceneActivationCC.js +1 -34
  496. package/build/esm/cc/SceneActivationCC.js.map +1 -1
  497. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts +2 -2
  498. package/build/esm/cc/SceneActuatorConfigurationCC._validateArgs.d.ts.map +1 -1
  499. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
  500. package/build/esm/cc/SceneActuatorConfigurationCC.js +1 -34
  501. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  502. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts +3 -3
  503. package/build/esm/cc/SceneControllerConfigurationCC._validateArgs.d.ts.map +1 -1
  504. package/build/esm/cc/SceneControllerConfigurationCC.d.ts +2 -2
  505. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
  506. package/build/esm/cc/SceneControllerConfigurationCC.js +3 -36
  507. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  508. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts +8 -8
  509. package/build/esm/cc/ScheduleEntryLockCC._validateArgs.d.ts.map +1 -1
  510. package/build/esm/cc/ScheduleEntryLockCC.d.ts +1 -1
  511. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
  512. package/build/esm/cc/ScheduleEntryLockCC.js +1 -34
  513. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  514. package/build/esm/cc/Security2CC.d.ts +1 -1
  515. package/build/esm/cc/Security2CC.d.ts.map +1 -1
  516. package/build/esm/cc/Security2CC.js +1 -34
  517. package/build/esm/cc/Security2CC.js.map +1 -1
  518. package/build/esm/cc/SecurityCC.d.ts +1 -1
  519. package/build/esm/cc/SecurityCC.d.ts.map +1 -1
  520. package/build/esm/cc/SecurityCC.js +2 -36
  521. package/build/esm/cc/SecurityCC.js.map +1 -1
  522. package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts +3 -3
  523. package/build/esm/cc/SoundSwitchCC._validateArgs.d.ts.map +1 -1
  524. package/build/esm/cc/SoundSwitchCC.d.ts +2 -2
  525. package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
  526. package/build/esm/cc/SoundSwitchCC.js +1 -34
  527. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  528. package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
  529. package/build/esm/cc/SupervisionCC.js +1 -34
  530. package/build/esm/cc/SupervisionCC.js.map +1 -1
  531. package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts +1 -1
  532. package/build/esm/cc/ThermostatFanModeCC._validateArgs.d.ts.map +1 -1
  533. package/build/esm/cc/ThermostatFanModeCC.d.ts +2 -2
  534. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  535. package/build/esm/cc/ThermostatFanModeCC.js +3 -36
  536. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  537. package/build/esm/cc/ThermostatFanStateCC.d.ts +2 -2
  538. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  539. package/build/esm/cc/ThermostatFanStateCC.js +3 -36
  540. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  541. package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts +1 -1
  542. package/build/esm/cc/ThermostatModeCC._validateArgs.d.ts.map +1 -1
  543. package/build/esm/cc/ThermostatModeCC.d.ts +3 -3
  544. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  545. package/build/esm/cc/ThermostatModeCC.js +3 -36
  546. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  547. package/build/esm/cc/ThermostatOperatingStateCC.d.ts +2 -2
  548. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  549. package/build/esm/cc/ThermostatOperatingStateCC.js +3 -36
  550. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  551. package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts +1 -1
  552. package/build/esm/cc/ThermostatSetbackCC._validateArgs.d.ts.map +1 -1
  553. package/build/esm/cc/ThermostatSetbackCC.d.ts +3 -3
  554. package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
  555. package/build/esm/cc/ThermostatSetbackCC.js +3 -36
  556. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  557. package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts +3 -3
  558. package/build/esm/cc/ThermostatSetpointCC._validateArgs.d.ts.map +1 -1
  559. package/build/esm/cc/ThermostatSetpointCC.d.ts +3 -3
  560. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  561. package/build/esm/cc/ThermostatSetpointCC.js +3 -36
  562. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  563. package/build/esm/cc/TimeCC._validateArgs.d.ts +4 -4
  564. package/build/esm/cc/TimeCC._validateArgs.d.ts.map +1 -1
  565. package/build/esm/cc/TimeCC.d.ts +1 -1
  566. package/build/esm/cc/TimeCC.d.ts.map +1 -1
  567. package/build/esm/cc/TimeCC.js +1 -34
  568. package/build/esm/cc/TimeCC.js.map +1 -1
  569. package/build/esm/cc/TimeParametersCC._validateArgs.d.ts +1 -1
  570. package/build/esm/cc/TimeParametersCC._validateArgs.d.ts.map +1 -1
  571. package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
  572. package/build/esm/cc/TimeParametersCC.js +1 -34
  573. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  574. package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
  575. package/build/esm/cc/TransportServiceCC.js +1 -34
  576. package/build/esm/cc/TransportServiceCC.js.map +1 -1
  577. package/build/esm/cc/UserCodeCC._validateArgs.d.ts +6 -6
  578. package/build/esm/cc/UserCodeCC._validateArgs.d.ts.map +1 -1
  579. package/build/esm/cc/UserCodeCC.d.ts +7 -5
  580. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  581. package/build/esm/cc/UserCodeCC.js +55 -48
  582. package/build/esm/cc/UserCodeCC.js.map +1 -1
  583. package/build/esm/cc/VersionCC._validateArgs.d.ts +3 -3
  584. package/build/esm/cc/VersionCC._validateArgs.d.ts.map +1 -1
  585. package/build/esm/cc/VersionCC.d.ts +2 -2
  586. package/build/esm/cc/VersionCC.d.ts.map +1 -1
  587. package/build/esm/cc/VersionCC.js +1 -34
  588. package/build/esm/cc/VersionCC.js.map +1 -1
  589. package/build/esm/cc/WakeUpCC._validateArgs.d.ts +1 -1
  590. package/build/esm/cc/WakeUpCC._validateArgs.d.ts.map +1 -1
  591. package/build/esm/cc/WakeUpCC.d.ts +1 -1
  592. package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
  593. package/build/esm/cc/WakeUpCC.js +1 -34
  594. package/build/esm/cc/WakeUpCC.js.map +1 -1
  595. package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts +4 -4
  596. package/build/esm/cc/WindowCoveringCC._validateArgs.d.ts.map +1 -1
  597. package/build/esm/cc/WindowCoveringCC.d.ts +3 -3
  598. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  599. package/build/esm/cc/WindowCoveringCC.js +5 -36
  600. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  601. package/build/esm/cc/ZWaveLongRangeCC.js +1 -34
  602. package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -1
  603. package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts +1 -1
  604. package/build/esm/cc/ZWavePlusCC._validateArgs.d.ts.map +1 -1
  605. package/build/esm/cc/ZWavePlusCC.d.ts +1 -1
  606. package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
  607. package/build/esm/cc/ZWavePlusCC.js +1 -34
  608. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  609. package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
  610. package/build/esm/cc/ZWaveProtocolCC.js +1 -34
  611. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
  612. package/build/esm/cc/_CCValues.generated.d.ts +1173 -1049
  613. package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
  614. package/build/esm/cc/_CCValues.generated.js +71 -4
  615. package/build/esm/cc/_CCValues.generated.js.map +1 -1
  616. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts +2 -2
  617. package/build/esm/cc/manufacturerProprietary/FibaroCC._validateArgs.d.ts.map +1 -1
  618. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +3 -3
  619. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
  620. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +7 -38
  621. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  622. package/build/esm/lib/API.d.ts +1 -0
  623. package/build/esm/lib/API.d.ts.map +1 -1
  624. package/build/esm/lib/API.js.map +1 -1
  625. package/build/esm/lib/CommandClass.d.ts +6 -2
  626. package/build/esm/lib/CommandClass.d.ts.map +1 -1
  627. package/build/esm/lib/CommandClass.js +4 -2
  628. package/build/esm/lib/CommandClass.js.map +1 -1
  629. package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
  630. package/build/esm/lib/Security2/Extension.js +1 -34
  631. package/build/esm/lib/Security2/Extension.js.map +1 -1
  632. package/build/esm/lib/Values.d.ts +5 -5
  633. package/build/esm/lib/Values.d.ts.map +1 -1
  634. package/build/esm/lib/Values.js +4 -1
  635. package/build/esm/lib/Values.js.map +1 -1
  636. package/build/esm/lib/_CCAPI.generated.d.ts +64 -64
  637. package/build/esm/lib/_CCAPI.generated.d.ts.map +1 -1
  638. package/build/esm/lib/serializers.js.map +1 -1
  639. package/package.json +17 -15
@@ -42,6 +42,7 @@ __export(IndicatorCC_exports, {
42
42
  shouldExposeIndicatorValue: () => shouldExposeIndicatorValue
43
43
  });
44
44
  module.exports = __toCommonJS(IndicatorCC_exports);
45
+ var import_tslib = require("tslib");
45
46
  var __validateArgs = __toESM(require("./IndicatorCC._validateArgs.js"), 1);
46
47
  var import_core = require("@zwave-js/core");
47
48
  var import_shared = require("@zwave-js/shared");
@@ -52,46 +53,6 @@ var import_CommandClass = require("../lib/CommandClass.js");
52
53
  var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
53
54
  var import_Types = require("../lib/_Types.js");
54
55
  var import_CCValues_generated = require("./_CCValues.generated.js");
55
- var __runInitializers = function(thisArg, initializers, value) {
56
- var useValue = arguments.length > 2;
57
- for (var i = 0; i < initializers.length; i++) {
58
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
59
- }
60
- return useValue ? value : void 0;
61
- };
62
- var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
63
- function accept(f) {
64
- if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
65
- return f;
66
- }
67
- __name(accept, "accept");
68
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
69
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
70
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
71
- var _, done = false;
72
- for (var i = decorators.length - 1; i >= 0; i--) {
73
- var context = {};
74
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
75
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
76
- context.addInitializer = function(f) {
77
- if (done) throw new TypeError("Cannot add initializers after decoration has completed");
78
- extraInitializers.push(accept(f || null));
79
- };
80
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
81
- if (kind === "accessor") {
82
- if (result === void 0) continue;
83
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
84
- if (_ = accept(result.get)) descriptor.get = _;
85
- if (_ = accept(result.set)) descriptor.set = _;
86
- if (_ = accept(result.init)) initializers.unshift(_);
87
- } else if (_ = accept(result)) {
88
- if (kind === "field") initializers.unshift(_);
89
- else descriptor[key] = _;
90
- }
91
- }
92
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
93
- done = true;
94
- };
95
56
  const { validateArgs_IndicatorCCAPI_get, validateArgs_IndicatorCCAPI_set, validateArgs_IndicatorCCAPI_sendReport, validateArgs_IndicatorCCAPI_getSupported, validateArgs_IndicatorCCAPI_reportSupported, validateArgs_IndicatorCCAPI_reportDescription, validateArgs_IndicatorCCAPI_setTimeout, validateArgs_IndicatorCCAPI_getTimeout, validateArgs_IndicatorCCAPI_getDescription } = __validateArgs;
96
57
  function isManufacturerDefinedIndicator(indicatorId) {
97
58
  return indicatorId >= 128 && indicatorId <= 159;
@@ -244,19 +205,19 @@ let IndicatorCCAPI = (() => {
244
205
  _setTimeout_decorators = [validateArgs_IndicatorCCAPI_setTimeout()];
245
206
  _getTimeout_decorators = [validateArgs_IndicatorCCAPI_getTimeout()];
246
207
  _getDescription_decorators = [validateArgs_IndicatorCCAPI_getDescription()];
247
- __esDecorate(this, null, _get_decorators, { kind: "method", name: "get", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "get" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.get, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
248
- __esDecorate(this, null, _set_decorators, { kind: "method", name: "set", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "set" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.set, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
249
- __esDecorate(this, null, _sendReport_decorators, { kind: "method", name: "sendReport", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "sendReport" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.sendReport, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
250
- __esDecorate(this, null, _getSupported_decorators, { kind: "method", name: "getSupported", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getSupported" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getSupported, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
251
- __esDecorate(this, null, _reportSupported_decorators, { kind: "method", name: "reportSupported", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "reportSupported" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.reportSupported, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
252
- __esDecorate(this, null, _reportDescription_decorators, { kind: "method", name: "reportDescription", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "reportDescription" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.reportDescription, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
253
- __esDecorate(this, null, _setTimeout_decorators, { kind: "method", name: "setTimeout", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "setTimeout" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.setTimeout, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
254
- __esDecorate(this, null, _getTimeout_decorators, { kind: "method", name: "getTimeout", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getTimeout" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getTimeout, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
255
- __esDecorate(this, null, _getDescription_decorators, { kind: "method", name: "getDescription", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getDescription" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getDescription, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
256
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
208
+ (0, import_tslib.__esDecorate)(this, null, _get_decorators, { kind: "method", name: "get", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "get" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.get, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
209
+ (0, import_tslib.__esDecorate)(this, null, _set_decorators, { kind: "method", name: "set", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "set" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.set, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
210
+ (0, import_tslib.__esDecorate)(this, null, _sendReport_decorators, { kind: "method", name: "sendReport", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "sendReport" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.sendReport, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
211
+ (0, import_tslib.__esDecorate)(this, null, _getSupported_decorators, { kind: "method", name: "getSupported", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getSupported" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getSupported, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
212
+ (0, import_tslib.__esDecorate)(this, null, _reportSupported_decorators, { kind: "method", name: "reportSupported", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "reportSupported" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.reportSupported, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
213
+ (0, import_tslib.__esDecorate)(this, null, _reportDescription_decorators, { kind: "method", name: "reportDescription", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "reportDescription" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.reportDescription, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
214
+ (0, import_tslib.__esDecorate)(this, null, _setTimeout_decorators, { kind: "method", name: "setTimeout", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "setTimeout" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.setTimeout, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
215
+ (0, import_tslib.__esDecorate)(this, null, _getTimeout_decorators, { kind: "method", name: "getTimeout", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getTimeout" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getTimeout, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
216
+ (0, import_tslib.__esDecorate)(this, null, _getDescription_decorators, { kind: "method", name: "getDescription", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getDescription" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getDescription, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
217
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
257
218
  IndicatorCCAPI2 = _classThis = _classDescriptor.value;
258
219
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
259
- __runInitializers(_classThis, _classExtraInitializers);
220
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
260
221
  }
261
222
  supportsCommand(cmd) {
262
223
  switch (cmd) {
@@ -529,7 +490,7 @@ let IndicatorCCAPI = (() => {
529
490
  }
530
491
  constructor() {
531
492
  super(...arguments);
532
- __runInitializers(this, _instanceExtraInitializers);
493
+ (0, import_tslib.__runInitializers)(this, _instanceExtraInitializers);
533
494
  }
534
495
  };
535
496
  return IndicatorCCAPI2 = _classThis;
@@ -549,10 +510,10 @@ let IndicatorCC = (() => {
549
510
  }
550
511
  static {
551
512
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
552
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
513
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
553
514
  IndicatorCC2 = _classThis = _classDescriptor.value;
554
515
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
555
- __runInitializers(_classThis, _classExtraInitializers);
516
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
556
517
  }
557
518
  async interview(ctx) {
558
519
  const node = this.getNode(ctx);
@@ -612,11 +573,11 @@ let IndicatorCC = (() => {
612
573
  await this.refreshValues(ctx);
613
574
  this.setInterviewComplete(ctx, true);
614
575
  }
615
- async refreshValues(ctx) {
576
+ async refreshValues(ctx, options) {
616
577
  const node = this.getNode(ctx);
617
578
  const endpoint = this.getEndpoint(ctx);
618
579
  const api = import_API.CCAPI.create(import_core.CommandClasses.Indicator, ctx, endpoint).withOptions({
619
- priority: import_core.MessagePriority.NodeQuery
580
+ priority: options?.priority ?? import_core.MessagePriority.NodeQuery
620
581
  });
621
582
  if (api.version === 1) {
622
583
  ctx.logNode(node.id, {
@@ -690,10 +651,10 @@ let IndicatorCCSet = (() => {
690
651
  }
691
652
  static {
692
653
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
693
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
654
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
694
655
  IndicatorCCSet2 = _classThis = _classDescriptor.value;
695
656
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
696
- __runInitializers(_classThis, _classExtraInitializers);
657
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
697
658
  }
698
659
  constructor(options) {
699
660
  super(options);
@@ -782,10 +743,10 @@ let IndicatorCCReport = (() => {
782
743
  }
783
744
  static {
784
745
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
785
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
746
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
786
747
  IndicatorCCReport2 = _classThis = _classDescriptor.value;
787
748
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
788
- __runInitializers(_classThis, _classExtraInitializers);
749
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
789
750
  }
790
751
  constructor(options) {
791
752
  super(options);
@@ -951,10 +912,10 @@ let IndicatorCCGet = (() => {
951
912
  }
952
913
  static {
953
914
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
954
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
915
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
955
916
  IndicatorCCGet2 = _classThis = _classDescriptor.value;
956
917
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
957
- __runInitializers(_classThis, _classExtraInitializers);
918
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
958
919
  }
959
920
  constructor(options) {
960
921
  super(options);
@@ -1003,10 +964,10 @@ let IndicatorCCSupportedReport = (() => {
1003
964
  }
1004
965
  static {
1005
966
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1006
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
967
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1007
968
  IndicatorCCSupportedReport2 = _classThis = _classDescriptor.value;
1008
969
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1009
- __runInitializers(_classThis, _classExtraInitializers);
970
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
1010
971
  }
1011
972
  constructor(options) {
1012
973
  super(options);
@@ -1088,10 +1049,10 @@ let IndicatorCCSupportedGet = (() => {
1088
1049
  }
1089
1050
  static {
1090
1051
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1091
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1052
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1092
1053
  IndicatorCCSupportedGet2 = _classThis = _classDescriptor.value;
1093
1054
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1094
- __runInitializers(_classThis, _classExtraInitializers);
1055
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
1095
1056
  }
1096
1057
  constructor(options) {
1097
1058
  super(options);
@@ -1136,10 +1097,10 @@ let IndicatorCCDescriptionReport = (() => {
1136
1097
  }
1137
1098
  static {
1138
1099
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1139
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1100
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1140
1101
  IndicatorCCDescriptionReport2 = _classThis = _classDescriptor.value;
1141
1102
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1142
- __runInitializers(_classThis, _classExtraInitializers);
1103
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
1143
1104
  }
1144
1105
  constructor(options) {
1145
1106
  super(options);
@@ -1207,10 +1168,10 @@ let IndicatorCCDescriptionGet = (() => {
1207
1168
  }
1208
1169
  static {
1209
1170
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
1210
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1171
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
1211
1172
  IndicatorCCDescriptionGet2 = _classThis = _classDescriptor.value;
1212
1173
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
1213
- __runInitializers(_classThis, _classExtraInitializers);
1174
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
1214
1175
  }
1215
1176
  constructor(options) {
1216
1177
  super(options);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/IndicatorCC.ts"],
4
- "sourcesContent": ["import * as __validateArgs from \"./IndicatorCC._validateArgs.js\";\nconst { validateArgs_IndicatorCCAPI_get, validateArgs_IndicatorCCAPI_set, validateArgs_IndicatorCCAPI_sendReport, validateArgs_IndicatorCCAPI_getSupported, validateArgs_IndicatorCCAPI_reportSupported, validateArgs_IndicatorCCAPI_reportDescription, validateArgs_IndicatorCCAPI_setTimeout, validateArgs_IndicatorCCAPI_getTimeout, validateArgs_IndicatorCCAPI_getDescription } = __validateArgs;\nimport { CommandClasses, type EndpointId, type GetValueDB, Indicator, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, type ValueID, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, encodeBitMask, getIndicatorProperty, parseBitMask, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, num2hex } from \"@zwave-js/shared\";\nimport { clamp, roundTo } from \"alcalzone-shared/math\";\nimport { isArray } from \"alcalzone-shared/typeguards\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { IndicatorCommand, type IndicatorTimeout } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nfunction isManufacturerDefinedIndicator(indicatorId: number): boolean {\n return indicatorId >= 0x80 && indicatorId <= 0x9f;\n}\nconst timeoutStringRegex = /^(?:(?<hoursStr>\\d+)h)?(?:(?<minutesStr>\\d+)m)?(?:(?<secondsStr>\\d+(?:\\.\\d+)?)s)?$/i;\nconst MAX_INDICATOR_OBJECTS = 31;\nfunction parseIndicatorTimeoutString(text: string): IndicatorTimeout | undefined {\n if (!text.length)\n return undefined;\n // Try to parse the numeric parts from a timeout\n const match = timeoutStringRegex.exec(text);\n if (!match)\n return undefined;\n const { hoursStr, minutesStr, secondsStr } = match.groups!;\n if (!hoursStr && !minutesStr && !secondsStr)\n return undefined;\n const ret: IndicatorTimeout = {};\n if (hoursStr) {\n ret.hours = clamp(parseInt(hoursStr, 10), 0, 255);\n }\n if (minutesStr) {\n ret.minutes = clamp(parseInt(minutesStr, 10), 0, 255);\n }\n if (secondsStr) {\n ret.seconds = clamp(roundTo(parseFloat(secondsStr), 2), 0, 59.99);\n }\n return ret;\n}\nfunction groupByIndicatorId(values: IndicatorObject[]): Map<number, IndicatorObject[]> {\n const ret = new Map();\n for (const value of values) {\n if (!ret.has(value.indicatorId)) {\n ret.set(value.indicatorId, []);\n }\n ret.get(value.indicatorId)!.push(value);\n }\n return ret;\n}\nfunction indicatorObjectsToTimeout(values: IndicatorObject[]): IndicatorTimeout | undefined {\n const timeoutValues = values.filter((v) => [0x0a, 0x06, 0x07, 0x08].includes(v.propertyId));\n if (!timeoutValues.length)\n return undefined;\n const hours = (timeoutValues.find((v) => v.propertyId === 0x0a)?.value\n ?? 0) as number;\n const minutes = (timeoutValues.find((v) => v.propertyId === 0x06)?.value\n ?? 0) as number;\n const seconds = clamp((timeoutValues.find((v) => v.propertyId === 0x07)\n ?.value as number) ?? 0, 0, 59)\n + clamp((timeoutValues.find((v) => v.propertyId === 0x08)\n ?.value as number) ?? 0, 0, 99)\n / 100;\n return {\n hours,\n minutes,\n seconds,\n };\n}\nimport { IndicatorCCValues } from \"./_CCValues.generated.js\";\nexport { IndicatorCCValues };\n/**\n * Looks up the configured metadata for the given indicator and property\n */\nfunction getIndicatorMetadata(indicatorId: Indicator, propertyId: number, overrideIndicatorLabel?: string): ValueMetadata {\n const label = getIndicatorLabel(indicatorId, propertyId, overrideIndicatorLabel);\n const prop = getIndicatorProperty(propertyId);\n const baseMetadata = IndicatorCCValues.valueV2(indicatorId, propertyId).meta;\n if (!prop) {\n return {\n ...baseMetadata,\n ...ValueMetadata.UInt8,\n label,\n };\n }\n else {\n if (prop.type === \"boolean\") {\n return {\n ...baseMetadata,\n ...ValueMetadata.Boolean,\n label,\n description: prop.description,\n readable: !prop.readonly,\n };\n }\n else {\n // UInt8\n return {\n ...baseMetadata,\n ...ValueMetadata.UInt8,\n label,\n description: prop.description,\n min: prop.min,\n max: prop.max,\n readable: !prop.readonly,\n };\n }\n }\n}\nfunction getIndicatorName(indicatorId: number | undefined): string {\n if (indicatorId) {\n return getEnumMemberName(Indicator, indicatorId);\n }\n else {\n return \"Default\";\n }\n}\n/** Returns a user-friendly label for an indicator */\nfunction getIndicatorLabel(indicatorId: number, propertyId: number, overrideIndicatorLabel?: string, overridePropertyLabel?: string): string {\n const defaultName = overrideIndicatorLabel || getIndicatorName(indicatorId);\n // Without a defined property, we cannot suggest a better label\n const prop = getIndicatorProperty(propertyId);\n if (!prop)\n return defaultName;\n // For indicators that correspond to an LCD or buttons,\n // the indicator enum names are enough\n if (indicatorId >= Indicator[\"LCD backlight\"]\n && indicatorId <= Indicator[\"Button 12 indication\"]\n && (propertyId === 0x01 /* Multilevel */\n || propertyId === 0x02 /* Binary */\n || overridePropertyLabel) // custom property label\n ) {\n let ret: string = (Indicator as any)[indicatorId];\n // Append the overridden property label if it exists\n if (overridePropertyLabel) {\n ret += ` - ${overridePropertyLabel}`;\n }\n return ret;\n }\n // Default to the current behavior of <indicator name> - <property label>\n return `${defaultName} - ${overridePropertyLabel || prop.label}`;\n}\nexport function shouldExposeIndicatorValue(indicatorId: number, propertyId: number): boolean {\n // Many possible indicator values are not suitable to be exposed as CC values,\n // usually because they need to be set in groups.\n // Indicator properties that should be exposed are marked as such\n const prop = getIndicatorProperty(propertyId);\n if (prop && !prop.exposeAsValue) {\n return false;\n }\n // Unless we know better, expose anyways\n return true;\n}\n@API(CommandClasses.Indicator)\nexport class IndicatorCCAPI extends CCAPI {\n public supportsCommand(cmd: IndicatorCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case IndicatorCommand.Get:\n case IndicatorCommand.Report:\n return this.isSinglecast();\n case IndicatorCommand.Set:\n return true; // This is mandatory\n case IndicatorCommand.SupportedGet:\n case IndicatorCommand.SupportedReport:\n return this.version >= 2 && this.isSinglecast();\n case IndicatorCommand.DescriptionGet:\n case IndicatorCommand.DescriptionReport:\n return this.version >= 4 && this.isSinglecast();\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: IndicatorCCAPI, { property, propertyKey }, value) {\n const valueId: ValueID = {\n commandClass: this.ccId,\n endpoint: this.endpoint.index,\n property,\n propertyKey,\n };\n if (property === \"value\") {\n // V1 value\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n return this.set(value);\n }\n else if (IndicatorCCValues.valueV2.is(valueId)) {\n const indicatorId = property as number;\n const propertyId = propertyKey as number;\n const expectedType = getIndicatorMetadata(indicatorId, propertyId).type as \"number\" | \"boolean\";\n // V2+ value\n if (typeof value !== expectedType) {\n throwWrongValueType(this.ccId, property, expectedType, typeof value);\n }\n return this.set([\n {\n indicatorId,\n propertyId,\n value: value as any,\n },\n ]);\n }\n else if (IndicatorCCValues.timeout.is(valueId)) {\n const indicatorId = property as number;\n if (typeof value !== \"string\") {\n throwWrongValueType(this.ccId, property, \"string\", typeof value);\n }\n return this.setTimeout(indicatorId, value);\n }\n else if (IndicatorCCValues.identify.is(valueId)) {\n if (typeof value !== \"boolean\") {\n throwWrongValueType(this.ccId, property, \"boolean\", typeof value);\n }\n return this.identify();\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: IndicatorCCAPI, { property }) {\n if (property === \"value\")\n return this.get();\n if (typeof property === \"number\") {\n return this.get(property);\n }\n throwUnsupportedProperty(this.ccId, property);\n };\n }\n @validateArgs_IndicatorCCAPI_get()\n public async get(indicatorId?: number): Promise<MaybeNotKnown<number | IndicatorObject[]>> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Get);\n const cc = new IndicatorCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n });\n const response = await this.host.sendCommand<IndicatorCCReport>(cc, this.commandOptions);\n if (!response)\n return;\n if (response.values)\n return response.values;\n return response.indicator0Value!;\n }\n @validateArgs_IndicatorCCAPI_set()\n public async set(value: number | IndicatorObject[]): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Set);\n if (this.version === 1 && typeof value !== \"number\") {\n throw new ZWaveError(`Node ${this.endpoint\n .nodeId as number} only supports IndicatorCC V1 which requires a single value to be set`, ZWaveErrorCodes.Argument_Invalid);\n }\n else if (this.version >= 2\n && isArray(value)\n && value.length > MAX_INDICATOR_OBJECTS) {\n throw new ZWaveError(`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`, ZWaveErrorCodes.Argument_Invalid);\n }\n const cc = new IndicatorCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...(typeof value === \"number\" ? { value } : { values: value }),\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_IndicatorCCAPI_sendReport()\n public async sendReport(options: IndicatorCCReportOptions): Promise<void> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Report);\n const cc = new IndicatorCCReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_IndicatorCCAPI_getSupported()\n public async getSupported(indicatorId: number): Promise<{\n indicatorId?: number;\n supportedProperties: readonly number[];\n nextIndicatorId: number;\n } | undefined> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.SupportedGet);\n const cc = new IndicatorCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n });\n const response = await this.host.sendCommand<IndicatorCCSupportedReport>(cc, this.commandOptions);\n if (response) {\n return {\n // Include the actual indicator ID if 0x00 was requested\n ...(indicatorId === 0x00\n ? { indicatorId: response.indicatorId }\n : undefined),\n supportedProperties: response.supportedProperties,\n nextIndicatorId: response.nextIndicatorId,\n };\n }\n }\n @validateArgs_IndicatorCCAPI_reportSupported()\n public async reportSupported(indicatorId: number, supportedProperties: readonly number[], nextIndicatorId: number): Promise<void> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.SupportedReport);\n const cc = new IndicatorCCSupportedReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n supportedProperties,\n nextIndicatorId,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_IndicatorCCAPI_reportDescription()\n public async reportDescription(indicatorId: number, description: string): Promise<void> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.DescriptionReport);\n const cc = new IndicatorCCDescriptionReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n description,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n /**\n * Instructs the node to identify itself. Available starting with V3 of this CC.\n */\n public async identify(): Promise<SupervisionResult | undefined> {\n if (this.version < 3) {\n throw new ZWaveError(`The identify command is only supported in Indicator CC version 3 and above`, ZWaveErrorCodes.CC_NotSupported);\n }\n return this.set([\n {\n indicatorId: 0x50,\n propertyId: 0x03,\n value: 0x08,\n },\n {\n indicatorId: 0x50,\n propertyId: 0x04,\n value: 0x03,\n },\n {\n indicatorId: 0x50,\n propertyId: 0x05,\n value: 0x06,\n },\n ]);\n }\n /**\n * Set a timeout for a given indicator ID after which the indicator will be turned off.\n * @param timeout The timeout in one of the supported forms:\n * \t- a timeout string in the form `12h18m17.59s`. All parts (hours, minutes, seconds, hundredths) are optional, but must be specified in this order. An empty string will be treated like `undefined`.\n * \t- an object specifying the timeout parts. An empty object will be treated like `undefined`.\n * \t- `undefined` to disable the timeout.\n */\n @validateArgs_IndicatorCCAPI_setTimeout()\n public async setTimeout(indicatorId: number, timeout: IndicatorTimeout | string | undefined): Promise<SupervisionResult | undefined> {\n this.assertPhysicalEndpoint(this.endpoint);\n if (this.version < 3) {\n throw new ZWaveError(`The setTimeout command is only supported in Indicator CC version 3 and above`, ZWaveErrorCodes.CC_NotSupported);\n }\n if (typeof timeout === \"string\") {\n if (timeout === \"\") {\n timeout = undefined;\n }\n else {\n const parsed = parseIndicatorTimeoutString(timeout);\n if (!parsed) {\n throw new ZWaveError(`The timeout string \"${timeout}\" is not valid`, ZWaveErrorCodes.Argument_Invalid);\n }\n timeout = parsed;\n }\n }\n const supportedPropertyIDs = IndicatorCC.getSupportedPropertyIDsCached(this.host, this.endpoint, indicatorId);\n const objects: IndicatorObject[] = [];\n if (timeout) {\n const hours = timeout.hours ?? 0;\n const minutes = timeout.minutes ?? 0;\n const seconds = Math.floor(timeout.seconds ?? 0);\n const hundredths = Math.round(((timeout.seconds ?? 0) % 1) * 100);\n if (hours) {\n if (!supportedPropertyIDs?.includes(0x0a)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in hours`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x0a,\n value: hours,\n });\n }\n if (minutes) {\n if (!supportedPropertyIDs?.includes(0x06)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in minutes`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x06,\n value: minutes,\n });\n }\n if (seconds) {\n if (!supportedPropertyIDs?.includes(0x07)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in seconds`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x07,\n value: seconds,\n });\n }\n if (hundredths) {\n if (!supportedPropertyIDs?.includes(0x08)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in 1/100 seconds`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x08,\n value: hundredths,\n });\n }\n }\n if (!objects.length) {\n objects.push(...(supportedPropertyIDs ?? []).map((p) => ({\n indicatorId,\n propertyId: p,\n value: 0,\n })));\n }\n return this.set(objects);\n }\n /**\n * Returns the timeout after which the given indicator will be turned off.\n */\n @validateArgs_IndicatorCCAPI_getTimeout()\n public async getTimeout(indicatorId: number): Promise<MaybeNotKnown<IndicatorTimeout>> {\n const values = await this.get(indicatorId);\n if (!isArray(values))\n return;\n return indicatorObjectsToTimeout(values);\n }\n @validateArgs_IndicatorCCAPI_getDescription()\n public async getDescription(indicatorId: number): Promise<MaybeNotKnown<string>> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.DescriptionGet);\n const cc = new IndicatorCCDescriptionGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n });\n const response = await this.host.sendCommand<IndicatorCCDescriptionReport>(cc, this.commandOptions);\n return response?.description;\n }\n}\n@commandClass(CommandClasses.Indicator)\n@implementedVersion(4)\n@ccValues(IndicatorCCValues)\nexport class IndicatorCC extends CommandClass {\n declare ccCommand: IndicatorCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Indicator, ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n if (api.version > 1) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"scanning supported indicator IDs...\",\n direction: \"outbound\",\n });\n // Query ID 0 to get the first supported ID\n let curId = 0x00;\n const supportedIndicatorIds: number[] = [];\n do {\n const supportedResponse = await api.getSupported(curId);\n if (!supportedResponse) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Time out while scanning supported indicator IDs, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n if (supportedResponse.supportedProperties.length > 0) {\n supportedIndicatorIds.push(supportedResponse.indicatorId ?? curId);\n }\n curId = supportedResponse.nextIndicatorId;\n } while (curId !== 0x00);\n // The IDs are not stored by the report CCs so store them here once we have all of them\n this.setValue(ctx, IndicatorCCValues.supportedIndicatorIds, supportedIndicatorIds);\n const logMessage = `supported indicator IDs: ${supportedIndicatorIds.join(\", \")}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n if (api.version >= 4) {\n const manufacturerDefinedIndicatorIds = supportedIndicatorIds\n .filter((id) => isManufacturerDefinedIndicator(id));\n if (manufacturerDefinedIndicatorIds.length > 0) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"retrieving description for manufacturer-defined indicator IDs...\",\n direction: \"outbound\",\n });\n for (const id of manufacturerDefinedIndicatorIds) {\n await api.getDescription(id);\n }\n }\n }\n }\n // Query current values\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Indicator, ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n if (api.version === 1) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting current indicator value...\",\n direction: \"outbound\",\n });\n await api.get();\n }\n else {\n const supportedIndicatorIds: number[] = this.getValue(ctx, IndicatorCCValues.supportedIndicatorIds) ?? [];\n for (const indicatorId of supportedIndicatorIds) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `requesting current indicator value (id = ${num2hex(indicatorId)})...`,\n direction: \"outbound\",\n });\n await api.get(indicatorId);\n }\n }\n }\n public translatePropertyKey(ctx: GetValueDB, property: string | number, propertyKey: string | number): string | undefined {\n if (property === \"value\") {\n // CC version 1 only has a single value that doesn't need to be translated\n return undefined;\n }\n else if (typeof property === \"number\"\n && typeof propertyKey === \"number\") {\n // The indicator property is our property key\n const prop = getIndicatorProperty(propertyKey);\n if (prop)\n return prop.label;\n }\n else if (typeof property === \"number\"\n && propertyKey === \"timeout\") {\n return \"Timeout\";\n }\n return super.translatePropertyKey(ctx, property, propertyKey);\n }\n public translateProperty(ctx: GetValueDB, property: string | number, propertyKey?: string | number): string {\n if (typeof property === \"number\") {\n if (typeof propertyKey === \"number\" || propertyKey === \"timeout\") {\n // The indicator corresponds to our property\n if (property in Indicator)\n return Indicator[property];\n }\n }\n return super.translateProperty(ctx, property, propertyKey);\n }\n protected supportsV2Indicators(ctx: GetValueDB): boolean {\n // First test if there are any indicator ids defined\n const supportedIndicatorIds = this.getValue<number[]>(ctx, IndicatorCCValues.supportedIndicatorIds);\n if (!supportedIndicatorIds?.length)\n return false;\n // Then test if there are any property ids defined\n return supportedIndicatorIds.some((indicatorId) => !!this.getValue<number[]>(ctx, IndicatorCCValues.supportedPropertyIDs(indicatorId))?.length);\n }\n protected getManufacturerDefinedIndicatorLabel(ctx: GetValueDB, indicatorId: number): string | undefined {\n if (isManufacturerDefinedIndicator(indicatorId)) {\n return this.getValue(ctx, IndicatorCCValues.indicatorDescription(indicatorId));\n }\n }\n public static getSupportedPropertyIDsCached(ctx: GetValueDB, endpoint: EndpointId, indicatorId: number): MaybeNotKnown<number[]> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(IndicatorCCValues.supportedPropertyIDs(indicatorId).endpoint(endpoint.index));\n }\n}\n// @publicAPI\nexport interface IndicatorObject {\n indicatorId: number;\n propertyId: number;\n value: number | boolean;\n}\n// @publicAPI\nexport type IndicatorCCSetOptions = {\n value: number;\n} | {\n values: IndicatorObject[];\n};\n@CCCommand(IndicatorCommand.Set)\n@useSupervision()\nexport class IndicatorCCSet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCSetOptions>) {\n super(options);\n if (\"value\" in options) {\n this.indicator0Value = options.value;\n }\n else {\n this.values = options.values;\n }\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSet {\n validatePayload(raw.payload.length >= 1);\n const objCount = raw.payload.length >= 2\n ? raw.payload[1] & 0b11111\n : 0;\n if (objCount === 0) {\n const indicator0Value = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n value: indicator0Value,\n });\n }\n validatePayload(raw.payload.length >= 2 + 3 * objCount);\n const values: IndicatorObject[] = [];\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n const value: IndicatorObject = {\n indicatorId: raw.payload[offset],\n propertyId: raw.payload[offset + 1],\n value: raw.payload[offset + 2],\n };\n values.push(value);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n values,\n });\n }\n public indicator0Value: number | undefined;\n public values: IndicatorObject[] | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.values != undefined) {\n // V2+\n this.payload = Bytes.alloc(2 + 3 * this.values.length, 0);\n // Byte 0 is the legacy value\n const objCount = this.values.length & MAX_INDICATOR_OBJECTS;\n this.payload[1] = objCount;\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n this.payload[offset] = this.values[i].indicatorId;\n this.payload[offset + 1] = this.values[i].propertyId;\n const value = this.values[i].value;\n this.payload[offset + 2] = value === true\n ? 0xff\n : value === false\n ? 0x00\n : value;\n }\n }\n else {\n // V1\n this.payload = Bytes.from([this.indicator0Value ?? 0]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n if (this.indicator0Value != undefined) {\n message[\"indicator 0 value\"] = this.indicator0Value;\n }\n if (this.values != undefined) {\n message.values = this.values\n .map((v) => `\n\u00B7 indicatorId: ${v.indicatorId}\n propertyId: ${v.propertyId}\n value: ${v.value}`)\n .join(\"\");\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport type IndicatorCCReportOptions = {\n value: number;\n} | {\n values: IndicatorObject[];\n};\n@CCCommand(IndicatorCommand.Report)\nexport class IndicatorCCReport extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCReportOptions>) {\n super(options);\n if (\"value\" in options) {\n this.indicator0Value = options.value;\n }\n else if (\"values\" in options) {\n if (options.values.length > MAX_INDICATOR_OBJECTS) {\n throw new ZWaveError(`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.values = options.values;\n }\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCReport {\n validatePayload(raw.payload.length >= 1);\n const objCount = raw.payload.length >= 2\n ? raw.payload[1] & 0b11111\n : 0;\n if (objCount === 0) {\n const indicator0Value = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n value: indicator0Value,\n });\n }\n validatePayload(raw.payload.length >= 2 + 3 * objCount);\n const values: IndicatorObject[] = [];\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n const value: IndicatorObject = {\n indicatorId: raw.payload[offset],\n propertyId: raw.payload[offset + 1],\n value: raw.payload[offset + 2],\n };\n values.push(value);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n values,\n });\n // TODO: Think if we want this:\n // // If not all Property IDs are included in the command for the actual Indicator ID,\n // // a controlling node MUST assume non-specified Property IDs values to be 0x00.\n // const indicatorId = this.values[0].indicatorId;\n // const supportedIndicatorProperties =\n // \tvalueDB.getValue<number[]>(\n // \t\tgetSupportedPropertyIDsValueID(\n // \t\t\tthis.endpointIndex,\n // \t\t\tindicatorId,\n // \t\t),\n // \t) ?? [];\n // // Find out which ones are missing\n // const missingIndicatorProperties = supportedIndicatorProperties.filter(\n // \tprop =>\n // \t\t!this.values!.find(({ propertyId }) => prop === propertyId),\n // );\n // // And assume they are 0 (false)\n // for (const missing of missingIndicatorProperties) {\n // \tthis.setIndicatorValue({\n // \t\tindicatorId,\n // \t\tpropertyId: missing,\n // \t\tvalue: 0,\n // \t});\n // }\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n if (this.indicator0Value != undefined) {\n if (!this.supportsV2Indicators(ctx)) {\n // Publish the value\n const valueV1 = IndicatorCCValues.valueV1;\n this.setMetadata(ctx, valueV1);\n this.setValue(ctx, valueV1, this.indicator0Value);\n }\n else {\n if (this.isSinglecast()) {\n // Don't!\n ctx.logNode(this.nodeId, {\n message: `ignoring V1 indicator report because the node supports V2 indicators`,\n direction: \"none\",\n endpoint: this.endpointIndex,\n });\n }\n }\n }\n else if (this.values) {\n // Store the simple values first\n for (const value of this.values) {\n this.setIndicatorValue(ctx, value);\n }\n // Then group values into the convenience properties\n const groupedValues = groupByIndicatorId(this.values);\n for (const [indicatorId, values] of groupedValues) {\n // Some devices report all properties it supports in every report,\n // even if it does not support all properties for the given indicator ID.\n // To avoid confusion, we need to filter out the unsupported properties\n const supportedPropertyIDs = this.getValue<number[]>(ctx, IndicatorCCValues.supportedPropertyIDs(indicatorId)) ?? [];\n const filteredValues = values.filter((v) => supportedPropertyIDs.includes(v.propertyId));\n const overrideIndicatorLabel = this\n .getManufacturerDefinedIndicatorLabel(ctx, indicatorId);\n // ... timeout\n const timeout = indicatorObjectsToTimeout(filteredValues);\n if (timeout) {\n let timeoutString = \"\";\n if (timeout?.hours)\n timeoutString += `${timeout.hours}h`;\n if (timeout?.minutes) {\n timeoutString += `${timeout.minutes}m`;\n }\n if (timeout?.seconds) {\n timeoutString += `${timeout.seconds}s`;\n }\n const timeoutValue = IndicatorCCValues.timeout(indicatorId);\n const metadata: ValueMetadata = {\n ...timeoutValue.meta,\n label: getIndicatorLabel(indicatorId, 0x06, // This is actually ignored, but pass a valid ID for clarity\n overrideIndicatorLabel, \"Timeout\"),\n };\n this.setMetadata(ctx, timeoutValue, metadata);\n this.setValue(ctx, timeoutValue, timeoutString);\n }\n }\n }\n return true;\n }\n public readonly indicator0Value: number | undefined;\n public readonly values: IndicatorObject[] | undefined;\n private setIndicatorValue(ctx: GetValueDB, value: IndicatorObject): void {\n // Manufacturer-defined indicators may need a custom label\n const overrideIndicatorLabel = this\n .getManufacturerDefinedIndicatorLabel(ctx, value.indicatorId);\n const metadata = getIndicatorMetadata(value.indicatorId, value.propertyId, overrideIndicatorLabel);\n // Some values need to be converted\n if (metadata.type === \"boolean\") {\n value.value = !!value.value;\n }\n // Only expose the value if it should be user-facing\n if (value.indicatorId === Indicator[\"Node Identify\"]) {\n return;\n }\n const prop = getIndicatorProperty(value.propertyId);\n if (!prop?.exposeAsValue)\n return;\n // And only if it is actually supported and not just reported by accident\n const supportedPropertyIDs = this.getValue<number[]>(ctx, IndicatorCCValues.supportedPropertyIDs(value.indicatorId)) ?? [];\n if (!supportedPropertyIDs.includes(value.propertyId))\n return;\n // Publish the value\n const valueV2 = IndicatorCCValues.valueV2(value.indicatorId, value.propertyId);\n this.setMetadata(ctx, valueV2, metadata);\n this.setValue(ctx, valueV2, value.value);\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.values != undefined) {\n // V2+\n this.payload = Bytes.alloc(2 + 3 * this.values.length, 0);\n // Byte 0 is the legacy value\n const objCount = this.values.length & MAX_INDICATOR_OBJECTS;\n this.payload[1] = objCount;\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n this.payload[offset] = this.values[i].indicatorId;\n this.payload[offset + 1] = this.values[i].propertyId;\n const value = this.values[i].value;\n this.payload[offset + 2] = value === true\n ? 0xff\n : value === false\n ? 0x00\n : value;\n }\n }\n else {\n // V1\n this.payload = Bytes.from([this.indicator0Value ?? 0]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n if (this.indicator0Value != undefined) {\n message[\"indicator 0 value\"] = this.indicator0Value;\n }\n if (this.values != undefined) {\n message.values = this.values\n .map((v) => `\n\u00B7 indicatorId: ${v.indicatorId}\n propertyId: ${v.propertyId}\n value: ${v.value}`)\n .join(\"\");\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCGetOptions {\n indicatorId?: number;\n}\n@CCCommand(IndicatorCommand.Get)\n@expectedCCResponse(IndicatorCCReport)\nexport class IndicatorCCGet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCGetOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCGet {\n let indicatorId: number | undefined;\n if (raw.payload.length > 0) {\n indicatorId = raw.payload[0];\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n });\n }\n public indicatorId: number | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.indicatorId != undefined) {\n this.payload = Bytes.from([this.indicatorId]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n indicator: getIndicatorName(this.indicatorId),\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCSupportedReportOptions {\n indicatorId: number;\n nextIndicatorId: number;\n supportedProperties: readonly number[];\n}\n@CCCommand(IndicatorCommand.SupportedReport)\nexport class IndicatorCCSupportedReport extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCSupportedReportOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n this.nextIndicatorId = options.nextIndicatorId;\n this.supportedProperties = options.supportedProperties;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSupportedReport {\n validatePayload(raw.payload.length >= 3);\n const indicatorId = raw.payload[0];\n const nextIndicatorId = raw.payload[1];\n const bitMaskLength = raw.payload[2] & 0b11111;\n let supportedProperties: readonly number[];\n if (bitMaskLength === 0) {\n supportedProperties = [];\n }\n else {\n validatePayload(raw.payload.length >= 3 + bitMaskLength);\n // The bit mask starts at 0, but bit 0 is not used\n supportedProperties = parseBitMask(raw.payload.subarray(3, 3 + bitMaskLength), 0).filter((v) => v !== 0);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n nextIndicatorId,\n supportedProperties,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n if (this.indicatorId !== 0x00) {\n // Remember which property IDs are supported\n this.setValue(ctx, IndicatorCCValues.supportedPropertyIDs(this.indicatorId), this.supportedProperties);\n }\n return true;\n }\n public readonly indicatorId: number;\n public readonly nextIndicatorId: number;\n public readonly supportedProperties: readonly number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const bitmask = this.supportedProperties.length > 0\n ? encodeBitMask(this.supportedProperties, undefined, 0)\n : new Bytes();\n this.payload = Bytes.concat([\n [\n this.indicatorId,\n this.nextIndicatorId,\n bitmask.length,\n ],\n bitmask,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n indicator: getIndicatorName(this.indicatorId),\n \"supported properties\": this.supportedProperties\n .map((id) => getIndicatorProperty(id)?.label\n ?? `Unknown (${num2hex(id)})`)\n .join(\", \"),\n \"next indicator\": getIndicatorName(this.nextIndicatorId),\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCSupportedGetOptions {\n indicatorId: number;\n}\nfunction testResponseForIndicatorSupportedGet(sent: IndicatorCCSupportedGet, received: IndicatorCCSupportedReport) {\n return sent.indicatorId === 0 || received.indicatorId === sent.indicatorId;\n}\n@CCCommand(IndicatorCommand.SupportedGet)\n@expectedCCResponse(IndicatorCCSupportedReport, testResponseForIndicatorSupportedGet)\nexport class IndicatorCCSupportedGet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCSupportedGetOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSupportedGet {\n validatePayload(raw.payload.length >= 1);\n const indicatorId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n });\n }\n public indicatorId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.indicatorId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n indicator: getIndicatorName(this.indicatorId),\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCDescriptionReportOptions {\n indicatorId: number;\n description: string;\n}\n@CCCommand(IndicatorCommand.DescriptionReport)\nexport class IndicatorCCDescriptionReport extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCDescriptionReportOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n this.description = options.description;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCDescriptionReport {\n validatePayload(raw.payload.length >= 2);\n const indicatorId = raw.payload[0];\n const descrptionLength = raw.payload[1];\n validatePayload(raw.payload.length >= 2 + descrptionLength);\n const description: string = raw.payload\n .subarray(2, 2 + descrptionLength)\n .toString(\"utf8\");\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n description,\n });\n }\n public indicatorId: number;\n public description: string;\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n if (this.description) {\n this.setValue(ctx, IndicatorCCValues.indicatorDescription(this.indicatorId), this.description);\n }\n return true;\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const description = Bytes.from(this.description, \"utf8\");\n this.payload = Bytes.concat([\n [this.indicatorId, description.length],\n description,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"indicator ID\": this.indicatorId,\n description: this.description || \"(none)\",\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCDescriptionGetOptions {\n indicatorId: number;\n}\nfunction testResponseForIndicatorDescriptionGet(sent: IndicatorCCDescriptionGet, received: IndicatorCCDescriptionReport) {\n return received.indicatorId === sent.indicatorId;\n}\n@CCCommand(IndicatorCommand.DescriptionGet)\n@expectedCCResponse(IndicatorCCDescriptionReport, testResponseForIndicatorDescriptionGet)\nexport class IndicatorCCDescriptionGet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCDescriptionGetOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCDescriptionGet {\n validatePayload(raw.payload.length >= 1);\n const indicatorId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n });\n }\n public indicatorId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.indicatorId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"indicator ID\": this.indicatorId,\n },\n };\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as __validateArgs from \"./IndicatorCC._validateArgs.js\";\nconst { validateArgs_IndicatorCCAPI_get, validateArgs_IndicatorCCAPI_set, validateArgs_IndicatorCCAPI_sendReport, validateArgs_IndicatorCCAPI_getSupported, validateArgs_IndicatorCCAPI_reportSupported, validateArgs_IndicatorCCAPI_reportDescription, validateArgs_IndicatorCCAPI_setTimeout, validateArgs_IndicatorCCAPI_getTimeout, validateArgs_IndicatorCCAPI_getDescription } = __validateArgs;\nimport { CommandClasses, type EndpointId, type GetValueDB, Indicator, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, type ValueID, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, encodeBitMask, getIndicatorProperty, parseBitMask, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, num2hex } from \"@zwave-js/shared\";\nimport { clamp, roundTo } from \"alcalzone-shared/math\";\nimport { isArray } from \"alcalzone-shared/typeguards\";\nimport { CCAPI, POLL_VALUE, type PollValueImplementation, SET_VALUE, type SetValueImplementation, throwUnsupportedProperty, throwWrongValueType, } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type PersistValuesContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { IndicatorCommand, type IndicatorTimeout } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nfunction isManufacturerDefinedIndicator(indicatorId: number): boolean {\n return indicatorId >= 0x80 && indicatorId <= 0x9f;\n}\nconst timeoutStringRegex = /^(?:(?<hoursStr>\\d+)h)?(?:(?<minutesStr>\\d+)m)?(?:(?<secondsStr>\\d+(?:\\.\\d+)?)s)?$/i;\nconst MAX_INDICATOR_OBJECTS = 31;\nfunction parseIndicatorTimeoutString(text: string): IndicatorTimeout | undefined {\n if (!text.length)\n return undefined;\n // Try to parse the numeric parts from a timeout\n const match = timeoutStringRegex.exec(text);\n if (!match)\n return undefined;\n const { hoursStr, minutesStr, secondsStr } = match.groups!;\n if (!hoursStr && !minutesStr && !secondsStr)\n return undefined;\n const ret: IndicatorTimeout = {};\n if (hoursStr) {\n ret.hours = clamp(parseInt(hoursStr, 10), 0, 255);\n }\n if (minutesStr) {\n ret.minutes = clamp(parseInt(minutesStr, 10), 0, 255);\n }\n if (secondsStr) {\n ret.seconds = clamp(roundTo(parseFloat(secondsStr), 2), 0, 59.99);\n }\n return ret;\n}\nfunction groupByIndicatorId(values: IndicatorObject[]): Map<number, IndicatorObject[]> {\n const ret = new Map();\n for (const value of values) {\n if (!ret.has(value.indicatorId)) {\n ret.set(value.indicatorId, []);\n }\n ret.get(value.indicatorId)!.push(value);\n }\n return ret;\n}\nfunction indicatorObjectsToTimeout(values: IndicatorObject[]): IndicatorTimeout | undefined {\n const timeoutValues = values.filter((v) => [0x0a, 0x06, 0x07, 0x08].includes(v.propertyId));\n if (!timeoutValues.length)\n return undefined;\n const hours = (timeoutValues.find((v) => v.propertyId === 0x0a)?.value\n ?? 0) as number;\n const minutes = (timeoutValues.find((v) => v.propertyId === 0x06)?.value\n ?? 0) as number;\n const seconds = clamp((timeoutValues.find((v) => v.propertyId === 0x07)\n ?.value as number) ?? 0, 0, 59)\n + clamp((timeoutValues.find((v) => v.propertyId === 0x08)\n ?.value as number) ?? 0, 0, 99)\n / 100;\n return {\n hours,\n minutes,\n seconds,\n };\n}\nimport { IndicatorCCValues } from \"./_CCValues.generated.js\";\nexport { IndicatorCCValues };\n/**\n * Looks up the configured metadata for the given indicator and property\n */\nfunction getIndicatorMetadata(indicatorId: Indicator, propertyId: number, overrideIndicatorLabel?: string): ValueMetadata {\n const label = getIndicatorLabel(indicatorId, propertyId, overrideIndicatorLabel);\n const prop = getIndicatorProperty(propertyId);\n const baseMetadata = IndicatorCCValues.valueV2(indicatorId, propertyId).meta;\n if (!prop) {\n return {\n ...baseMetadata,\n ...ValueMetadata.UInt8,\n label,\n };\n }\n else {\n if (prop.type === \"boolean\") {\n return {\n ...baseMetadata,\n ...ValueMetadata.Boolean,\n label,\n description: prop.description,\n readable: !prop.readonly,\n };\n }\n else {\n // UInt8\n return {\n ...baseMetadata,\n ...ValueMetadata.UInt8,\n label,\n description: prop.description,\n min: prop.min,\n max: prop.max,\n readable: !prop.readonly,\n };\n }\n }\n}\nfunction getIndicatorName(indicatorId: number | undefined): string {\n if (indicatorId) {\n return getEnumMemberName(Indicator, indicatorId);\n }\n else {\n return \"Default\";\n }\n}\n/** Returns a user-friendly label for an indicator */\nfunction getIndicatorLabel(indicatorId: number, propertyId: number, overrideIndicatorLabel?: string, overridePropertyLabel?: string): string {\n const defaultName = overrideIndicatorLabel || getIndicatorName(indicatorId);\n // Without a defined property, we cannot suggest a better label\n const prop = getIndicatorProperty(propertyId);\n if (!prop)\n return defaultName;\n // For indicators that correspond to an LCD or buttons,\n // the indicator enum names are enough\n if (indicatorId >= Indicator[\"LCD backlight\"]\n && indicatorId <= Indicator[\"Button 12 indication\"]\n && (propertyId === 0x01 /* Multilevel */\n || propertyId === 0x02 /* Binary */\n || overridePropertyLabel) // custom property label\n ) {\n let ret: string = (Indicator as any)[indicatorId];\n // Append the overridden property label if it exists\n if (overridePropertyLabel) {\n ret += ` - ${overridePropertyLabel}`;\n }\n return ret;\n }\n // Default to the current behavior of <indicator name> - <property label>\n return `${defaultName} - ${overridePropertyLabel || prop.label}`;\n}\nexport function shouldExposeIndicatorValue(indicatorId: number, propertyId: number): boolean {\n // Many possible indicator values are not suitable to be exposed as CC values,\n // usually because they need to be set in groups.\n // Indicator properties that should be exposed are marked as such\n const prop = getIndicatorProperty(propertyId);\n if (prop && !prop.exposeAsValue) {\n return false;\n }\n // Unless we know better, expose anyways\n return true;\n}\n@API(CommandClasses.Indicator)\nexport class IndicatorCCAPI extends CCAPI {\n public supportsCommand(cmd: IndicatorCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case IndicatorCommand.Get:\n case IndicatorCommand.Report:\n return this.isSinglecast();\n case IndicatorCommand.Set:\n return true; // This is mandatory\n case IndicatorCommand.SupportedGet:\n case IndicatorCommand.SupportedReport:\n return this.version >= 2 && this.isSinglecast();\n case IndicatorCommand.DescriptionGet:\n case IndicatorCommand.DescriptionReport:\n return this.version >= 4 && this.isSinglecast();\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: IndicatorCCAPI, { property, propertyKey }, value) {\n const valueId: ValueID = {\n commandClass: this.ccId,\n endpoint: this.endpoint.index,\n property,\n propertyKey,\n };\n if (property === \"value\") {\n // V1 value\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n return this.set(value);\n }\n else if (IndicatorCCValues.valueV2.is(valueId)) {\n const indicatorId = property as number;\n const propertyId = propertyKey as number;\n const expectedType = getIndicatorMetadata(indicatorId, propertyId).type as \"number\" | \"boolean\";\n // V2+ value\n if (typeof value !== expectedType) {\n throwWrongValueType(this.ccId, property, expectedType, typeof value);\n }\n return this.set([\n {\n indicatorId,\n propertyId,\n value: value as any,\n },\n ]);\n }\n else if (IndicatorCCValues.timeout.is(valueId)) {\n const indicatorId = property as number;\n if (typeof value !== \"string\") {\n throwWrongValueType(this.ccId, property, \"string\", typeof value);\n }\n return this.setTimeout(indicatorId, value);\n }\n else if (IndicatorCCValues.identify.is(valueId)) {\n if (typeof value !== \"boolean\") {\n throwWrongValueType(this.ccId, property, \"boolean\", typeof value);\n }\n return this.identify();\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: IndicatorCCAPI, { property }) {\n if (property === \"value\")\n return this.get();\n if (typeof property === \"number\") {\n return this.get(property);\n }\n throwUnsupportedProperty(this.ccId, property);\n };\n }\n @validateArgs_IndicatorCCAPI_get()\n public async get(indicatorId?: number): Promise<MaybeNotKnown<number | IndicatorObject[]>> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Get);\n const cc = new IndicatorCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n });\n const response = await this.host.sendCommand<IndicatorCCReport>(cc, this.commandOptions);\n if (!response)\n return;\n if (response.values)\n return response.values;\n return response.indicator0Value!;\n }\n @validateArgs_IndicatorCCAPI_set()\n public async set(value: number | IndicatorObject[]): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Set);\n if (this.version === 1 && typeof value !== \"number\") {\n throw new ZWaveError(`Node ${this.endpoint\n .nodeId as number} only supports IndicatorCC V1 which requires a single value to be set`, ZWaveErrorCodes.Argument_Invalid);\n }\n else if (this.version >= 2\n && isArray(value)\n && value.length > MAX_INDICATOR_OBJECTS) {\n throw new ZWaveError(`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`, ZWaveErrorCodes.Argument_Invalid);\n }\n const cc = new IndicatorCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...(typeof value === \"number\" ? { value } : { values: value }),\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_IndicatorCCAPI_sendReport()\n public async sendReport(options: IndicatorCCReportOptions): Promise<void> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.Report);\n const cc = new IndicatorCCReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_IndicatorCCAPI_getSupported()\n public async getSupported(indicatorId: number): Promise<{\n indicatorId?: number;\n supportedProperties: readonly number[];\n nextIndicatorId: number;\n } | undefined> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.SupportedGet);\n const cc = new IndicatorCCSupportedGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n });\n const response = await this.host.sendCommand<IndicatorCCSupportedReport>(cc, this.commandOptions);\n if (response) {\n return {\n // Include the actual indicator ID if 0x00 was requested\n ...(indicatorId === 0x00\n ? { indicatorId: response.indicatorId }\n : undefined),\n supportedProperties: response.supportedProperties,\n nextIndicatorId: response.nextIndicatorId,\n };\n }\n }\n @validateArgs_IndicatorCCAPI_reportSupported()\n public async reportSupported(indicatorId: number, supportedProperties: readonly number[], nextIndicatorId: number): Promise<void> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.SupportedReport);\n const cc = new IndicatorCCSupportedReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n supportedProperties,\n nextIndicatorId,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_IndicatorCCAPI_reportDescription()\n public async reportDescription(indicatorId: number, description: string): Promise<void> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.DescriptionReport);\n const cc = new IndicatorCCDescriptionReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n description,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n /**\n * Instructs the node to identify itself. Available starting with V3 of this CC.\n */\n public async identify(): Promise<SupervisionResult | undefined> {\n if (this.version < 3) {\n throw new ZWaveError(`The identify command is only supported in Indicator CC version 3 and above`, ZWaveErrorCodes.CC_NotSupported);\n }\n return this.set([\n {\n indicatorId: 0x50,\n propertyId: 0x03,\n value: 0x08,\n },\n {\n indicatorId: 0x50,\n propertyId: 0x04,\n value: 0x03,\n },\n {\n indicatorId: 0x50,\n propertyId: 0x05,\n value: 0x06,\n },\n ]);\n }\n /**\n * Set a timeout for a given indicator ID after which the indicator will be turned off.\n * @param timeout The timeout in one of the supported forms:\n * \t- a timeout string in the form `12h18m17.59s`. All parts (hours, minutes, seconds, hundredths) are optional, but must be specified in this order. An empty string will be treated like `undefined`.\n * \t- an object specifying the timeout parts. An empty object will be treated like `undefined`.\n * \t- `undefined` to disable the timeout.\n */\n @validateArgs_IndicatorCCAPI_setTimeout()\n public async setTimeout(indicatorId: number, timeout: IndicatorTimeout | string | undefined): Promise<SupervisionResult | undefined> {\n this.assertPhysicalEndpoint(this.endpoint);\n if (this.version < 3) {\n throw new ZWaveError(`The setTimeout command is only supported in Indicator CC version 3 and above`, ZWaveErrorCodes.CC_NotSupported);\n }\n if (typeof timeout === \"string\") {\n if (timeout === \"\") {\n timeout = undefined;\n }\n else {\n const parsed = parseIndicatorTimeoutString(timeout);\n if (!parsed) {\n throw new ZWaveError(`The timeout string \"${timeout}\" is not valid`, ZWaveErrorCodes.Argument_Invalid);\n }\n timeout = parsed;\n }\n }\n const supportedPropertyIDs = IndicatorCC.getSupportedPropertyIDsCached(this.host, this.endpoint, indicatorId);\n const objects: IndicatorObject[] = [];\n if (timeout) {\n const hours = timeout.hours ?? 0;\n const minutes = timeout.minutes ?? 0;\n const seconds = Math.floor(timeout.seconds ?? 0);\n const hundredths = Math.round(((timeout.seconds ?? 0) % 1) * 100);\n if (hours) {\n if (!supportedPropertyIDs?.includes(0x0a)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in hours`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x0a,\n value: hours,\n });\n }\n if (minutes) {\n if (!supportedPropertyIDs?.includes(0x06)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in minutes`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x06,\n value: minutes,\n });\n }\n if (seconds) {\n if (!supportedPropertyIDs?.includes(0x07)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in seconds`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x07,\n value: seconds,\n });\n }\n if (hundredths) {\n if (!supportedPropertyIDs?.includes(0x08)) {\n throw new ZWaveError(`The indicator ${indicatorId} does not support setting the timeout in 1/100 seconds`, ZWaveErrorCodes.Argument_Invalid);\n }\n objects.push({\n indicatorId,\n propertyId: 0x08,\n value: hundredths,\n });\n }\n }\n if (!objects.length) {\n objects.push(...(supportedPropertyIDs ?? []).map((p) => ({\n indicatorId,\n propertyId: p,\n value: 0,\n })));\n }\n return this.set(objects);\n }\n /**\n * Returns the timeout after which the given indicator will be turned off.\n */\n @validateArgs_IndicatorCCAPI_getTimeout()\n public async getTimeout(indicatorId: number): Promise<MaybeNotKnown<IndicatorTimeout>> {\n const values = await this.get(indicatorId);\n if (!isArray(values))\n return;\n return indicatorObjectsToTimeout(values);\n }\n @validateArgs_IndicatorCCAPI_getDescription()\n public async getDescription(indicatorId: number): Promise<MaybeNotKnown<string>> {\n this.assertSupportsCommand(IndicatorCommand, IndicatorCommand.DescriptionGet);\n const cc = new IndicatorCCDescriptionGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n indicatorId,\n });\n const response = await this.host.sendCommand<IndicatorCCDescriptionReport>(cc, this.commandOptions);\n return response?.description;\n }\n}\n@commandClass(CommandClasses.Indicator)\n@implementedVersion(4)\n@ccValues(IndicatorCCValues)\nexport class IndicatorCC extends CommandClass {\n declare ccCommand: IndicatorCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Indicator, ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n if (api.version > 1) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"scanning supported indicator IDs...\",\n direction: \"outbound\",\n });\n // Query ID 0 to get the first supported ID\n let curId = 0x00;\n const supportedIndicatorIds: number[] = [];\n do {\n const supportedResponse = await api.getSupported(curId);\n if (!supportedResponse) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"Time out while scanning supported indicator IDs, skipping interview...\",\n level: \"warn\",\n });\n return;\n }\n if (supportedResponse.supportedProperties.length > 0) {\n supportedIndicatorIds.push(supportedResponse.indicatorId ?? curId);\n }\n curId = supportedResponse.nextIndicatorId;\n } while (curId !== 0x00);\n // The IDs are not stored by the report CCs so store them here once we have all of them\n this.setValue(ctx, IndicatorCCValues.supportedIndicatorIds, supportedIndicatorIds);\n const logMessage = `supported indicator IDs: ${supportedIndicatorIds.join(\", \")}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n if (api.version >= 4) {\n const manufacturerDefinedIndicatorIds = supportedIndicatorIds\n .filter((id) => isManufacturerDefinedIndicator(id));\n if (manufacturerDefinedIndicatorIds.length > 0) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"retrieving description for manufacturer-defined indicator IDs...\",\n direction: \"outbound\",\n });\n for (const id of manufacturerDefinedIndicatorIds) {\n await api.getDescription(id);\n }\n }\n }\n }\n // Query current values\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Indicator, ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n if (api.version === 1) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting current indicator value...\",\n direction: \"outbound\",\n });\n await api.get();\n }\n else {\n const supportedIndicatorIds: number[] = this.getValue(ctx, IndicatorCCValues.supportedIndicatorIds) ?? [];\n for (const indicatorId of supportedIndicatorIds) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `requesting current indicator value (id = ${num2hex(indicatorId)})...`,\n direction: \"outbound\",\n });\n await api.get(indicatorId);\n }\n }\n }\n public translatePropertyKey(ctx: GetValueDB, property: string | number, propertyKey: string | number): string | undefined {\n if (property === \"value\") {\n // CC version 1 only has a single value that doesn't need to be translated\n return undefined;\n }\n else if (typeof property === \"number\"\n && typeof propertyKey === \"number\") {\n // The indicator property is our property key\n const prop = getIndicatorProperty(propertyKey);\n if (prop)\n return prop.label;\n }\n else if (typeof property === \"number\"\n && propertyKey === \"timeout\") {\n return \"Timeout\";\n }\n return super.translatePropertyKey(ctx, property, propertyKey);\n }\n public translateProperty(ctx: GetValueDB, property: string | number, propertyKey?: string | number): string {\n if (typeof property === \"number\") {\n if (typeof propertyKey === \"number\" || propertyKey === \"timeout\") {\n // The indicator corresponds to our property\n if (property in Indicator)\n return Indicator[property];\n }\n }\n return super.translateProperty(ctx, property, propertyKey);\n }\n protected supportsV2Indicators(ctx: GetValueDB): boolean {\n // First test if there are any indicator ids defined\n const supportedIndicatorIds = this.getValue<number[]>(ctx, IndicatorCCValues.supportedIndicatorIds);\n if (!supportedIndicatorIds?.length)\n return false;\n // Then test if there are any property ids defined\n return supportedIndicatorIds.some((indicatorId) => !!this.getValue<number[]>(ctx, IndicatorCCValues.supportedPropertyIDs(indicatorId))?.length);\n }\n protected getManufacturerDefinedIndicatorLabel(ctx: GetValueDB, indicatorId: number): string | undefined {\n if (isManufacturerDefinedIndicator(indicatorId)) {\n return this.getValue(ctx, IndicatorCCValues.indicatorDescription(indicatorId));\n }\n }\n public static getSupportedPropertyIDsCached(ctx: GetValueDB, endpoint: EndpointId, indicatorId: number): MaybeNotKnown<number[]> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(IndicatorCCValues.supportedPropertyIDs(indicatorId).endpoint(endpoint.index));\n }\n}\n// @publicAPI\nexport interface IndicatorObject {\n indicatorId: number;\n propertyId: number;\n value: number | boolean;\n}\n// @publicAPI\nexport type IndicatorCCSetOptions = {\n value: number;\n} | {\n values: IndicatorObject[];\n};\n@CCCommand(IndicatorCommand.Set)\n@useSupervision()\nexport class IndicatorCCSet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCSetOptions>) {\n super(options);\n if (\"value\" in options) {\n this.indicator0Value = options.value;\n }\n else {\n this.values = options.values;\n }\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSet {\n validatePayload(raw.payload.length >= 1);\n const objCount = raw.payload.length >= 2\n ? raw.payload[1] & 0b11111\n : 0;\n if (objCount === 0) {\n const indicator0Value = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n value: indicator0Value,\n });\n }\n validatePayload(raw.payload.length >= 2 + 3 * objCount);\n const values: IndicatorObject[] = [];\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n const value: IndicatorObject = {\n indicatorId: raw.payload[offset],\n propertyId: raw.payload[offset + 1],\n value: raw.payload[offset + 2],\n };\n values.push(value);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n values,\n });\n }\n public indicator0Value: number | undefined;\n public values: IndicatorObject[] | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.values != undefined) {\n // V2+\n this.payload = Bytes.alloc(2 + 3 * this.values.length, 0);\n // Byte 0 is the legacy value\n const objCount = this.values.length & MAX_INDICATOR_OBJECTS;\n this.payload[1] = objCount;\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n this.payload[offset] = this.values[i].indicatorId;\n this.payload[offset + 1] = this.values[i].propertyId;\n const value = this.values[i].value;\n this.payload[offset + 2] = value === true\n ? 0xff\n : value === false\n ? 0x00\n : value;\n }\n }\n else {\n // V1\n this.payload = Bytes.from([this.indicator0Value ?? 0]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n if (this.indicator0Value != undefined) {\n message[\"indicator 0 value\"] = this.indicator0Value;\n }\n if (this.values != undefined) {\n message.values = this.values\n .map((v) => `\n\u00B7 indicatorId: ${v.indicatorId}\n propertyId: ${v.propertyId}\n value: ${v.value}`)\n .join(\"\");\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport type IndicatorCCReportOptions = {\n value: number;\n} | {\n values: IndicatorObject[];\n};\n@CCCommand(IndicatorCommand.Report)\nexport class IndicatorCCReport extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCReportOptions>) {\n super(options);\n if (\"value\" in options) {\n this.indicator0Value = options.value;\n }\n else if (\"values\" in options) {\n if (options.values.length > MAX_INDICATOR_OBJECTS) {\n throw new ZWaveError(`Only ${MAX_INDICATOR_OBJECTS} indicator values can be set at a time!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.values = options.values;\n }\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCReport {\n validatePayload(raw.payload.length >= 1);\n const objCount = raw.payload.length >= 2\n ? raw.payload[1] & 0b11111\n : 0;\n if (objCount === 0) {\n const indicator0Value = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n value: indicator0Value,\n });\n }\n validatePayload(raw.payload.length >= 2 + 3 * objCount);\n const values: IndicatorObject[] = [];\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n const value: IndicatorObject = {\n indicatorId: raw.payload[offset],\n propertyId: raw.payload[offset + 1],\n value: raw.payload[offset + 2],\n };\n values.push(value);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n values,\n });\n // TODO: Think if we want this:\n // // If not all Property IDs are included in the command for the actual Indicator ID,\n // // a controlling node MUST assume non-specified Property IDs values to be 0x00.\n // const indicatorId = this.values[0].indicatorId;\n // const supportedIndicatorProperties =\n // \tvalueDB.getValue<number[]>(\n // \t\tgetSupportedPropertyIDsValueID(\n // \t\t\tthis.endpointIndex,\n // \t\t\tindicatorId,\n // \t\t),\n // \t) ?? [];\n // // Find out which ones are missing\n // const missingIndicatorProperties = supportedIndicatorProperties.filter(\n // \tprop =>\n // \t\t!this.values!.find(({ propertyId }) => prop === propertyId),\n // );\n // // And assume they are 0 (false)\n // for (const missing of missingIndicatorProperties) {\n // \tthis.setIndicatorValue({\n // \t\tindicatorId,\n // \t\tpropertyId: missing,\n // \t\tvalue: 0,\n // \t});\n // }\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n if (this.indicator0Value != undefined) {\n if (!this.supportsV2Indicators(ctx)) {\n // Publish the value\n const valueV1 = IndicatorCCValues.valueV1;\n this.setMetadata(ctx, valueV1);\n this.setValue(ctx, valueV1, this.indicator0Value);\n }\n else {\n if (this.isSinglecast()) {\n // Don't!\n ctx.logNode(this.nodeId, {\n message: `ignoring V1 indicator report because the node supports V2 indicators`,\n direction: \"none\",\n endpoint: this.endpointIndex,\n });\n }\n }\n }\n else if (this.values) {\n // Store the simple values first\n for (const value of this.values) {\n this.setIndicatorValue(ctx, value);\n }\n // Then group values into the convenience properties\n const groupedValues = groupByIndicatorId(this.values);\n for (const [indicatorId, values] of groupedValues) {\n // Some devices report all properties it supports in every report,\n // even if it does not support all properties for the given indicator ID.\n // To avoid confusion, we need to filter out the unsupported properties\n const supportedPropertyIDs = this.getValue<number[]>(ctx, IndicatorCCValues.supportedPropertyIDs(indicatorId)) ?? [];\n const filteredValues = values.filter((v) => supportedPropertyIDs.includes(v.propertyId));\n const overrideIndicatorLabel = this\n .getManufacturerDefinedIndicatorLabel(ctx, indicatorId);\n // ... timeout\n const timeout = indicatorObjectsToTimeout(filteredValues);\n if (timeout) {\n let timeoutString = \"\";\n if (timeout?.hours)\n timeoutString += `${timeout.hours}h`;\n if (timeout?.minutes) {\n timeoutString += `${timeout.minutes}m`;\n }\n if (timeout?.seconds) {\n timeoutString += `${timeout.seconds}s`;\n }\n const timeoutValue = IndicatorCCValues.timeout(indicatorId);\n const metadata: ValueMetadata = {\n ...timeoutValue.meta,\n label: getIndicatorLabel(indicatorId, 0x06, // This is actually ignored, but pass a valid ID for clarity\n overrideIndicatorLabel, \"Timeout\"),\n };\n this.setMetadata(ctx, timeoutValue, metadata);\n this.setValue(ctx, timeoutValue, timeoutString);\n }\n }\n }\n return true;\n }\n public readonly indicator0Value: number | undefined;\n public readonly values: IndicatorObject[] | undefined;\n private setIndicatorValue(ctx: GetValueDB, value: IndicatorObject): void {\n // Manufacturer-defined indicators may need a custom label\n const overrideIndicatorLabel = this\n .getManufacturerDefinedIndicatorLabel(ctx, value.indicatorId);\n const metadata = getIndicatorMetadata(value.indicatorId, value.propertyId, overrideIndicatorLabel);\n // Some values need to be converted\n if (metadata.type === \"boolean\") {\n value.value = !!value.value;\n }\n // Only expose the value if it should be user-facing\n if (value.indicatorId === Indicator[\"Node Identify\"]) {\n return;\n }\n const prop = getIndicatorProperty(value.propertyId);\n if (!prop?.exposeAsValue)\n return;\n // And only if it is actually supported and not just reported by accident\n const supportedPropertyIDs = this.getValue<number[]>(ctx, IndicatorCCValues.supportedPropertyIDs(value.indicatorId)) ?? [];\n if (!supportedPropertyIDs.includes(value.propertyId))\n return;\n // Publish the value\n const valueV2 = IndicatorCCValues.valueV2(value.indicatorId, value.propertyId);\n this.setMetadata(ctx, valueV2, metadata);\n this.setValue(ctx, valueV2, value.value);\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.values != undefined) {\n // V2+\n this.payload = Bytes.alloc(2 + 3 * this.values.length, 0);\n // Byte 0 is the legacy value\n const objCount = this.values.length & MAX_INDICATOR_OBJECTS;\n this.payload[1] = objCount;\n for (let i = 0; i < objCount; i++) {\n const offset = 2 + 3 * i;\n this.payload[offset] = this.values[i].indicatorId;\n this.payload[offset + 1] = this.values[i].propertyId;\n const value = this.values[i].value;\n this.payload[offset + 2] = value === true\n ? 0xff\n : value === false\n ? 0x00\n : value;\n }\n }\n else {\n // V1\n this.payload = Bytes.from([this.indicator0Value ?? 0]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {};\n if (this.indicator0Value != undefined) {\n message[\"indicator 0 value\"] = this.indicator0Value;\n }\n if (this.values != undefined) {\n message.values = this.values\n .map((v) => `\n\u00B7 indicatorId: ${v.indicatorId}\n propertyId: ${v.propertyId}\n value: ${v.value}`)\n .join(\"\");\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCGetOptions {\n indicatorId?: number;\n}\n@CCCommand(IndicatorCommand.Get)\n@expectedCCResponse(IndicatorCCReport)\nexport class IndicatorCCGet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCGetOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCGet {\n let indicatorId: number | undefined;\n if (raw.payload.length > 0) {\n indicatorId = raw.payload[0];\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n });\n }\n public indicatorId: number | undefined;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n if (this.indicatorId != undefined) {\n this.payload = Bytes.from([this.indicatorId]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n indicator: getIndicatorName(this.indicatorId),\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCSupportedReportOptions {\n indicatorId: number;\n nextIndicatorId: number;\n supportedProperties: readonly number[];\n}\n@CCCommand(IndicatorCommand.SupportedReport)\nexport class IndicatorCCSupportedReport extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCSupportedReportOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n this.nextIndicatorId = options.nextIndicatorId;\n this.supportedProperties = options.supportedProperties;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSupportedReport {\n validatePayload(raw.payload.length >= 3);\n const indicatorId = raw.payload[0];\n const nextIndicatorId = raw.payload[1];\n const bitMaskLength = raw.payload[2] & 0b11111;\n let supportedProperties: readonly number[];\n if (bitMaskLength === 0) {\n supportedProperties = [];\n }\n else {\n validatePayload(raw.payload.length >= 3 + bitMaskLength);\n // The bit mask starts at 0, but bit 0 is not used\n supportedProperties = parseBitMask(raw.payload.subarray(3, 3 + bitMaskLength), 0).filter((v) => v !== 0);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n nextIndicatorId,\n supportedProperties,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n if (this.indicatorId !== 0x00) {\n // Remember which property IDs are supported\n this.setValue(ctx, IndicatorCCValues.supportedPropertyIDs(this.indicatorId), this.supportedProperties);\n }\n return true;\n }\n public readonly indicatorId: number;\n public readonly nextIndicatorId: number;\n public readonly supportedProperties: readonly number[];\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const bitmask = this.supportedProperties.length > 0\n ? encodeBitMask(this.supportedProperties, undefined, 0)\n : new Bytes();\n this.payload = Bytes.concat([\n [\n this.indicatorId,\n this.nextIndicatorId,\n bitmask.length,\n ],\n bitmask,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n indicator: getIndicatorName(this.indicatorId),\n \"supported properties\": this.supportedProperties\n .map((id) => getIndicatorProperty(id)?.label\n ?? `Unknown (${num2hex(id)})`)\n .join(\", \"),\n \"next indicator\": getIndicatorName(this.nextIndicatorId),\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCSupportedGetOptions {\n indicatorId: number;\n}\nfunction testResponseForIndicatorSupportedGet(sent: IndicatorCCSupportedGet, received: IndicatorCCSupportedReport) {\n return sent.indicatorId === 0 || received.indicatorId === sent.indicatorId;\n}\n@CCCommand(IndicatorCommand.SupportedGet)\n@expectedCCResponse(IndicatorCCSupportedReport, testResponseForIndicatorSupportedGet)\nexport class IndicatorCCSupportedGet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCSupportedGetOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCSupportedGet {\n validatePayload(raw.payload.length >= 1);\n const indicatorId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n });\n }\n public indicatorId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.indicatorId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n indicator: getIndicatorName(this.indicatorId),\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCDescriptionReportOptions {\n indicatorId: number;\n description: string;\n}\n@CCCommand(IndicatorCommand.DescriptionReport)\nexport class IndicatorCCDescriptionReport extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCDescriptionReportOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n this.description = options.description;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCDescriptionReport {\n validatePayload(raw.payload.length >= 2);\n const indicatorId = raw.payload[0];\n const descrptionLength = raw.payload[1];\n validatePayload(raw.payload.length >= 2 + descrptionLength);\n const description: string = raw.payload\n .subarray(2, 2 + descrptionLength)\n .toString(\"utf8\");\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n description,\n });\n }\n public indicatorId: number;\n public description: string;\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n if (this.description) {\n this.setValue(ctx, IndicatorCCValues.indicatorDescription(this.indicatorId), this.description);\n }\n return true;\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const description = Bytes.from(this.description, \"utf8\");\n this.payload = Bytes.concat([\n [this.indicatorId, description.length],\n description,\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"indicator ID\": this.indicatorId,\n description: this.description || \"(none)\",\n },\n };\n }\n}\n// @publicAPI\nexport interface IndicatorCCDescriptionGetOptions {\n indicatorId: number;\n}\nfunction testResponseForIndicatorDescriptionGet(sent: IndicatorCCDescriptionGet, received: IndicatorCCDescriptionReport) {\n return received.indicatorId === sent.indicatorId;\n}\n@CCCommand(IndicatorCommand.DescriptionGet)\n@expectedCCResponse(IndicatorCCDescriptionReport, testResponseForIndicatorDescriptionGet)\nexport class IndicatorCCDescriptionGet extends IndicatorCC {\n public constructor(options: WithAddress<IndicatorCCDescriptionGetOptions>) {\n super(options);\n this.indicatorId = options.indicatorId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): IndicatorCCDescriptionGet {\n validatePayload(raw.payload.length >= 1);\n const indicatorId = raw.payload[0];\n return new this({\n nodeId: ctx.sourceNodeId,\n indicatorId,\n });\n }\n public indicatorId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.indicatorId]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"indicator ID\": this.indicatorId,\n },\n };\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qBAAgC;AAEhC,kBAAwU;AACxU,oBAAkD;AAClD,kBAA+B;AAC/B,wBAAwB;AACxB,iBAAwJ;AACxJ,0BAAkJ;AAClJ,oCAAgH;AAEhH,mBAAwD;AA0DxD,gCAAkC;AAnElC,MAAM,EAAE,iCAAiC,iCAAiC,wCAAwC,0CAA0C,6CAA6C,+CAA+C,wCAAwC,wCAAwC,2CAA0C,IAAK;AAWvX,SAAS,+BAA+B,aAAmB;AACvD,SAAO,eAAe,OAAQ,eAAe;AACjD;AAFS;AAGT,MAAM,qBAAqB;AAC3B,MAAM,wBAAwB;AAC9B,SAAS,4BAA4B,MAAY;AAC7C,MAAI,CAAC,KAAK;AACN,WAAO;AAEX,QAAM,QAAQ,mBAAmB,KAAK,IAAI;AAC1C,MAAI,CAAC;AACD,WAAO;AACX,QAAM,EAAE,UAAU,YAAY,WAAU,IAAK,MAAM;AACnD,MAAI,CAAC,YAAY,CAAC,cAAc,CAAC;AAC7B,WAAO;AACX,QAAM,MAAwB,CAAA;AAC9B,MAAI,UAAU;AACV,QAAI,YAAQ,mBAAM,SAAS,UAAU,EAAE,GAAG,GAAG,GAAG;EACpD;AACA,MAAI,YAAY;AACZ,QAAI,cAAU,mBAAM,SAAS,YAAY,EAAE,GAAG,GAAG,GAAG;EACxD;AACA,MAAI,YAAY;AACZ,QAAI,cAAU,uBAAM,qBAAQ,WAAW,UAAU,GAAG,CAAC,GAAG,GAAG,KAAK;EACpE;AACA,SAAO;AACX;AArBS;AAsBT,SAAS,mBAAmB,QAAyB;AACjD,QAAM,MAAM,oBAAI,IAAG;AACnB,aAAW,SAAS,QAAQ;AACxB,QAAI,CAAC,IAAI,IAAI,MAAM,WAAW,GAAG;AAC7B,UAAI,IAAI,MAAM,aAAa,CAAA,CAAE;IACjC;AACA,QAAI,IAAI,MAAM,WAAW,EAAG,KAAK,KAAK;EAC1C;AACA,SAAO;AACX;AATS;AAUT,SAAS,0BAA0B,QAAyB;AACxD,QAAM,gBAAgB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAM,GAAM,GAAM,CAAI,EAAE,SAAS,EAAE,UAAU,CAAC;AAC1F,MAAI,CAAC,cAAc;AACf,WAAO;AACX,QAAM,QAAS,cAAc,KAAK,CAAC,MAAM,EAAE,eAAe,EAAI,GAAG,SAC1D;AACP,QAAM,UAAW,cAAc,KAAK,CAAC,MAAM,EAAE,eAAe,CAAI,GAAG,SAC5D;AACP,QAAM,cAAU,mBAAO,cAAc,KAAK,CAAC,MAAM,EAAE,eAAe,CAAI,GAChE,SAAoB,GAAG,GAAG,EAAE,QAC5B,mBAAO,cAAc,KAAK,CAAC,MAAM,EAAE,eAAe,CAAI,GAClD,SAAoB,GAAG,GAAG,EAAE,IAC5B;AACV,SAAO;IACH;IACA;IACA;;AAER;AAlBS;AAwBT,SAAS,qBAAqB,aAAwB,YAAoB,wBAA+B;AACrG,QAAM,QAAQ,kBAAkB,aAAa,YAAY,sBAAsB;AAC/E,QAAM,WAAO,kCAAqB,UAAU;AAC5C,QAAM,eAAe,4CAAkB,QAAQ,aAAa,UAAU,EAAE;AACxE,MAAI,CAAC,MAAM;AACP,WAAO;MACH,GAAG;MACH,GAAG,0BAAc;MACjB;;EAER,OACK;AACD,QAAI,KAAK,SAAS,WAAW;AACzB,aAAO;QACH,GAAG;QACH,GAAG,0BAAc;QACjB;QACA,aAAa,KAAK;QAClB,UAAU,CAAC,KAAK;;IAExB,OACK;AAED,aAAO;QACH,GAAG;QACH,GAAG,0BAAc;QACjB;QACA,aAAa,KAAK;QAClB,KAAK,KAAK;QACV,KAAK,KAAK;QACV,UAAU,CAAC,KAAK;;IAExB;EACJ;AACJ;AAlCS;AAmCT,SAAS,iBAAiB,aAA+B;AACrD,MAAI,aAAa;AACb,eAAO,iCAAkB,uBAAW,WAAW;EACnD,OACK;AACD,WAAO;EACX;AACJ;AAPS;AAST,SAAS,kBAAkB,aAAqB,YAAoB,wBAAiC,uBAA8B;AAC/H,QAAM,cAAc,0BAA0B,iBAAiB,WAAW;AAE1E,QAAM,WAAO,kCAAqB,UAAU;AAC5C,MAAI,CAAC;AACD,WAAO;AAGX,MAAI,eAAe,sBAAU,eAAe,KACrC,eAAe,sBAAU,sBAAsB,MAC9C,eAAe,KACZ,eAAe,KACf,wBACT;AACE,QAAI,MAAe,sBAAkB,WAAW;AAEhD,QAAI,uBAAuB;AACvB,aAAO,MAAM,qBAAqB;IACtC;AACA,WAAO;EACX;AAEA,SAAO,GAAG,WAAW,MAAM,yBAAyB,KAAK,KAAK;AAClE;AAvBS;AAwBH,SAAU,2BAA2B,aAAqB,YAAkB;AAI9E,QAAM,WAAO,kCAAqB,UAAU;AAC5C,MAAI,QAAQ,CAAC,KAAK,eAAe;AAC7B,WAAO;EACX;AAEA,SAAO;AACX;AAVgB;IAYH,kBAAc,MAAA;8BAD1B,mCAAI,2BAAe,SAAS,CAAC;;;;oBACM;;;;;;;;;;;sCAAA,YAAK;WAAA;;;;;;;;yBA4EpC,gCAA+B,CAAE;yBAejC,gCAA+B,CAAE;gCAmBjC,uCAAsC,CAAE;kCAUxC,yCAAwC,CAAE;qCAwB1C,4CAA2C,CAAE;uCAY7C,8CAA6C,CAAE;gCA2C/C,uCAAsC,CAAE;gCA8ExC,uCAAsC,CAAE;oCAOxC,2CAA0C,CAAE;AA/M7C,qCAAA,MAAA,MAAA,iBAAA,EAAA,MAAA,UAAA,MAAA,OAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,SAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,KAAb,OAAgB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAehB,qCAAA,MAAA,MAAA,iBAAA,EAAA,MAAA,UAAA,MAAA,OAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,SAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,KAAb,OAAgB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAmBhB,qCAAA,MAAA,MAAA,wBAAA,EAAA,MAAA,UAAA,MAAA,cAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,gBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,YAAb,OAAuB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAUvB,qCAAA,MAAA,MAAA,0BAAA,EAAA,MAAA,UAAA,MAAA,gBAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,kBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,cAAb,OAAyB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAwBzB,qCAAA,MAAA,MAAA,6BAAA,EAAA,MAAA,UAAA,MAAA,mBAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,qBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,iBAAb,OAA4B,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAY5B,qCAAA,MAAA,MAAA,+BAAA,EAAA,MAAA,UAAA,MAAA,qBAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,uBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,mBAAb,OAA8B,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AA2C9B,qCAAA,MAAA,MAAA,wBAAA,EAAA,MAAA,UAAA,MAAA,cAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,gBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,YAAb,OAAuB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AA8EvB,qCAAA,MAAA,MAAA,wBAAA,EAAA,MAAA,UAAA,MAAA,cAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,gBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,YAAb,OAAuB,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AAOvB,qCAAA,MAAA,MAAA,4BAAA,EAAA,MAAA,UAAA,MAAA,kBAAA,QAAA,OAAA,SAAA,OAAA,QAAA,EAAA,KAAA,gCAAA,oBAAA,KAAA,QAAA,KAAA,gCAAA,IAAa,gBAAb,OAA2B,GAAA,UAAA,UAAA,GAAA,MAAA,0BAAA;AA7R/B,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACF,gBAAgB,KAAqB;AACxC,cAAQ,KAAK;QACT,KAAK,8BAAiB;QACtB,KAAK,8BAAiB;AAClB,iBAAO,KAAK,aAAY;QAC5B,KAAK,8BAAiB;AAClB,iBAAO;;QACX,KAAK,8BAAiB;QACtB,KAAK,8BAAiB;AAClB,iBAAO,KAAK,WAAW,KAAK,KAAK,aAAY;QACjD,KAAK,8BAAiB;QACtB,KAAK,8BAAiB;AAClB,iBAAO,KAAK,WAAW,KAAK,KAAK,aAAY;MACrD;AACA,aAAO,MAAM,gBAAgB,GAAG;IACpC;IACA,KAAwB,oBAAS,IAAC;AAC9B,aAAO,eAAsC,EAAE,UAAU,YAAW,GAAI,OAAK;AACzE,cAAM,UAAmB;UACrB,cAAc,KAAK;UACnB,UAAU,KAAK,SAAS;UACxB;UACA;;AAEJ,YAAI,aAAa,SAAS;AAEtB,cAAI,OAAO,UAAU,UAAU;AAC3B,gDAAoB,KAAK,MAAM,UAAU,UAAU,OAAO,KAAK;UACnE;AACA,iBAAO,KAAK,IAAI,KAAK;QACzB,WACS,4CAAkB,QAAQ,GAAG,OAAO,GAAG;AAC5C,gBAAM,cAAc;AACpB,gBAAM,aAAa;AACnB,gBAAM,eAAe,qBAAqB,aAAa,UAAU,EAAE;AAEnE,cAAI,OAAO,UAAU,cAAc;AAC/B,gDAAoB,KAAK,MAAM,UAAU,cAAc,OAAO,KAAK;UACvE;AACA,iBAAO,KAAK,IAAI;YACZ;cACI;cACA;cACA;;WAEP;QACL,WACS,4CAAkB,QAAQ,GAAG,OAAO,GAAG;AAC5C,gBAAM,cAAc;AACpB,cAAI,OAAO,UAAU,UAAU;AAC3B,gDAAoB,KAAK,MAAM,UAAU,UAAU,OAAO,KAAK;UACnE;AACA,iBAAO,KAAK,WAAW,aAAa,KAAK;QAC7C,WACS,4CAAkB,SAAS,GAAG,OAAO,GAAG;AAC7C,cAAI,OAAO,UAAU,WAAW;AAC5B,gDAAoB,KAAK,MAAM,UAAU,WAAW,OAAO,KAAK;UACpE;AACA,iBAAO,KAAK,SAAQ;QACxB,OACK;AACD,mDAAyB,KAAK,MAAM,QAAQ;QAChD;MACJ;IACJ;IACA,KAAe,qBAAU,IAAC;AACtB,aAAO,eAAsC,EAAE,SAAQ,GAAE;AACrD,YAAI,aAAa;AACb,iBAAO,KAAK,IAAG;AACnB,YAAI,OAAO,aAAa,UAAU;AAC9B,iBAAO,KAAK,IAAI,QAAQ;QAC5B;AACA,iDAAyB,KAAK,MAAM,QAAQ;MAChD;IACJ;IAEO,MAAM,IAAI,aAAoB;AACjC,WAAK,sBAAsB,+BAAkB,8BAAiB,GAAG;AACjE,YAAM,KAAK,IAAI,eAAe;QAC1B,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;OACH;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAA+B,IAAI,KAAK,cAAc;AACvF,UAAI,CAAC;AACD;AACJ,UAAI,SAAS;AACT,eAAO,SAAS;AACpB,aAAO,SAAS;IACpB;IAEO,MAAM,IAAI,OAAiC;AAC9C,WAAK,sBAAsB,+BAAkB,8BAAiB,GAAG;AACjE,UAAI,KAAK,YAAY,KAAK,OAAO,UAAU,UAAU;AACjD,cAAM,IAAI,uBAAW,QAAQ,KAAK,SAC7B,MAAgB,yEAAyE,4BAAgB,gBAAgB;MAClI,WACS,KAAK,WAAW,SAClB,2BAAQ,KAAK,KACb,MAAM,SAAS,uBAAuB;AACzC,cAAM,IAAI,uBAAW,QAAQ,qBAAqB,2CAA2C,4BAAgB,gBAAgB;MACjI;AACA,YAAM,KAAK,IAAI,eAAe;QAC1B,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B,GAAI,OAAO,UAAU,WAAW,EAAE,MAAK,IAAK,EAAE,QAAQ,MAAK;OAC9D;AACD,aAAO,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc;IACxD;IAEO,MAAM,WAAW,SAAiC;AACrD,WAAK,sBAAsB,+BAAkB,8BAAiB,MAAM;AACpE,YAAM,KAAK,IAAI,kBAAkB;QAC7B,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B,GAAG;OACN;AACD,YAAM,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc;IACvD;IAEO,MAAM,aAAa,aAAmB;AAKzC,WAAK,sBAAsB,+BAAkB,8BAAiB,YAAY;AAC1E,YAAM,KAAK,IAAI,wBAAwB;QACnC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;OACH;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAAwC,IAAI,KAAK,cAAc;AAChG,UAAI,UAAU;AACV,eAAO;;UAEH,GAAI,gBAAgB,IACd,EAAE,aAAa,SAAS,YAAW,IACnC;UACN,qBAAqB,SAAS;UAC9B,iBAAiB,SAAS;;MAElC;IACJ;IAEO,MAAM,gBAAgB,aAAqB,qBAAwC,iBAAuB;AAC7G,WAAK,sBAAsB,+BAAkB,8BAAiB,eAAe;AAC7E,YAAM,KAAK,IAAI,2BAA2B;QACtC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;QACA;QACA;OACH;AACD,YAAM,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc;IACvD;IAEO,MAAM,kBAAkB,aAAqB,aAAmB;AACnE,WAAK,sBAAsB,+BAAkB,8BAAiB,iBAAiB;AAC/E,YAAM,KAAK,IAAI,6BAA6B;QACxC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;QACA;OACH;AACD,YAAM,KAAK,KAAK,YAAY,IAAI,KAAK,cAAc;IACvD;;;;IAIO,MAAM,WAAQ;AACjB,UAAI,KAAK,UAAU,GAAG;AAClB,cAAM,IAAI,uBAAW,8EAA8E,4BAAgB,eAAe;MACtI;AACA,aAAO,KAAK,IAAI;QACZ;UACI,aAAa;UACb,YAAY;UACZ,OAAO;;QAEX;UACI,aAAa;UACb,YAAY;UACZ,OAAO;;QAEX;UACI,aAAa;UACb,YAAY;UACZ,OAAO;;OAEd;IACL;;;;;;;;IASO,MAAM,WAAW,aAAqB,SAA8C;AACvF,WAAK,uBAAuB,KAAK,QAAQ;AACzC,UAAI,KAAK,UAAU,GAAG;AAClB,cAAM,IAAI,uBAAW,gFAAgF,4BAAgB,eAAe;MACxI;AACA,UAAI,OAAO,YAAY,UAAU;AAC7B,YAAI,YAAY,IAAI;AAChB,oBAAU;QACd,OACK;AACD,gBAAM,SAAS,4BAA4B,OAAO;AAClD,cAAI,CAAC,QAAQ;AACT,kBAAM,IAAI,uBAAW,uBAAuB,OAAO,kBAAkB,4BAAgB,gBAAgB;UACzG;AACA,oBAAU;QACd;MACJ;AACA,YAAM,uBAAuB,YAAY,8BAA8B,KAAK,MAAM,KAAK,UAAU,WAAW;AAC5G,YAAM,UAA6B,CAAA;AACnC,UAAI,SAAS;AACT,cAAM,QAAQ,QAAQ,SAAS;AAC/B,cAAM,UAAU,QAAQ,WAAW;AACnC,cAAM,UAAU,KAAK,MAAM,QAAQ,WAAW,CAAC;AAC/C,cAAM,aAAa,KAAK,OAAQ,QAAQ,WAAW,KAAK,IAAK,GAAG;AAChE,YAAI,OAAO;AACP,cAAI,CAAC,sBAAsB,SAAS,EAAI,GAAG;AACvC,kBAAM,IAAI,uBAAW,iBAAiB,WAAW,kDAAkD,4BAAgB,gBAAgB;UACvI;AACA,kBAAQ,KAAK;YACT;YACA,YAAY;YACZ,OAAO;WACV;QACL;AACA,YAAI,SAAS;AACT,cAAI,CAAC,sBAAsB,SAAS,CAAI,GAAG;AACvC,kBAAM,IAAI,uBAAW,iBAAiB,WAAW,oDAAoD,4BAAgB,gBAAgB;UACzI;AACA,kBAAQ,KAAK;YACT;YACA,YAAY;YACZ,OAAO;WACV;QACL;AACA,YAAI,SAAS;AACT,cAAI,CAAC,sBAAsB,SAAS,CAAI,GAAG;AACvC,kBAAM,IAAI,uBAAW,iBAAiB,WAAW,oDAAoD,4BAAgB,gBAAgB;UACzI;AACA,kBAAQ,KAAK;YACT;YACA,YAAY;YACZ,OAAO;WACV;QACL;AACA,YAAI,YAAY;AACZ,cAAI,CAAC,sBAAsB,SAAS,CAAI,GAAG;AACvC,kBAAM,IAAI,uBAAW,iBAAiB,WAAW,0DAA0D,4BAAgB,gBAAgB;UAC/I;AACA,kBAAQ,KAAK;YACT;YACA,YAAY;YACZ,OAAO;WACV;QACL;MACJ;AACA,UAAI,CAAC,QAAQ,QAAQ;AACjB,gBAAQ,KAAK,IAAI,wBAAwB,CAAA,GAAI,IAAI,CAAC,OAAO;UACrD;UACA,YAAY;UACZ,OAAO;UACT,CAAC;MACP;AACA,aAAO,KAAK,IAAI,OAAO;IAC3B;;;;IAKO,MAAM,WAAW,aAAmB;AACvC,YAAM,SAAS,MAAM,KAAK,IAAI,WAAW;AACzC,UAAI,KAAC,2BAAQ,MAAM;AACf;AACJ,aAAO,0BAA0B,MAAM;IAC3C;IAEO,MAAM,eAAe,aAAmB;AAC3C,WAAK,sBAAsB,+BAAkB,8BAAiB,cAAc;AAC5E,YAAM,KAAK,IAAI,0BAA0B;QACrC,QAAQ,KAAK,SAAS;QACtB,eAAe,KAAK,SAAS;QAC7B;OACH;AACD,YAAM,WAAW,MAAM,KAAK,KAAK,YAA0C,IAAI,KAAK,cAAc;AAClG,aAAO,UAAU;IACrB;;;AAtSS,0CAAA,MAAA,0BAAA;;;;;IA2SA,eAAW,MAAA;8BAHvB,4CAAa,2BAAe,SAAS,OACrC,kDAAmB,CAAC,OACpB,wCAAS,2CAAiB,CAAC;;;;oBACK;mCAAA,YAAY;WAAA;;;;;;;;AAA7C,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IAEF,MAAM,UAAU,KAAqB;AACxC,YAAM,OAAO,KAAK,QAAQ,GAAG;AAC7B,YAAM,WAAW,KAAK,YAAY,GAAG;AACrC,YAAM,MAAM,iBAAM,OAAO,2BAAe,WAAW,KAAK,QAAQ,EAAE,YAAY;QAC1E,UAAU,4BAAgB;OAC7B;AACD,UAAI,QAAQ,KAAK,IAAI;QACjB,UAAU,KAAK;QACf,SAAS,gBAAgB,KAAK,MAAM;QACpC,WAAW;OACd;AACD,UAAI,IAAI,UAAU,GAAG;AACjB,YAAI,QAAQ,KAAK,IAAI;UACjB,UAAU,KAAK;UACf,SAAS;UACT,WAAW;SACd;AAED,YAAI,QAAQ;AACZ,cAAM,wBAAkC,CAAA;AACxC,WAAG;AACC,gBAAM,oBAAoB,MAAM,IAAI,aAAa,KAAK;AACtD,cAAI,CAAC,mBAAmB;AACpB,gBAAI,QAAQ,KAAK,IAAI;cACjB,UAAU,KAAK;cACf,SAAS;cACT,OAAO;aACV;AACD;UACJ;AACA,cAAI,kBAAkB,oBAAoB,SAAS,GAAG;AAClD,kCAAsB,KAAK,kBAAkB,eAAe,KAAK;UACrE;AACA,kBAAQ,kBAAkB;QAC9B,SAAS,UAAU;AAEnB,aAAK,SAAS,KAAK,4CAAkB,uBAAuB,qBAAqB;AACjF,cAAM,aAAa,4BAA4B,sBAAsB,KAAK,IAAI,CAAC;AAC/E,YAAI,QAAQ,KAAK,IAAI;UACjB,UAAU,KAAK;UACf,SAAS;UACT,WAAW;SACd;AACD,YAAI,IAAI,WAAW,GAAG;AAClB,gBAAM,kCAAkC,sBACnC,OAAO,CAAC,OAAO,+BAA+B,EAAE,CAAC;AACtD,cAAI,gCAAgC,SAAS,GAAG;AAC5C,gBAAI,QAAQ,KAAK,IAAI;cACjB,UAAU,KAAK;cACf,SAAS;cACT,WAAW;aACd;AACD,uBAAW,MAAM,iCAAiC;AAC9C,oBAAM,IAAI,eAAe,EAAE;YAC/B;UACJ;QACJ;MACJ;AAEA,YAAM,KAAK,cAAc,GAAG;AAE5B,WAAK,qBAAqB,KAAK,IAAI;IACvC;IACO,MAAM,cAAc,KAA2B,SAA8B;AAChF,YAAM,OAAO,KAAK,QAAQ,GAAG;AAC7B,YAAM,WAAW,KAAK,YAAY,GAAG;AACrC,YAAM,MAAM,iBAAM,OAAO,2BAAe,WAAW,KAAK,QAAQ,EAAE,YAAY;QAC1E,UAAU,SAAS,YAAY,4BAAgB;OAClD;AACD,UAAI,IAAI,YAAY,GAAG;AACnB,YAAI,QAAQ,KAAK,IAAI;UACjB,UAAU,KAAK;UACf,SAAS;UACT,WAAW;SACd;AACD,cAAM,IAAI,IAAG;MACjB,OACK;AACD,cAAM,wBAAkC,KAAK,SAAS,KAAK,4CAAkB,qBAAqB,KAAK,CAAA;AACvG,mBAAW,eAAe,uBAAuB;AAC7C,cAAI,QAAQ,KAAK,IAAI;YACjB,UAAU,KAAK;YACf,SAAS,gDAA4C,uBAAQ,WAAW,CAAC;YACzE,WAAW;WACd;AACD,gBAAM,IAAI,IAAI,WAAW;QAC7B;MACJ;IACJ;IACO,qBAAqB,KAAiB,UAA2B,aAA4B;AAChG,UAAI,aAAa,SAAS;AAEtB,eAAO;MACX,WACS,OAAO,aAAa,YACtB,OAAO,gBAAgB,UAAU;AAEpC,cAAM,WAAO,kCAAqB,WAAW;AAC7C,YAAI;AACA,iBAAO,KAAK;MACpB,WACS,OAAO,aAAa,YACtB,gBAAgB,WAAW;AAC9B,eAAO;MACX;AACA,aAAO,MAAM,qBAAqB,KAAK,UAAU,WAAW;IAChE;IACO,kBAAkB,KAAiB,UAA2B,aAA6B;AAC9F,UAAI,OAAO,aAAa,UAAU;AAC9B,YAAI,OAAO,gBAAgB,YAAY,gBAAgB,WAAW;AAE9D,cAAI,YAAY;AACZ,mBAAO,sBAAU,QAAQ;QACjC;MACJ;AACA,aAAO,MAAM,kBAAkB,KAAK,UAAU,WAAW;IAC7D;IACU,qBAAqB,KAAe;AAE1C,YAAM,wBAAwB,KAAK,SAAmB,KAAK,4CAAkB,qBAAqB;AAClG,UAAI,CAAC,uBAAuB;AACxB,eAAO;AAEX,aAAO,sBAAsB,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,SAAmB,KAAK,4CAAkB,qBAAqB,WAAW,CAAC,GAAG,MAAM;IAClJ;IACU,qCAAqC,KAAiB,aAAmB;AAC/E,UAAI,+BAA+B,WAAW,GAAG;AAC7C,eAAO,KAAK,SAAS,KAAK,4CAAkB,qBAAqB,WAAW,CAAC;MACjF;IACJ;IACO,OAAO,8BAA8B,KAAiB,UAAsB,aAAmB;AAClG,aAAO,IACF,WAAW,SAAS,MAAM,EAC1B,SAAS,4CAAkB,qBAAqB,WAAW,EAAE,SAAS,SAAS,KAAK,CAAC;IAC9F;;;;IAgBS,kBAAc,MAAA;8BAF1B,yCAAU,8BAAiB,GAAG,OAC9B,8CAAc,CAAE;;;;oBACmB;sCAAA,YAAW;WAAA;;;;;;;;AAA/C,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA2C;AAC1D,YAAM,OAAO;AACb,UAAI,WAAW,SAAS;AACpB,aAAK,kBAAkB,QAAQ;MACnC,OACK;AACD,aAAK,SAAS,QAAQ;MAC1B;IACJ;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,WAAW,IAAI,QAAQ,UAAU,IACjC,IAAI,QAAQ,CAAC,IAAI,KACjB;AACN,UAAI,aAAa,GAAG;AAChB,cAAM,kBAAkB,IAAI,QAAQ,CAAC;AACrC,eAAO,IAAI,KAAK;UACZ,QAAQ,IAAI;UACZ,OAAO;SACV;MACL;AACA,uCAAgB,IAAI,QAAQ,UAAU,IAAI,IAAI,QAAQ;AACtD,YAAM,SAA4B,CAAA;AAClC,eAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,cAAM,SAAS,IAAI,IAAI;AACvB,cAAM,QAAyB;UAC3B,aAAa,IAAI,QAAQ,MAAM;UAC/B,YAAY,IAAI,QAAQ,SAAS,CAAC;UAClC,OAAO,IAAI,QAAQ,SAAS,CAAC;;AAEjC,eAAO,KAAK,KAAK;MACrB;AACA,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA;IACA,UAAU,KAAsB;AACnC,UAAI,KAAK,UAAU,QAAW;AAE1B,aAAK,UAAU,oBAAM,MAAM,IAAI,IAAI,KAAK,OAAO,QAAQ,CAAC;AAExD,cAAM,WAAW,KAAK,OAAO,SAAS;AACtC,aAAK,QAAQ,CAAC,IAAI;AAClB,iBAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,gBAAM,SAAS,IAAI,IAAI;AACvB,eAAK,QAAQ,MAAM,IAAI,KAAK,OAAO,CAAC,EAAE;AACtC,eAAK,QAAQ,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;AAC1C,gBAAM,QAAQ,KAAK,OAAO,CAAC,EAAE;AAC7B,eAAK,QAAQ,SAAS,CAAC,IAAI,UAAU,OAC/B,MACA,UAAU,QACN,IACA;QACd;MACJ,OACK;AAED,aAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,mBAAmB,CAAC,CAAC;MACzD;AACA,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,YAAM,UAAyB,CAAA;AAC/B,UAAI,KAAK,mBAAmB,QAAW;AACnC,gBAAQ,mBAAmB,IAAI,KAAK;MACxC;AACA,UAAI,KAAK,UAAU,QAAW;AAC1B,gBAAQ,SAAS,KAAK,OACjB,IAAI,CAAC,MAAM;oBACX,EAAE,WAAW;iBACb,EAAE,UAAU;iBACZ,EAAE,KAAK,EAAE,EACT,KAAK,EAAE;MAChB;AACA,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB;;IAER;;;;IASS,qBAAiB,MAAA;8BAD7B,yCAAU,8BAAiB,MAAM,CAAC;;;;oBACI;yCAAA,YAAW;WAAA;;;;;;;;AAAlD,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA8C;AAC7D,YAAM,OAAO;AACb,UAAI,WAAW,SAAS;AACpB,aAAK,kBAAkB,QAAQ;MACnC,WACS,YAAY,SAAS;AAC1B,YAAI,QAAQ,OAAO,SAAS,uBAAuB;AAC/C,gBAAM,IAAI,uBAAW,QAAQ,qBAAqB,2CAA2C,4BAAgB,gBAAgB;QACjI;AACA,aAAK,SAAS,QAAQ;MAC1B;IACJ;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,WAAW,IAAI,QAAQ,UAAU,IACjC,IAAI,QAAQ,CAAC,IAAI,KACjB;AACN,UAAI,aAAa,GAAG;AAChB,cAAM,kBAAkB,IAAI,QAAQ,CAAC;AACrC,eAAO,IAAI,KAAK;UACZ,QAAQ,IAAI;UACZ,OAAO;SACV;MACL;AACA,uCAAgB,IAAI,QAAQ,UAAU,IAAI,IAAI,QAAQ;AACtD,YAAM,SAA4B,CAAA;AAClC,eAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,cAAM,SAAS,IAAI,IAAI;AACvB,cAAM,QAAyB;UAC3B,aAAa,IAAI,QAAQ,MAAM;UAC/B,YAAY,IAAI,QAAQ,SAAS,CAAC;UAClC,OAAO,IAAI,QAAQ,SAAS,CAAC;;AAEjC,eAAO,KAAK,KAAK;MACrB;AACA,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IAyBL;IACO,cAAc,KAAyB;AAC1C,UAAI,CAAC,MAAM,cAAc,GAAG;AACxB,eAAO;AACX,UAAI,KAAK,mBAAmB,QAAW;AACnC,YAAI,CAAC,KAAK,qBAAqB,GAAG,GAAG;AAEjC,gBAAM,UAAU,4CAAkB;AAClC,eAAK,YAAY,KAAK,OAAO;AAC7B,eAAK,SAAS,KAAK,SAAS,KAAK,eAAe;QACpD,OACK;AACD,cAAI,KAAK,aAAY,GAAI;AAErB,gBAAI,QAAQ,KAAK,QAAQ;cACrB,SAAS;cACT,WAAW;cACX,UAAU,KAAK;aAClB;UACL;QACJ;MACJ,WACS,KAAK,QAAQ;AAElB,mBAAW,SAAS,KAAK,QAAQ;AAC7B,eAAK,kBAAkB,KAAK,KAAK;QACrC;AAEA,cAAM,gBAAgB,mBAAmB,KAAK,MAAM;AACpD,mBAAW,CAAC,aAAa,MAAM,KAAK,eAAe;AAI/C,gBAAM,uBAAuB,KAAK,SAAmB,KAAK,4CAAkB,qBAAqB,WAAW,CAAC,KAAK,CAAA;AAClH,gBAAM,iBAAiB,OAAO,OAAO,CAAC,MAAM,qBAAqB,SAAS,EAAE,UAAU,CAAC;AACvF,gBAAM,yBAAyB,KAC1B,qCAAqC,KAAK,WAAW;AAE1D,gBAAM,UAAU,0BAA0B,cAAc;AACxD,cAAI,SAAS;AACT,gBAAI,gBAAgB;AACpB,gBAAI,SAAS;AACT,+BAAiB,GAAG,QAAQ,KAAK;AACrC,gBAAI,SAAS,SAAS;AAClB,+BAAiB,GAAG,QAAQ,OAAO;YACvC;AACA,gBAAI,SAAS,SAAS;AAClB,+BAAiB,GAAG,QAAQ,OAAO;YACvC;AACA,kBAAM,eAAe,4CAAkB,QAAQ,WAAW;AAC1D,kBAAM,WAA0B;cAC5B,GAAG,aAAa;cAChB,OAAO;gBAAkB;gBAAa;;gBACtC;gBAAwB;cAAS;;AAErC,iBAAK,YAAY,KAAK,cAAc,QAAQ;AAC5C,iBAAK,SAAS,KAAK,cAAc,aAAa;UAClD;QACJ;MACJ;AACA,aAAO;IACX;IACgB;IACA;IACR,kBAAkB,KAAiB,OAAsB;AAE7D,YAAM,yBAAyB,KAC1B,qCAAqC,KAAK,MAAM,WAAW;AAChE,YAAM,WAAW,qBAAqB,MAAM,aAAa,MAAM,YAAY,sBAAsB;AAEjG,UAAI,SAAS,SAAS,WAAW;AAC7B,cAAM,QAAQ,CAAC,CAAC,MAAM;MAC1B;AAEA,UAAI,MAAM,gBAAgB,sBAAU,eAAe,GAAG;AAClD;MACJ;AACA,YAAM,WAAO,kCAAqB,MAAM,UAAU;AAClD,UAAI,CAAC,MAAM;AACP;AAEJ,YAAM,uBAAuB,KAAK,SAAmB,KAAK,4CAAkB,qBAAqB,MAAM,WAAW,CAAC,KAAK,CAAA;AACxH,UAAI,CAAC,qBAAqB,SAAS,MAAM,UAAU;AAC/C;AAEJ,YAAM,UAAU,4CAAkB,QAAQ,MAAM,aAAa,MAAM,UAAU;AAC7E,WAAK,YAAY,KAAK,SAAS,QAAQ;AACvC,WAAK,SAAS,KAAK,SAAS,MAAM,KAAK;IAC3C;IACO,UAAU,KAAsB;AACnC,UAAI,KAAK,UAAU,QAAW;AAE1B,aAAK,UAAU,oBAAM,MAAM,IAAI,IAAI,KAAK,OAAO,QAAQ,CAAC;AAExD,cAAM,WAAW,KAAK,OAAO,SAAS;AACtC,aAAK,QAAQ,CAAC,IAAI;AAClB,iBAAS,IAAI,GAAG,IAAI,UAAU,KAAK;AAC/B,gBAAM,SAAS,IAAI,IAAI;AACvB,eAAK,QAAQ,MAAM,IAAI,KAAK,OAAO,CAAC,EAAE;AACtC,eAAK,QAAQ,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;AAC1C,gBAAM,QAAQ,KAAK,OAAO,CAAC,EAAE;AAC7B,eAAK,QAAQ,SAAS,CAAC,IAAI,UAAU,OAC/B,MACA,UAAU,QACN,IACA;QACd;MACJ,OACK;AAED,aAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,mBAAmB,CAAC,CAAC;MACzD;AACA,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,YAAM,UAAyB,CAAA;AAC/B,UAAI,KAAK,mBAAmB,QAAW;AACnC,gBAAQ,mBAAmB,IAAI,KAAK;MACxC;AACA,UAAI,KAAK,UAAU,QAAW;AAC1B,gBAAQ,SAAS,KAAK,OACjB,IAAI,CAAC,MAAM;oBACX,EAAE,WAAW;iBACb,EAAE,UAAU;iBACZ,EAAE,KAAK,EAAE,EACT,KAAK,EAAE;MAChB;AACA,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB;;IAER;;;;IAQS,kBAAc,MAAA;8BAF1B,yCAAU,8BAAiB,GAAG,OAC9B,kDAAmB,iBAAiB,CAAC;;;;oBACF;sCAAA,YAAW;WAAA;;;;;;;;AAA/C,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAA2C;AAC1D,YAAM,OAAO;AACb,WAAK,cAAc,QAAQ;IAC/B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,UAAI;AACJ,UAAI,IAAI,QAAQ,SAAS,GAAG;AACxB,sBAAc,IAAI,QAAQ,CAAC;MAC/B;AACA,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,UAAI,KAAK,eAAe,QAAW;AAC/B,aAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,WAAW,CAAC;MAChD;AACA,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,WAAW,iBAAiB,KAAK,WAAW;;;IAGxD;;;;IASS,8BAA0B,MAAA;8BADtC,yCAAU,8BAAiB,eAAe,CAAC;;;;oBACI;kDAAA,YAAW;WAAA;;;;;;;;AAA3D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAuD;AACtE,YAAM,OAAO;AACb,WAAK,cAAc,QAAQ;AAC3B,WAAK,kBAAkB,QAAQ;AAC/B,WAAK,sBAAsB,QAAQ;IACvC;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,cAAc,IAAI,QAAQ,CAAC;AACjC,YAAM,kBAAkB,IAAI,QAAQ,CAAC;AACrC,YAAM,gBAAgB,IAAI,QAAQ,CAAC,IAAI;AACvC,UAAI;AACJ,UAAI,kBAAkB,GAAG;AACrB,8BAAsB,CAAA;MAC1B,OACK;AACD,yCAAgB,IAAI,QAAQ,UAAU,IAAI,aAAa;AAEvD,kCAAsB,0BAAa,IAAI,QAAQ,SAAS,GAAG,IAAI,aAAa,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,MAAM,CAAC;MAC3G;AACA,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;QACA;OACH;IACL;IACO,cAAc,KAAyB;AAC1C,UAAI,CAAC,MAAM,cAAc,GAAG;AACxB,eAAO;AACX,UAAI,KAAK,gBAAgB,GAAM;AAE3B,aAAK,SAAS,KAAK,4CAAkB,qBAAqB,KAAK,WAAW,GAAG,KAAK,mBAAmB;MACzG;AACA,aAAO;IACX;IACgB;IACA;IACA;IACT,UAAU,KAAsB;AACnC,YAAM,UAAU,KAAK,oBAAoB,SAAS,QAC5C,2BAAc,KAAK,qBAAqB,QAAW,CAAC,IACpD,IAAI,oBAAK;AACf,WAAK,UAAU,oBAAM,OAAO;QACxB;UACI,KAAK;UACL,KAAK;UACL,QAAQ;;QAEZ;OACH;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,WAAW,iBAAiB,KAAK,WAAW;UAC5C,wBAAwB,KAAK,oBACxB,IAAI,CAAC,WAAO,kCAAqB,EAAE,GAAG,SACpC,gBAAY,uBAAQ,EAAE,CAAC,GAAG,EAC5B,KAAK,IAAI;UACd,kBAAkB,iBAAiB,KAAK,eAAe;;;IAGnE;;;;AAMJ,SAAS,qCAAqC,MAA+B,UAAoC;AAC7G,SAAO,KAAK,gBAAgB,KAAK,SAAS,gBAAgB,KAAK;AACnE;AAFS;IAKI,2BAAuB,MAAA;8BAFnC,yCAAU,8BAAiB,YAAY,OACvC,kDAAmB,4BAA4B,oCAAoC,CAAC;;;;oBACxC;+CAAA,YAAW;WAAA;;;;;;;;AAAxD,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAoD;AACnE,YAAM,OAAO;AACb,WAAK,cAAc,QAAQ;IAC/B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,cAAc,IAAI,QAAQ,CAAC;AACjC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,WAAW,CAAC;AAC5C,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,WAAW,iBAAiB,KAAK,WAAW;;;IAGxD;;;;IAQS,gCAA4B,MAAA;8BADxC,yCAAU,8BAAiB,iBAAiB,CAAC;;;;oBACI;oDAAA,YAAW;WAAA;;;;;;;;AAA7D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAyD;AACxE,YAAM,OAAO;AACb,WAAK,cAAc,QAAQ;AAC3B,WAAK,cAAc,QAAQ;IAC/B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,cAAc,IAAI,QAAQ,CAAC;AACjC,YAAM,mBAAmB,IAAI,QAAQ,CAAC;AACtC,uCAAgB,IAAI,QAAQ,UAAU,IAAI,gBAAgB;AAC1D,YAAM,cAAsB,IAAI,QAC3B,SAAS,GAAG,IAAI,gBAAgB,EAChC,SAAS,MAAM;AACpB,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;QACA;OACH;IACL;IACO;IACA;IACA,cAAc,KAAyB;AAC1C,UAAI,CAAC,MAAM,cAAc,GAAG;AACxB,eAAO;AACX,UAAI,KAAK,aAAa;AAClB,aAAK,SAAS,KAAK,4CAAkB,qBAAqB,KAAK,WAAW,GAAG,KAAK,WAAW;MACjG;AACA,aAAO;IACX;IACO,UAAU,KAAsB;AACnC,YAAM,cAAc,oBAAM,KAAK,KAAK,aAAa,MAAM;AACvD,WAAK,UAAU,oBAAM,OAAO;QACxB,CAAC,KAAK,aAAa,YAAY,MAAM;QACrC;OACH;AACD,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,gBAAgB,KAAK;UACrB,aAAa,KAAK,eAAe;;;IAG7C;;;;AAMJ,SAAS,uCAAuC,MAAiC,UAAsC;AACnH,SAAO,SAAS,gBAAgB,KAAK;AACzC;AAFS;IAKI,6BAAyB,MAAA;8BAFrC,yCAAU,8BAAiB,cAAc,OACzC,kDAAmB,8BAA8B,sCAAsC,CAAC;;;;oBAC1C;iDAAA,YAAW;WAAA;;;;;;;;AAA1D,qCAAA,MAAA,mBAAA,EAAA,OAAA,WAAA,GAAA,kBAAA,EAAA,MAAA,SAAA,MAAA,WAAA,MAAA,UAAA,UAAA,GAAA,MAAA,uBAAA;;;AAAa,0CAAA,YAAA,uBAAA;;IACT,YAAmB,SAAsD;AACrE,YAAM,OAAO;AACb,WAAK,cAAc,QAAQ;IAC/B;IACO,OAAO,KAAK,KAAY,KAAqB;AAChD,uCAAgB,IAAI,QAAQ,UAAU,CAAC;AACvC,YAAM,cAAc,IAAI,QAAQ,CAAC;AACjC,aAAO,IAAI,KAAK;QACZ,QAAQ,IAAI;QACZ;OACH;IACL;IACO;IACA,UAAU,KAAsB;AACnC,WAAK,UAAU,oBAAM,KAAK,CAAC,KAAK,WAAW,CAAC;AAC5C,aAAO,MAAM,UAAU,GAAG;IAC9B;IACO,WAAW,KAAgB;AAC9B,aAAO;QACH,GAAG,MAAM,WAAW,GAAG;QACvB,SAAS;UACL,gBAAgB,KAAK;;;IAGjC;;;;",
6
6
  "names": []
7
7
  }
@@ -1,11 +1,11 @@
1
- export declare function validateArgs_IrrigationCCAPI_setSystemConfig(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
2
- export declare function validateArgs_IrrigationCCAPI_getValveInfo(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
3
- export declare function validateArgs_IrrigationCCAPI_setValveConfig(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
4
- export declare function validateArgs_IrrigationCCAPI_getValveConfig(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
5
- export declare function validateArgs_IrrigationCCAPI_runValve(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
6
- export declare function validateArgs_IrrigationCCAPI_shutoffValve(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
7
- export declare function validateArgs_IrrigationCCAPI_setValveTable(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
8
- export declare function validateArgs_IrrigationCCAPI_getValveTable(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
9
- export declare function validateArgs_IrrigationCCAPI_runTables(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
10
- export declare function validateArgs_IrrigationCCAPI_shutoffSystem(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
1
+ export declare function validateArgs_IrrigationCCAPI_setSystemConfig(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
2
+ export declare function validateArgs_IrrigationCCAPI_getValveInfo(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
3
+ export declare function validateArgs_IrrigationCCAPI_setValveConfig(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
4
+ export declare function validateArgs_IrrigationCCAPI_getValveConfig(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
5
+ export declare function validateArgs_IrrigationCCAPI_runValve(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
6
+ export declare function validateArgs_IrrigationCCAPI_shutoffValve(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
7
+ export declare function validateArgs_IrrigationCCAPI_setValveTable(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
8
+ export declare function validateArgs_IrrigationCCAPI_getValveTable(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
9
+ export declare function validateArgs_IrrigationCCAPI_runTables(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
10
+ export declare function validateArgs_IrrigationCCAPI_shutoffSystem(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
11
11
  //# sourceMappingURL=IrrigationCC._validateArgs.d.ts.map