@zwave-js/cc 14.3.10 → 15.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/build/cjs/cc/AlarmSensorCC.d.ts +139 -57
  2. package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
  3. package/build/cjs/cc/AssociationCC.d.ts +178 -43
  4. package/build/cjs/cc/AssociationCC.js +0 -4
  5. package/build/cjs/cc/AssociationCC.js.map +2 -2
  6. package/build/cjs/cc/AssociationGroupInfoCC.d.ts +138 -38
  7. package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
  8. package/build/cjs/cc/BarrierOperatorCC.d.ts +275 -73
  9. package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
  10. package/build/cjs/cc/BasicCC.d.ts +316 -71
  11. package/build/cjs/cc/BasicCC.js.map +2 -2
  12. package/build/cjs/cc/BatteryCC.d.ts +759 -164
  13. package/build/cjs/cc/BatteryCC.js.map +2 -2
  14. package/build/cjs/cc/BinarySensorCC.d.ts +91 -26
  15. package/build/cjs/cc/BinarySensorCC.js.map +2 -2
  16. package/build/cjs/cc/BinarySwitchCC.d.ts +190 -38
  17. package/build/cjs/cc/BinarySwitchCC.js.map +2 -2
  18. package/build/cjs/cc/CRC16CC.d.ts +4 -8
  19. package/build/cjs/cc/CRC16CC.js +4 -27
  20. package/build/cjs/cc/CRC16CC.js.map +2 -2
  21. package/build/cjs/cc/CentralSceneCC.d.ts +272 -53
  22. package/build/cjs/cc/CentralSceneCC.js.map +2 -2
  23. package/build/cjs/cc/ClimateControlScheduleCC.d.ts +150 -37
  24. package/build/cjs/cc/ClimateControlScheduleCC.js.map +2 -2
  25. package/build/cjs/cc/ClockCC.d.ts +3 -3
  26. package/build/cjs/cc/ClockCC.js.map +2 -2
  27. package/build/cjs/cc/ColorSwitchCC.d.ts +423 -96
  28. package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
  29. package/build/cjs/cc/ConfigurationCC._validateArgs.js +1 -1
  30. package/build/cjs/cc/ConfigurationCC._validateArgs.js.map +1 -1
  31. package/build/cjs/cc/ConfigurationCC.d.ts +101 -37
  32. package/build/cjs/cc/ConfigurationCC.js +0 -8
  33. package/build/cjs/cc/ConfigurationCC.js.map +2 -2
  34. package/build/cjs/cc/DeviceResetLocallyCC.d.ts +1 -1
  35. package/build/cjs/cc/DeviceResetLocallyCC.js.map +2 -2
  36. package/build/cjs/cc/DoorLockCC._validateArgs.js +1 -1
  37. package/build/cjs/cc/DoorLockCC._validateArgs.js.map +1 -1
  38. package/build/cjs/cc/DoorLockCC.d.ts +1731 -419
  39. package/build/cjs/cc/DoorLockCC.js.map +2 -2
  40. package/build/cjs/cc/DoorLockLoggingCC.d.ts +64 -12
  41. package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
  42. package/build/cjs/cc/EnergyProductionCC.d.ts +29 -14
  43. package/build/cjs/cc/EnergyProductionCC.js.map +2 -2
  44. package/build/cjs/cc/EntryControlCC.d.ts +308 -57
  45. package/build/cjs/cc/EntryControlCC.js.map +2 -2
  46. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +2 -0
  47. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js +26 -0
  48. package/build/cjs/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +1 -1
  49. package/build/cjs/cc/FirmwareUpdateMetaDataCC.d.ts +389 -64
  50. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +154 -8
  51. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +2 -2
  52. package/build/cjs/cc/HumidityControlModeCC.d.ts +125 -27
  53. package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
  54. package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +64 -18
  55. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
  56. package/build/cjs/cc/HumidityControlSetpointCC.d.ts +116 -39
  57. package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
  58. package/build/cjs/cc/InclusionControllerCC.d.ts +4 -4
  59. package/build/cjs/cc/InclusionControllerCC.js.map +2 -2
  60. package/build/cjs/cc/IndicatorCC.d.ts +325 -83
  61. package/build/cjs/cc/IndicatorCC.js.map +2 -2
  62. package/build/cjs/cc/IrrigationCC.d.ts +2170 -683
  63. package/build/cjs/cc/IrrigationCC.js.map +2 -2
  64. package/build/cjs/cc/LanguageCC.d.ts +128 -26
  65. package/build/cjs/cc/LanguageCC.js.map +2 -2
  66. package/build/cjs/cc/LockCC.d.ts +64 -14
  67. package/build/cjs/cc/LockCC.js.map +2 -2
  68. package/build/cjs/cc/ManufacturerProprietaryCC.d.ts +2 -2
  69. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
  70. package/build/cjs/cc/ManufacturerSpecificCC.d.ts +219 -57
  71. package/build/cjs/cc/ManufacturerSpecificCC.js.map +2 -2
  72. package/build/cjs/cc/MeterCC.d.ts +364 -89
  73. package/build/cjs/cc/MeterCC.js.map +2 -2
  74. package/build/cjs/cc/MultiChannelAssociationCC.d.ts +138 -40
  75. package/build/cjs/cc/MultiChannelAssociationCC.js +0 -5
  76. package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
  77. package/build/cjs/cc/MultiChannelCC.d.ts +469 -99
  78. package/build/cjs/cc/MultiChannelCC.js +8 -72
  79. package/build/cjs/cc/MultiChannelCC.js.map +2 -2
  80. package/build/cjs/cc/MultiCommandCC.d.ts +4 -8
  81. package/build/cjs/cc/MultiCommandCC.js +4 -37
  82. package/build/cjs/cc/MultiCommandCC.js.map +2 -2
  83. package/build/cjs/cc/MultilevelSensorCC.d.ts +118 -33
  84. package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
  85. package/build/cjs/cc/MultilevelSwitchCC.d.ts +490 -125
  86. package/build/cjs/cc/MultilevelSwitchCC.js.map +2 -2
  87. package/build/cjs/cc/NodeNamingCC.d.ts +128 -26
  88. package/build/cjs/cc/NodeNamingCC.js.map +2 -2
  89. package/build/cjs/cc/NotificationCC.d.ts +603 -161
  90. package/build/cjs/cc/NotificationCC.js +12 -1
  91. package/build/cjs/cc/NotificationCC.js.map +2 -2
  92. package/build/cjs/cc/PowerlevelCC.d.ts +6 -6
  93. package/build/cjs/cc/PowerlevelCC.js.map +2 -2
  94. package/build/cjs/cc/ProtectionCC.d.ts +496 -94
  95. package/build/cjs/cc/ProtectionCC.js.map +2 -2
  96. package/build/cjs/cc/SceneActivationCC.d.ts +127 -28
  97. package/build/cjs/cc/SceneActivationCC.js.map +2 -2
  98. package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +52 -25
  99. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +2 -2
  100. package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +53 -25
  101. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
  102. package/build/cjs/cc/ScheduleEntryLockCC.d.ts +268 -64
  103. package/build/cjs/cc/ScheduleEntryLockCC.js.map +2 -2
  104. package/build/cjs/cc/Security2CC.d.ts +15 -21
  105. package/build/cjs/cc/Security2CC.js +32 -347
  106. package/build/cjs/cc/Security2CC.js.map +3 -3
  107. package/build/cjs/cc/SecurityCC.d.ts +12 -19
  108. package/build/cjs/cc/SecurityCC.js +12 -106
  109. package/build/cjs/cc/SecurityCC.js.map +2 -2
  110. package/build/cjs/cc/SoundSwitchCC.d.ts +253 -64
  111. package/build/cjs/cc/SoundSwitchCC.js.map +2 -2
  112. package/build/cjs/cc/SupervisionCC.d.ts +28 -16
  113. package/build/cjs/cc/SupervisionCC.js +4 -29
  114. package/build/cjs/cc/SupervisionCC.js.map +2 -2
  115. package/build/cjs/cc/ThermostatFanModeCC.d.ts +187 -38
  116. package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
  117. package/build/cjs/cc/ThermostatFanStateCC.d.ts +64 -18
  118. package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
  119. package/build/cjs/cc/ThermostatModeCC.d.ts +189 -40
  120. package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
  121. package/build/cjs/cc/ThermostatOperatingStateCC.d.ts +65 -19
  122. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
  123. package/build/cjs/cc/ThermostatSetbackCC.d.ts +4 -4
  124. package/build/cjs/cc/ThermostatSetbackCC.js.map +2 -2
  125. package/build/cjs/cc/ThermostatSetpointCC.d.ts +116 -36
  126. package/build/cjs/cc/ThermostatSetpointCC.js.map +2 -2
  127. package/build/cjs/cc/TimeCC.d.ts +6 -6
  128. package/build/cjs/cc/TimeCC.js.map +2 -2
  129. package/build/cjs/cc/TimeParametersCC.d.ts +63 -12
  130. package/build/cjs/cc/TimeParametersCC.js.map +2 -2
  131. package/build/cjs/cc/TransportServiceCC.d.ts +7 -12
  132. package/build/cjs/cc/TransportServiceCC.js +3 -20
  133. package/build/cjs/cc/TransportServiceCC.js.map +2 -2
  134. package/build/cjs/cc/UserCodeCC._validateArgs.js +1 -1
  135. package/build/cjs/cc/UserCodeCC._validateArgs.js.map +1 -1
  136. package/build/cjs/cc/UserCodeCC.d.ts +931 -176
  137. package/build/cjs/cc/UserCodeCC.js.map +2 -2
  138. package/build/cjs/cc/VersionCC.d.ts +897 -185
  139. package/build/cjs/cc/VersionCC.js.map +2 -2
  140. package/build/cjs/cc/WakeUpCC.d.ts +190 -38
  141. package/build/cjs/cc/WakeUpCC.js.map +2 -2
  142. package/build/cjs/cc/WindowCoveringCC.d.ts +193 -103
  143. package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
  144. package/build/cjs/cc/ZWavePlusCC.d.ts +311 -51
  145. package/build/cjs/cc/ZWavePlusCC.js.map +2 -2
  146. package/build/cjs/cc/ZWaveProtocolCC.d.ts +28 -28
  147. package/build/cjs/cc/ZWaveProtocolCC.js.map +2 -2
  148. package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +4 -4
  149. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
  150. package/build/cjs/index.d.ts +1 -0
  151. package/build/cjs/index.js.map +1 -1
  152. package/build/cjs/index_browser.d.ts +9 -0
  153. package/build/cjs/index_browser.js +41 -1
  154. package/build/cjs/index_browser.js.map +2 -2
  155. package/build/cjs/lib/API.d.ts +7 -5
  156. package/build/cjs/lib/API.js +1 -1
  157. package/build/cjs/lib/API.js.map +2 -2
  158. package/build/cjs/lib/CommandClass.d.ts +10 -21
  159. package/build/cjs/lib/CommandClass.js +51 -106
  160. package/build/cjs/lib/CommandClass.js.map +3 -3
  161. package/build/cjs/lib/CommandClassDecorators.d.ts +1 -1
  162. package/build/cjs/lib/CommandClassDecorators.js +3 -3
  163. package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
  164. package/build/cjs/lib/Values.d.ts +2 -2
  165. package/build/cjs/lib/Values.js.map +2 -2
  166. package/build/cjs/lib/traits.d.ts +94 -0
  167. package/build/cjs/lib/traits.js +17 -0
  168. package/build/cjs/lib/traits.js.map +7 -0
  169. package/build/cjs/lib/utils.d.ts +2 -2
  170. package/build/cjs/lib/utils.js.map +2 -2
  171. package/build/esm/cc/AlarmSensorCC.d.ts +139 -57
  172. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  173. package/build/esm/cc/AlarmSensorCC.js +0 -1
  174. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  175. package/build/esm/cc/AssociationCC.d.ts +178 -43
  176. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  177. package/build/esm/cc/AssociationCC.js +0 -13
  178. package/build/esm/cc/AssociationCC.js.map +1 -1
  179. package/build/esm/cc/AssociationGroupInfoCC.d.ts +138 -38
  180. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  181. package/build/esm/cc/AssociationGroupInfoCC.js +0 -6
  182. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  183. package/build/esm/cc/BarrierOperatorCC.d.ts +275 -73
  184. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  185. package/build/esm/cc/BarrierOperatorCC.js +0 -3
  186. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  187. package/build/esm/cc/BasicCC.d.ts +316 -71
  188. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  189. package/build/esm/cc/BasicCC.js +0 -2
  190. package/build/esm/cc/BasicCC.js.map +1 -1
  191. package/build/esm/cc/BatteryCC.d.ts +759 -164
  192. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  193. package/build/esm/cc/BatteryCC.js +1 -2
  194. package/build/esm/cc/BatteryCC.js.map +1 -1
  195. package/build/esm/cc/BinarySensorCC.d.ts +91 -26
  196. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  197. package/build/esm/cc/BinarySensorCC.js +0 -3
  198. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  199. package/build/esm/cc/BinarySwitchCC.d.ts +190 -38
  200. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  201. package/build/esm/cc/BinarySwitchCC.js +0 -2
  202. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  203. package/build/esm/cc/CRC16CC.d.ts +4 -8
  204. package/build/esm/cc/CRC16CC.d.ts.map +1 -1
  205. package/build/esm/cc/CRC16CC.js +4 -34
  206. package/build/esm/cc/CRC16CC.js.map +1 -1
  207. package/build/esm/cc/CentralSceneCC.d.ts +272 -53
  208. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
  209. package/build/esm/cc/CentralSceneCC.js +0 -1
  210. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  211. package/build/esm/cc/ClimateControlScheduleCC.d.ts +150 -37
  212. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
  213. package/build/esm/cc/ClimateControlScheduleCC.js +0 -3
  214. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  215. package/build/esm/cc/ClockCC.d.ts +3 -3
  216. package/build/esm/cc/ClockCC.d.ts.map +1 -1
  217. package/build/esm/cc/ClockCC.js +0 -1
  218. package/build/esm/cc/ClockCC.js.map +1 -1
  219. package/build/esm/cc/ColorSwitchCC.d.ts +423 -96
  220. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  221. package/build/esm/cc/ColorSwitchCC.js +0 -6
  222. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  223. package/build/esm/cc/ConfigurationCC._validateArgs.js +1 -1
  224. package/build/esm/cc/ConfigurationCC._validateArgs.js.map +1 -1
  225. package/build/esm/cc/ConfigurationCC.d.ts +101 -37
  226. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
  227. package/build/esm/cc/ConfigurationCC.js +0 -25
  228. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  229. package/build/esm/cc/DeviceResetLocallyCC.d.ts +1 -1
  230. package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
  231. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
  232. package/build/esm/cc/DoorLockCC._validateArgs.js +1 -1
  233. package/build/esm/cc/DoorLockCC._validateArgs.js.map +1 -1
  234. package/build/esm/cc/DoorLockCC.d.ts +1731 -419
  235. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  236. package/build/esm/cc/DoorLockCC.js +0 -2
  237. package/build/esm/cc/DoorLockCC.js.map +1 -1
  238. package/build/esm/cc/DoorLockLoggingCC.d.ts +64 -12
  239. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  240. package/build/esm/cc/DoorLockLoggingCC.js +0 -1
  241. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  242. package/build/esm/cc/EnergyProductionCC.d.ts +29 -14
  243. package/build/esm/cc/EnergyProductionCC.d.ts.map +1 -1
  244. package/build/esm/cc/EnergyProductionCC.js +0 -2
  245. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  246. package/build/esm/cc/EntryControlCC.d.ts +308 -57
  247. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  248. package/build/esm/cc/EntryControlCC.js +0 -1
  249. package/build/esm/cc/EntryControlCC.js.map +1 -1
  250. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts +2 -0
  251. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.d.ts.map +1 -1
  252. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js +20 -0
  253. package/build/esm/cc/FirmwareUpdateMetaDataCC._validateArgs.js.map +1 -1
  254. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts +389 -64
  255. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
  256. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +158 -30
  257. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  258. package/build/esm/cc/HumidityControlModeCC.d.ts +125 -27
  259. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  260. package/build/esm/cc/HumidityControlModeCC.js +0 -1
  261. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  262. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +64 -18
  263. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  264. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  265. package/build/esm/cc/HumidityControlSetpointCC.d.ts +116 -39
  266. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  267. package/build/esm/cc/HumidityControlSetpointCC.js +0 -4
  268. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  269. package/build/esm/cc/InclusionControllerCC.d.ts +4 -4
  270. package/build/esm/cc/InclusionControllerCC.d.ts.map +1 -1
  271. package/build/esm/cc/InclusionControllerCC.js +0 -2
  272. package/build/esm/cc/InclusionControllerCC.js.map +1 -1
  273. package/build/esm/cc/IndicatorCC.d.ts +325 -83
  274. package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
  275. package/build/esm/cc/IndicatorCC.js +0 -7
  276. package/build/esm/cc/IndicatorCC.js.map +1 -1
  277. package/build/esm/cc/IrrigationCC.d.ts +2170 -683
  278. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  279. package/build/esm/cc/IrrigationCC.js +0 -9
  280. package/build/esm/cc/IrrigationCC.js.map +1 -1
  281. package/build/esm/cc/LanguageCC.d.ts +128 -26
  282. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  283. package/build/esm/cc/LanguageCC.js +0 -1
  284. package/build/esm/cc/LanguageCC.js.map +1 -1
  285. package/build/esm/cc/LockCC.d.ts +64 -14
  286. package/build/esm/cc/LockCC.d.ts.map +1 -1
  287. package/build/esm/cc/LockCC.js +0 -1
  288. package/build/esm/cc/LockCC.js.map +1 -1
  289. package/build/esm/cc/ManufacturerProprietaryCC.d.ts +2 -2
  290. package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
  291. package/build/esm/cc/ManufacturerProprietaryCC.js +0 -1
  292. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  293. package/build/esm/cc/ManufacturerSpecificCC.d.ts +219 -57
  294. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
  295. package/build/esm/cc/ManufacturerSpecificCC.js +0 -2
  296. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  297. package/build/esm/cc/MeterCC.d.ts +364 -89
  298. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  299. package/build/esm/cc/MeterCC.js +0 -4
  300. package/build/esm/cc/MeterCC.js.map +1 -1
  301. package/build/esm/cc/MultiChannelAssociationCC.d.ts +138 -40
  302. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  303. package/build/esm/cc/MultiChannelAssociationCC.js +0 -16
  304. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  305. package/build/esm/cc/MultiChannelCC.d.ts +469 -99
  306. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
  307. package/build/esm/cc/MultiChannelCC.js +8 -101
  308. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  309. package/build/esm/cc/MultiCommandCC.d.ts +4 -8
  310. package/build/esm/cc/MultiCommandCC.d.ts.map +1 -1
  311. package/build/esm/cc/MultiCommandCC.js +4 -38
  312. package/build/esm/cc/MultiCommandCC.js.map +1 -1
  313. package/build/esm/cc/MultilevelSensorCC.d.ts +118 -33
  314. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  315. package/build/esm/cc/MultilevelSensorCC.js +0 -5
  316. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  317. package/build/esm/cc/MultilevelSwitchCC.d.ts +490 -125
  318. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  319. package/build/esm/cc/MultilevelSwitchCC.js +0 -4
  320. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  321. package/build/esm/cc/NodeNamingCC.d.ts +128 -26
  322. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
  323. package/build/esm/cc/NodeNamingCC.js +0 -2
  324. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  325. package/build/esm/cc/NotificationCC.d.ts +603 -161
  326. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  327. package/build/esm/cc/NotificationCC.js +18 -12
  328. package/build/esm/cc/NotificationCC.js.map +1 -1
  329. package/build/esm/cc/PowerlevelCC.d.ts +6 -6
  330. package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
  331. package/build/esm/cc/PowerlevelCC.js +0 -4
  332. package/build/esm/cc/PowerlevelCC.js.map +1 -1
  333. package/build/esm/cc/ProtectionCC.d.ts +496 -94
  334. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  335. package/build/esm/cc/ProtectionCC.js +0 -3
  336. package/build/esm/cc/ProtectionCC.js.map +1 -1
  337. package/build/esm/cc/SceneActivationCC.d.ts +127 -28
  338. package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
  339. package/build/esm/cc/SceneActivationCC.js +0 -1
  340. package/build/esm/cc/SceneActivationCC.js.map +1 -1
  341. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +52 -25
  342. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
  343. package/build/esm/cc/SceneActuatorConfigurationCC.js +0 -2
  344. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  345. package/build/esm/cc/SceneControllerConfigurationCC.d.ts +53 -25
  346. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
  347. package/build/esm/cc/SceneControllerConfigurationCC.js +0 -2
  348. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  349. package/build/esm/cc/ScheduleEntryLockCC.d.ts +268 -64
  350. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
  351. package/build/esm/cc/ScheduleEntryLockCC.js +0 -14
  352. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  353. package/build/esm/cc/Security2CC.d.ts +15 -21
  354. package/build/esm/cc/Security2CC.d.ts.map +1 -1
  355. package/build/esm/cc/Security2CC.js +27 -475
  356. package/build/esm/cc/Security2CC.js.map +1 -1
  357. package/build/esm/cc/SecurityCC.d.ts +12 -19
  358. package/build/esm/cc/SecurityCC.d.ts.map +1 -1
  359. package/build/esm/cc/SecurityCC.js +13 -138
  360. package/build/esm/cc/SecurityCC.js.map +1 -1
  361. package/build/esm/cc/SoundSwitchCC.d.ts +253 -64
  362. package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
  363. package/build/esm/cc/SoundSwitchCC.js +0 -7
  364. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  365. package/build/esm/cc/SupervisionCC.d.ts +28 -16
  366. package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
  367. package/build/esm/cc/SupervisionCC.js +4 -34
  368. package/build/esm/cc/SupervisionCC.js.map +1 -1
  369. package/build/esm/cc/ThermostatFanModeCC.d.ts +187 -38
  370. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  371. package/build/esm/cc/ThermostatFanModeCC.js +0 -1
  372. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  373. package/build/esm/cc/ThermostatFanStateCC.d.ts +64 -18
  374. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  375. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  376. package/build/esm/cc/ThermostatModeCC.d.ts +189 -40
  377. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  378. package/build/esm/cc/ThermostatModeCC.js +0 -3
  379. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  380. package/build/esm/cc/ThermostatOperatingStateCC.d.ts +65 -19
  381. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  382. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  383. package/build/esm/cc/ThermostatSetbackCC.d.ts +4 -4
  384. package/build/esm/cc/ThermostatSetbackCC.d.ts.map +1 -1
  385. package/build/esm/cc/ThermostatSetbackCC.js +0 -2
  386. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  387. package/build/esm/cc/ThermostatSetpointCC.d.ts +116 -36
  388. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  389. package/build/esm/cc/ThermostatSetpointCC.js +0 -6
  390. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  391. package/build/esm/cc/TimeCC.d.ts +6 -6
  392. package/build/esm/cc/TimeCC.d.ts.map +1 -1
  393. package/build/esm/cc/TimeCC.js +0 -4
  394. package/build/esm/cc/TimeCC.js.map +1 -1
  395. package/build/esm/cc/TimeParametersCC.d.ts +63 -12
  396. package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
  397. package/build/esm/cc/TimeParametersCC.js +0 -1
  398. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  399. package/build/esm/cc/TransportServiceCC.d.ts +7 -12
  400. package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
  401. package/build/esm/cc/TransportServiceCC.js +5 -38
  402. package/build/esm/cc/TransportServiceCC.js.map +1 -1
  403. package/build/esm/cc/UserCodeCC._validateArgs.js +1 -1
  404. package/build/esm/cc/UserCodeCC._validateArgs.js.map +1 -1
  405. package/build/esm/cc/UserCodeCC.d.ts +931 -176
  406. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  407. package/build/esm/cc/UserCodeCC.js +0 -12
  408. package/build/esm/cc/UserCodeCC.js.map +1 -1
  409. package/build/esm/cc/VersionCC.d.ts +897 -185
  410. package/build/esm/cc/VersionCC.d.ts.map +1 -1
  411. package/build/esm/cc/VersionCC.js +0 -4
  412. package/build/esm/cc/VersionCC.js.map +1 -1
  413. package/build/esm/cc/WakeUpCC.d.ts +190 -38
  414. package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
  415. package/build/esm/cc/WakeUpCC.js +0 -1
  416. package/build/esm/cc/WakeUpCC.js.map +1 -1
  417. package/build/esm/cc/WindowCoveringCC.d.ts +193 -103
  418. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  419. package/build/esm/cc/WindowCoveringCC.js +0 -5
  420. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  421. package/build/esm/cc/ZWavePlusCC.d.ts +311 -51
  422. package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
  423. package/build/esm/cc/ZWavePlusCC.js +0 -1
  424. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  425. package/build/esm/cc/ZWaveProtocolCC.d.ts +28 -28
  426. package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
  427. package/build/esm/cc/ZWaveProtocolCC.js +0 -27
  428. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
  429. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +4 -4
  430. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
  431. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +0 -3
  432. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  433. package/build/esm/index.d.ts +1 -0
  434. package/build/esm/index.d.ts.map +1 -1
  435. package/build/esm/index_browser.d.ts +9 -0
  436. package/build/esm/index_browser.d.ts.map +1 -1
  437. package/build/esm/index_browser.js +8 -1
  438. package/build/esm/index_browser.js.map +1 -1
  439. package/build/esm/lib/API.d.ts +7 -5
  440. package/build/esm/lib/API.d.ts.map +1 -1
  441. package/build/esm/lib/API.js +1 -1
  442. package/build/esm/lib/API.js.map +1 -1
  443. package/build/esm/lib/CommandClass.d.ts +10 -21
  444. package/build/esm/lib/CommandClass.d.ts.map +1 -1
  445. package/build/esm/lib/CommandClass.js +8 -101
  446. package/build/esm/lib/CommandClass.js.map +1 -1
  447. package/build/esm/lib/CommandClassDecorators.d.ts +1 -1
  448. package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
  449. package/build/esm/lib/CommandClassDecorators.js +1 -1
  450. package/build/esm/lib/CommandClassDecorators.js.map +1 -1
  451. package/build/esm/lib/Values.d.ts +2 -2
  452. package/build/esm/lib/Values.d.ts.map +1 -1
  453. package/build/esm/lib/Values.js.map +1 -1
  454. package/build/esm/lib/traits.d.ts +94 -0
  455. package/build/esm/lib/traits.d.ts.map +1 -0
  456. package/build/esm/lib/traits.js +2 -0
  457. package/build/esm/lib/traits.js.map +1 -0
  458. package/build/esm/lib/utils.d.ts +2 -2
  459. package/build/esm/lib/utils.d.ts.map +1 -1
  460. package/build/esm/lib/utils.js.map +1 -1
  461. package/package.json +13 -13
@@ -1,5 +1,5 @@
1
- import { type MessageOrCCLogEntry, type SinglecastCC, type WithAddress } from "@zwave-js/core/safe";
2
- import type { CCEncodingContext, CCParsingContext, GetValueDB } from "@zwave-js/host/safe";
1
+ import { type CCEncodingContext, type CCParsingContext } from "@zwave-js/cc";
2
+ import { type GetValueDB, type MessageOrCCLogEntry, type SinglecastCC, type WithAddress } from "@zwave-js/core/safe";
3
3
  import { Bytes } from "@zwave-js/shared/safe";
4
4
  import { type CCRaw, CommandClass } from "../lib/CommandClass.js";
5
5
  import { TransportServiceCommand } from "../lib/_Types.js";
@@ -40,7 +40,7 @@ export declare class TransportServiceCCFirstSegment extends TransportServiceCC {
40
40
  headerExtension: Uint8Array | undefined;
41
41
  partialDatagram: Uint8Array;
42
42
  encapsulated: CommandClass;
43
- serialize(ctx: CCEncodingContext): Bytes;
43
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
44
44
  expectMoreMessages(): boolean;
45
45
  getPartialCCSessionId(): Record<string, any> | undefined;
46
46
  protected computeEncapsulationOverhead(): number;
@@ -64,16 +64,11 @@ export declare class TransportServiceCCSubsequentSegment extends TransportServic
64
64
  ...TransportServiceCCSubsequentSegment[]
65
65
  ]): boolean;
66
66
  getPartialCCSessionId(): Record<string, any> | undefined;
67
- /** @deprecated Use {@link mergePartialCCsAsync} instead */
68
67
  mergePartialCCs(partials: [
69
68
  TransportServiceCCFirstSegment,
70
69
  ...TransportServiceCCSubsequentSegment[]
71
- ], ctx: CCParsingContext): void;
72
- mergePartialCCsAsync(partials: [
73
- TransportServiceCCFirstSegment,
74
- ...TransportServiceCCSubsequentSegment[]
75
70
  ], ctx: CCParsingContext): Promise<void>;
76
- serialize(ctx: CCEncodingContext): Bytes;
71
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
77
72
  protected computeEncapsulationOverhead(): number;
78
73
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
79
74
  }
@@ -86,7 +81,7 @@ export declare class TransportServiceCCSegmentRequest extends TransportServiceCC
86
81
  static from(raw: CCRaw, ctx: CCParsingContext): TransportServiceCCSegmentRequest;
87
82
  sessionId: number;
88
83
  datagramOffset: number;
89
- serialize(ctx: CCEncodingContext): Bytes;
84
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
90
85
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
91
86
  }
92
87
  export interface TransportServiceCCSegmentCompleteOptions {
@@ -96,7 +91,7 @@ export declare class TransportServiceCCSegmentComplete extends TransportServiceC
96
91
  constructor(options: WithAddress<TransportServiceCCSegmentCompleteOptions>);
97
92
  static from(raw: CCRaw, ctx: CCParsingContext): TransportServiceCCSegmentComplete;
98
93
  sessionId: number;
99
- serialize(ctx: CCEncodingContext): Bytes;
94
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
100
95
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
101
96
  }
102
97
  export interface TransportServiceCCSegmentWaitOptions {
@@ -106,7 +101,7 @@ export declare class TransportServiceCCSegmentWait extends TransportServiceCC {
106
101
  constructor(options: WithAddress<TransportServiceCCSegmentWaitOptions>);
107
102
  static from(raw: CCRaw, ctx: CCParsingContext): TransportServiceCCSegmentWait;
108
103
  pendingSegments: number;
109
- serialize(ctx: CCEncodingContext): Bytes;
104
+ serialize(ctx: CCEncodingContext): Promise<Bytes>;
110
105
  toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry;
111
106
  }
112
107
  //# sourceMappingURL=TransportServiceCC.d.ts.map
@@ -320,8 +320,7 @@ let TransportServiceCCSubsequentSegment = (() => {
320
320
  getPartialCCSessionId() {
321
321
  return { ccCommand: void 0, sessionId: this.sessionId };
322
322
  }
323
- /** @deprecated Use {@link mergePartialCCsAsync} instead */
324
- mergePartialCCs(partials, ctx) {
323
+ async mergePartialCCs(partials, ctx) {
325
324
  const datagram = new import_safe2.Bytes(this.datagramSize);
326
325
  for (const partial of [...partials, this]) {
327
326
  const offset = partial instanceof TransportServiceCCFirstSegment ? 0 : partial.datagramOffset;
@@ -330,19 +329,7 @@ let TransportServiceCCSubsequentSegment = (() => {
330
329
  }
331
330
  datagram.set(partial.partialDatagram, offset);
332
331
  }
333
- this._encapsulated = import_CommandClass.CommandClass.parse(datagram, ctx);
334
- this._encapsulated.encapsulatingCC = this;
335
- }
336
- async mergePartialCCsAsync(partials, ctx) {
337
- const datagram = new import_safe2.Bytes(this.datagramSize);
338
- for (const partial of [...partials, this]) {
339
- const offset = partial instanceof TransportServiceCCFirstSegment ? 0 : partial.datagramOffset;
340
- if (offset + partial.partialDatagram.length > datagram.length) {
341
- throw new import_safe.ZWaveError(`The partial datagram offset and length in a segment are not compatible to the communicated datagram length`, import_safe.ZWaveErrorCodes.PacketFormat_InvalidPayload);
342
- }
343
- datagram.set(partial.partialDatagram, offset);
344
- }
345
- this._encapsulated = await import_CommandClass.CommandClass.parseAsync(datagram, ctx);
332
+ this._encapsulated = await import_CommandClass.CommandClass.parse(datagram, ctx);
346
333
  this._encapsulated.encapsulatingCC = this;
347
334
  }
348
335
  serialize(ctx) {
@@ -389,12 +376,8 @@ let TransportServiceCCSubsequentSegment = (() => {
389
376
  };
390
377
  return TransportServiceCCSubsequentSegment2 = _classThis;
391
378
  })();
392
- function testResponseForSegmentRequest(sent, received) {
393
- return sent.datagramOffset === 0 && received instanceof TransportServiceCCFirstSegment && received.sessionId === sent.sessionId || sent.datagramOffset > 0 && received instanceof TransportServiceCCSubsequentSegment && sent.datagramOffset === received.datagramOffset && received.sessionId === sent.sessionId;
394
- }
395
- __name(testResponseForSegmentRequest, "testResponseForSegmentRequest");
396
379
  let TransportServiceCCSegmentRequest = (() => {
397
- let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.TransportServiceCommand.SegmentRequest), (0, import_CommandClassDecorators.expectedCCResponse)(TransportServiceCC, testResponseForSegmentRequest)];
380
+ let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.TransportServiceCommand.SegmentRequest)];
398
381
  let _classDescriptor;
399
382
  let _classExtraInitializers = [];
400
383
  let _classThis;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cc/TransportServiceCC.ts"],
4
- "sourcesContent": ["import {\n\tCRC16_CCITT,\n\tCommandClasses,\n\ttype MessageOrCCLogEntry,\n\ttype SinglecastCC,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport type {\n\tCCEncodingContext,\n\tCCParsingContext,\n\tGetValueDB,\n} from \"@zwave-js/host/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { buffer2hex } from \"@zwave-js/shared/safe\";\nimport {\n\ttype CCRaw,\n\ttype CCResponseRole,\n\tCommandClass,\n} from \"../lib/CommandClass.js\";\nimport {\n\tCCCommand,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport { TransportServiceCommand } from \"../lib/_Types.js\";\n\nexport const MAX_SEGMENT_SIZE = 39;\n\nexport const RELAXED_TIMING_THRESHOLD = 2;\n\n// TODO: Figure out how we know if communicating with R2 or R3\n/** @publicAPI */\nexport const TransportServiceTimeouts = {\n\t/** Waiting time before requesting a missing segment at data rate R2 */\n\trequestMissingSegmentR2: 800,\n\t/** Waiting time before requesting a missing segment at data rate R3 */\n\trequestMissingSegmentR3: 400,\n\t/** Waiting time before sending another datagram at data rate R2 */\n\tsegmentCompleteR2: 1000,\n\t/** Waiting time before sending another datagram at data rate R3 */\n\tsegmentCompleteR3: 500,\n\t/** Waiting time between segments when sending more than {@link RELAXED_TIMING_THRESHOLD} segments at data rate R2 */\n\trelaxedTimingDelayR2: 35,\n\t/** Waiting time between segments when sending more than {@link RELAXED_TIMING_THRESHOLD} segments at data rate R3 */\n\trelaxedTimingDelayR3: 15,\n};\n\n@commandClass(CommandClasses[\"Transport Service\"])\n@implementedVersion(2)\nexport class TransportServiceCC extends CommandClass\n\timplements SinglecastCC<TransportServiceCC>\n{\n\tdeclare ccCommand: TransportServiceCommand;\n\tdeclare nodeId: number;\n}\n\n// @publicAPI\nexport interface TransportServiceCCFirstSegmentOptions {\n\tdatagramSize: number;\n\tsessionId: number;\n\theaderExtension?: Uint8Array | undefined;\n\tpartialDatagram: Uint8Array;\n}\n\n/** @publicAPI */\nexport function isTransportServiceEncapsulation(\n\tcommand: CommandClass,\n): command is\n\t| TransportServiceCCFirstSegment\n\t| TransportServiceCCSubsequentSegment\n{\n\treturn (\n\t\tcommand.ccId === CommandClasses[\"Transport Service\"]\n\t\t&& (command.ccCommand === TransportServiceCommand.FirstSegment\n\t\t\t|| command.ccCommand === TransportServiceCommand.SubsequentSegment)\n\t);\n}\n\n@CCCommand(TransportServiceCommand.FirstSegment)\n// @expectedCCResponse(TransportServiceCCReport)\nexport class TransportServiceCCFirstSegment extends TransportServiceCC {\n\tpublic constructor(\n\t\toptions: WithAddress<TransportServiceCCFirstSegmentOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.datagramSize = options.datagramSize;\n\t\tthis.sessionId = options.sessionId;\n\t\tthis.headerExtension = options.headerExtension;\n\t\tthis.partialDatagram = options.partialDatagram;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): TransportServiceCCFirstSegment {\n\t\t// Deserialization has already split the datagram size from the ccCommand.\n\t\t// Therefore we have one more payload byte\n\n\t\tvalidatePayload(raw.payload.length >= 6); // 2 bytes dgram size, 1 byte sessid/ext, 1+ bytes payload, 2 bytes checksum\n\n\t\t// Verify the CRC\n\t\tconst headerBuffer = Bytes.from([\n\t\t\tCommandClasses[\"Transport Service\"],\n\t\t\tTransportServiceCommand.FirstSegment | raw.payload[0],\n\t\t]);\n\t\tconst ccBuffer = raw.payload.subarray(1, -2);\n\t\tlet expectedCRC = CRC16_CCITT(headerBuffer);\n\t\texpectedCRC = CRC16_CCITT(ccBuffer, expectedCRC);\n\t\tconst actualCRC = raw.payload.readUInt16BE(\n\t\t\traw.payload.length - 2,\n\t\t);\n\t\tvalidatePayload(expectedCRC === actualCRC);\n\t\tconst datagramSize = raw.payload.readUInt16BE(0);\n\t\tconst sessionId = raw.payload[2] >>> 4;\n\t\tlet payloadOffset = 3;\n\n\t\t// If there is a header extension, read it\n\t\tconst hasHeaderExtension = !!(raw.payload[2] & 0b1000);\n\t\tlet headerExtension: Uint8Array | undefined;\n\n\t\tif (hasHeaderExtension) {\n\t\t\tconst extLength = raw.payload[3];\n\t\t\theaderExtension = raw.payload.subarray(4, 4 + extLength);\n\t\t\tpayloadOffset += 1 + extLength;\n\t\t}\n\t\tconst partialDatagram: Uint8Array = raw.payload.subarray(\n\t\t\tpayloadOffset,\n\t\t\t-2,\n\t\t);\n\n\t\t// A node supporting the Transport Service Command Class, version 2\n\t\t// MUST NOT send Transport Service segments with the Payload field longer than 39 bytes.\n\t\tvalidatePayload(partialDatagram.length <= MAX_SEGMENT_SIZE);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tdatagramSize,\n\t\t\tsessionId,\n\t\t\theaderExtension,\n\t\t\tpartialDatagram,\n\t\t});\n\t}\n\n\tpublic datagramSize: number;\n\tpublic sessionId: number;\n\tpublic headerExtension: Uint8Array | undefined;\n\tpublic partialDatagram: Uint8Array;\n\tpublic encapsulated!: CommandClass;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Transport Service re-uses the lower 3 bits of the ccCommand as payload\n\t\tthis.ccCommand = (this.ccCommand & 0b11111_000)\n\t\t\t| ((this.datagramSize >>> 8) & 0b111);\n\n\t\tconst ext = !!this.headerExtension && this.headerExtension.length >= 1;\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.datagramSize & 0xff,\n\t\t\t((this.sessionId & 0b1111) << 4) | (ext ? 0b1000 : 0),\n\t\t]);\n\t\tif (ext) {\n\t\t\tthis.payload = Bytes.concat([\n\t\t\t\tthis.payload,\n\t\t\t\tBytes.from([this.headerExtension!.length]),\n\t\t\t\tthis.headerExtension!,\n\t\t\t]);\n\t\t}\n\t\tthis.payload = Bytes.concat([\n\t\t\tthis.payload,\n\t\t\tthis.partialDatagram,\n\t\t\tBytes.alloc(2, 0), // checksum\n\t\t]);\n\n\t\t// Compute and save the CRC16 in the payload\n\t\t// The CC header is included in the CRC computation\n\t\tconst headerBuffer = Bytes.from([this.ccId, this.ccCommand]);\n\t\tlet crc = CRC16_CCITT(headerBuffer);\n\t\tcrc = CRC16_CCITT(this.payload.subarray(0, -2), crc);\n\t\t// Write the checksum into the last two bytes of the payload\n\t\tthis.payload.writeUInt16BE(crc, this.payload.length - 2);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic expectMoreMessages(): boolean {\n\t\treturn true; // The FirstSegment message always expects more messages\n\t}\n\n\tpublic getPartialCCSessionId(): Record<string, any> | undefined {\n\t\t// Only use the session ID to identify the session, not the CC command\n\t\treturn { ccCommand: undefined, sessionId: this.sessionId };\n\t}\n\n\tprotected computeEncapsulationOverhead(): number {\n\t\t// Transport Service CC (first segment) adds 1 byte datagram size, 1 byte Session ID/..., 2 bytes checksum and (0 OR n+1) bytes header extension\n\t\treturn (\n\t\t\tsuper.computeEncapsulationOverhead()\n\t\t\t+ 4\n\t\t\t+ (this.headerExtension?.length\n\t\t\t\t? 1 + this.headerExtension.length\n\t\t\t\t: 0)\n\t\t);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"session ID\": this.sessionId,\n\t\t\t\t\"datagram size\": this.datagramSize,\n\t\t\t\t\"byte range\": `0...${this.partialDatagram.length - 1}`,\n\t\t\t\tpayload: buffer2hex(this.partialDatagram),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface TransportServiceCCSubsequentSegmentOptions\n\textends TransportServiceCCFirstSegmentOptions\n{\n\tdatagramOffset: number;\n}\n\n@CCCommand(TransportServiceCommand.SubsequentSegment)\n// @expectedCCResponse(TransportServiceCCReport)\nexport class TransportServiceCCSubsequentSegment extends TransportServiceCC {\n\tpublic constructor(\n\t\toptions: WithAddress<TransportServiceCCSubsequentSegmentOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.datagramSize = options.datagramSize;\n\t\tthis.datagramOffset = options.datagramOffset;\n\t\tthis.sessionId = options.sessionId;\n\t\tthis.headerExtension = options.headerExtension;\n\t\tthis.partialDatagram = options.partialDatagram;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): TransportServiceCCSubsequentSegment {\n\t\t// Deserialization has already split the datagram size from the ccCommand.\n\t\t// Therefore we have one more payload byte\n\n\t\tvalidatePayload(raw.payload.length >= 7); // 2 bytes dgram size, 1 byte sessid/ext/offset, 1 byte offset, 1+ bytes payload, 2 bytes checksum\n\n\t\t// Verify the CRC\n\t\tconst headerBuffer = Bytes.from([\n\t\t\tCommandClasses[\"Transport Service\"],\n\t\t\tTransportServiceCommand.SubsequentSegment | raw.payload[0],\n\t\t]);\n\t\tconst ccBuffer = raw.payload.subarray(1, -2);\n\t\tlet expectedCRC = CRC16_CCITT(headerBuffer);\n\t\texpectedCRC = CRC16_CCITT(ccBuffer, expectedCRC);\n\t\tconst actualCRC = raw.payload.readUInt16BE(\n\t\t\traw.payload.length - 2,\n\t\t);\n\t\tvalidatePayload(expectedCRC === actualCRC);\n\t\tconst datagramSize = raw.payload.readUInt16BE(0);\n\t\tconst sessionId = raw.payload[2] >>> 4;\n\t\tconst datagramOffset = ((raw.payload[2] & 0b111) << 8)\n\t\t\t+ raw.payload[3];\n\t\tlet payloadOffset = 4;\n\n\t\t// If there is a header extension, read it\n\t\tconst hasHeaderExtension = !!(raw.payload[2] & 0b1000);\n\t\tlet headerExtension: Bytes | undefined;\n\n\t\tif (hasHeaderExtension) {\n\t\t\tconst extLength = raw.payload[4];\n\t\t\theaderExtension = raw.payload.subarray(5, 5 + extLength);\n\t\t\tpayloadOffset += 1 + extLength;\n\t\t}\n\t\tconst partialDatagram: Bytes = raw.payload.subarray(payloadOffset, -2);\n\n\t\t// A node supporting the Transport Service Command Class, version 2\n\t\t// MUST NOT send Transport Service segments with the Payload field longer than 39 bytes.\n\t\tvalidatePayload(partialDatagram.length <= MAX_SEGMENT_SIZE);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tdatagramSize,\n\t\t\tsessionId,\n\t\t\tdatagramOffset,\n\t\t\theaderExtension,\n\t\t\tpartialDatagram,\n\t\t});\n\t}\n\n\tpublic datagramSize: number;\n\tpublic datagramOffset: number;\n\tpublic sessionId: number;\n\tpublic headerExtension: Uint8Array | undefined;\n\tpublic partialDatagram: Uint8Array;\n\n\t// This can only be received\n\tprivate _encapsulated!: CommandClass;\n\tpublic get encapsulated(): CommandClass {\n\t\treturn this._encapsulated;\n\t}\n\n\tpublic expectMoreMessages(\n\t\tsession: [\n\t\t\tTransportServiceCCFirstSegment,\n\t\t\t...TransportServiceCCSubsequentSegment[],\n\t\t],\n\t): boolean {\n\t\tif (!(session[0] instanceof TransportServiceCCFirstSegment)) {\n\t\t\t// First segment is missing\n\t\t\treturn true;\n\t\t}\n\t\tconst datagramSize = session[0].datagramSize;\n\t\tconst receivedBytes = new Array<boolean>(datagramSize).fill(false);\n\t\tfor (const segment of [...session, this]) {\n\t\t\tconst offset = segment instanceof TransportServiceCCFirstSegment\n\t\t\t\t? 0\n\t\t\t\t: segment.datagramOffset;\n\t\t\tfor (\n\t\t\t\tlet i = offset;\n\t\t\t\ti <= offset + segment.partialDatagram.length;\n\t\t\t\ti++\n\t\t\t) {\n\t\t\t\treceivedBytes[i] = true;\n\t\t\t}\n\t\t}\n\t\t// Expect more messages as long as we haven't received everything\n\t\treturn receivedBytes.includes(false);\n\t}\n\n\tpublic getPartialCCSessionId(): Record<string, any> | undefined {\n\t\t// Only use the session ID to identify the session, not the CC command\n\t\treturn { ccCommand: undefined, sessionId: this.sessionId };\n\t}\n\n\t/** @deprecated Use {@link mergePartialCCsAsync} instead */\n\tpublic mergePartialCCs(\n\t\tpartials: [\n\t\t\tTransportServiceCCFirstSegment,\n\t\t\t...TransportServiceCCSubsequentSegment[],\n\t\t],\n\t\tctx: CCParsingContext,\n\t): void {\n\t\t// Concat the CC buffers\n\t\tconst datagram = new Bytes(this.datagramSize);\n\t\tfor (const partial of [...partials, this]) {\n\t\t\t// Ensure that we don't try to write out-of-bounds\n\t\t\tconst offset = partial instanceof TransportServiceCCFirstSegment\n\t\t\t\t? 0\n\t\t\t\t: partial.datagramOffset;\n\t\t\tif (offset + partial.partialDatagram.length > datagram.length) {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`The partial datagram offset and length in a segment are not compatible to the communicated datagram length`,\n\t\t\t\t\tZWaveErrorCodes.PacketFormat_InvalidPayload,\n\t\t\t\t);\n\t\t\t}\n\t\t\tdatagram.set(partial.partialDatagram, offset);\n\t\t}\n\n\t\t// and deserialize the CC\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\tthis._encapsulated = CommandClass.parse(datagram, ctx);\n\t\tthis._encapsulated.encapsulatingCC = this as any;\n\t}\n\n\tpublic async mergePartialCCsAsync(\n\t\tpartials: [\n\t\t\tTransportServiceCCFirstSegment,\n\t\t\t...TransportServiceCCSubsequentSegment[],\n\t\t],\n\t\tctx: CCParsingContext,\n\t): Promise<void> {\n\t\t// Concat the CC buffers\n\t\tconst datagram = new Bytes(this.datagramSize);\n\t\tfor (const partial of [...partials, this]) {\n\t\t\t// Ensure that we don't try to write out-of-bounds\n\t\t\tconst offset = partial instanceof TransportServiceCCFirstSegment\n\t\t\t\t? 0\n\t\t\t\t: partial.datagramOffset;\n\t\t\tif (offset + partial.partialDatagram.length > datagram.length) {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`The partial datagram offset and length in a segment are not compatible to the communicated datagram length`,\n\t\t\t\t\tZWaveErrorCodes.PacketFormat_InvalidPayload,\n\t\t\t\t);\n\t\t\t}\n\t\t\tdatagram.set(partial.partialDatagram, offset);\n\t\t}\n\n\t\t// and deserialize the CC\n\t\tthis._encapsulated = await CommandClass.parseAsync(datagram, ctx);\n\t\tthis._encapsulated.encapsulatingCC = this as any;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\t// Transport Service re-uses the lower 3 bits of the ccCommand as payload\n\t\tthis.ccCommand = (this.ccCommand & 0b11111_000)\n\t\t\t| ((this.datagramSize >>> 8) & 0b111);\n\n\t\tconst ext = !!this.headerExtension && this.headerExtension.length >= 1;\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.datagramSize & 0xff,\n\t\t\t((this.sessionId & 0b1111) << 4)\n\t\t\t| (ext ? 0b1000 : 0)\n\t\t\t| ((this.datagramOffset >>> 8) & 0b111),\n\t\t\tthis.datagramOffset & 0xff,\n\t\t]);\n\t\tif (ext) {\n\t\t\tthis.payload = Bytes.concat([\n\t\t\t\tthis.payload,\n\t\t\t\tBytes.from([this.headerExtension!.length]),\n\t\t\t\tthis.headerExtension!,\n\t\t\t]);\n\t\t}\n\t\tthis.payload = Bytes.concat([\n\t\t\tthis.payload,\n\t\t\tthis.partialDatagram,\n\t\t\tBytes.alloc(2, 0), // checksum\n\t\t]);\n\n\t\t// Compute and save the CRC16 in the payload\n\t\t// The CC header is included in the CRC computation\n\t\tconst headerBuffer = Bytes.from([this.ccId, this.ccCommand]);\n\t\tlet crc = CRC16_CCITT(headerBuffer);\n\t\tcrc = CRC16_CCITT(this.payload.subarray(0, -2), crc);\n\t\t// Write the checksum into the last two bytes of the payload\n\t\tthis.payload.writeUInt16BE(crc, this.payload.length - 2);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tprotected computeEncapsulationOverhead(): number {\n\t\t// Transport Service CC (first segment) adds 1 byte datagram size, 1 byte Session ID/..., 1 byte offset, 2 bytes checksum and (0 OR n+1) bytes header extension\n\t\treturn (\n\t\t\tsuper.computeEncapsulationOverhead()\n\t\t\t+ 5\n\t\t\t+ (this.headerExtension?.length\n\t\t\t\t? 1 + this.headerExtension.length\n\t\t\t\t: 0)\n\t\t);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"session ID\": this.sessionId,\n\t\t\t\t\"datagram size\": this.datagramSize,\n\t\t\t\t\"byte range\": `${this.datagramOffset}...${\n\t\t\t\t\tthis.datagramOffset + this.partialDatagram.length - 1\n\t\t\t\t}`,\n\t\t\t\tpayload: buffer2hex(this.partialDatagram),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface TransportServiceCCSegmentRequestOptions {\n\tsessionId: number;\n\tdatagramOffset: number;\n}\n\nfunction testResponseForSegmentRequest(\n\tsent: TransportServiceCCSegmentRequest,\n\treceived: TransportServiceCC,\n): CCResponseRole {\n\treturn (\n\t\t(sent.datagramOffset === 0\n\t\t\t&& received instanceof TransportServiceCCFirstSegment\n\t\t\t&& received.sessionId === sent.sessionId)\n\t\t|| (sent.datagramOffset > 0\n\t\t\t&& received instanceof TransportServiceCCSubsequentSegment\n\t\t\t&& sent.datagramOffset === received.datagramOffset\n\t\t\t&& received.sessionId === sent.sessionId)\n\t);\n}\n\n@CCCommand(TransportServiceCommand.SegmentRequest)\n@expectedCCResponse(TransportServiceCC, testResponseForSegmentRequest)\nexport class TransportServiceCCSegmentRequest extends TransportServiceCC {\n\tpublic constructor(\n\t\toptions: WithAddress<TransportServiceCCSegmentRequestOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.sessionId = options.sessionId;\n\t\tthis.datagramOffset = options.datagramOffset;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): TransportServiceCCSegmentRequest {\n\t\tvalidatePayload(raw.payload.length >= 3);\n\t\tconst sessionId = raw.payload[1] >>> 4;\n\t\tconst datagramOffset = ((raw.payload[1] & 0b111) << 8)\n\t\t\t+ raw.payload[2];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsessionId,\n\t\t\tdatagramOffset,\n\t\t});\n\t}\n\n\tpublic sessionId: number;\n\tpublic datagramOffset: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([\n\t\t\t((this.sessionId & 0b1111) << 4)\n\t\t\t| ((this.datagramOffset >>> 8) & 0b111),\n\t\t\tthis.datagramOffset & 0xff,\n\t\t]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"session ID\": this.sessionId,\n\t\t\t\toffset: this.datagramOffset,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface TransportServiceCCSegmentCompleteOptions {\n\tsessionId: number;\n}\n\n@CCCommand(TransportServiceCommand.SegmentComplete)\nexport class TransportServiceCCSegmentComplete extends TransportServiceCC {\n\tpublic constructor(\n\t\toptions: WithAddress<TransportServiceCCSegmentCompleteOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.sessionId = options.sessionId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): TransportServiceCCSegmentComplete {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst sessionId = raw.payload[1] >>> 4;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsessionId,\n\t\t});\n\t}\n\n\tpublic sessionId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([(this.sessionId & 0b1111) << 4]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"session ID\": this.sessionId },\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface TransportServiceCCSegmentWaitOptions {\n\tpendingSegments: number;\n}\n\n@CCCommand(TransportServiceCommand.SegmentWait)\nexport class TransportServiceCCSegmentWait extends TransportServiceCC {\n\tpublic constructor(\n\t\toptions: WithAddress<TransportServiceCCSegmentWaitOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.pendingSegments = options.pendingSegments;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): TransportServiceCCSegmentWait {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst pendingSegments = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tpendingSegments,\n\t\t});\n\t}\n\n\tpublic pendingSegments: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from([this.pendingSegments]);\n\t\t// eslint-disable-next-line @typescript-eslint/no-deprecated\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"pending segments\": this.pendingSegments },\n\t\t};\n\t}\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { type CCEncodingContext, type CCParsingContext } from \"@zwave-js/cc\";\nimport {\n\tCRC16_CCITT,\n\tCommandClasses,\n\ttype GetValueDB,\n\ttype MessageOrCCLogEntry,\n\ttype SinglecastCC,\n\ttype WithAddress,\n\tZWaveError,\n\tZWaveErrorCodes,\n\tvalidatePayload,\n} from \"@zwave-js/core/safe\";\nimport { Bytes } from \"@zwave-js/shared/safe\";\nimport { buffer2hex } from \"@zwave-js/shared/safe\";\nimport { type CCRaw, CommandClass } from \"../lib/CommandClass.js\";\nimport {\n\tCCCommand,\n\tcommandClass,\n\timplementedVersion,\n} from \"../lib/CommandClassDecorators.js\";\nimport { TransportServiceCommand } from \"../lib/_Types.js\";\n\nexport const MAX_SEGMENT_SIZE = 39;\n\nexport const RELAXED_TIMING_THRESHOLD = 2;\n\n// TODO: Figure out how we know if communicating with R2 or R3\n/** @publicAPI */\nexport const TransportServiceTimeouts = {\n\t/** Waiting time before requesting a missing segment at data rate R2 */\n\trequestMissingSegmentR2: 800,\n\t/** Waiting time before requesting a missing segment at data rate R3 */\n\trequestMissingSegmentR3: 400,\n\t/** Waiting time before sending another datagram at data rate R2 */\n\tsegmentCompleteR2: 1000,\n\t/** Waiting time before sending another datagram at data rate R3 */\n\tsegmentCompleteR3: 500,\n\t/** Waiting time between segments when sending more than {@link RELAXED_TIMING_THRESHOLD} segments at data rate R2 */\n\trelaxedTimingDelayR2: 35,\n\t/** Waiting time between segments when sending more than {@link RELAXED_TIMING_THRESHOLD} segments at data rate R3 */\n\trelaxedTimingDelayR3: 15,\n};\n\n@commandClass(CommandClasses[\"Transport Service\"])\n@implementedVersion(2)\nexport class TransportServiceCC extends CommandClass\n\timplements SinglecastCC<TransportServiceCC>\n{\n\tdeclare ccCommand: TransportServiceCommand;\n\tdeclare nodeId: number;\n}\n\n// @publicAPI\nexport interface TransportServiceCCFirstSegmentOptions {\n\tdatagramSize: number;\n\tsessionId: number;\n\theaderExtension?: Uint8Array | undefined;\n\tpartialDatagram: Uint8Array;\n}\n\n/** @publicAPI */\nexport function isTransportServiceEncapsulation(\n\tcommand: CommandClass,\n): command is\n\t| TransportServiceCCFirstSegment\n\t| TransportServiceCCSubsequentSegment\n{\n\treturn (\n\t\tcommand.ccId === CommandClasses[\"Transport Service\"]\n\t\t&& (command.ccCommand === TransportServiceCommand.FirstSegment\n\t\t\t|| command.ccCommand === TransportServiceCommand.SubsequentSegment)\n\t);\n}\n\n@CCCommand(TransportServiceCommand.FirstSegment)\n// Handling expected responses is done by the RX state machine\nexport class TransportServiceCCFirstSegment extends TransportServiceCC {\n\tpublic constructor(\n\t\toptions: WithAddress<TransportServiceCCFirstSegmentOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.datagramSize = options.datagramSize;\n\t\tthis.sessionId = options.sessionId;\n\t\tthis.headerExtension = options.headerExtension;\n\t\tthis.partialDatagram = options.partialDatagram;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): TransportServiceCCFirstSegment {\n\t\t// Deserialization has already split the datagram size from the ccCommand.\n\t\t// Therefore we have one more payload byte\n\n\t\tvalidatePayload(raw.payload.length >= 6); // 2 bytes dgram size, 1 byte sessid/ext, 1+ bytes payload, 2 bytes checksum\n\n\t\t// Verify the CRC\n\t\tconst headerBuffer = Bytes.from([\n\t\t\tCommandClasses[\"Transport Service\"],\n\t\t\tTransportServiceCommand.FirstSegment | raw.payload[0],\n\t\t]);\n\t\tconst ccBuffer = raw.payload.subarray(1, -2);\n\t\tlet expectedCRC = CRC16_CCITT(headerBuffer);\n\t\texpectedCRC = CRC16_CCITT(ccBuffer, expectedCRC);\n\t\tconst actualCRC = raw.payload.readUInt16BE(\n\t\t\traw.payload.length - 2,\n\t\t);\n\t\tvalidatePayload(expectedCRC === actualCRC);\n\t\tconst datagramSize = raw.payload.readUInt16BE(0);\n\t\tconst sessionId = raw.payload[2] >>> 4;\n\t\tlet payloadOffset = 3;\n\n\t\t// If there is a header extension, read it\n\t\tconst hasHeaderExtension = !!(raw.payload[2] & 0b1000);\n\t\tlet headerExtension: Uint8Array | undefined;\n\n\t\tif (hasHeaderExtension) {\n\t\t\tconst extLength = raw.payload[3];\n\t\t\theaderExtension = raw.payload.subarray(4, 4 + extLength);\n\t\t\tpayloadOffset += 1 + extLength;\n\t\t}\n\t\tconst partialDatagram: Uint8Array = raw.payload.subarray(\n\t\t\tpayloadOffset,\n\t\t\t-2,\n\t\t);\n\n\t\t// A node supporting the Transport Service Command Class, version 2\n\t\t// MUST NOT send Transport Service segments with the Payload field longer than 39 bytes.\n\t\tvalidatePayload(partialDatagram.length <= MAX_SEGMENT_SIZE);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tdatagramSize,\n\t\t\tsessionId,\n\t\t\theaderExtension,\n\t\t\tpartialDatagram,\n\t\t});\n\t}\n\n\tpublic datagramSize: number;\n\tpublic sessionId: number;\n\tpublic headerExtension: Uint8Array | undefined;\n\tpublic partialDatagram: Uint8Array;\n\tpublic encapsulated!: CommandClass;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\t// Transport Service re-uses the lower 3 bits of the ccCommand as payload\n\t\tthis.ccCommand = (this.ccCommand & 0b11111_000)\n\t\t\t| ((this.datagramSize >>> 8) & 0b111);\n\n\t\tconst ext = !!this.headerExtension && this.headerExtension.length >= 1;\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.datagramSize & 0xff,\n\t\t\t((this.sessionId & 0b1111) << 4) | (ext ? 0b1000 : 0),\n\t\t]);\n\t\tif (ext) {\n\t\t\tthis.payload = Bytes.concat([\n\t\t\t\tthis.payload,\n\t\t\t\tBytes.from([this.headerExtension!.length]),\n\t\t\t\tthis.headerExtension!,\n\t\t\t]);\n\t\t}\n\t\tthis.payload = Bytes.concat([\n\t\t\tthis.payload,\n\t\t\tthis.partialDatagram,\n\t\t\tBytes.alloc(2, 0), // checksum\n\t\t]);\n\n\t\t// Compute and save the CRC16 in the payload\n\t\t// The CC header is included in the CRC computation\n\t\tconst headerBuffer = Bytes.from([this.ccId, this.ccCommand]);\n\t\tlet crc = CRC16_CCITT(headerBuffer);\n\t\tcrc = CRC16_CCITT(this.payload.subarray(0, -2), crc);\n\t\t// Write the checksum into the last two bytes of the payload\n\t\tthis.payload.writeUInt16BE(crc, this.payload.length - 2);\n\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic expectMoreMessages(): boolean {\n\t\treturn true; // The FirstSegment message always expects more messages\n\t}\n\n\tpublic getPartialCCSessionId(): Record<string, any> | undefined {\n\t\t// Only use the session ID to identify the session, not the CC command\n\t\treturn { ccCommand: undefined, sessionId: this.sessionId };\n\t}\n\n\tprotected computeEncapsulationOverhead(): number {\n\t\t// Transport Service CC (first segment) adds 1 byte datagram size, 1 byte Session ID/..., 2 bytes checksum and (0 OR n+1) bytes header extension\n\t\treturn (\n\t\t\tsuper.computeEncapsulationOverhead()\n\t\t\t+ 4\n\t\t\t+ (this.headerExtension?.length\n\t\t\t\t? 1 + this.headerExtension.length\n\t\t\t\t: 0)\n\t\t);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"session ID\": this.sessionId,\n\t\t\t\t\"datagram size\": this.datagramSize,\n\t\t\t\t\"byte range\": `0...${this.partialDatagram.length - 1}`,\n\t\t\t\tpayload: buffer2hex(this.partialDatagram),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface TransportServiceCCSubsequentSegmentOptions\n\textends TransportServiceCCFirstSegmentOptions\n{\n\tdatagramOffset: number;\n}\n\n@CCCommand(TransportServiceCommand.SubsequentSegment)\n// Handling expected responses is done by the RX state machine\nexport class TransportServiceCCSubsequentSegment extends TransportServiceCC {\n\tpublic constructor(\n\t\toptions: WithAddress<TransportServiceCCSubsequentSegmentOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.datagramSize = options.datagramSize;\n\t\tthis.datagramOffset = options.datagramOffset;\n\t\tthis.sessionId = options.sessionId;\n\t\tthis.headerExtension = options.headerExtension;\n\t\tthis.partialDatagram = options.partialDatagram;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): TransportServiceCCSubsequentSegment {\n\t\t// Deserialization has already split the datagram size from the ccCommand.\n\t\t// Therefore we have one more payload byte\n\n\t\tvalidatePayload(raw.payload.length >= 7); // 2 bytes dgram size, 1 byte sessid/ext/offset, 1 byte offset, 1+ bytes payload, 2 bytes checksum\n\n\t\t// Verify the CRC\n\t\tconst headerBuffer = Bytes.from([\n\t\t\tCommandClasses[\"Transport Service\"],\n\t\t\tTransportServiceCommand.SubsequentSegment | raw.payload[0],\n\t\t]);\n\t\tconst ccBuffer = raw.payload.subarray(1, -2);\n\t\tlet expectedCRC = CRC16_CCITT(headerBuffer);\n\t\texpectedCRC = CRC16_CCITT(ccBuffer, expectedCRC);\n\t\tconst actualCRC = raw.payload.readUInt16BE(\n\t\t\traw.payload.length - 2,\n\t\t);\n\t\tvalidatePayload(expectedCRC === actualCRC);\n\t\tconst datagramSize = raw.payload.readUInt16BE(0);\n\t\tconst sessionId = raw.payload[2] >>> 4;\n\t\tconst datagramOffset = ((raw.payload[2] & 0b111) << 8)\n\t\t\t+ raw.payload[3];\n\t\tlet payloadOffset = 4;\n\n\t\t// If there is a header extension, read it\n\t\tconst hasHeaderExtension = !!(raw.payload[2] & 0b1000);\n\t\tlet headerExtension: Bytes | undefined;\n\n\t\tif (hasHeaderExtension) {\n\t\t\tconst extLength = raw.payload[4];\n\t\t\theaderExtension = raw.payload.subarray(5, 5 + extLength);\n\t\t\tpayloadOffset += 1 + extLength;\n\t\t}\n\t\tconst partialDatagram: Bytes = raw.payload.subarray(payloadOffset, -2);\n\n\t\t// A node supporting the Transport Service Command Class, version 2\n\t\t// MUST NOT send Transport Service segments with the Payload field longer than 39 bytes.\n\t\tvalidatePayload(partialDatagram.length <= MAX_SEGMENT_SIZE);\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tdatagramSize,\n\t\t\tsessionId,\n\t\t\tdatagramOffset,\n\t\t\theaderExtension,\n\t\t\tpartialDatagram,\n\t\t});\n\t}\n\n\tpublic datagramSize: number;\n\tpublic datagramOffset: number;\n\tpublic sessionId: number;\n\tpublic headerExtension: Uint8Array | undefined;\n\tpublic partialDatagram: Uint8Array;\n\n\t// This can only be received\n\tprivate _encapsulated!: CommandClass;\n\tpublic get encapsulated(): CommandClass {\n\t\treturn this._encapsulated;\n\t}\n\n\tpublic expectMoreMessages(\n\t\tsession: [\n\t\t\tTransportServiceCCFirstSegment,\n\t\t\t...TransportServiceCCSubsequentSegment[],\n\t\t],\n\t): boolean {\n\t\tif (!(session[0] instanceof TransportServiceCCFirstSegment)) {\n\t\t\t// First segment is missing\n\t\t\treturn true;\n\t\t}\n\t\tconst datagramSize = session[0].datagramSize;\n\t\tconst receivedBytes = new Array<boolean>(datagramSize).fill(false);\n\t\tfor (const segment of [...session, this]) {\n\t\t\tconst offset = segment instanceof TransportServiceCCFirstSegment\n\t\t\t\t? 0\n\t\t\t\t: segment.datagramOffset;\n\t\t\tfor (\n\t\t\t\tlet i = offset;\n\t\t\t\ti <= offset + segment.partialDatagram.length;\n\t\t\t\ti++\n\t\t\t) {\n\t\t\t\treceivedBytes[i] = true;\n\t\t\t}\n\t\t}\n\t\t// Expect more messages as long as we haven't received everything\n\t\treturn receivedBytes.includes(false);\n\t}\n\n\tpublic getPartialCCSessionId(): Record<string, any> | undefined {\n\t\t// Only use the session ID to identify the session, not the CC command\n\t\treturn { ccCommand: undefined, sessionId: this.sessionId };\n\t}\n\n\tpublic async mergePartialCCs(\n\t\tpartials: [\n\t\t\tTransportServiceCCFirstSegment,\n\t\t\t...TransportServiceCCSubsequentSegment[],\n\t\t],\n\t\tctx: CCParsingContext,\n\t): Promise<void> {\n\t\t// Concat the CC buffers\n\t\tconst datagram = new Bytes(this.datagramSize);\n\t\tfor (const partial of [...partials, this]) {\n\t\t\t// Ensure that we don't try to write out-of-bounds\n\t\t\tconst offset = partial instanceof TransportServiceCCFirstSegment\n\t\t\t\t? 0\n\t\t\t\t: partial.datagramOffset;\n\t\t\tif (offset + partial.partialDatagram.length > datagram.length) {\n\t\t\t\tthrow new ZWaveError(\n\t\t\t\t\t`The partial datagram offset and length in a segment are not compatible to the communicated datagram length`,\n\t\t\t\t\tZWaveErrorCodes.PacketFormat_InvalidPayload,\n\t\t\t\t);\n\t\t\t}\n\t\t\tdatagram.set(partial.partialDatagram, offset);\n\t\t}\n\n\t\t// and deserialize the CC\n\t\tthis._encapsulated = await CommandClass.parse(datagram, ctx);\n\t\tthis._encapsulated.encapsulatingCC = this as any;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\t// Transport Service re-uses the lower 3 bits of the ccCommand as payload\n\t\tthis.ccCommand = (this.ccCommand & 0b11111_000)\n\t\t\t| ((this.datagramSize >>> 8) & 0b111);\n\n\t\tconst ext = !!this.headerExtension && this.headerExtension.length >= 1;\n\t\tthis.payload = Bytes.from([\n\t\t\tthis.datagramSize & 0xff,\n\t\t\t((this.sessionId & 0b1111) << 4)\n\t\t\t| (ext ? 0b1000 : 0)\n\t\t\t| ((this.datagramOffset >>> 8) & 0b111),\n\t\t\tthis.datagramOffset & 0xff,\n\t\t]);\n\t\tif (ext) {\n\t\t\tthis.payload = Bytes.concat([\n\t\t\t\tthis.payload,\n\t\t\t\tBytes.from([this.headerExtension!.length]),\n\t\t\t\tthis.headerExtension!,\n\t\t\t]);\n\t\t}\n\t\tthis.payload = Bytes.concat([\n\t\t\tthis.payload,\n\t\t\tthis.partialDatagram,\n\t\t\tBytes.alloc(2, 0), // checksum\n\t\t]);\n\n\t\t// Compute and save the CRC16 in the payload\n\t\t// The CC header is included in the CRC computation\n\t\tconst headerBuffer = Bytes.from([this.ccId, this.ccCommand]);\n\t\tlet crc = CRC16_CCITT(headerBuffer);\n\t\tcrc = CRC16_CCITT(this.payload.subarray(0, -2), crc);\n\t\t// Write the checksum into the last two bytes of the payload\n\t\tthis.payload.writeUInt16BE(crc, this.payload.length - 2);\n\n\t\treturn super.serialize(ctx);\n\t}\n\n\tprotected computeEncapsulationOverhead(): number {\n\t\t// Transport Service CC (first segment) adds 1 byte datagram size, 1 byte Session ID/..., 1 byte offset, 2 bytes checksum and (0 OR n+1) bytes header extension\n\t\treturn (\n\t\t\tsuper.computeEncapsulationOverhead()\n\t\t\t+ 5\n\t\t\t+ (this.headerExtension?.length\n\t\t\t\t? 1 + this.headerExtension.length\n\t\t\t\t: 0)\n\t\t);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"session ID\": this.sessionId,\n\t\t\t\t\"datagram size\": this.datagramSize,\n\t\t\t\t\"byte range\": `${this.datagramOffset}...${\n\t\t\t\t\tthis.datagramOffset + this.partialDatagram.length - 1\n\t\t\t\t}`,\n\t\t\t\tpayload: buffer2hex(this.partialDatagram),\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface TransportServiceCCSegmentRequestOptions {\n\tsessionId: number;\n\tdatagramOffset: number;\n}\n\n@CCCommand(TransportServiceCommand.SegmentRequest)\n// Handling expected responses is done by the RX state machine\nexport class TransportServiceCCSegmentRequest extends TransportServiceCC {\n\tpublic constructor(\n\t\toptions: WithAddress<TransportServiceCCSegmentRequestOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.sessionId = options.sessionId;\n\t\tthis.datagramOffset = options.datagramOffset;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): TransportServiceCCSegmentRequest {\n\t\tvalidatePayload(raw.payload.length >= 3);\n\t\tconst sessionId = raw.payload[1] >>> 4;\n\t\tconst datagramOffset = ((raw.payload[1] & 0b111) << 8)\n\t\t\t+ raw.payload[2];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsessionId,\n\t\t\tdatagramOffset,\n\t\t});\n\t}\n\n\tpublic sessionId: number;\n\tpublic datagramOffset: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([\n\t\t\t((this.sessionId & 0b1111) << 4)\n\t\t\t| ((this.datagramOffset >>> 8) & 0b111),\n\t\t\tthis.datagramOffset & 0xff,\n\t\t]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: {\n\t\t\t\t\"session ID\": this.sessionId,\n\t\t\t\toffset: this.datagramOffset,\n\t\t\t},\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface TransportServiceCCSegmentCompleteOptions {\n\tsessionId: number;\n}\n\n@CCCommand(TransportServiceCommand.SegmentComplete)\nexport class TransportServiceCCSegmentComplete extends TransportServiceCC {\n\tpublic constructor(\n\t\toptions: WithAddress<TransportServiceCCSegmentCompleteOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.sessionId = options.sessionId;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): TransportServiceCCSegmentComplete {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst sessionId = raw.payload[1] >>> 4;\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tsessionId,\n\t\t});\n\t}\n\n\tpublic sessionId: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([(this.sessionId & 0b1111) << 4]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"session ID\": this.sessionId },\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface TransportServiceCCSegmentWaitOptions {\n\tpendingSegments: number;\n}\n\n@CCCommand(TransportServiceCommand.SegmentWait)\nexport class TransportServiceCCSegmentWait extends TransportServiceCC {\n\tpublic constructor(\n\t\toptions: WithAddress<TransportServiceCCSegmentWaitOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.pendingSegments = options.pendingSegments;\n\t}\n\n\tpublic static from(\n\t\traw: CCRaw,\n\t\tctx: CCParsingContext,\n\t): TransportServiceCCSegmentWait {\n\t\tvalidatePayload(raw.payload.length >= 2);\n\t\tconst pendingSegments = raw.payload[1];\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tpendingSegments,\n\t\t});\n\t}\n\n\tpublic pendingSegments: number;\n\n\tpublic serialize(ctx: CCEncodingContext): Promise<Bytes> {\n\t\tthis.payload = Bytes.from([this.pendingSegments]);\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage: { \"pending segments\": this.pendingSegments },\n\t\t};\n\t}\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_safe"]
7
7
  }
@@ -64,7 +64,7 @@ function validateArgs_UserCodeCCAPI_setMany() {
64
64
  return (__decoratedMethod, { kind }) => {
65
65
  if (kind === "method") {
66
66
  return /* @__PURE__ */ __name(function setMany(codes) {
67
- v.assert(v.array({ kind: "parameter", name: "codes" }, 'import("/home/runner/work/node-zwave-js/node-zwave-js/packages/cc/src/cc/UserCodeCC").UserCodeCCSetOptions', v.oneOf({ kind: "item", name: "codes" }, "UserCodeCCSetOptions", v.object({ kind: "item", name: "codes" }, "<anonymous object>", { "userId": v.literal({ kind: "property", name: "userId" }, 0), "userIdStatus": v.literal({ kind: "property", name: "userIdStatus" }, 0), "userCode": v.undefined({ kind: "property", name: "userCode" }) }), v.object({ kind: "item", name: "codes" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "userIdStatus": v.literal({ kind: "property", name: "userIdStatus" }, 0), "userCode": v.undefined({ kind: "property", name: "userCode" }) }), v.object({ kind: "item", name: "codes" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "userIdStatus": v.oneOf({ kind: "property", name: "userIdStatus" }, void 0, v.literal({ kind: "property", name: "userIdStatus" }, 1), v.literal({ kind: "property", name: "userIdStatus" }, 2), v.literal({ kind: "property", name: "userIdStatus" }, 3), v.literal({ kind: "property", name: "userIdStatus" }, 4)), "userCode": v.oneOf({ kind: "property", name: "userCode" }, void 0, v.primitive({ kind: "property", name: "userCode" }, "string"), v.uint8array({ kind: "property", name: "userCode" })) })))(codes));
67
+ v.assert(v.array({ kind: "parameter", name: "codes" }, 'import("/home/runner/work/zwave-js/zwave-js/packages/cc/src/cc/UserCodeCC").UserCodeCCSetOptions', v.oneOf({ kind: "item", name: "codes" }, "UserCodeCCSetOptions", v.object({ kind: "item", name: "codes" }, "<anonymous object>", { "userId": v.literal({ kind: "property", name: "userId" }, 0), "userIdStatus": v.literal({ kind: "property", name: "userIdStatus" }, 0), "userCode": v.undefined({ kind: "property", name: "userCode" }) }), v.object({ kind: "item", name: "codes" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "userIdStatus": v.literal({ kind: "property", name: "userIdStatus" }, 0), "userCode": v.undefined({ kind: "property", name: "userCode" }) }), v.object({ kind: "item", name: "codes" }, "<anonymous object>", { "userId": v.primitive({ kind: "property", name: "userId" }, "number"), "userIdStatus": v.oneOf({ kind: "property", name: "userIdStatus" }, void 0, v.literal({ kind: "property", name: "userIdStatus" }, 1), v.literal({ kind: "property", name: "userIdStatus" }, 2), v.literal({ kind: "property", name: "userIdStatus" }, 3), v.literal({ kind: "property", name: "userIdStatus" }, 4)), "userCode": v.oneOf({ kind: "property", name: "userCode" }, void 0, v.primitive({ kind: "property", name: "userCode" }, "string"), v.uint8array({ kind: "property", name: "userCode" })) })))(codes));
68
68
  return __decoratedMethod.call(this, codes);
69
69
  }, "setMany");
70
70
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cc/UserCodeCC._validateArgs.ts"],
4
4
  "sourcesContent": [null],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }