@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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/DoorLockCC.ts"],
4
- "sourcesContent": ["import * as __validateArgs from \"./DoorLockCC._validateArgs.js\";\nconst { validateArgs_DoorLockCCAPI_set, validateArgs_DoorLockCCAPI_setConfiguration } = __validateArgs;\nimport { CommandClasses, Duration, type EndpointId, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, enumValuesToMetadataStates, parseBitMask, supervisedCommandSucceeded, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, pick } from \"@zwave-js/shared\";\nimport { isArray } from \"alcalzone-shared/typeguards\";\nimport { CCAPI, POLL_VALUE, PhysicalCCAPI, 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, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { type DoorHandleStatus, DoorLockCommand, DoorLockMode, DoorLockOperationType, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { DoorLockCCValues } from \"./_CCValues.generated.js\";\nexport { DoorLockCCValues };\nexport function shouldAutoCreateLatchStatusValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.latchSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateBoltStatusValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.boltSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateDoorStatusValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.doorSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateTwistAssistConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.twistAssistSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateBlockToBlockConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.blockToBlockSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateAutoRelockConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.autoRelockSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateHoldAndReleaseConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.holdAndReleaseSupported.endpoint(endpoint.index));\n}\nconst configurationSetParameters = [\n \"operationType\",\n \"outsideHandlesCanOpenDoorConfiguration\",\n \"insideHandlesCanOpenDoorConfiguration\",\n \"lockTimeoutConfiguration\",\n \"autoRelockTime\",\n \"holdAndReleaseTime\",\n \"twistAssist\",\n \"blockToBlock\",\n] as const;\n@API(CommandClasses[\"Door Lock\"])\nexport class DoorLockCCAPI extends PhysicalCCAPI {\n public supportsCommand(cmd: DoorLockCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case DoorLockCommand.OperationSet:\n case DoorLockCommand.OperationGet:\n case DoorLockCommand.ConfigurationSet:\n case DoorLockCommand.ConfigurationGet:\n return true; // This is mandatory\n case DoorLockCommand.CapabilitiesGet:\n return this.version >= 4;\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: DoorLockCCAPI, { property }, value) {\n if (property === \"targetMode\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n const result = await this.set(value);\n // Verify the current value after a delay, unless the command was supervised and successful\n if (supervisedCommandSucceeded(result)) {\n this.getValueDB().setValue(DoorLockCCValues.currentMode.endpoint(this.endpoint.index), value);\n }\n else {\n this.schedulePoll({ property }, value);\n }\n return result;\n }\n else if (typeof property === \"string\"\n && configurationSetParameters.includes(property as any)) {\n // checking every type here would create a LOT of duplicate code, so we don't\n // ConfigurationSet expects all parameters --> read the others from cache\n const config = {\n [property]: value,\n } as DoorLockCCConfigurationSetOptions;\n for (const param of configurationSetParameters) {\n if (param !== property) {\n (config as any)[param] = this.tryGetValueDB()?.getValue({\n commandClass: this.ccId,\n endpoint: this.endpoint.index,\n property: param,\n });\n }\n }\n // Fix insideHandlesCanOpenDoorConfiguration is not iterable\n const allTrue: DoorHandleStatus = [true, true, true, true];\n if (!config.insideHandlesCanOpenDoorConfiguration) {\n config.insideHandlesCanOpenDoorConfiguration = allTrue;\n }\n if (!config.outsideHandlesCanOpenDoorConfiguration) {\n config.outsideHandlesCanOpenDoorConfiguration = allTrue;\n }\n const result = await this.setConfiguration(config);\n // Verify the current value after a delay, unless the command was supervised and successful\n if (!supervisedCommandSucceeded(result)) {\n this.schedulePoll({ property }, value);\n }\n return result;\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: DoorLockCCAPI, { property }) {\n switch (property) {\n case \"currentMode\":\n case \"targetMode\":\n case \"duration\":\n case \"outsideHandlesCanOpenDoor\":\n case \"insideHandlesCanOpenDoor\":\n case \"latchStatus\":\n case \"boltStatus\":\n case \"doorStatus\":\n case \"lockTimeout\":\n return (await this.get())?.[property];\n case \"operationType\":\n case \"outsideHandlesCanOpenDoorConfiguration\":\n case \"insideHandlesCanOpenDoorConfiguration\":\n case \"lockTimeoutConfiguration\":\n case \"autoRelockTime\":\n case \"holdAndReleaseTime\":\n case \"twistAssist\":\n case \"blockToBlock\":\n return (await this.getConfiguration())?.[property];\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getCapabilities() {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.CapabilitiesGet);\n const cc = new DoorLockCCCapabilitiesGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<DoorLockCCCapabilitiesReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"autoRelockSupported\",\n \"blockToBlockSupported\",\n \"boltSupported\",\n \"doorSupported\",\n \"holdAndReleaseSupported\",\n \"latchSupported\",\n \"twistAssistSupported\",\n \"supportedDoorLockModes\",\n \"supportedInsideHandles\",\n \"supportedOperationTypes\",\n \"supportedOutsideHandles\",\n ]);\n }\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.OperationGet);\n const cc = new DoorLockCCOperationGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<DoorLockCCOperationReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"currentMode\",\n \"targetMode\",\n \"duration\",\n \"outsideHandlesCanOpenDoor\",\n \"insideHandlesCanOpenDoor\",\n \"latchStatus\",\n \"boltStatus\",\n \"doorStatus\",\n \"lockTimeout\",\n ]);\n }\n }\n @validateArgs_DoorLockCCAPI_set()\n public async set(mode: DoorLockMode): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.OperationSet);\n const cc = new DoorLockCCOperationSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n mode,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_DoorLockCCAPI_setConfiguration()\n public async setConfiguration(configuration: DoorLockCCConfigurationSetOptions): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.ConfigurationSet);\n const cc = new DoorLockCCConfigurationSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...configuration,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getConfiguration() {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.ConfigurationGet);\n const cc = new DoorLockCCConfigurationGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<DoorLockCCConfigurationReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"operationType\",\n \"outsideHandlesCanOpenDoorConfiguration\",\n \"insideHandlesCanOpenDoorConfiguration\",\n \"lockTimeoutConfiguration\",\n \"autoRelockTime\",\n \"holdAndReleaseTime\",\n \"twistAssist\",\n \"blockToBlock\",\n ]);\n }\n }\n}\n@commandClass(CommandClasses[\"Door Lock\"])\n@implementedVersion(4)\n@ccValues(DoorLockCCValues)\nexport class DoorLockCC extends CommandClass {\n declare ccCommand: DoorLockCommand;\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[\"Door Lock\"], 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 // We need to do some queries after a potential timeout\n // In this case, do now mark this CC as interviewed completely\n let hadCriticalTimeout = false;\n // By default, assume all status sensors to be supported\n let doorSupported = true;\n let boltSupported = true;\n let latchSupported = true;\n if (api.version >= 4) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting lock capabilities...\",\n direction: \"outbound\",\n });\n const resp = await api.getCapabilities();\n if (resp) {\n const logMessage = `received lock capabilities:\nsupported operation types: ${resp.supportedOperationTypes\n .map((t) => getEnumMemberName(DoorLockOperationType, t))\n .join(\", \")}\nsupported door lock modes: ${resp.supportedDoorLockModes\n .map((t) => getEnumMemberName(DoorLockMode, t))\n .map((str) => `\\n\u00B7 ${str}`)\n .join(\"\")}\nsupported outside handles: ${resp.supportedOutsideHandles\n .map(String)\n .join(\", \")}\nsupported inside handles: ${resp.supportedInsideHandles.map(String).join(\", \")}\nsupports door status: ${resp.doorSupported}\nsupports bolt status: ${resp.boltSupported}\nsupports latch status: ${resp.latchSupported}\nsupports auto-relock: ${resp.autoRelockSupported}\nsupports hold-and-release: ${resp.holdAndReleaseSupported}\nsupports twist assist: ${resp.twistAssistSupported}\nsupports block to block: ${resp.blockToBlockSupported}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n doorSupported = resp.doorSupported;\n boltSupported = resp.boltSupported;\n latchSupported = resp.latchSupported;\n // Update metadata of settable states\n const targetModeValue = DoorLockCCValues.targetMode;\n this.setMetadata(ctx, targetModeValue, {\n ...targetModeValue.meta,\n states: enumValuesToMetadataStates(DoorLockMode, resp.supportedDoorLockModes),\n });\n const operationTypeValue = DoorLockCCValues.operationType;\n this.setMetadata(ctx, operationTypeValue, {\n ...operationTypeValue.meta,\n states: enumValuesToMetadataStates(DoorLockOperationType, resp.supportedOperationTypes),\n });\n }\n else {\n hadCriticalTimeout = true;\n }\n }\n if (!hadCriticalTimeout) {\n // Save support information for the status values\n const doorStatusValue = DoorLockCCValues.doorStatus;\n if (doorSupported)\n this.setMetadata(ctx, doorStatusValue);\n this.setValue(ctx, DoorLockCCValues.doorSupported, doorSupported);\n const latchStatusValue = DoorLockCCValues.latchStatus;\n if (latchSupported)\n this.setMetadata(ctx, latchStatusValue);\n this.setValue(ctx, DoorLockCCValues.latchSupported, latchSupported);\n const boltStatusValue = DoorLockCCValues.boltStatus;\n if (boltSupported)\n this.setMetadata(ctx, boltStatusValue);\n this.setValue(ctx, DoorLockCCValues.boltSupported, boltSupported);\n }\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n if (!hadCriticalTimeout)\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[\"Door Lock\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting lock configuration...\",\n direction: \"outbound\",\n });\n const config = await api.getConfiguration();\n if (config) {\n let logMessage = `received lock configuration:\noperation type: ${getEnumMemberName(DoorLockOperationType, config.operationType)}`;\n if (config.operationType === DoorLockOperationType.Timed) {\n logMessage += `\nlock timeout: ${config.lockTimeoutConfiguration} seconds\n`;\n }\n logMessage += `\noutside handles can open door: ${config.outsideHandlesCanOpenDoorConfiguration\n .map(String)\n .join(\", \")}\ninside handles can open door: ${config.insideHandlesCanOpenDoorConfiguration\n .map(String)\n .join(\", \")}`;\n if (api.version >= 4) {\n logMessage += `\nauto-relock time ${config.autoRelockTime ?? \"-\"} seconds\nhold-and-release time ${config.holdAndReleaseTime ?? \"-\"} seconds\ntwist assist ${!!config.twistAssist}\nblock to block ${!!config.blockToBlock}`;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting current lock status...\",\n direction: \"outbound\",\n });\n const status = await api.get();\n if (status) {\n let logMessage = `received lock status:\ncurrent mode: ${getEnumMemberName(DoorLockMode, status.currentMode)}`;\n if (status.targetMode != undefined) {\n logMessage += `\ntarget mode: ${getEnumMemberName(DoorLockMode, status.targetMode)}\nremaining duration: ${status.duration?.toString() ?? \"undefined\"}`;\n }\n if (status.lockTimeout != undefined) {\n logMessage += `\nlock timeout: ${status.lockTimeout} seconds`;\n }\n if (status.doorStatus != undefined) {\n logMessage += `\ndoor status: ${status.doorStatus}`;\n }\n if (status.boltStatus != undefined) {\n logMessage += `\nbolt status: ${status.boltStatus}`;\n }\n if (status.latchStatus != undefined) {\n logMessage += `\nlatch status: ${status.latchStatus}`;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n /**\n * Returns whether the node supports auto relock.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsAutoRelockCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.autoRelockSupported.endpoint(endpoint.index));\n }\n /**\n * Returns whether the node supports hold and release.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsHoldAndReleaseCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.holdAndReleaseSupported.endpoint(endpoint.index));\n }\n /**\n * Returns whether the node supports twist assist.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsTwistAssistCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.twistAssistSupported.endpoint(endpoint.index));\n }\n /**\n * Returns whether the node supports block to block.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsBlockToBlockCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.blockToBlockSupported.endpoint(endpoint.index));\n }\n /**\n * Returns the supported outside handles.\n * This only works AFTER the node has been interviewed.\n */\n public static getSupportedOutsideHandlesCached(ctx: GetValueDB, endpoint: EndpointId): MaybeNotKnown<DoorHandleStatus> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.supportedOutsideHandles.endpoint(endpoint.index));\n }\n /**\n * Returns the supported inside handles.\n * This only works AFTER the node has been interviewed.\n */\n public static getSupportedInsideHandlesCached(ctx: GetValueDB, endpoint: EndpointId): MaybeNotKnown<DoorHandleStatus> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.supportedInsideHandles.endpoint(endpoint.index));\n }\n}\n// @publicAPI\nexport interface DoorLockCCOperationSetOptions {\n mode: DoorLockMode;\n}\n@CCCommand(DoorLockCommand.OperationSet)\n@useSupervision()\nexport class DoorLockCCOperationSet extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCOperationSetOptions>) {\n super(options);\n if (options.mode === DoorLockMode.Unknown) {\n throw new ZWaveError(`Unknown is not a valid door lock target state!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.mode = options.mode;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): DoorLockCCOperationSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new DoorLockCCOperationSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public mode: DoorLockMode;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.mode]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"target mode\": getEnumMemberName(DoorLockMode, this.mode),\n },\n };\n }\n}\n// @publicAPI\nexport interface DoorLockCCOperationReportOptions {\n currentMode: DoorLockMode;\n outsideHandlesCanOpenDoor: DoorHandleStatus;\n insideHandlesCanOpenDoor: DoorHandleStatus;\n doorStatus?: \"closed\" | \"open\";\n boltStatus?: \"unlocked\" | \"locked\";\n latchStatus?: \"closed\" | \"open\";\n lockTimeout?: number;\n targetMode?: DoorLockMode;\n duration?: Duration;\n}\n@CCCommand(DoorLockCommand.OperationReport)\n@ccValueProperty(\"currentMode\", DoorLockCCValues.currentMode)\n@ccValueProperty(\"targetMode\", DoorLockCCValues.targetMode)\n@ccValueProperty(\"duration\", DoorLockCCValues.duration)\n@ccValueProperty(\"outsideHandlesCanOpenDoor\", DoorLockCCValues.outsideHandlesCanOpenDoor)\n@ccValueProperty(\"insideHandlesCanOpenDoor\", DoorLockCCValues.insideHandlesCanOpenDoor)\n@ccValueProperty(\"lockTimeout\", DoorLockCCValues.lockTimeout)\nexport class DoorLockCCOperationReport extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCOperationReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.currentMode = options.currentMode;\n this.outsideHandlesCanOpenDoor = options.outsideHandlesCanOpenDoor;\n this.insideHandlesCanOpenDoor = options.insideHandlesCanOpenDoor;\n this.doorStatus = options.doorStatus;\n this.boltStatus = options.boltStatus;\n this.latchStatus = options.latchStatus;\n this.lockTimeout = options.lockTimeout;\n this.targetMode = options.targetMode;\n this.duration = options.duration;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): DoorLockCCOperationReport {\n validatePayload(raw.payload.length >= 5);\n const currentMode: DoorLockMode = raw.payload[0];\n const outsideHandlesCanOpenDoor: DoorHandleStatus = [\n !!(raw.payload[1] & 16),\n !!(raw.payload[1] & 32),\n !!(raw.payload[1] & 64),\n !!(raw.payload[1] & 128),\n ];\n const insideHandlesCanOpenDoor: DoorHandleStatus = [\n !!(raw.payload[1] & 0b0001),\n !!(raw.payload[1] & 0b0010),\n !!(raw.payload[1] & 0b0100),\n !!(raw.payload[1] & 0b1000),\n ];\n const doorStatus: \"closed\" | \"open\" | undefined = !!(raw.payload[2] & 0b1)\n ? \"closed\"\n : \"open\";\n const boltStatus: \"unlocked\" | \"locked\" | undefined = !!(raw.payload[2] & 0b10) ? \"unlocked\" : \"locked\";\n const latchStatus: \"closed\" | \"open\" | undefined = !!(raw.payload[2] & 0b100)\n ? \"closed\"\n : \"open\";\n // Ignore invalid timeout values\n const lockTimeoutMinutes = raw.payload[3];\n const lockTimeoutSeconds = raw.payload[4];\n let lockTimeout: number | undefined;\n if (lockTimeoutMinutes <= 253 && lockTimeoutSeconds <= 59) {\n lockTimeout = lockTimeoutSeconds + lockTimeoutMinutes * 60;\n }\n let targetMode: DoorLockMode | undefined;\n let duration: Duration | undefined;\n if (raw.payload.length >= 7) {\n targetMode = raw.payload[5];\n duration = Duration.parseReport(raw.payload[6]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n currentMode,\n outsideHandlesCanOpenDoor,\n insideHandlesCanOpenDoor,\n doorStatus,\n boltStatus,\n latchStatus,\n lockTimeout,\n targetMode,\n duration,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // Only store the door/bolt/latch status if the lock supports it\n const supportsDoorStatus = !!this.getValue(ctx, DoorLockCCValues.doorSupported);\n if (supportsDoorStatus) {\n this.setValue(ctx, DoorLockCCValues.doorStatus, this.doorStatus);\n }\n const supportsBoltStatus = !!this.getValue(ctx, DoorLockCCValues.boltSupported);\n if (supportsBoltStatus) {\n this.setValue(ctx, DoorLockCCValues.boltStatus, this.boltStatus);\n }\n const supportsLatchStatus = !!this.getValue(ctx, DoorLockCCValues.latchSupported);\n if (supportsLatchStatus) {\n this.setValue(ctx, DoorLockCCValues.latchStatus, this.latchStatus);\n }\n return true;\n }\n public readonly currentMode: DoorLockMode;\n public readonly targetMode?: DoorLockMode;\n public readonly duration?: Duration;\n public readonly outsideHandlesCanOpenDoor: DoorHandleStatus;\n public readonly insideHandlesCanOpenDoor: DoorHandleStatus;\n public readonly latchStatus?: \"open\" | \"closed\";\n public readonly boltStatus?: \"locked\" | \"unlocked\";\n public readonly doorStatus?: \"open\" | \"closed\";\n public readonly lockTimeout?: number; // in seconds\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"current mode\": getEnumMemberName(DoorLockMode, this.currentMode),\n \"active outside handles\": this.outsideHandlesCanOpenDoor.join(\", \"),\n \"active inside handles\": this.insideHandlesCanOpenDoor.join(\", \"),\n };\n if (this.latchStatus != undefined) {\n message[\"latch status\"] = this.latchStatus;\n }\n if (this.boltStatus != undefined) {\n message[\"bolt status\"] = this.boltStatus;\n }\n if (this.doorStatus != undefined) {\n message[\"door status\"] = this.doorStatus;\n }\n if (this.targetMode != undefined) {\n message[\"target mode\"] = getEnumMemberName(DoorLockMode, this.targetMode);\n }\n if (this.duration != undefined) {\n message[\"remaining duration\"] = this.duration.toString();\n }\n if (this.lockTimeout != undefined) {\n message[\"lock timeout\"] = `${this.lockTimeout} seconds`;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(DoorLockCommand.OperationGet)\n@expectedCCResponse(DoorLockCCOperationReport)\nexport class DoorLockCCOperationGet extends DoorLockCC {\n}\n// @publicAPI\nexport interface DoorLockCCConfigurationReportOptions {\n operationType: DoorLockOperationType;\n outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n lockTimeoutConfiguration?: number;\n autoRelockTime?: number;\n holdAndReleaseTime?: number;\n twistAssist?: boolean;\n blockToBlock?: boolean;\n}\n@CCCommand(DoorLockCommand.ConfigurationReport)\n@ccValueProperty(\"operationType\", DoorLockCCValues.operationType)\n@ccValueProperty(\"outsideHandlesCanOpenDoorConfiguration\", DoorLockCCValues.outsideHandlesCanOpenDoorConfiguration)\n@ccValueProperty(\"insideHandlesCanOpenDoorConfiguration\", DoorLockCCValues.insideHandlesCanOpenDoorConfiguration)\n@ccValueProperty(\"lockTimeoutConfiguration\", DoorLockCCValues.lockTimeoutConfiguration)\nexport class DoorLockCCConfigurationReport extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCConfigurationReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.operationType = options.operationType;\n this.outsideHandlesCanOpenDoorConfiguration =\n options.outsideHandlesCanOpenDoorConfiguration;\n this.insideHandlesCanOpenDoorConfiguration =\n options.insideHandlesCanOpenDoorConfiguration;\n this.lockTimeoutConfiguration = options.lockTimeoutConfiguration;\n this.autoRelockTime = options.autoRelockTime;\n this.holdAndReleaseTime = options.holdAndReleaseTime;\n this.twistAssist = options.twistAssist;\n this.blockToBlock = options.blockToBlock;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): DoorLockCCConfigurationReport {\n validatePayload(raw.payload.length >= 4);\n const operationType: DoorLockOperationType = raw.payload[0];\n const outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus = [\n !!(raw.payload[1] & 16),\n !!(raw.payload[1] & 32),\n !!(raw.payload[1] & 64),\n !!(raw.payload[1] & 128),\n ];\n const insideHandlesCanOpenDoorConfiguration: DoorHandleStatus = [\n !!(raw.payload[1] & 0b0001),\n !!(raw.payload[1] & 0b0010),\n !!(raw.payload[1] & 0b0100),\n !!(raw.payload[1] & 0b1000),\n ];\n let lockTimeoutConfiguration: number | undefined;\n if (operationType === DoorLockOperationType.Timed) {\n const lockTimeoutMinutes = raw.payload[2];\n const lockTimeoutSeconds = raw.payload[3];\n if (lockTimeoutMinutes <= 0xfd && lockTimeoutSeconds <= 59) {\n lockTimeoutConfiguration = lockTimeoutSeconds\n + lockTimeoutMinutes * 60;\n }\n }\n let autoRelockTime: number | undefined;\n let holdAndReleaseTime: number | undefined;\n let twistAssist: boolean | undefined;\n let blockToBlock: boolean | undefined;\n if (raw.payload.length >= 5) {\n autoRelockTime = raw.payload.readUInt16BE(4);\n holdAndReleaseTime = raw.payload.readUInt16BE(6);\n const flags = raw.payload[8];\n twistAssist = !!(flags & 0b1);\n blockToBlock = !!(flags & 0b10);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n operationType,\n outsideHandlesCanOpenDoorConfiguration,\n insideHandlesCanOpenDoorConfiguration,\n lockTimeoutConfiguration,\n autoRelockTime,\n holdAndReleaseTime,\n twistAssist,\n blockToBlock,\n });\n }\n public readonly operationType: DoorLockOperationType;\n public readonly outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public readonly insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public readonly lockTimeoutConfiguration?: number;\n // These are not always supported and have to be persisted manually\n // to avoid unsupported values being exposed to the user\n public readonly autoRelockTime?: number;\n public readonly holdAndReleaseTime?: number;\n public readonly twistAssist?: boolean;\n public readonly blockToBlock?: boolean;\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // Only store the autoRelockTime etc. params if the lock supports it\n const supportsAutoRelock = !!this.getValue(ctx, DoorLockCCValues.autoRelockSupported);\n if (supportsAutoRelock) {\n this.setValue(ctx, DoorLockCCValues.autoRelockTime, this.autoRelockTime);\n }\n const supportsHoldAndRelease = !!this.getValue(ctx, DoorLockCCValues.holdAndReleaseSupported);\n if (supportsHoldAndRelease) {\n this.setValue(ctx, DoorLockCCValues.holdAndReleaseTime, this.holdAndReleaseTime);\n }\n const supportsTwistAssist = !!this.getValue(ctx, DoorLockCCValues.twistAssistSupported);\n if (supportsTwistAssist) {\n this.setValue(ctx, DoorLockCCValues.twistAssist, this.twistAssist);\n }\n const supportsBlockToBlock = !!this.getValue(ctx, DoorLockCCValues.blockToBlockSupported);\n if (supportsBlockToBlock) {\n this.setValue(ctx, DoorLockCCValues.blockToBlock, this.blockToBlock);\n }\n return true;\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"operation type\": getEnumMemberName(DoorLockOperationType, this.operationType),\n \"outside handle configuration\": this\n .outsideHandlesCanOpenDoorConfiguration.join(\", \"),\n \"inside handle configuration\": this\n .insideHandlesCanOpenDoorConfiguration.join(\", \"),\n };\n if (this.lockTimeoutConfiguration != undefined) {\n message[\"timed mode duration\"] = `${this.lockTimeoutConfiguration} seconds`;\n }\n if (this.autoRelockTime != undefined) {\n message[\"auto-relock time\"] = `${this.autoRelockTime} seconds`;\n }\n if (this.holdAndReleaseTime != undefined) {\n message[\"hold-and-release time\"] = `${this.holdAndReleaseTime} seconds`;\n }\n if (this.twistAssist != undefined) {\n message[\"twist assist enabled\"] = this.twistAssist;\n }\n if (this.blockToBlock != undefined) {\n message[\"block-to-block enabled\"] = this.blockToBlock;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(DoorLockCommand.ConfigurationGet)\n@expectedCCResponse(DoorLockCCConfigurationReport)\nexport class DoorLockCCConfigurationGet extends DoorLockCC {\n}\n// @publicAPI\nexport type DoorLockCCConfigurationSetOptions = ({\n operationType: DoorLockOperationType.Timed;\n lockTimeoutConfiguration: number;\n} | {\n operationType: DoorLockOperationType.Constant;\n lockTimeoutConfiguration?: undefined;\n}) & {\n outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n // V4+\n autoRelockTime?: number;\n holdAndReleaseTime?: number;\n twistAssist?: boolean;\n blockToBlock?: boolean;\n};\n@CCCommand(DoorLockCommand.ConfigurationSet)\n@useSupervision()\nexport class DoorLockCCConfigurationSet extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCConfigurationSetOptions>) {\n super(options);\n this.operationType = options.operationType;\n this.outsideHandlesCanOpenDoorConfiguration =\n options.outsideHandlesCanOpenDoorConfiguration;\n this.insideHandlesCanOpenDoorConfiguration =\n options.insideHandlesCanOpenDoorConfiguration;\n this.lockTimeoutConfiguration = options.lockTimeoutConfiguration;\n this.autoRelockTime = options.autoRelockTime;\n this.holdAndReleaseTime = options.holdAndReleaseTime;\n this.twistAssist = options.twistAssist;\n this.blockToBlock = options.blockToBlock;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): DoorLockCCConfigurationSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new DoorLockCCConfigurationSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public operationType: DoorLockOperationType;\n public outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public lockTimeoutConfiguration?: number;\n public autoRelockTime?: number;\n public holdAndReleaseTime?: number;\n public twistAssist?: boolean;\n public blockToBlock?: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const insideHandles = isArray(this.insideHandlesCanOpenDoorConfiguration)\n ? this.insideHandlesCanOpenDoorConfiguration\n : [];\n const outsideHandles = isArray(this.outsideHandlesCanOpenDoorConfiguration)\n ? this.outsideHandlesCanOpenDoorConfiguration\n : [];\n const handles = [...insideHandles, ...outsideHandles]\n .map((val, i) => (val ? 1 << i : 0))\n .reduce((acc, cur) => acc | cur, 0);\n let lockTimeoutMinutes: number;\n let lockTimeoutSeconds: number;\n if (this.operationType === DoorLockOperationType.Constant) {\n lockTimeoutMinutes = lockTimeoutSeconds = 0xfe;\n }\n else {\n lockTimeoutMinutes = Math.floor(this.lockTimeoutConfiguration! / 60);\n lockTimeoutSeconds = this.lockTimeoutConfiguration! % 60;\n }\n const flags = (this.twistAssist ? 0b1 : 0)\n | (this.blockToBlock ? 0b10 : 0);\n this.payload = Bytes.from([\n this.operationType,\n handles,\n lockTimeoutMinutes,\n lockTimeoutSeconds,\n // placeholder for auto relock time\n 0,\n 0,\n // placeholder for hold and release time\n 0,\n 0,\n flags,\n ]);\n this.payload.writeUInt16BE((this.autoRelockTime ?? 0) & 0xffff, 4);\n this.payload.writeUInt16BE((this.holdAndReleaseTime ?? 0) & 0xffff, 6);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const insideHandles = isArray(this.insideHandlesCanOpenDoorConfiguration)\n ? this.insideHandlesCanOpenDoorConfiguration\n : [];\n const outsideHandles = isArray(this.outsideHandlesCanOpenDoorConfiguration)\n ? this.outsideHandlesCanOpenDoorConfiguration\n : [];\n const message: MessageRecord = {\n \"operation type\": getEnumMemberName(DoorLockOperationType, this.operationType),\n \"outside handle configuration\": outsideHandles.join(\", \"),\n \"inside handle configuration\": insideHandles.join(\", \"),\n };\n if (this.lockTimeoutConfiguration != undefined) {\n message[\"timed mode duration\"] = `${this.lockTimeoutConfiguration} seconds`;\n }\n if (this.autoRelockTime != undefined) {\n message[\"auto-relock time\"] = `${this.autoRelockTime} seconds`;\n }\n if (this.holdAndReleaseTime != undefined) {\n message[\"hold-and-release time\"] = `${this.holdAndReleaseTime} seconds`;\n }\n if (this.twistAssist != undefined) {\n message[\"enable twist assist\"] = this.twistAssist;\n }\n if (this.blockToBlock != undefined) {\n message[\"enable block-to-block\"] = this.blockToBlock;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface DoorLockCCCapabilitiesReportOptions {\n supportedOperationTypes: DoorLockOperationType[];\n supportedDoorLockModes: DoorLockMode[];\n supportedOutsideHandles: DoorHandleStatus;\n supportedInsideHandles: DoorHandleStatus;\n doorSupported: boolean;\n boltSupported: boolean;\n latchSupported: boolean;\n blockToBlockSupported: boolean;\n twistAssistSupported: boolean;\n holdAndReleaseSupported: boolean;\n autoRelockSupported: boolean;\n}\n@CCCommand(DoorLockCommand.CapabilitiesReport)\n@ccValueProperty(\"supportedOutsideHandles\", DoorLockCCValues.supportedOutsideHandles)\n@ccValueProperty(\"supportedInsideHandles\", DoorLockCCValues.supportedInsideHandles)\n@ccValueProperty(\"autoRelockSupported\", DoorLockCCValues.autoRelockSupported)\n@ccValueProperty(\"holdAndReleaseSupported\", DoorLockCCValues.holdAndReleaseSupported)\n@ccValueProperty(\"twistAssistSupported\", DoorLockCCValues.twistAssistSupported)\n@ccValueProperty(\"blockToBlockSupported\", DoorLockCCValues.blockToBlockSupported)\nexport class DoorLockCCCapabilitiesReport extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCCapabilitiesReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.supportedOperationTypes = options.supportedOperationTypes;\n this.supportedDoorLockModes = options.supportedDoorLockModes;\n this.supportedOutsideHandles = options.supportedOutsideHandles;\n this.supportedInsideHandles = options.supportedInsideHandles;\n this.doorSupported = options.doorSupported;\n this.boltSupported = options.boltSupported;\n this.latchSupported = options.latchSupported;\n this.blockToBlockSupported = options.blockToBlockSupported;\n this.twistAssistSupported = options.twistAssistSupported;\n this.holdAndReleaseSupported = options.holdAndReleaseSupported;\n this.autoRelockSupported = options.autoRelockSupported;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): DoorLockCCCapabilitiesReport {\n // parse variable length operation type bit mask\n validatePayload(raw.payload.length >= 1);\n const bitMaskLength = raw.payload[0] & 0b11111;\n let offset = 1;\n validatePayload(raw.payload.length >= offset + bitMaskLength + 1);\n const supportedOperationTypes: DoorLockOperationType[] = parseBitMask(raw.payload.subarray(offset, offset + bitMaskLength), \n // bit 0 is reserved, bitmask starts at 1\n 0);\n offset += bitMaskLength;\n // parse variable length door lock mode list\n const listLength = raw.payload[offset];\n offset += 1;\n validatePayload(raw.payload.length >= offset + listLength + 3);\n const supportedDoorLockModes: DoorLockMode[] = [\n ...raw.payload.subarray(offset, offset + listLength),\n ];\n offset += listLength;\n const supportedOutsideHandles: DoorHandleStatus = [\n !!(raw.payload[offset] & 16),\n !!(raw.payload[offset] & 32),\n !!(raw.payload[offset] & 64),\n !!(raw.payload[offset] & 128),\n ];\n const supportedInsideHandles: DoorHandleStatus = [\n !!(raw.payload[offset] & 0b0001),\n !!(raw.payload[offset] & 0b0010),\n !!(raw.payload[offset] & 0b0100),\n !!(raw.payload[offset] & 0b1000),\n ];\n const doorSupported = !!(raw.payload[offset + 1] & 0b1);\n const boltSupported = !!(raw.payload[offset + 1] & 0b10);\n const latchSupported = !!(raw.payload[offset + 1] & 0b100);\n const blockToBlockSupported = !!(raw.payload[offset + 2] & 0b1);\n const twistAssistSupported = !!(raw.payload[offset + 2] & 0b10);\n const holdAndReleaseSupported = !!(raw.payload[offset + 2] & 0b100);\n const autoRelockSupported = !!(raw.payload[offset + 2] & 0b1000);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedOperationTypes,\n supportedDoorLockModes,\n supportedOutsideHandles,\n supportedInsideHandles,\n doorSupported,\n boltSupported,\n latchSupported,\n blockToBlockSupported,\n twistAssistSupported,\n holdAndReleaseSupported,\n autoRelockSupported,\n });\n }\n public readonly supportedOperationTypes: readonly DoorLockOperationType[];\n public readonly supportedDoorLockModes: readonly DoorLockMode[];\n public readonly supportedOutsideHandles: DoorHandleStatus;\n public readonly supportedInsideHandles: DoorHandleStatus;\n // These 3 are not automatically persisted because in CC version 3\n // we have to assume them to be supported. In v4 we can query this.\n public readonly latchSupported: boolean;\n public readonly boltSupported: boolean;\n public readonly doorSupported: boolean;\n public readonly autoRelockSupported: boolean;\n public readonly holdAndReleaseSupported: boolean;\n public readonly twistAssistSupported: boolean;\n public readonly blockToBlockSupported: boolean;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n door: this.doorSupported,\n bolt: this.boltSupported,\n latch: this.latchSupported,\n \"block-to-block feature\": this.blockToBlockSupported,\n \"twist assist feature\": this.twistAssistSupported,\n \"hold-and-release feature\": this.holdAndReleaseSupported,\n \"auto-relock feature\": this.autoRelockSupported,\n \"operation types\": this.supportedOperationTypes\n .map((t) => `\\n\u00B7 ${getEnumMemberName(DoorLockOperationType, t)}`)\n .join(\"\"),\n \"door lock modes\": this.supportedDoorLockModes\n .map((t) => `\\n\u00B7 ${getEnumMemberName(DoorLockMode, t)}`)\n .join(\"\"),\n \"outside handles\": this.supportedOutsideHandles.join(\", \"),\n \"inside handles\": this.supportedInsideHandles.join(\", \"),\n },\n };\n }\n}\n@CCCommand(DoorLockCommand.CapabilitiesGet)\n@expectedCCResponse(DoorLockCCCapabilitiesReport)\nexport class DoorLockCCCapabilitiesGet extends DoorLockCC {\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as __validateArgs from \"./DoorLockCC._validateArgs.js\";\nconst { validateArgs_DoorLockCCAPI_set, validateArgs_DoorLockCCAPI_setConfiguration } = __validateArgs;\nimport { CommandClasses, Duration, type EndpointId, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, enumValuesToMetadataStates, parseBitMask, supervisedCommandSucceeded, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, pick } from \"@zwave-js/shared\";\nimport { isArray } from \"alcalzone-shared/typeguards\";\nimport { CCAPI, POLL_VALUE, PhysicalCCAPI, 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, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, useSupervision, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { type DoorHandleStatus, DoorLockCommand, DoorLockMode, DoorLockOperationType, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { DoorLockCCValues } from \"./_CCValues.generated.js\";\nexport { DoorLockCCValues };\nexport function shouldAutoCreateLatchStatusValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.latchSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateBoltStatusValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.boltSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateDoorStatusValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.doorSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateTwistAssistConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.twistAssistSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateBlockToBlockConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.blockToBlockSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateAutoRelockConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.autoRelockSupported.endpoint(endpoint.index));\n}\nexport function shouldAutoCreateHoldAndReleaseConfigValue(ctx: GetValueDB, endpoint: EndpointId): boolean {\n const valueDB = ctx.tryGetValueDB(endpoint.nodeId);\n if (!valueDB)\n return false;\n return !!valueDB.getValue(DoorLockCCValues.holdAndReleaseSupported.endpoint(endpoint.index));\n}\nconst configurationSetParameters = [\n \"operationType\",\n \"outsideHandlesCanOpenDoorConfiguration\",\n \"insideHandlesCanOpenDoorConfiguration\",\n \"lockTimeoutConfiguration\",\n \"autoRelockTime\",\n \"holdAndReleaseTime\",\n \"twistAssist\",\n \"blockToBlock\",\n] as const;\n@API(CommandClasses[\"Door Lock\"])\nexport class DoorLockCCAPI extends PhysicalCCAPI {\n public supportsCommand(cmd: DoorLockCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case DoorLockCommand.OperationSet:\n case DoorLockCommand.OperationGet:\n case DoorLockCommand.ConfigurationSet:\n case DoorLockCommand.ConfigurationGet:\n return true; // This is mandatory\n case DoorLockCommand.CapabilitiesGet:\n return this.version >= 4;\n }\n return super.supportsCommand(cmd);\n }\n protected override get [SET_VALUE](): SetValueImplementation {\n return async function (this: DoorLockCCAPI, { property }, value) {\n if (property === \"targetMode\") {\n if (typeof value !== \"number\") {\n throwWrongValueType(this.ccId, property, \"number\", typeof value);\n }\n const result = await this.set(value);\n // Verify the current value after a delay, unless the command was supervised and successful\n if (supervisedCommandSucceeded(result)) {\n this.getValueDB().setValue(DoorLockCCValues.currentMode.endpoint(this.endpoint.index), value);\n }\n else {\n this.schedulePoll({ property }, value);\n }\n return result;\n }\n else if (typeof property === \"string\"\n && configurationSetParameters.includes(property as any)) {\n // checking every type here would create a LOT of duplicate code, so we don't\n // ConfigurationSet expects all parameters --> read the others from cache\n const config = {\n [property]: value,\n } as DoorLockCCConfigurationSetOptions;\n for (const param of configurationSetParameters) {\n if (param !== property) {\n (config as any)[param] = this.tryGetValueDB()?.getValue({\n commandClass: this.ccId,\n endpoint: this.endpoint.index,\n property: param,\n });\n }\n }\n // Fix insideHandlesCanOpenDoorConfiguration is not iterable\n const allTrue: DoorHandleStatus = [true, true, true, true];\n if (!config.insideHandlesCanOpenDoorConfiguration) {\n config.insideHandlesCanOpenDoorConfiguration = allTrue;\n }\n if (!config.outsideHandlesCanOpenDoorConfiguration) {\n config.outsideHandlesCanOpenDoorConfiguration = allTrue;\n }\n const result = await this.setConfiguration(config);\n // Verify the current value after a delay, unless the command was supervised and successful\n if (!supervisedCommandSucceeded(result)) {\n this.schedulePoll({ property }, value);\n }\n return result;\n }\n else {\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n protected get [POLL_VALUE](): PollValueImplementation {\n return async function (this: DoorLockCCAPI, { property }) {\n switch (property) {\n case \"currentMode\":\n case \"targetMode\":\n case \"duration\":\n case \"outsideHandlesCanOpenDoor\":\n case \"insideHandlesCanOpenDoor\":\n case \"latchStatus\":\n case \"boltStatus\":\n case \"doorStatus\":\n case \"lockTimeout\":\n return (await this.get())?.[property];\n case \"operationType\":\n case \"outsideHandlesCanOpenDoorConfiguration\":\n case \"insideHandlesCanOpenDoorConfiguration\":\n case \"lockTimeoutConfiguration\":\n case \"autoRelockTime\":\n case \"holdAndReleaseTime\":\n case \"twistAssist\":\n case \"blockToBlock\":\n return (await this.getConfiguration())?.[property];\n default:\n throwUnsupportedProperty(this.ccId, property);\n }\n };\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getCapabilities() {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.CapabilitiesGet);\n const cc = new DoorLockCCCapabilitiesGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<DoorLockCCCapabilitiesReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"autoRelockSupported\",\n \"blockToBlockSupported\",\n \"boltSupported\",\n \"doorSupported\",\n \"holdAndReleaseSupported\",\n \"latchSupported\",\n \"twistAssistSupported\",\n \"supportedDoorLockModes\",\n \"supportedInsideHandles\",\n \"supportedOperationTypes\",\n \"supportedOutsideHandles\",\n ]);\n }\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.OperationGet);\n const cc = new DoorLockCCOperationGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<DoorLockCCOperationReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"currentMode\",\n \"targetMode\",\n \"duration\",\n \"outsideHandlesCanOpenDoor\",\n \"insideHandlesCanOpenDoor\",\n \"latchStatus\",\n \"boltStatus\",\n \"doorStatus\",\n \"lockTimeout\",\n ]);\n }\n }\n @validateArgs_DoorLockCCAPI_set()\n public async set(mode: DoorLockMode): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.OperationSet);\n const cc = new DoorLockCCOperationSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n mode,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_DoorLockCCAPI_setConfiguration()\n public async setConfiguration(configuration: DoorLockCCConfigurationSetOptions): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.ConfigurationSet);\n const cc = new DoorLockCCConfigurationSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...configuration,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async getConfiguration() {\n this.assertSupportsCommand(DoorLockCommand, DoorLockCommand.ConfigurationGet);\n const cc = new DoorLockCCConfigurationGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<DoorLockCCConfigurationReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"operationType\",\n \"outsideHandlesCanOpenDoorConfiguration\",\n \"insideHandlesCanOpenDoorConfiguration\",\n \"lockTimeoutConfiguration\",\n \"autoRelockTime\",\n \"holdAndReleaseTime\",\n \"twistAssist\",\n \"blockToBlock\",\n ]);\n }\n }\n}\n@commandClass(CommandClasses[\"Door Lock\"])\n@implementedVersion(4)\n@ccValues(DoorLockCCValues)\nexport class DoorLockCC extends CommandClass {\n declare ccCommand: DoorLockCommand;\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[\"Door Lock\"], 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 // We need to do some queries after a potential timeout\n // In this case, do now mark this CC as interviewed completely\n let hadCriticalTimeout = false;\n // By default, assume all status sensors to be supported\n let doorSupported = true;\n let boltSupported = true;\n let latchSupported = true;\n if (api.version >= 4) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting lock capabilities...\",\n direction: \"outbound\",\n });\n const resp = await api.getCapabilities();\n if (resp) {\n const logMessage = `received lock capabilities:\nsupported operation types: ${resp.supportedOperationTypes\n .map((t) => getEnumMemberName(DoorLockOperationType, t))\n .join(\", \")}\nsupported door lock modes: ${resp.supportedDoorLockModes\n .map((t) => getEnumMemberName(DoorLockMode, t))\n .map((str) => `\\n\u00B7 ${str}`)\n .join(\"\")}\nsupported outside handles: ${resp.supportedOutsideHandles\n .map(String)\n .join(\", \")}\nsupported inside handles: ${resp.supportedInsideHandles.map(String).join(\", \")}\nsupports door status: ${resp.doorSupported}\nsupports bolt status: ${resp.boltSupported}\nsupports latch status: ${resp.latchSupported}\nsupports auto-relock: ${resp.autoRelockSupported}\nsupports hold-and-release: ${resp.holdAndReleaseSupported}\nsupports twist assist: ${resp.twistAssistSupported}\nsupports block to block: ${resp.blockToBlockSupported}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n doorSupported = resp.doorSupported;\n boltSupported = resp.boltSupported;\n latchSupported = resp.latchSupported;\n // Update metadata of settable states\n const targetModeValue = DoorLockCCValues.targetMode;\n this.setMetadata(ctx, targetModeValue, {\n ...targetModeValue.meta,\n states: enumValuesToMetadataStates(DoorLockMode, resp.supportedDoorLockModes),\n });\n const operationTypeValue = DoorLockCCValues.operationType;\n this.setMetadata(ctx, operationTypeValue, {\n ...operationTypeValue.meta,\n states: enumValuesToMetadataStates(DoorLockOperationType, resp.supportedOperationTypes),\n });\n }\n else {\n hadCriticalTimeout = true;\n }\n }\n if (!hadCriticalTimeout) {\n // Save support information for the status values\n const doorStatusValue = DoorLockCCValues.doorStatus;\n if (doorSupported)\n this.setMetadata(ctx, doorStatusValue);\n this.setValue(ctx, DoorLockCCValues.doorSupported, doorSupported);\n const latchStatusValue = DoorLockCCValues.latchStatus;\n if (latchSupported)\n this.setMetadata(ctx, latchStatusValue);\n this.setValue(ctx, DoorLockCCValues.latchSupported, latchSupported);\n const boltStatusValue = DoorLockCCValues.boltStatus;\n if (boltSupported)\n this.setMetadata(ctx, boltStatusValue);\n this.setValue(ctx, DoorLockCCValues.boltSupported, boltSupported);\n }\n await this.refreshValues(ctx);\n // Remember that the interview is complete\n if (!hadCriticalTimeout)\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[\"Door Lock\"], ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting lock configuration...\",\n direction: \"outbound\",\n });\n const config = await api.getConfiguration();\n if (config) {\n let logMessage = `received lock configuration:\noperation type: ${getEnumMemberName(DoorLockOperationType, config.operationType)}`;\n if (config.operationType === DoorLockOperationType.Timed) {\n logMessage += `\nlock timeout: ${config.lockTimeoutConfiguration} seconds\n`;\n }\n logMessage += `\noutside handles can open door: ${config.outsideHandlesCanOpenDoorConfiguration\n .map(String)\n .join(\", \")}\ninside handles can open door: ${config.insideHandlesCanOpenDoorConfiguration\n .map(String)\n .join(\", \")}`;\n if (api.version >= 4) {\n logMessage += `\nauto-relock time ${config.autoRelockTime ?? \"-\"} seconds\nhold-and-release time ${config.holdAndReleaseTime ?? \"-\"} seconds\ntwist assist ${!!config.twistAssist}\nblock to block ${!!config.blockToBlock}`;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"requesting current lock status...\",\n direction: \"outbound\",\n });\n const status = await api.get();\n if (status) {\n let logMessage = `received lock status:\ncurrent mode: ${getEnumMemberName(DoorLockMode, status.currentMode)}`;\n if (status.targetMode != undefined) {\n logMessage += `\ntarget mode: ${getEnumMemberName(DoorLockMode, status.targetMode)}\nremaining duration: ${status.duration?.toString() ?? \"undefined\"}`;\n }\n if (status.lockTimeout != undefined) {\n logMessage += `\nlock timeout: ${status.lockTimeout} seconds`;\n }\n if (status.doorStatus != undefined) {\n logMessage += `\ndoor status: ${status.doorStatus}`;\n }\n if (status.boltStatus != undefined) {\n logMessage += `\nbolt status: ${status.boltStatus}`;\n }\n if (status.latchStatus != undefined) {\n logMessage += `\nlatch status: ${status.latchStatus}`;\n }\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n /**\n * Returns whether the node supports auto relock.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsAutoRelockCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.autoRelockSupported.endpoint(endpoint.index));\n }\n /**\n * Returns whether the node supports hold and release.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsHoldAndReleaseCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.holdAndReleaseSupported.endpoint(endpoint.index));\n }\n /**\n * Returns whether the node supports twist assist.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsTwistAssistCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.twistAssistSupported.endpoint(endpoint.index));\n }\n /**\n * Returns whether the node supports block to block.\n * This only works AFTER the node has been interviewed.\n */\n public static supportsBlockToBlockCached(ctx: GetValueDB, endpoint: EndpointId): boolean {\n return !!ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.blockToBlockSupported.endpoint(endpoint.index));\n }\n /**\n * Returns the supported outside handles.\n * This only works AFTER the node has been interviewed.\n */\n public static getSupportedOutsideHandlesCached(ctx: GetValueDB, endpoint: EndpointId): MaybeNotKnown<DoorHandleStatus> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.supportedOutsideHandles.endpoint(endpoint.index));\n }\n /**\n * Returns the supported inside handles.\n * This only works AFTER the node has been interviewed.\n */\n public static getSupportedInsideHandlesCached(ctx: GetValueDB, endpoint: EndpointId): MaybeNotKnown<DoorHandleStatus> {\n return ctx\n .getValueDB(endpoint.nodeId)\n .getValue(DoorLockCCValues.supportedInsideHandles.endpoint(endpoint.index));\n }\n}\n// @publicAPI\nexport interface DoorLockCCOperationSetOptions {\n mode: DoorLockMode;\n}\n@CCCommand(DoorLockCommand.OperationSet)\n@useSupervision()\nexport class DoorLockCCOperationSet extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCOperationSetOptions>) {\n super(options);\n if (options.mode === DoorLockMode.Unknown) {\n throw new ZWaveError(`Unknown is not a valid door lock target state!`, ZWaveErrorCodes.Argument_Invalid);\n }\n this.mode = options.mode;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): DoorLockCCOperationSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new DoorLockCCOperationSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public mode: DoorLockMode;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([this.mode]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"target mode\": getEnumMemberName(DoorLockMode, this.mode),\n },\n };\n }\n}\n// @publicAPI\nexport interface DoorLockCCOperationReportOptions {\n currentMode: DoorLockMode;\n outsideHandlesCanOpenDoor: DoorHandleStatus;\n insideHandlesCanOpenDoor: DoorHandleStatus;\n doorStatus?: \"closed\" | \"open\";\n boltStatus?: \"unlocked\" | \"locked\";\n latchStatus?: \"closed\" | \"open\";\n lockTimeout?: number;\n targetMode?: DoorLockMode;\n duration?: Duration;\n}\n@CCCommand(DoorLockCommand.OperationReport)\n@ccValueProperty(\"currentMode\", DoorLockCCValues.currentMode)\n@ccValueProperty(\"targetMode\", DoorLockCCValues.targetMode)\n@ccValueProperty(\"duration\", DoorLockCCValues.duration)\n@ccValueProperty(\"outsideHandlesCanOpenDoor\", DoorLockCCValues.outsideHandlesCanOpenDoor)\n@ccValueProperty(\"insideHandlesCanOpenDoor\", DoorLockCCValues.insideHandlesCanOpenDoor)\n@ccValueProperty(\"lockTimeout\", DoorLockCCValues.lockTimeout)\nexport class DoorLockCCOperationReport extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCOperationReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.currentMode = options.currentMode;\n this.outsideHandlesCanOpenDoor = options.outsideHandlesCanOpenDoor;\n this.insideHandlesCanOpenDoor = options.insideHandlesCanOpenDoor;\n this.doorStatus = options.doorStatus;\n this.boltStatus = options.boltStatus;\n this.latchStatus = options.latchStatus;\n this.lockTimeout = options.lockTimeout;\n this.targetMode = options.targetMode;\n this.duration = options.duration;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): DoorLockCCOperationReport {\n validatePayload(raw.payload.length >= 5);\n const currentMode: DoorLockMode = raw.payload[0];\n const outsideHandlesCanOpenDoor: DoorHandleStatus = [\n !!(raw.payload[1] & 16),\n !!(raw.payload[1] & 32),\n !!(raw.payload[1] & 64),\n !!(raw.payload[1] & 128),\n ];\n const insideHandlesCanOpenDoor: DoorHandleStatus = [\n !!(raw.payload[1] & 0b0001),\n !!(raw.payload[1] & 0b0010),\n !!(raw.payload[1] & 0b0100),\n !!(raw.payload[1] & 0b1000),\n ];\n const doorStatus: \"closed\" | \"open\" | undefined = !!(raw.payload[2] & 0b1)\n ? \"closed\"\n : \"open\";\n const boltStatus: \"unlocked\" | \"locked\" | undefined = !!(raw.payload[2] & 0b10) ? \"unlocked\" : \"locked\";\n const latchStatus: \"closed\" | \"open\" | undefined = !!(raw.payload[2] & 0b100)\n ? \"closed\"\n : \"open\";\n // Ignore invalid timeout values\n const lockTimeoutMinutes = raw.payload[3];\n const lockTimeoutSeconds = raw.payload[4];\n let lockTimeout: number | undefined;\n if (lockTimeoutMinutes <= 253 && lockTimeoutSeconds <= 59) {\n lockTimeout = lockTimeoutSeconds + lockTimeoutMinutes * 60;\n }\n let targetMode: DoorLockMode | undefined;\n let duration: Duration | undefined;\n if (raw.payload.length >= 7) {\n targetMode = raw.payload[5];\n duration = Duration.parseReport(raw.payload[6]);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n currentMode,\n outsideHandlesCanOpenDoor,\n insideHandlesCanOpenDoor,\n doorStatus,\n boltStatus,\n latchStatus,\n lockTimeout,\n targetMode,\n duration,\n });\n }\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // Only store the door/bolt/latch status if the lock supports it\n const supportsDoorStatus = !!this.getValue(ctx, DoorLockCCValues.doorSupported);\n if (supportsDoorStatus) {\n this.setValue(ctx, DoorLockCCValues.doorStatus, this.doorStatus);\n }\n const supportsBoltStatus = !!this.getValue(ctx, DoorLockCCValues.boltSupported);\n if (supportsBoltStatus) {\n this.setValue(ctx, DoorLockCCValues.boltStatus, this.boltStatus);\n }\n const supportsLatchStatus = !!this.getValue(ctx, DoorLockCCValues.latchSupported);\n if (supportsLatchStatus) {\n this.setValue(ctx, DoorLockCCValues.latchStatus, this.latchStatus);\n }\n return true;\n }\n public readonly currentMode: DoorLockMode;\n public readonly targetMode?: DoorLockMode;\n public readonly duration?: Duration;\n public readonly outsideHandlesCanOpenDoor: DoorHandleStatus;\n public readonly insideHandlesCanOpenDoor: DoorHandleStatus;\n public readonly latchStatus?: \"open\" | \"closed\";\n public readonly boltStatus?: \"locked\" | \"unlocked\";\n public readonly doorStatus?: \"open\" | \"closed\";\n public readonly lockTimeout?: number; // in seconds\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"current mode\": getEnumMemberName(DoorLockMode, this.currentMode),\n \"active outside handles\": this.outsideHandlesCanOpenDoor.join(\", \"),\n \"active inside handles\": this.insideHandlesCanOpenDoor.join(\", \"),\n };\n if (this.latchStatus != undefined) {\n message[\"latch status\"] = this.latchStatus;\n }\n if (this.boltStatus != undefined) {\n message[\"bolt status\"] = this.boltStatus;\n }\n if (this.doorStatus != undefined) {\n message[\"door status\"] = this.doorStatus;\n }\n if (this.targetMode != undefined) {\n message[\"target mode\"] = getEnumMemberName(DoorLockMode, this.targetMode);\n }\n if (this.duration != undefined) {\n message[\"remaining duration\"] = this.duration.toString();\n }\n if (this.lockTimeout != undefined) {\n message[\"lock timeout\"] = `${this.lockTimeout} seconds`;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(DoorLockCommand.OperationGet)\n@expectedCCResponse(DoorLockCCOperationReport)\nexport class DoorLockCCOperationGet extends DoorLockCC {\n}\n// @publicAPI\nexport interface DoorLockCCConfigurationReportOptions {\n operationType: DoorLockOperationType;\n outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n lockTimeoutConfiguration?: number;\n autoRelockTime?: number;\n holdAndReleaseTime?: number;\n twistAssist?: boolean;\n blockToBlock?: boolean;\n}\n@CCCommand(DoorLockCommand.ConfigurationReport)\n@ccValueProperty(\"operationType\", DoorLockCCValues.operationType)\n@ccValueProperty(\"outsideHandlesCanOpenDoorConfiguration\", DoorLockCCValues.outsideHandlesCanOpenDoorConfiguration)\n@ccValueProperty(\"insideHandlesCanOpenDoorConfiguration\", DoorLockCCValues.insideHandlesCanOpenDoorConfiguration)\n@ccValueProperty(\"lockTimeoutConfiguration\", DoorLockCCValues.lockTimeoutConfiguration)\nexport class DoorLockCCConfigurationReport extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCConfigurationReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.operationType = options.operationType;\n this.outsideHandlesCanOpenDoorConfiguration =\n options.outsideHandlesCanOpenDoorConfiguration;\n this.insideHandlesCanOpenDoorConfiguration =\n options.insideHandlesCanOpenDoorConfiguration;\n this.lockTimeoutConfiguration = options.lockTimeoutConfiguration;\n this.autoRelockTime = options.autoRelockTime;\n this.holdAndReleaseTime = options.holdAndReleaseTime;\n this.twistAssist = options.twistAssist;\n this.blockToBlock = options.blockToBlock;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): DoorLockCCConfigurationReport {\n validatePayload(raw.payload.length >= 4);\n const operationType: DoorLockOperationType = raw.payload[0];\n const outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus = [\n !!(raw.payload[1] & 16),\n !!(raw.payload[1] & 32),\n !!(raw.payload[1] & 64),\n !!(raw.payload[1] & 128),\n ];\n const insideHandlesCanOpenDoorConfiguration: DoorHandleStatus = [\n !!(raw.payload[1] & 0b0001),\n !!(raw.payload[1] & 0b0010),\n !!(raw.payload[1] & 0b0100),\n !!(raw.payload[1] & 0b1000),\n ];\n let lockTimeoutConfiguration: number | undefined;\n if (operationType === DoorLockOperationType.Timed) {\n const lockTimeoutMinutes = raw.payload[2];\n const lockTimeoutSeconds = raw.payload[3];\n if (lockTimeoutMinutes <= 0xfd && lockTimeoutSeconds <= 59) {\n lockTimeoutConfiguration = lockTimeoutSeconds\n + lockTimeoutMinutes * 60;\n }\n }\n let autoRelockTime: number | undefined;\n let holdAndReleaseTime: number | undefined;\n let twistAssist: boolean | undefined;\n let blockToBlock: boolean | undefined;\n if (raw.payload.length >= 5) {\n autoRelockTime = raw.payload.readUInt16BE(4);\n holdAndReleaseTime = raw.payload.readUInt16BE(6);\n const flags = raw.payload[8];\n twistAssist = !!(flags & 0b1);\n blockToBlock = !!(flags & 0b10);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n operationType,\n outsideHandlesCanOpenDoorConfiguration,\n insideHandlesCanOpenDoorConfiguration,\n lockTimeoutConfiguration,\n autoRelockTime,\n holdAndReleaseTime,\n twistAssist,\n blockToBlock,\n });\n }\n public readonly operationType: DoorLockOperationType;\n public readonly outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public readonly insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public readonly lockTimeoutConfiguration?: number;\n // These are not always supported and have to be persisted manually\n // to avoid unsupported values being exposed to the user\n public readonly autoRelockTime?: number;\n public readonly holdAndReleaseTime?: number;\n public readonly twistAssist?: boolean;\n public readonly blockToBlock?: boolean;\n public persistValues(ctx: PersistValuesContext): boolean {\n if (!super.persistValues(ctx))\n return false;\n // Only store the autoRelockTime etc. params if the lock supports it\n const supportsAutoRelock = !!this.getValue(ctx, DoorLockCCValues.autoRelockSupported);\n if (supportsAutoRelock) {\n this.setValue(ctx, DoorLockCCValues.autoRelockTime, this.autoRelockTime);\n }\n const supportsHoldAndRelease = !!this.getValue(ctx, DoorLockCCValues.holdAndReleaseSupported);\n if (supportsHoldAndRelease) {\n this.setValue(ctx, DoorLockCCValues.holdAndReleaseTime, this.holdAndReleaseTime);\n }\n const supportsTwistAssist = !!this.getValue(ctx, DoorLockCCValues.twistAssistSupported);\n if (supportsTwistAssist) {\n this.setValue(ctx, DoorLockCCValues.twistAssist, this.twistAssist);\n }\n const supportsBlockToBlock = !!this.getValue(ctx, DoorLockCCValues.blockToBlockSupported);\n if (supportsBlockToBlock) {\n this.setValue(ctx, DoorLockCCValues.blockToBlock, this.blockToBlock);\n }\n return true;\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = {\n \"operation type\": getEnumMemberName(DoorLockOperationType, this.operationType),\n \"outside handle configuration\": this\n .outsideHandlesCanOpenDoorConfiguration.join(\", \"),\n \"inside handle configuration\": this\n .insideHandlesCanOpenDoorConfiguration.join(\", \"),\n };\n if (this.lockTimeoutConfiguration != undefined) {\n message[\"timed mode duration\"] = `${this.lockTimeoutConfiguration} seconds`;\n }\n if (this.autoRelockTime != undefined) {\n message[\"auto-relock time\"] = `${this.autoRelockTime} seconds`;\n }\n if (this.holdAndReleaseTime != undefined) {\n message[\"hold-and-release time\"] = `${this.holdAndReleaseTime} seconds`;\n }\n if (this.twistAssist != undefined) {\n message[\"twist assist enabled\"] = this.twistAssist;\n }\n if (this.blockToBlock != undefined) {\n message[\"block-to-block enabled\"] = this.blockToBlock;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(DoorLockCommand.ConfigurationGet)\n@expectedCCResponse(DoorLockCCConfigurationReport)\nexport class DoorLockCCConfigurationGet extends DoorLockCC {\n}\n// @publicAPI\nexport type DoorLockCCConfigurationSetOptions = ({\n operationType: DoorLockOperationType.Timed;\n lockTimeoutConfiguration: number;\n} | {\n operationType: DoorLockOperationType.Constant;\n lockTimeoutConfiguration?: undefined;\n}) & {\n outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n // V4+\n autoRelockTime?: number;\n holdAndReleaseTime?: number;\n twistAssist?: boolean;\n blockToBlock?: boolean;\n};\n@CCCommand(DoorLockCommand.ConfigurationSet)\n@useSupervision()\nexport class DoorLockCCConfigurationSet extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCConfigurationSetOptions>) {\n super(options);\n this.operationType = options.operationType;\n this.outsideHandlesCanOpenDoorConfiguration =\n options.outsideHandlesCanOpenDoorConfiguration;\n this.insideHandlesCanOpenDoorConfiguration =\n options.insideHandlesCanOpenDoorConfiguration;\n this.lockTimeoutConfiguration = options.lockTimeoutConfiguration;\n this.autoRelockTime = options.autoRelockTime;\n this.holdAndReleaseTime = options.holdAndReleaseTime;\n this.twistAssist = options.twistAssist;\n this.blockToBlock = options.blockToBlock;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): DoorLockCCConfigurationSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new DoorLockCCConfigurationSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n public operationType: DoorLockOperationType;\n public outsideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public insideHandlesCanOpenDoorConfiguration: DoorHandleStatus;\n public lockTimeoutConfiguration?: number;\n public autoRelockTime?: number;\n public holdAndReleaseTime?: number;\n public twistAssist?: boolean;\n public blockToBlock?: boolean;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const insideHandles = isArray(this.insideHandlesCanOpenDoorConfiguration)\n ? this.insideHandlesCanOpenDoorConfiguration\n : [];\n const outsideHandles = isArray(this.outsideHandlesCanOpenDoorConfiguration)\n ? this.outsideHandlesCanOpenDoorConfiguration\n : [];\n const handles = [...insideHandles, ...outsideHandles]\n .map((val, i) => (val ? 1 << i : 0))\n .reduce((acc, cur) => acc | cur, 0);\n let lockTimeoutMinutes: number;\n let lockTimeoutSeconds: number;\n if (this.operationType === DoorLockOperationType.Constant) {\n lockTimeoutMinutes = lockTimeoutSeconds = 0xfe;\n }\n else {\n lockTimeoutMinutes = Math.floor(this.lockTimeoutConfiguration! / 60);\n lockTimeoutSeconds = this.lockTimeoutConfiguration! % 60;\n }\n const flags = (this.twistAssist ? 0b1 : 0)\n | (this.blockToBlock ? 0b10 : 0);\n this.payload = Bytes.from([\n this.operationType,\n handles,\n lockTimeoutMinutes,\n lockTimeoutSeconds,\n // placeholder for auto relock time\n 0,\n 0,\n // placeholder for hold and release time\n 0,\n 0,\n flags,\n ]);\n this.payload.writeUInt16BE((this.autoRelockTime ?? 0) & 0xffff, 4);\n this.payload.writeUInt16BE((this.holdAndReleaseTime ?? 0) & 0xffff, 6);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const insideHandles = isArray(this.insideHandlesCanOpenDoorConfiguration)\n ? this.insideHandlesCanOpenDoorConfiguration\n : [];\n const outsideHandles = isArray(this.outsideHandlesCanOpenDoorConfiguration)\n ? this.outsideHandlesCanOpenDoorConfiguration\n : [];\n const message: MessageRecord = {\n \"operation type\": getEnumMemberName(DoorLockOperationType, this.operationType),\n \"outside handle configuration\": outsideHandles.join(\", \"),\n \"inside handle configuration\": insideHandles.join(\", \"),\n };\n if (this.lockTimeoutConfiguration != undefined) {\n message[\"timed mode duration\"] = `${this.lockTimeoutConfiguration} seconds`;\n }\n if (this.autoRelockTime != undefined) {\n message[\"auto-relock time\"] = `${this.autoRelockTime} seconds`;\n }\n if (this.holdAndReleaseTime != undefined) {\n message[\"hold-and-release time\"] = `${this.holdAndReleaseTime} seconds`;\n }\n if (this.twistAssist != undefined) {\n message[\"enable twist assist\"] = this.twistAssist;\n }\n if (this.blockToBlock != undefined) {\n message[\"enable block-to-block\"] = this.blockToBlock;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface DoorLockCCCapabilitiesReportOptions {\n supportedOperationTypes: DoorLockOperationType[];\n supportedDoorLockModes: DoorLockMode[];\n supportedOutsideHandles: DoorHandleStatus;\n supportedInsideHandles: DoorHandleStatus;\n doorSupported: boolean;\n boltSupported: boolean;\n latchSupported: boolean;\n blockToBlockSupported: boolean;\n twistAssistSupported: boolean;\n holdAndReleaseSupported: boolean;\n autoRelockSupported: boolean;\n}\n@CCCommand(DoorLockCommand.CapabilitiesReport)\n@ccValueProperty(\"supportedOutsideHandles\", DoorLockCCValues.supportedOutsideHandles)\n@ccValueProperty(\"supportedInsideHandles\", DoorLockCCValues.supportedInsideHandles)\n@ccValueProperty(\"autoRelockSupported\", DoorLockCCValues.autoRelockSupported)\n@ccValueProperty(\"holdAndReleaseSupported\", DoorLockCCValues.holdAndReleaseSupported)\n@ccValueProperty(\"twistAssistSupported\", DoorLockCCValues.twistAssistSupported)\n@ccValueProperty(\"blockToBlockSupported\", DoorLockCCValues.blockToBlockSupported)\nexport class DoorLockCCCapabilitiesReport extends DoorLockCC {\n public constructor(options: WithAddress<DoorLockCCCapabilitiesReportOptions>) {\n super(options);\n // TODO: Check implementation:\n this.supportedOperationTypes = options.supportedOperationTypes;\n this.supportedDoorLockModes = options.supportedDoorLockModes;\n this.supportedOutsideHandles = options.supportedOutsideHandles;\n this.supportedInsideHandles = options.supportedInsideHandles;\n this.doorSupported = options.doorSupported;\n this.boltSupported = options.boltSupported;\n this.latchSupported = options.latchSupported;\n this.blockToBlockSupported = options.blockToBlockSupported;\n this.twistAssistSupported = options.twistAssistSupported;\n this.holdAndReleaseSupported = options.holdAndReleaseSupported;\n this.autoRelockSupported = options.autoRelockSupported;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): DoorLockCCCapabilitiesReport {\n // parse variable length operation type bit mask\n validatePayload(raw.payload.length >= 1);\n const bitMaskLength = raw.payload[0] & 0b11111;\n let offset = 1;\n validatePayload(raw.payload.length >= offset + bitMaskLength + 1);\n const supportedOperationTypes: DoorLockOperationType[] = parseBitMask(raw.payload.subarray(offset, offset + bitMaskLength), \n // bit 0 is reserved, bitmask starts at 1\n 0);\n offset += bitMaskLength;\n // parse variable length door lock mode list\n const listLength = raw.payload[offset];\n offset += 1;\n validatePayload(raw.payload.length >= offset + listLength + 3);\n const supportedDoorLockModes: DoorLockMode[] = [\n ...raw.payload.subarray(offset, offset + listLength),\n ];\n offset += listLength;\n const supportedOutsideHandles: DoorHandleStatus = [\n !!(raw.payload[offset] & 16),\n !!(raw.payload[offset] & 32),\n !!(raw.payload[offset] & 64),\n !!(raw.payload[offset] & 128),\n ];\n const supportedInsideHandles: DoorHandleStatus = [\n !!(raw.payload[offset] & 0b0001),\n !!(raw.payload[offset] & 0b0010),\n !!(raw.payload[offset] & 0b0100),\n !!(raw.payload[offset] & 0b1000),\n ];\n const doorSupported = !!(raw.payload[offset + 1] & 0b1);\n const boltSupported = !!(raw.payload[offset + 1] & 0b10);\n const latchSupported = !!(raw.payload[offset + 1] & 0b100);\n const blockToBlockSupported = !!(raw.payload[offset + 2] & 0b1);\n const twistAssistSupported = !!(raw.payload[offset + 2] & 0b10);\n const holdAndReleaseSupported = !!(raw.payload[offset + 2] & 0b100);\n const autoRelockSupported = !!(raw.payload[offset + 2] & 0b1000);\n return new this({\n nodeId: ctx.sourceNodeId,\n supportedOperationTypes,\n supportedDoorLockModes,\n supportedOutsideHandles,\n supportedInsideHandles,\n doorSupported,\n boltSupported,\n latchSupported,\n blockToBlockSupported,\n twistAssistSupported,\n holdAndReleaseSupported,\n autoRelockSupported,\n });\n }\n public readonly supportedOperationTypes: readonly DoorLockOperationType[];\n public readonly supportedDoorLockModes: readonly DoorLockMode[];\n public readonly supportedOutsideHandles: DoorHandleStatus;\n public readonly supportedInsideHandles: DoorHandleStatus;\n // These 3 are not automatically persisted because in CC version 3\n // we have to assume them to be supported. In v4 we can query this.\n public readonly latchSupported: boolean;\n public readonly boltSupported: boolean;\n public readonly doorSupported: boolean;\n public readonly autoRelockSupported: boolean;\n public readonly holdAndReleaseSupported: boolean;\n public readonly twistAssistSupported: boolean;\n public readonly blockToBlockSupported: boolean;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n door: this.doorSupported,\n bolt: this.boltSupported,\n latch: this.latchSupported,\n \"block-to-block feature\": this.blockToBlockSupported,\n \"twist assist feature\": this.twistAssistSupported,\n \"hold-and-release feature\": this.holdAndReleaseSupported,\n \"auto-relock feature\": this.autoRelockSupported,\n \"operation types\": this.supportedOperationTypes\n .map((t) => `\\n\u00B7 ${getEnumMemberName(DoorLockOperationType, t)}`)\n .join(\"\"),\n \"door lock modes\": this.supportedDoorLockModes\n .map((t) => `\\n\u00B7 ${getEnumMemberName(DoorLockMode, t)}`)\n .join(\"\"),\n \"outside handles\": this.supportedOutsideHandles.join(\", \"),\n \"inside handles\": this.supportedInsideHandles.join(\", \"),\n },\n };\n }\n}\n@CCCommand(DoorLockCommand.CapabilitiesGet)\n@expectedCCResponse(DoorLockCCCapabilitiesReport)\nexport class DoorLockCCCapabilitiesGet extends DoorLockCC {\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- export declare function validateArgs_DoorLockLoggingCCAPI_getRecord(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext) => T | void;
1
+ export declare function validateArgs_DoorLockLoggingCCAPI_getRecord(): <T extends Function>(__decoratedMethod: T, { kind }: ClassMethodDecoratorContext<unknown, (this: unknown, ...args: any) => any>) => void | T;
2
2
  //# sourceMappingURL=DoorLockLoggingCC._validateArgs.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, type WithAddress } from "@zwave-js/core";
2
2
  import { Bytes } from "@zwave-js/shared";
3
3
  import { PhysicalCCAPI } from "../lib/API.js";
4
- import { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext } from "../lib/CommandClass.js";
4
+ import { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext, type RefreshValuesOptions } from "../lib/CommandClass.js";
5
5
  import { DoorLockLoggingCommand, type DoorLockLoggingRecord } from "../lib/_Types.js";
6
6
  import type { CCEncodingContext, CCParsingContext } from "../lib/traits.js";
7
7
  import { DoorLockLoggingCCValues } from "./_CCValues.generated.js";
@@ -15,7 +15,7 @@ export declare class DoorLockLoggingCCAPI extends PhysicalCCAPI {
15
15
  export declare class DoorLockLoggingCC extends CommandClass {
16
16
  ccCommand: DoorLockLoggingCommand;
17
17
  interview(ctx: InterviewContext): Promise<void>;
18
- refreshValues(ctx: RefreshValuesContext): Promise<void>;
18
+ refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void>;
19
19
  }
20
20
  export interface DoorLockLoggingCCRecordsSupportedReportOptions {
21
21
  recordsCount: number;
@@ -38,6 +38,7 @@ __export(DoorLockLoggingCC_exports, {
38
38
  DoorLockLoggingCCValues: () => import_CCValues_generated.DoorLockLoggingCCValues
39
39
  });
40
40
  module.exports = __toCommonJS(DoorLockLoggingCC_exports);
41
+ var import_tslib = require("tslib");
41
42
  var __validateArgs = __toESM(require("./DoorLockLoggingCC._validateArgs.js"), 1);
42
43
  var import_core = require("@zwave-js/core");
43
44
  var import_shared = require("@zwave-js/shared");
@@ -47,46 +48,6 @@ var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
47
48
  var import_Types = require("../lib/_Types.js");
48
49
  var import_UserCodeCC = require("./UserCodeCC.js");
49
50
  var import_CCValues_generated = require("./_CCValues.generated.js");
50
- var __runInitializers = function(thisArg, initializers, value) {
51
- var useValue = arguments.length > 2;
52
- for (var i = 0; i < initializers.length; i++) {
53
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
54
- }
55
- return useValue ? value : void 0;
56
- };
57
- var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
58
- function accept(f) {
59
- if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
60
- return f;
61
- }
62
- __name(accept, "accept");
63
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
64
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
65
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
66
- var _, done = false;
67
- for (var i = decorators.length - 1; i >= 0; i--) {
68
- var context = {};
69
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
70
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
71
- context.addInitializer = function(f) {
72
- if (done) throw new TypeError("Cannot add initializers after decoration has completed");
73
- extraInitializers.push(accept(f || null));
74
- };
75
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
76
- if (kind === "accessor") {
77
- if (result === void 0) continue;
78
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
79
- if (_ = accept(result.get)) descriptor.get = _;
80
- if (_ = accept(result.set)) descriptor.set = _;
81
- if (_ = accept(result.init)) initializers.unshift(_);
82
- } else if (_ = accept(result)) {
83
- if (kind === "field") initializers.unshift(_);
84
- else descriptor[key] = _;
85
- }
86
- }
87
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
88
- done = true;
89
- };
90
51
  const { validateArgs_DoorLockLoggingCCAPI_getRecord } = __validateArgs;
91
52
  function segmentsToDate(segments) {
92
53
  return new Date(
@@ -153,11 +114,11 @@ let DoorLockLoggingCCAPI = (() => {
153
114
  static {
154
115
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
155
116
  _getRecord_decorators = [validateArgs_DoorLockLoggingCCAPI_getRecord()];
156
- __esDecorate(this, null, _getRecord_decorators, { kind: "method", name: "getRecord", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getRecord" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getRecord, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
157
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
117
+ (0, import_tslib.__esDecorate)(this, null, _getRecord_decorators, { kind: "method", name: "getRecord", static: false, private: false, access: { has: /* @__PURE__ */ __name((obj) => "getRecord" in obj, "has"), get: /* @__PURE__ */ __name((obj) => obj.getRecord, "get") }, metadata: _metadata }, null, _instanceExtraInitializers);
118
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
158
119
  DoorLockLoggingCCAPI2 = _classThis = _classDescriptor.value;
159
120
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
160
- __runInitializers(_classThis, _classExtraInitializers);
121
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
161
122
  }
162
123
  supportsCommand(cmd) {
163
124
  switch (cmd) {
@@ -191,7 +152,7 @@ let DoorLockLoggingCCAPI = (() => {
191
152
  }
192
153
  constructor() {
193
154
  super(...arguments);
194
- __runInitializers(this, _instanceExtraInitializers);
155
+ (0, import_tslib.__runInitializers)(this, _instanceExtraInitializers);
195
156
  }
196
157
  };
197
158
  return DoorLockLoggingCCAPI2 = _classThis;
@@ -211,10 +172,10 @@ let DoorLockLoggingCC = (() => {
211
172
  }
212
173
  static {
213
174
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
214
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
175
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
215
176
  DoorLockLoggingCC2 = _classThis = _classDescriptor.value;
216
177
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
217
- __runInitializers(_classThis, _classExtraInitializers);
178
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
218
179
  }
219
180
  async interview(ctx) {
220
181
  const node = this.getNode(ctx);
@@ -226,11 +187,11 @@ let DoorLockLoggingCC = (() => {
226
187
  await this.refreshValues(ctx);
227
188
  this.setInterviewComplete(ctx, true);
228
189
  }
229
- async refreshValues(ctx) {
190
+ async refreshValues(ctx, options) {
230
191
  const node = this.getNode(ctx);
231
192
  const endpoint = this.getEndpoint(ctx);
232
193
  const api = import_API.CCAPI.create(import_core.CommandClasses["Door Lock Logging"], ctx, endpoint).withOptions({
233
- priority: import_core.MessagePriority.NodeQuery
194
+ priority: options?.priority ?? import_core.MessagePriority.NodeQuery
234
195
  });
235
196
  ctx.logNode(node.id, {
236
197
  endpoint: this.endpointIndex,
@@ -271,10 +232,10 @@ let DoorLockLoggingCCRecordsSupportedReport = (() => {
271
232
  }
272
233
  static {
273
234
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
274
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
235
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
275
236
  DoorLockLoggingCCRecordsSupportedReport2 = _classThis = _classDescriptor.value;
276
237
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
277
- __runInitializers(_classThis, _classExtraInitializers);
238
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
278
239
  }
279
240
  constructor(options) {
280
241
  super(options);
@@ -319,10 +280,10 @@ let DoorLockLoggingCCRecordsSupportedGet = (() => {
319
280
  }
320
281
  static {
321
282
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
322
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
283
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
323
284
  DoorLockLoggingCCRecordsSupportedGet2 = _classThis = _classDescriptor.value;
324
285
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
325
- __runInitializers(_classThis, _classExtraInitializers);
286
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
326
287
  }
327
288
  };
328
289
  return DoorLockLoggingCCRecordsSupportedGet2 = _classThis;
@@ -342,10 +303,10 @@ let DoorLockLoggingCCRecordReport = (() => {
342
303
  }
343
304
  static {
344
305
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
345
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
306
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
346
307
  DoorLockLoggingCCRecordReport2 = _classThis = _classDescriptor.value;
347
308
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
348
- __runInitializers(_classThis, _classExtraInitializers);
309
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
349
310
  }
350
311
  constructor(options) {
351
312
  super(options);
@@ -435,10 +396,10 @@ let DoorLockLoggingCCRecordGet = (() => {
435
396
  }
436
397
  static {
437
398
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
438
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
399
+ (0, import_tslib.__esDecorate)(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
439
400
  DoorLockLoggingCCRecordGet2 = _classThis = _classDescriptor.value;
440
401
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
441
- __runInitializers(_classThis, _classExtraInitializers);
402
+ (0, import_tslib.__runInitializers)(_classThis, _classExtraInitializers);
442
403
  }
443
404
  constructor(options) {
444
405
  super(options);