@zwave-js/cc 15.28.0 → 15.30.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 (404) hide show
  1. package/build/cjs/cc/AlarmSensorCC.d.ts +3 -1
  2. package/build/cjs/cc/AlarmSensorCC.js +22 -2
  3. package/build/cjs/cc/AlarmSensorCC.js.map +2 -2
  4. package/build/cjs/cc/AssociationCC.js +6 -5
  5. package/build/cjs/cc/AssociationCC.js.map +2 -2
  6. package/build/cjs/cc/AssociationGroupInfoCC.js +4 -5
  7. package/build/cjs/cc/AssociationGroupInfoCC.js.map +2 -2
  8. package/build/cjs/cc/BarrierOperatorCC.d.ts +6 -3
  9. package/build/cjs/cc/BarrierOperatorCC.js +40 -6
  10. package/build/cjs/cc/BarrierOperatorCC.js.map +2 -2
  11. package/build/cjs/cc/BasicCC.d.ts +4 -1
  12. package/build/cjs/cc/BasicCC.js +18 -0
  13. package/build/cjs/cc/BasicCC.js.map +3 -3
  14. package/build/cjs/cc/BasicWindowCoveringCC.js.map +2 -2
  15. package/build/cjs/cc/BatteryCC.js +16 -3
  16. package/build/cjs/cc/BatteryCC.js.map +2 -2
  17. package/build/cjs/cc/BinarySensorCC.js.map +2 -2
  18. package/build/cjs/cc/BinarySwitchCC.d.ts +4 -1
  19. package/build/cjs/cc/BinarySwitchCC.js +18 -0
  20. package/build/cjs/cc/BinarySwitchCC.js.map +3 -3
  21. package/build/cjs/cc/CRC16CC.d.ts +3 -2
  22. package/build/cjs/cc/CRC16CC.js +7 -1
  23. package/build/cjs/cc/CRC16CC.js.map +3 -3
  24. package/build/cjs/cc/CentralSceneCC.d.ts +4 -1
  25. package/build/cjs/cc/CentralSceneCC.js +34 -2
  26. package/build/cjs/cc/CentralSceneCC.js.map +2 -2
  27. package/build/cjs/cc/ClimateControlScheduleCC.d.ts +6 -3
  28. package/build/cjs/cc/ClimateControlScheduleCC.js +54 -6
  29. package/build/cjs/cc/ClimateControlScheduleCC.js.map +2 -2
  30. package/build/cjs/cc/ClockCC.d.ts +2 -1
  31. package/build/cjs/cc/ClockCC.js +19 -2
  32. package/build/cjs/cc/ClockCC.js.map +2 -2
  33. package/build/cjs/cc/ColorSwitchCC.js +1 -4
  34. package/build/cjs/cc/ColorSwitchCC.js.map +2 -2
  35. package/build/cjs/cc/ConfigurationCC.d.ts +3 -2
  36. package/build/cjs/cc/ConfigurationCC.js +62 -8
  37. package/build/cjs/cc/ConfigurationCC.js.map +2 -2
  38. package/build/cjs/cc/DeviceResetLocallyCC.js.map +2 -2
  39. package/build/cjs/cc/DoorLockCC.js.map +2 -2
  40. package/build/cjs/cc/DoorLockLoggingCC.d.ts +3 -1
  41. package/build/cjs/cc/DoorLockLoggingCC.js +35 -2
  42. package/build/cjs/cc/DoorLockLoggingCC.js.map +2 -2
  43. package/build/cjs/cc/EntryControlCC.d.ts +5 -1
  44. package/build/cjs/cc/EntryControlCC.js +57 -2
  45. package/build/cjs/cc/EntryControlCC.js.map +2 -2
  46. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +4 -16
  47. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +2 -2
  48. package/build/cjs/cc/HumidityControlModeCC.d.ts +3 -1
  49. package/build/cjs/cc/HumidityControlModeCC.js +14 -2
  50. package/build/cjs/cc/HumidityControlModeCC.js.map +2 -2
  51. package/build/cjs/cc/HumidityControlOperatingStateCC.d.ts +3 -1
  52. package/build/cjs/cc/HumidityControlOperatingStateCC.js +4 -0
  53. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +2 -2
  54. package/build/cjs/cc/HumidityControlSetpointCC.d.ts +8 -4
  55. package/build/cjs/cc/HumidityControlSetpointCC.js +61 -12
  56. package/build/cjs/cc/HumidityControlSetpointCC.js.map +2 -2
  57. package/build/cjs/cc/IndicatorCC.js +1 -5
  58. package/build/cjs/cc/IndicatorCC.js.map +2 -2
  59. package/build/cjs/cc/IrrigationCC.d.ts +15 -9
  60. package/build/cjs/cc/IrrigationCC.js +260 -24
  61. package/build/cjs/cc/IrrigationCC.js.map +2 -2
  62. package/build/cjs/cc/LanguageCC.d.ts +2 -1
  63. package/build/cjs/cc/LanguageCC.js +18 -2
  64. package/build/cjs/cc/LanguageCC.js.map +2 -2
  65. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
  66. package/build/cjs/cc/ManufacturerSpecificCC.js +4 -5
  67. package/build/cjs/cc/ManufacturerSpecificCC.js.map +2 -2
  68. package/build/cjs/cc/MeterCC.js +8 -21
  69. package/build/cjs/cc/MeterCC.js.map +2 -2
  70. package/build/cjs/cc/MultiChannelAssociationCC.js +11 -7
  71. package/build/cjs/cc/MultiChannelAssociationCC.js.map +2 -2
  72. package/build/cjs/cc/MultiChannelCC.d.ts +5 -2
  73. package/build/cjs/cc/MultiChannelCC.js +35 -12
  74. package/build/cjs/cc/MultiChannelCC.js.map +3 -3
  75. package/build/cjs/cc/MultilevelSensorCC.js.map +2 -2
  76. package/build/cjs/cc/MultilevelSwitchCC.d.ts +5 -1
  77. package/build/cjs/cc/MultilevelSwitchCC.js +30 -0
  78. package/build/cjs/cc/MultilevelSwitchCC.js.map +3 -3
  79. package/build/cjs/cc/NotificationCC.js +29 -11
  80. package/build/cjs/cc/NotificationCC.js.map +2 -2
  81. package/build/cjs/cc/PowerlevelCC.js.map +1 -1
  82. package/build/cjs/cc/ProtectionCC.js.map +2 -2
  83. package/build/cjs/cc/SceneActuatorConfigurationCC.d.ts +3 -2
  84. package/build/cjs/cc/SceneActuatorConfigurationCC.js +38 -5
  85. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +2 -2
  86. package/build/cjs/cc/SceneControllerConfigurationCC.d.ts +3 -2
  87. package/build/cjs/cc/SceneControllerConfigurationCC.js +25 -4
  88. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +2 -2
  89. package/build/cjs/cc/ScheduleEntryLockCC.js.map +2 -2
  90. package/build/cjs/cc/Security2CC.d.ts +2 -1
  91. package/build/cjs/cc/Security2CC.js +31 -3
  92. package/build/cjs/cc/Security2CC.js.map +2 -2
  93. package/build/cjs/cc/SecurityCC.d.ts +2 -1
  94. package/build/cjs/cc/SecurityCC.js +7 -6
  95. package/build/cjs/cc/SecurityCC.js.map +2 -2
  96. package/build/cjs/cc/SoundSwitchCC.js +6 -6
  97. package/build/cjs/cc/SoundSwitchCC.js.map +2 -2
  98. package/build/cjs/cc/SupervisionCC.d.ts +2 -1
  99. package/build/cjs/cc/SupervisionCC.js +6 -0
  100. package/build/cjs/cc/SupervisionCC.js.map +3 -3
  101. package/build/cjs/cc/ThermostatFanModeCC.d.ts +3 -1
  102. package/build/cjs/cc/ThermostatFanModeCC.js +17 -2
  103. package/build/cjs/cc/ThermostatFanModeCC.js.map +2 -2
  104. package/build/cjs/cc/ThermostatFanStateCC.d.ts +3 -1
  105. package/build/cjs/cc/ThermostatFanStateCC.js +4 -0
  106. package/build/cjs/cc/ThermostatFanStateCC.js.map +2 -2
  107. package/build/cjs/cc/ThermostatModeCC.js +2 -4
  108. package/build/cjs/cc/ThermostatModeCC.js.map +2 -2
  109. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +2 -2
  110. package/build/cjs/cc/ThermostatSetpointCC.d.ts +4 -1
  111. package/build/cjs/cc/ThermostatSetpointCC.js +18 -0
  112. package/build/cjs/cc/ThermostatSetpointCC.js.map +3 -3
  113. package/build/cjs/cc/TimeCC.d.ts +1 -1
  114. package/build/cjs/cc/TimeCC.js +11 -2
  115. package/build/cjs/cc/TimeCC.js.map +2 -2
  116. package/build/cjs/cc/TransportServiceCC.js.map +2 -2
  117. package/build/cjs/cc/UserCodeCC.d.ts +2 -1
  118. package/build/cjs/cc/UserCodeCC.js +32 -8
  119. package/build/cjs/cc/UserCodeCC.js.map +2 -2
  120. package/build/cjs/cc/UserCredentialCC.js +4 -6
  121. package/build/cjs/cc/UserCredentialCC.js.map +2 -2
  122. package/build/cjs/cc/VersionCC.d.ts +1 -0
  123. package/build/cjs/cc/VersionCC.js +32 -0
  124. package/build/cjs/cc/VersionCC.js.map +2 -2
  125. package/build/cjs/cc/WakeUpCC.d.ts +2 -0
  126. package/build/cjs/cc/WakeUpCC.js +14 -0
  127. package/build/cjs/cc/WakeUpCC.js.map +2 -2
  128. package/build/cjs/cc/WindowCoveringCC.js +5 -1
  129. package/build/cjs/cc/WindowCoveringCC.js.map +2 -2
  130. package/build/cjs/cc/ZWaveProtocolCC.js +3 -11
  131. package/build/cjs/cc/ZWaveProtocolCC.js.map +2 -2
  132. package/build/cjs/cc/_CCValues.generated.d.ts +2 -2
  133. package/build/cjs/cc/_CCValues.generated.js.map +2 -2
  134. package/build/cjs/cc/index.d.ts +179 -179
  135. package/build/cjs/cc/index.js.map +1 -1
  136. package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +2 -2
  137. package/build/cjs/cc/manufacturerProprietary/FibaroCC.d.ts +2 -1
  138. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +30 -2
  139. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +2 -2
  140. package/build/cjs/lib/API.d.ts +3 -2
  141. package/build/cjs/lib/API.js.map +2 -2
  142. package/build/cjs/lib/CommandClass.d.ts +20 -0
  143. package/build/cjs/lib/CommandClass.js +52 -11
  144. package/build/cjs/lib/CommandClass.js.map +3 -3
  145. package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
  146. package/build/cjs/lib/EncapsulatingCommandClass.js.map +2 -2
  147. package/build/cjs/lib/NotificationEventPayload.js.map +2 -2
  148. package/build/cjs/lib/Security2/Extension.js +1 -4
  149. package/build/cjs/lib/Security2/Extension.js.map +2 -2
  150. package/build/cjs/lib/Security2/shared.js.map +2 -2
  151. package/build/cjs/lib/SetValueResult.js.map +1 -1
  152. package/build/cjs/lib/Values.d.ts +1 -1
  153. package/build/cjs/lib/Values.js.map +2 -2
  154. package/build/cjs/lib/_CCAPI.generated.js.map +1 -1
  155. package/build/cjs/lib/_Types.d.ts +30 -30
  156. package/build/cjs/lib/_Types.js.map +2 -2
  157. package/build/cjs/lib/serializers.js +1 -4
  158. package/build/cjs/lib/serializers.js.map +2 -2
  159. package/build/cjs/lib/utils.js.map +2 -2
  160. package/build/esm/cc/AlarmSensorCC.d.ts +3 -1
  161. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  162. package/build/esm/cc/AlarmSensorCC.js +26 -9
  163. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  164. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  165. package/build/esm/cc/AssociationCC.js +8 -7
  166. package/build/esm/cc/AssociationCC.js.map +1 -1
  167. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  168. package/build/esm/cc/AssociationGroupInfoCC.js +10 -12
  169. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  170. package/build/esm/cc/BarrierOperatorCC.d.ts +6 -3
  171. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  172. package/build/esm/cc/BarrierOperatorCC.js +55 -27
  173. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  174. package/build/esm/cc/BasicCC.d.ts +4 -1
  175. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  176. package/build/esm/cc/BasicCC.js +30 -7
  177. package/build/esm/cc/BasicCC.js.map +1 -1
  178. package/build/esm/cc/BasicWindowCoveringCC.d.ts.map +1 -1
  179. package/build/esm/cc/BasicWindowCoveringCC.js +2 -5
  180. package/build/esm/cc/BasicWindowCoveringCC.js.map +1 -1
  181. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  182. package/build/esm/cc/BatteryCC.js +12 -12
  183. package/build/esm/cc/BatteryCC.js.map +1 -1
  184. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  185. package/build/esm/cc/BinarySensorCC.js +4 -5
  186. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  187. package/build/esm/cc/BinarySwitchCC.d.ts +4 -1
  188. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  189. package/build/esm/cc/BinarySwitchCC.js +31 -6
  190. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  191. package/build/esm/cc/CRC16CC.d.ts +3 -2
  192. package/build/esm/cc/CRC16CC.d.ts.map +1 -1
  193. package/build/esm/cc/CRC16CC.js +10 -4
  194. package/build/esm/cc/CRC16CC.js.map +1 -1
  195. package/build/esm/cc/CentralSceneCC.d.ts +4 -1
  196. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
  197. package/build/esm/cc/CentralSceneCC.js +37 -7
  198. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  199. package/build/esm/cc/ClimateControlScheduleCC.d.ts +6 -3
  200. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
  201. package/build/esm/cc/ClimateControlScheduleCC.js +63 -18
  202. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  203. package/build/esm/cc/ClockCC.d.ts +2 -1
  204. package/build/esm/cc/ClockCC.d.ts.map +1 -1
  205. package/build/esm/cc/ClockCC.js +26 -9
  206. package/build/esm/cc/ClockCC.js.map +1 -1
  207. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  208. package/build/esm/cc/ColorSwitchCC.js +17 -20
  209. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  210. package/build/esm/cc/ConfigurationCC.d.ts +3 -2
  211. package/build/esm/cc/ConfigurationCC.d.ts.map +1 -1
  212. package/build/esm/cc/ConfigurationCC.js +83 -41
  213. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  214. package/build/esm/cc/DeviceResetLocallyCC.d.ts.map +1 -1
  215. package/build/esm/cc/DeviceResetLocallyCC.js +1 -2
  216. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
  217. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  218. package/build/esm/cc/DoorLockCC.js +25 -29
  219. package/build/esm/cc/DoorLockCC.js.map +1 -1
  220. package/build/esm/cc/DoorLockLoggingCC.d.ts +3 -1
  221. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  222. package/build/esm/cc/DoorLockLoggingCC.js +39 -5
  223. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  224. package/build/esm/cc/EntryControlCC.d.ts +5 -1
  225. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  226. package/build/esm/cc/EntryControlCC.js +74 -14
  227. package/build/esm/cc/EntryControlCC.js.map +1 -1
  228. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
  229. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +15 -27
  230. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  231. package/build/esm/cc/HumidityControlModeCC.d.ts +3 -1
  232. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  233. package/build/esm/cc/HumidityControlModeCC.js +15 -7
  234. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  235. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts +3 -1
  236. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  237. package/build/esm/cc/HumidityControlOperatingStateCC.js +5 -1
  238. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  239. package/build/esm/cc/HumidityControlSetpointCC.d.ts +8 -4
  240. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  241. package/build/esm/cc/HumidityControlSetpointCC.js +60 -34
  242. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  243. package/build/esm/cc/IndicatorCC.d.ts.map +1 -1
  244. package/build/esm/cc/IndicatorCC.js +19 -38
  245. package/build/esm/cc/IndicatorCC.js.map +1 -1
  246. package/build/esm/cc/IrrigationCC.d.ts +15 -9
  247. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  248. package/build/esm/cc/IrrigationCC.js +276 -67
  249. package/build/esm/cc/IrrigationCC.js.map +1 -1
  250. package/build/esm/cc/LanguageCC.d.ts +2 -1
  251. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  252. package/build/esm/cc/LanguageCC.js +18 -6
  253. package/build/esm/cc/LanguageCC.js.map +1 -1
  254. package/build/esm/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
  255. package/build/esm/cc/ManufacturerProprietaryCC.js +1 -2
  256. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  257. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
  258. package/build/esm/cc/ManufacturerSpecificCC.js +5 -8
  259. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  260. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  261. package/build/esm/cc/MeterCC.js +15 -29
  262. package/build/esm/cc/MeterCC.js.map +1 -1
  263. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  264. package/build/esm/cc/MultiChannelAssociationCC.js +15 -20
  265. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  266. package/build/esm/cc/MultiChannelCC.d.ts +5 -2
  267. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
  268. package/build/esm/cc/MultiChannelCC.js +43 -29
  269. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  270. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  271. package/build/esm/cc/MultilevelSensorCC.js +11 -11
  272. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  273. package/build/esm/cc/MultilevelSwitchCC.d.ts +5 -1
  274. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  275. package/build/esm/cc/MultilevelSwitchCC.js +56 -16
  276. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  277. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  278. package/build/esm/cc/NotificationCC.js +66 -55
  279. package/build/esm/cc/NotificationCC.js.map +1 -1
  280. package/build/esm/cc/PowerlevelCC.d.ts.map +1 -1
  281. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  282. package/build/esm/cc/ProtectionCC.js +10 -9
  283. package/build/esm/cc/ProtectionCC.js.map +1 -1
  284. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts +3 -2
  285. package/build/esm/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
  286. package/build/esm/cc/SceneActuatorConfigurationCC.js +44 -21
  287. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  288. package/build/esm/cc/SceneControllerConfigurationCC.d.ts +3 -2
  289. package/build/esm/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
  290. package/build/esm/cc/SceneControllerConfigurationCC.js +35 -28
  291. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  292. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
  293. package/build/esm/cc/ScheduleEntryLockCC.js +13 -20
  294. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  295. package/build/esm/cc/Security2CC.d.ts +2 -1
  296. package/build/esm/cc/Security2CC.d.ts.map +1 -1
  297. package/build/esm/cc/Security2CC.js +68 -32
  298. package/build/esm/cc/Security2CC.js.map +1 -1
  299. package/build/esm/cc/SecurityCC.d.ts +2 -1
  300. package/build/esm/cc/SecurityCC.d.ts.map +1 -1
  301. package/build/esm/cc/SecurityCC.js +16 -11
  302. package/build/esm/cc/SecurityCC.js.map +1 -1
  303. package/build/esm/cc/SoundSwitchCC.js +2 -2
  304. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  305. package/build/esm/cc/SupervisionCC.d.ts +2 -1
  306. package/build/esm/cc/SupervisionCC.d.ts.map +1 -1
  307. package/build/esm/cc/SupervisionCC.js +13 -6
  308. package/build/esm/cc/SupervisionCC.js.map +1 -1
  309. package/build/esm/cc/ThermostatFanModeCC.d.ts +3 -1
  310. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  311. package/build/esm/cc/ThermostatFanModeCC.js +19 -9
  312. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  313. package/build/esm/cc/ThermostatFanStateCC.d.ts +3 -1
  314. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  315. package/build/esm/cc/ThermostatFanStateCC.js +5 -1
  316. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  317. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  318. package/build/esm/cc/ThermostatModeCC.js +2 -4
  319. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  320. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  321. package/build/esm/cc/ThermostatOperatingStateCC.js +1 -2
  322. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  323. package/build/esm/cc/ThermostatSetpointCC.d.ts +4 -1
  324. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  325. package/build/esm/cc/ThermostatSetpointCC.js +31 -19
  326. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  327. package/build/esm/cc/TimeCC.d.ts +1 -1
  328. package/build/esm/cc/TimeCC.d.ts.map +1 -1
  329. package/build/esm/cc/TimeCC.js +18 -9
  330. package/build/esm/cc/TimeCC.js.map +1 -1
  331. package/build/esm/cc/TransportServiceCC.d.ts.map +1 -1
  332. package/build/esm/cc/TransportServiceCC.js +8 -8
  333. package/build/esm/cc/TransportServiceCC.js.map +1 -1
  334. package/build/esm/cc/UserCodeCC.d.ts +2 -1
  335. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  336. package/build/esm/cc/UserCodeCC.js +51 -36
  337. package/build/esm/cc/UserCodeCC.js.map +1 -1
  338. package/build/esm/cc/UserCredentialCC.d.ts.map +1 -1
  339. package/build/esm/cc/UserCredentialCC.js +42 -59
  340. package/build/esm/cc/UserCredentialCC.js.map +1 -1
  341. package/build/esm/cc/VersionCC.d.ts +1 -0
  342. package/build/esm/cc/VersionCC.d.ts.map +1 -1
  343. package/build/esm/cc/VersionCC.js +37 -3
  344. package/build/esm/cc/VersionCC.js.map +1 -1
  345. package/build/esm/cc/WakeUpCC.d.ts +2 -0
  346. package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
  347. package/build/esm/cc/WakeUpCC.js +14 -0
  348. package/build/esm/cc/WakeUpCC.js.map +1 -1
  349. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  350. package/build/esm/cc/WindowCoveringCC.js +10 -9
  351. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  352. package/build/esm/cc/ZWaveProtocolCC.d.ts.map +1 -1
  353. package/build/esm/cc/ZWaveProtocolCC.js +5 -26
  354. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
  355. package/build/esm/cc/_CCValues.generated.d.ts +2 -2
  356. package/build/esm/cc/_CCValues.generated.d.ts.map +1 -1
  357. package/build/esm/cc/_CCValues.generated.js +637 -678
  358. package/build/esm/cc/_CCValues.generated.js.map +1 -1
  359. package/build/esm/cc/index.d.ts +179 -179
  360. package/build/esm/cc/index.d.ts.map +1 -1
  361. package/build/esm/cc/index.js +124 -124
  362. package/build/esm/cc/index.js.map +1 -1
  363. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -1
  364. package/build/esm/cc/manufacturerProprietary/Decorators.js.map +1 -1
  365. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts +2 -1
  366. package/build/esm/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
  367. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +34 -4
  368. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  369. package/build/esm/lib/API.d.ts +3 -2
  370. package/build/esm/lib/API.d.ts.map +1 -1
  371. package/build/esm/lib/API.js +1 -1
  372. package/build/esm/lib/API.js.map +1 -1
  373. package/build/esm/lib/CommandClass.d.ts +20 -0
  374. package/build/esm/lib/CommandClass.d.ts.map +1 -1
  375. package/build/esm/lib/CommandClass.js +50 -16
  376. package/build/esm/lib/CommandClass.js.map +1 -1
  377. package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
  378. package/build/esm/lib/CommandClassDecorators.js +1 -2
  379. package/build/esm/lib/CommandClassDecorators.js.map +1 -1
  380. package/build/esm/lib/EncapsulatingCommandClass.d.ts.map +1 -1
  381. package/build/esm/lib/EncapsulatingCommandClass.js.map +1 -1
  382. package/build/esm/lib/NotificationEventPayload.d.ts.map +1 -1
  383. package/build/esm/lib/NotificationEventPayload.js.map +1 -1
  384. package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
  385. package/build/esm/lib/Security2/Extension.js +2 -6
  386. package/build/esm/lib/Security2/Extension.js.map +1 -1
  387. package/build/esm/lib/Security2/shared.d.ts.map +1 -1
  388. package/build/esm/lib/Security2/shared.js.map +1 -1
  389. package/build/esm/lib/SetValueResult.d.ts.map +1 -1
  390. package/build/esm/lib/Values.d.ts +1 -1
  391. package/build/esm/lib/Values.d.ts.map +1 -1
  392. package/build/esm/lib/Values.js.map +1 -1
  393. package/build/esm/lib/_CCAPI.generated.d.ts.map +1 -1
  394. package/build/esm/lib/_Types.d.ts +30 -30
  395. package/build/esm/lib/_Types.d.ts.map +1 -1
  396. package/build/esm/lib/_Types.js.map +1 -1
  397. package/build/esm/lib/serializers.d.ts.map +1 -1
  398. package/build/esm/lib/serializers.js +1 -4
  399. package/build/esm/lib/serializers.js.map +1 -1
  400. package/build/esm/lib/traits.d.ts.map +1 -1
  401. package/build/esm/lib/utils.d.ts.map +1 -1
  402. package/build/esm/lib/utils.js +25 -31
  403. package/build/esm/lib/utils.js.map +1 -1
  404. package/package.json +7 -7
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/LanguageCC.ts"],
4
- "sourcesContent": ["import * as __validateArgs from \"./LanguageCC._validateArgs.js\";\nconst { validateArgs_LanguageCCAPI_set } = __validateArgs;\nimport { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, pick } from \"@zwave-js/shared\";\nimport { CCAPI } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, 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 { LanguageCommand } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { LanguageCCValues } from \"./_CCValues.generated.js\";\nexport { LanguageCCValues };\n// @noSetValueAPI It doesn't make sense\n@API(CommandClasses.Language)\nexport class LanguageCCAPI extends CCAPI {\n public supportsCommand(cmd: LanguageCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case LanguageCommand.Get:\n return this.isSinglecast();\n case LanguageCommand.Set:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(LanguageCommand, LanguageCommand.Get);\n const cc = new LanguageCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<LanguageCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"language\", \"country\"]);\n }\n }\n @validateArgs_LanguageCCAPI_set()\n public async set(language: string, country?: string): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(LanguageCommand, LanguageCommand.Set);\n const cc = new LanguageCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n language,\n country,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses.Language)\n@implementedVersion(1)\n@ccValues(LanguageCCValues)\nexport class LanguageCC extends CommandClass {\n declare ccCommand: LanguageCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n await this.refreshValues(ctx, { tag: \"interview\" });\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Language, ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n tag: options?.tag,\n });\n ctx.logNode(node.id, {\n message: \"requesting language setting...\",\n direction: \"outbound\",\n });\n const resp = await api.get();\n if (resp) {\n const { language, country } = resp;\n const logMessage = `received current language setting: ${language}${country != undefined ? `-${country}` : \"\"}`;\n ctx.logNode(node.id, {\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n}\n// @publicAPI\nexport interface LanguageCCSetOptions {\n language: string;\n country?: string;\n}\n@CCCommand(LanguageCommand.Set)\n@useSupervision()\nexport class LanguageCCSet extends LanguageCC {\n public constructor(options: WithAddress<LanguageCCSetOptions>) {\n super(options);\n // Populate properties from options object\n this._language = options.language;\n this._country = options.country;\n }\n public static from(_raw: CCRaw, _ctx: CCParsingContext): LanguageCCSet {\n // TODO: Deserialize payload\n throw new ZWaveError(`${this.name}: deserialization not implemented`, ZWaveErrorCodes.Deserialization_NotImplemented);\n // return new LanguageCCSet({\n // \tnodeId: ctx.sourceNodeId,\n // });\n }\n private _language: string;\n public get language(): string {\n return this._language;\n }\n public set language(value: string) {\n if (value.length !== 3 || value.toLowerCase() !== value) {\n throw new ZWaveError(\"language must be a 3 digit (lowercase) code according to ISO 639-2\", ZWaveErrorCodes.Argument_Invalid);\n }\n this._language = value;\n }\n private _country: MaybeNotKnown<string>;\n public get country(): MaybeNotKnown<string> {\n return this._country;\n }\n public set country(value: MaybeNotKnown<string>) {\n if (typeof value === \"string\"\n && (value.length !== 2 || value.toUpperCase() !== value)) {\n throw new ZWaveError(\"country must be a 2 digit (uppercase) code according to ISO 3166-1\", ZWaveErrorCodes.Argument_Invalid);\n }\n this._country = value;\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from(this._language, \"ascii\");\n if (this._country) {\n this.payload = Bytes.concat([\n this.payload,\n Bytes.from(this._country, \"ascii\"),\n ]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = { language: this.language };\n if (this._country != undefined) {\n message.country = this._country;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface LanguageCCReportOptions {\n language: string;\n country: MaybeNotKnown<string>;\n}\n@CCCommand(LanguageCommand.Report)\n@ccValueProperty(\"language\", LanguageCCValues.language)\n@ccValueProperty(\"country\", LanguageCCValues.country)\nexport class LanguageCCReport extends LanguageCC {\n public constructor(options: WithAddress<LanguageCCReportOptions>) {\n super(options);\n this.language = options.language;\n this.country = options.country;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): LanguageCCReport {\n validatePayload(raw.payload.length >= 3);\n const language = raw.payload.subarray(0, 3).toString(\"ascii\");\n // Enforce the same locale format the Set side requires, so a node\n // cannot push codes that violate ISO 639-2 / ISO 3166-1\n validatePayload(language.length === 3, language.toLowerCase() === language);\n let country: MaybeNotKnown<string>;\n if (raw.payload.length >= 5) {\n country = raw.payload.subarray(3, 5).toString(\"ascii\");\n validatePayload(country.length === 2, country.toUpperCase() === country);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n language,\n country,\n });\n }\n public readonly language: string;\n public readonly country: MaybeNotKnown<string>;\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = { language: this.language };\n if (this.country != undefined) {\n message.country = this.country;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(LanguageCommand.Get)\n@expectedCCResponse(LanguageCCReport)\nexport class LanguageCCGet extends LanguageCC {\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as __validateArgs from \"./LanguageCC._validateArgs.js\";\nconst { validateArgs_LanguageCCAPI_set } = __validateArgs;\nimport { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, type MessageRecord, type SupervisionResult, ValueMetadata, type WithAddress, ZWaveError, ZWaveErrorCodes, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, pick } from \"@zwave-js/shared\";\nimport { CCAPI } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, 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 { LanguageCommand } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { LanguageCCValues } from \"./_CCValues.generated.js\";\nexport { LanguageCCValues };\n// @noSetValueAPI It doesn't make sense\n@API(CommandClasses.Language)\nexport class LanguageCCAPI extends CCAPI {\n public supportsCommand(cmd: LanguageCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case LanguageCommand.Get:\n return this.isSinglecast();\n case LanguageCommand.Set:\n return true; // This is mandatory\n }\n return super.supportsCommand(cmd);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(LanguageCommand, LanguageCommand.Get);\n const cc = new LanguageCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<LanguageCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\"language\", \"country\"]);\n }\n }\n @validateArgs_LanguageCCAPI_set()\n public async set(language: string, country?: string): Promise<SupervisionResult | undefined> {\n this.assertSupportsCommand(LanguageCommand, LanguageCommand.Set);\n const cc = new LanguageCCSet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n language,\n country,\n });\n return this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses.Language)\n@implementedVersion(1)\n@ccValues(LanguageCCValues)\nexport class LanguageCC extends CommandClass {\n declare ccCommand: LanguageCommand;\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n await this.refreshValues(ctx, { tag: \"interview\" });\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n const endpoint = this.getEndpoint(ctx)!;\n const api = CCAPI.create(CommandClasses.Language, ctx, endpoint).withOptions({\n priority: options?.priority ?? MessagePriority.NodeQuery,\n tag: options?.tag,\n });\n ctx.logNode(node.id, {\n message: \"requesting language setting...\",\n direction: \"outbound\",\n });\n const resp = await api.get();\n if (resp) {\n const { language, country } = resp;\n const logMessage = `received current language setting: ${language}${country != undefined ? `-${country}` : \"\"}`;\n ctx.logNode(node.id, {\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n}\n// @publicAPI\nexport interface LanguageCCSetOptions {\n language: string;\n country?: string;\n}\n@CCCommand(LanguageCommand.Set)\n@useSupervision()\nexport class LanguageCCSet extends LanguageCC {\n public constructor(options: WithAddress<LanguageCCSetOptions>) {\n super(options);\n // Populate properties from options object\n this._language = options.language;\n this._country = options.country;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): LanguageCCSet {\n validatePayload(raw.payload.length >= 3);\n const language = raw.payload.subarray(0, 3).toString(\"ascii\");\n validatePayload(language.toLowerCase() === language);\n let country: string | undefined;\n if (raw.payload.length >= 5) {\n country = raw.payload.subarray(3, 5).toString(\"ascii\");\n validatePayload(country.toUpperCase() === country);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n language,\n country,\n });\n }\n private _language: string;\n public get language(): string {\n return this._language;\n }\n public set language(value: string) {\n if (value.length !== 3 || value.toLowerCase() !== value) {\n throw new ZWaveError(\"language must be a 3 digit (lowercase) code according to ISO 639-2\", ZWaveErrorCodes.Argument_Invalid);\n }\n this._language = value;\n }\n private _country: MaybeNotKnown<string>;\n public get country(): MaybeNotKnown<string> {\n return this._country;\n }\n public set country(value: MaybeNotKnown<string>) {\n if (typeof value === \"string\"\n && (value.length !== 2 || value.toUpperCase() !== value)) {\n throw new ZWaveError(\"country must be a 2 digit (uppercase) code according to ISO 3166-1\", ZWaveErrorCodes.Argument_Invalid);\n }\n this._country = value;\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from(this._language, \"ascii\");\n if (this._country) {\n this.payload = Bytes.concat([\n this.payload,\n Bytes.from(this._country, \"ascii\"),\n ]);\n }\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = { language: this.language };\n if (this._country != undefined) {\n message.country = this._country;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n// @publicAPI\nexport interface LanguageCCReportOptions {\n language: string;\n country: MaybeNotKnown<string>;\n}\n@CCCommand(LanguageCommand.Report)\n@ccValueProperty(\"language\", LanguageCCValues.language)\n@ccValueProperty(\"country\", LanguageCCValues.country)\nexport class LanguageCCReport extends LanguageCC {\n public constructor(options: WithAddress<LanguageCCReportOptions>) {\n super(options);\n this.language = options.language;\n this.country = options.country;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): LanguageCCReport {\n validatePayload(raw.payload.length >= 3);\n const language = raw.payload.subarray(0, 3).toString(\"ascii\");\n // Enforce the same locale format the Set side requires, so a node\n // cannot push codes that violate ISO 639-2 / ISO 3166-1\n validatePayload(language.length === 3, language.toLowerCase() === language);\n let country: MaybeNotKnown<string>;\n if (raw.payload.length >= 5) {\n country = raw.payload.subarray(3, 5).toString(\"ascii\");\n validatePayload(country.length === 2, country.toUpperCase() === country);\n }\n return new this({\n nodeId: ctx.sourceNodeId,\n language,\n country,\n });\n }\n public readonly language: string;\n public readonly country: MaybeNotKnown<string>;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from(this.language + (this.country ?? \"\"), \"ascii\");\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n const message: MessageRecord = { language: this.language };\n if (this.country != undefined) {\n message.country = this.country;\n }\n return {\n ...super.toLogEntry(ctx),\n message,\n };\n }\n}\n@CCCommand(LanguageCommand.Get)\n@expectedCCResponse(LanguageCCReport)\nexport class LanguageCCGet extends LanguageCC {\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/ManufacturerProprietaryCC.ts"],
4
- "sourcesContent": ["import * as __validateArgs from \"./ManufacturerProprietaryCC._validateArgs.js\";\nconst { validateArgs_ManufacturerProprietaryCCAPI_sendData, validateArgs_ManufacturerProprietaryCCAPI_sendAndReceiveData } = __validateArgs;\nimport { CommandClasses, type GetNode, type NodeId, type SupportsCC, type WithAddress, ZWaveError, ZWaveErrorCodes, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, type BytesView } from \"@zwave-js/shared\";\nimport { CCAPI, type CCAPIEndpoint, type CCAPIHost } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { ManufacturerSpecificCCValues } from \"./ManufacturerSpecificCC.js\";\nimport { getManufacturerId, getManufacturerProprietaryAPI, getManufacturerProprietaryCCConstructor, } from \"./manufacturerProprietary/Decorators.js\";\nexport type ManufacturerProprietaryCCConstructor<T extends typeof ManufacturerProprietaryCC = typeof ManufacturerProprietaryCC> = T & {\n // I don't like the any, but we need it to support half-implemented CCs (e.g. report classes)\n new (options: any): InstanceType<T>;\n};\n@API(CommandClasses[\"Manufacturer Proprietary\"])\nexport class ManufacturerProprietaryCCAPI extends CCAPI {\n public constructor(host: CCAPIHost, endpoint: CCAPIEndpoint) {\n super(host, endpoint);\n // Read the manufacturer ID from Manufacturer Specific CC\n const manufacturerId = this.getValueDB().getValue<number>(ManufacturerSpecificCCValues.manufacturerId.id);\n // If possible, try to defer to a specific subclass of this API\n if (manufacturerId != undefined) {\n const SpecificAPIConstructor = getManufacturerProprietaryAPI(manufacturerId);\n if (SpecificAPIConstructor != undefined\n && new.target !== SpecificAPIConstructor) {\n return new SpecificAPIConstructor(host, endpoint);\n }\n }\n }\n @validateArgs_ManufacturerProprietaryCCAPI_sendData()\n public async sendData(manufacturerId: number, data?: BytesView): Promise<void> {\n const cc = new ManufacturerProprietaryCC({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n manufacturerId,\n });\n cc.payload = data ? Bytes.view(data) : new Bytes();\n await this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_ManufacturerProprietaryCCAPI_sendAndReceiveData()\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async sendAndReceiveData(manufacturerId: number, data?: BytesView) {\n const cc = new ManufacturerProprietaryCC({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n manufacturerId,\n unspecifiedExpectsResponse: true,\n });\n cc.payload = data ? Bytes.view(data) : new Bytes();\n const response = await this.host.sendCommand<ManufacturerProprietaryCC>(cc, this.commandOptions);\n if (response) {\n return {\n manufacturerId: response.manufacturerId,\n data: response.payload,\n };\n }\n }\n}\n// @publicAPI\nexport interface ManufacturerProprietaryCCOptions {\n manufacturerId?: number;\n unspecifiedExpectsResponse?: boolean;\n // Needed to support unknown proprietary commands\n payload?: BytesView;\n}\nfunction getReponseForManufacturerProprietary(ctx: GetNode<NodeId & SupportsCC>, cc: ManufacturerProprietaryCC) {\n return cc.unspecifiedExpectsResponse\n ? ManufacturerProprietaryCC\n : undefined;\n}\nfunction testResponseForManufacturerProprietaryRequest(sent: ManufacturerProprietaryCC, received: ManufacturerProprietaryCC): boolean {\n // We expect a Manufacturer Proprietary response that has the same manufacturer ID as the request\n return sent.manufacturerId === received.manufacturerId;\n}\n@commandClass(CommandClasses[\"Manufacturer Proprietary\"])\n@implementedVersion(1)\n@expectedCCResponse(getReponseForManufacturerProprietary, testResponseForManufacturerProprietaryRequest)\nexport class ManufacturerProprietaryCC extends CommandClass {\n declare ccCommand: undefined;\n public constructor(options: WithAddress<ManufacturerProprietaryCCOptions>) {\n super(options);\n this.manufacturerId = options.manufacturerId\n ?? getManufacturerId(this);\n this.unspecifiedExpectsResponse = options.unspecifiedExpectsResponse;\n // To use this CC, a manufacturer ID must exist in the value DB\n // If it doesn't, the interview procedure will throw.\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ManufacturerProprietaryCC {\n validatePayload(raw.payload.length >= 1);\n const manufacturerId = raw.payload.readUInt16BE(0);\n // Try to parse the proprietary command\n const PCConstructor = getManufacturerProprietaryCCConstructor(manufacturerId);\n const payload = raw.payload.subarray(2);\n if (PCConstructor) {\n return PCConstructor.from(raw.withPayload(payload), ctx);\n }\n return new ManufacturerProprietaryCC({\n nodeId: ctx.sourceNodeId,\n manufacturerId,\n payload,\n });\n }\n public manufacturerId?: number;\n /**\n * @internal\n * This is used to indicate that an unspecified Manufacturer Proprietary CC instance expects a response.\n * Subclasses should roll their own `@expectedCCResponse` instead.\n */\n public readonly unspecifiedExpectsResponse?: boolean;\n private getManufacturerIdOrThrow(): number {\n if (this.manufacturerId == undefined) {\n throw new ZWaveError(`To use an instance of ManufacturerProprietaryCC, the manufacturer ID must be stored in the value DB`, ZWaveErrorCodes.ManufacturerProprietaryCC_NoManufacturerId);\n }\n return this.manufacturerId;\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const manufacturerId = this.getManufacturerIdOrThrow();\n // ManufacturerProprietaryCC has no CC command, so the first byte\n // is stored in ccCommand\n (this.ccCommand as unknown as number) = (manufacturerId >>> 8) & 0xff;\n // The 2nd byte is in the payload\n this.payload = Bytes.concat([\n [\n // 2nd byte of manufacturerId\n manufacturerId & 0xff,\n ],\n this.payload,\n ]);\n return super.serialize(ctx);\n }\n public createSpecificInstance(): ManufacturerProprietaryCC | undefined {\n // Try to defer to the correct subclass\n if (this.manufacturerId != undefined) {\n const PCConstructor = getManufacturerProprietaryCCConstructor(this.manufacturerId);\n if (PCConstructor) {\n return new PCConstructor({\n nodeId: this.nodeId,\n endpoint: this.endpointIndex,\n });\n }\n }\n }\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n // Read the manufacturer ID from Manufacturer Specific CC\n this.manufacturerId = this.getValue(ctx, ManufacturerSpecificCCValues.manufacturerId)!;\n const pcInstance = this.createSpecificInstance();\n if (pcInstance) {\n await pcInstance.interview(ctx);\n }\n else {\n ctx.logNode(node.id, {\n message: `${this.constructor.name}: skipping interview refresh because the matching proprietary CC is not implemented...`,\n direction: \"none\",\n });\n }\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n if (this.manufacturerId == undefined) {\n // Read the manufacturer ID from Manufacturer Specific CC\n this.manufacturerId = this.getValue(ctx, ManufacturerSpecificCCValues.manufacturerId)!;\n }\n const pcInstance = this.createSpecificInstance();\n if (pcInstance) {\n await pcInstance.refreshValues(ctx, options);\n }\n else {\n ctx.logNode(node.id, {\n message: `${this.constructor.name}: skipping value refresh because the matching proprietary CC is not implemented...`,\n direction: \"none\",\n });\n }\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as __validateArgs from \"./ManufacturerProprietaryCC._validateArgs.js\";\nconst { validateArgs_ManufacturerProprietaryCCAPI_sendData, validateArgs_ManufacturerProprietaryCCAPI_sendAndReceiveData } = __validateArgs;\nimport { CommandClasses, type GetNode, type NodeId, type SupportsCC, type WithAddress, ZWaveError, ZWaveErrorCodes, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, type BytesView } from \"@zwave-js/shared\";\nimport { CCAPI, type CCAPIEndpoint, type CCAPIHost } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, type RefreshValuesContext, type RefreshValuesOptions, } from \"../lib/CommandClass.js\";\nimport { API, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { ManufacturerSpecificCCValues } from \"./ManufacturerSpecificCC.js\";\nimport { getManufacturerId, getManufacturerProprietaryAPI, getManufacturerProprietaryCCConstructor, } from \"./manufacturerProprietary/Decorators.js\";\nexport type ManufacturerProprietaryCCConstructor<T extends typeof ManufacturerProprietaryCC = typeof ManufacturerProprietaryCC> = T & {\n // I don't like the any, but we need it to support half-implemented CCs (e.g. report classes)\n new (options: any): InstanceType<T>;\n};\n@API(CommandClasses[\"Manufacturer Proprietary\"])\nexport class ManufacturerProprietaryCCAPI extends CCAPI {\n public constructor(host: CCAPIHost, endpoint: CCAPIEndpoint) {\n super(host, endpoint);\n // Read the manufacturer ID from Manufacturer Specific CC\n const manufacturerId = this.getValueDB().getValue<number>(ManufacturerSpecificCCValues.manufacturerId.id);\n // If possible, try to defer to a specific subclass of this API\n if (manufacturerId != undefined) {\n const SpecificAPIConstructor = getManufacturerProprietaryAPI(manufacturerId);\n if (SpecificAPIConstructor != undefined\n && new.target !== SpecificAPIConstructor) {\n return new SpecificAPIConstructor(host, endpoint);\n }\n }\n }\n @validateArgs_ManufacturerProprietaryCCAPI_sendData()\n public async sendData(manufacturerId: number, data?: BytesView): Promise<void> {\n const cc = new ManufacturerProprietaryCC({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n manufacturerId,\n });\n cc.payload = data ? Bytes.view(data) : new Bytes();\n await this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_ManufacturerProprietaryCCAPI_sendAndReceiveData()\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async sendAndReceiveData(manufacturerId: number, data?: BytesView) {\n const cc = new ManufacturerProprietaryCC({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n manufacturerId,\n unspecifiedExpectsResponse: true,\n });\n cc.payload = data ? Bytes.view(data) : new Bytes();\n const response = await this.host.sendCommand<ManufacturerProprietaryCC>(cc, this.commandOptions);\n if (response) {\n return {\n manufacturerId: response.manufacturerId,\n data: response.payload,\n };\n }\n }\n}\n// @publicAPI\nexport interface ManufacturerProprietaryCCOptions {\n manufacturerId?: number;\n unspecifiedExpectsResponse?: boolean;\n // Needed to support unknown proprietary commands\n payload?: BytesView;\n}\nfunction getReponseForManufacturerProprietary(ctx: GetNode<NodeId & SupportsCC>, cc: ManufacturerProprietaryCC) {\n return cc.unspecifiedExpectsResponse\n ? ManufacturerProprietaryCC\n : undefined;\n}\nfunction testResponseForManufacturerProprietaryRequest(sent: ManufacturerProprietaryCC, received: ManufacturerProprietaryCC): boolean {\n // We expect a Manufacturer Proprietary response that has the same manufacturer ID as the request\n return sent.manufacturerId === received.manufacturerId;\n}\n@commandClass(CommandClasses[\"Manufacturer Proprietary\"])\n@implementedVersion(1)\n@expectedCCResponse(getReponseForManufacturerProprietary, testResponseForManufacturerProprietaryRequest)\nexport class ManufacturerProprietaryCC extends CommandClass {\n declare ccCommand: undefined;\n public constructor(options: WithAddress<ManufacturerProprietaryCCOptions>) {\n super(options);\n this.manufacturerId = options.manufacturerId ?? getManufacturerId(this);\n this.unspecifiedExpectsResponse = options.unspecifiedExpectsResponse;\n // To use this CC, a manufacturer ID must exist in the value DB\n // If it doesn't, the interview procedure will throw.\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ManufacturerProprietaryCC {\n validatePayload(raw.payload.length >= 1);\n const manufacturerId = raw.payload.readUInt16BE(0);\n // Try to parse the proprietary command\n const PCConstructor = getManufacturerProprietaryCCConstructor(manufacturerId);\n const payload = raw.payload.subarray(2);\n if (PCConstructor) {\n return PCConstructor.from(raw.withPayload(payload), ctx);\n }\n return new ManufacturerProprietaryCC({\n nodeId: ctx.sourceNodeId,\n manufacturerId,\n payload,\n });\n }\n public manufacturerId?: number;\n /**\n * @internal\n * This is used to indicate that an unspecified Manufacturer Proprietary CC instance expects a response.\n * Subclasses should roll their own `@expectedCCResponse` instead.\n */\n public readonly unspecifiedExpectsResponse?: boolean;\n private getManufacturerIdOrThrow(): number {\n if (this.manufacturerId == undefined) {\n throw new ZWaveError(`To use an instance of ManufacturerProprietaryCC, the manufacturer ID must be stored in the value DB`, ZWaveErrorCodes.ManufacturerProprietaryCC_NoManufacturerId);\n }\n return this.manufacturerId;\n }\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const manufacturerId = this.getManufacturerIdOrThrow();\n // ManufacturerProprietaryCC has no CC command, so the first byte\n // is stored in ccCommand\n (this.ccCommand as unknown as number) = (manufacturerId >>> 8) & 0xff;\n // The 2nd byte is in the payload\n this.payload = Bytes.concat([\n [\n // 2nd byte of manufacturerId\n manufacturerId & 0xff,\n ],\n this.payload,\n ]);\n return super.serialize(ctx);\n }\n public createSpecificInstance(): ManufacturerProprietaryCC | undefined {\n // Try to defer to the correct subclass\n if (this.manufacturerId != undefined) {\n const PCConstructor = getManufacturerProprietaryCCConstructor(this.manufacturerId);\n if (PCConstructor) {\n return new PCConstructor({\n nodeId: this.nodeId,\n endpoint: this.endpointIndex,\n });\n }\n }\n }\n public async interview(ctx: InterviewContext): Promise<void> {\n const node = this.getNode(ctx)!;\n // Read the manufacturer ID from Manufacturer Specific CC\n this.manufacturerId = this.getValue(ctx, ManufacturerSpecificCCValues.manufacturerId)!;\n const pcInstance = this.createSpecificInstance();\n if (pcInstance) {\n await pcInstance.interview(ctx);\n }\n else {\n ctx.logNode(node.id, {\n message: `${this.constructor.name}: skipping interview refresh because the matching proprietary CC is not implemented...`,\n direction: \"none\",\n });\n }\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n public async refreshValues(ctx: RefreshValuesContext, options?: RefreshValuesOptions): Promise<void> {\n const node = this.getNode(ctx)!;\n if (this.manufacturerId == undefined) {\n // Read the manufacturer ID from Manufacturer Specific CC\n this.manufacturerId = this.getValue(ctx, ManufacturerSpecificCCValues.manufacturerId)!;\n }\n const pcInstance = this.createSpecificInstance();\n if (pcInstance) {\n await pcInstance.refreshValues(ctx, options);\n }\n else {\n ctx.logNode(node.id, {\n message: `${this.constructor.name}: skipping value refresh because the matching proprietary CC is not implemented...`,\n direction: \"none\",\n });\n }\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["ManufacturerProprietaryCC"]
7
7
  }
@@ -285,7 +285,9 @@ let ManufacturerSpecificCCGet = (() => {
285
285
  return ManufacturerSpecificCCGet2 = _classThis;
286
286
  })();
287
287
  let ManufacturerSpecificCCDeviceSpecificReport = (() => {
288
- let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.ManufacturerSpecificCommand.DeviceSpecificReport), (0, import_CommandClassDecorators.ccValueProperty)("deviceId", import_CCValues_generated.ManufacturerSpecificCCValues.deviceId, (self) => [self.type])];
288
+ let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.ManufacturerSpecificCommand.DeviceSpecificReport), (0, import_CommandClassDecorators.ccValueProperty)("deviceId", import_CCValues_generated.ManufacturerSpecificCCValues.deviceId, (self) => [
289
+ self.type
290
+ ])];
289
291
  let _classDescriptor;
290
292
  let _classExtraInitializers = [];
291
293
  let _classThis;
@@ -334,10 +336,7 @@ let ManufacturerSpecificCCDeviceSpecificReport = (() => {
334
336
  const format = typeof this.deviceId === "string" ? import_Types.DeviceIdDataFormat.UTF8 : import_Types.DeviceIdDataFormat.Binary;
335
337
  const length = Math.min(deviceIdData.length, 31);
336
338
  this.payload = import_shared.Bytes.concat([
337
- [
338
- this.type & 7,
339
- format << 5 | length
340
- ],
339
+ [this.type & 7, format << 5 | length],
341
340
  deviceIdData.subarray(0, length)
342
341
  ]);
343
342
  return super.serialize(ctx);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src_gen/cc/ManufacturerSpecificCC.ts"],
4
- "sourcesContent": ["import * as __validateArgs from \"./ManufacturerSpecificCC._validateArgs.js\";\nconst { validateArgs_ManufacturerSpecificCCAPI_deviceSpecificGet, validateArgs_ManufacturerSpecificCCAPI_sendReport, validateArgs_ManufacturerSpecificCCAPI_sendDeviceSpecificReport } = __validateArgs;\nimport { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, ValueMetadata, type WithAddress, logBuffer, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, num2hex, pick } from \"@zwave-js/shared\";\nimport { CCAPI, PhysicalCCAPI } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { DeviceIdDataFormat, DeviceIdType, ManufacturerSpecificCommand, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { ManufacturerSpecificCCValues } from \"./_CCValues.generated.js\";\nexport { ManufacturerSpecificCCValues };\n// @noSetValueAPI This CC is read-only\n@API(CommandClasses[\"Manufacturer Specific\"])\nexport class ManufacturerSpecificCCAPI extends PhysicalCCAPI {\n public supportsCommand(cmd: ManufacturerSpecificCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case ManufacturerSpecificCommand.Get:\n case ManufacturerSpecificCommand.Report:\n return true; // This is mandatory\n case ManufacturerSpecificCommand.DeviceSpecificGet:\n case ManufacturerSpecificCommand.DeviceSpecificReport:\n return this.version >= 2;\n }\n return super.supportsCommand(cmd);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(ManufacturerSpecificCommand, ManufacturerSpecificCommand.Get);\n const cc = new ManufacturerSpecificCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<ManufacturerSpecificCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"manufacturerId\",\n \"productType\",\n \"productId\",\n ]);\n }\n }\n @validateArgs_ManufacturerSpecificCCAPI_deviceSpecificGet()\n public async deviceSpecificGet(deviceIdType: DeviceIdType): Promise<MaybeNotKnown<string | Bytes>> {\n this.assertSupportsCommand(ManufacturerSpecificCommand, ManufacturerSpecificCommand.DeviceSpecificGet);\n const cc = new ManufacturerSpecificCCDeviceSpecificGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n deviceIdType,\n });\n const response = await this.host.sendCommand<ManufacturerSpecificCCDeviceSpecificReport>(cc, this.commandOptions);\n return response?.deviceId;\n }\n @validateArgs_ManufacturerSpecificCCAPI_sendReport()\n public async sendReport(options: ManufacturerSpecificCCReportOptions): Promise<void> {\n this.assertSupportsCommand(ManufacturerSpecificCommand, ManufacturerSpecificCommand.Report);\n const cc = new ManufacturerSpecificCCReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_ManufacturerSpecificCCAPI_sendDeviceSpecificReport()\n public async sendDeviceSpecificReport(options: ManufacturerSpecificCCDeviceSpecificReportOptions): Promise<void> {\n this.assertSupportsCommand(ManufacturerSpecificCommand, ManufacturerSpecificCommand.DeviceSpecificReport);\n const cc = new ManufacturerSpecificCCDeviceSpecificReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses[\"Manufacturer Specific\"])\n@implementedVersion(2)\n@ccValues(ManufacturerSpecificCCValues)\nexport class ManufacturerSpecificCC extends CommandClass {\n declare ccCommand: ManufacturerSpecificCommand;\n public determineRequiredCCInterviews(): readonly CommandClasses[] {\n // The Manufacturer Specific CC MUST be interviewed first\n return [];\n }\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[\"Manufacturer Specific\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n tag: \"interview\",\n });\n if (node.id !== ctx.ownNodeId) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying manufacturer information...\",\n direction: \"outbound\",\n });\n const mfResp = await api.get();\n if (mfResp) {\n const logMessage = `received response for manufacturer information:\n manufacturer: ${ctx.lookupManufacturer(mfResp.manufacturerId)\n || \"unknown\"} (${num2hex(mfResp.manufacturerId)})\n product type: ${num2hex(mfResp.productType)}\n product id: ${num2hex(mfResp.productId)}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n}\n// @publicAPI\nexport interface ManufacturerSpecificCCReportOptions {\n manufacturerId: number;\n productType: number;\n productId: number;\n}\n@CCCommand(ManufacturerSpecificCommand.Report)\n@ccValueProperty(\"manufacturerId\", ManufacturerSpecificCCValues.manufacturerId)\n@ccValueProperty(\"productType\", ManufacturerSpecificCCValues.productType)\n@ccValueProperty(\"productId\", ManufacturerSpecificCCValues.productId)\nexport class ManufacturerSpecificCCReport extends ManufacturerSpecificCC {\n public constructor(options: WithAddress<ManufacturerSpecificCCReportOptions>) {\n super(options);\n this.manufacturerId = options.manufacturerId;\n this.productType = options.productType;\n this.productId = options.productId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ManufacturerSpecificCCReport {\n validatePayload(raw.payload.length >= 6);\n const manufacturerId = raw.payload.readUInt16BE(0);\n const productType = raw.payload.readUInt16BE(2);\n const productId = raw.payload.readUInt16BE(4);\n return new this({\n nodeId: ctx.sourceNodeId,\n manufacturerId,\n productType,\n productId,\n });\n }\n public readonly manufacturerId: number;\n public readonly productType: number;\n public readonly productId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = new Bytes(6);\n this.payload.writeUInt16BE(this.manufacturerId, 0);\n this.payload.writeUInt16BE(this.productType, 2);\n this.payload.writeUInt16BE(this.productId, 4);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"manufacturer id\": num2hex(this.manufacturerId),\n \"product type\": num2hex(this.productType),\n \"product id\": num2hex(this.productId),\n },\n };\n }\n}\n@CCCommand(ManufacturerSpecificCommand.Get)\n@expectedCCResponse(ManufacturerSpecificCCReport)\nexport class ManufacturerSpecificCCGet extends ManufacturerSpecificCC {\n}\n// @publicAPI\nexport interface ManufacturerSpecificCCDeviceSpecificReportOptions {\n type: DeviceIdType;\n deviceId: string | Uint8Array;\n}\n@CCCommand(ManufacturerSpecificCommand.DeviceSpecificReport)\n@ccValueProperty(\"deviceId\", ManufacturerSpecificCCValues.deviceId, (self) => [self.type])\nexport class ManufacturerSpecificCCDeviceSpecificReport extends ManufacturerSpecificCC {\n public constructor(options: WithAddress<ManufacturerSpecificCCDeviceSpecificReportOptions>) {\n super(options);\n this.type = options.type;\n if (typeof options.deviceId === \"string\") {\n this.deviceId = options.deviceId;\n }\n else {\n this.deviceId = Bytes.from(options.deviceId);\n }\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ManufacturerSpecificCCDeviceSpecificReport {\n validatePayload(raw.payload.length >= 2);\n const type: DeviceIdType = raw.payload[0] & 0b111;\n const dataFormat: DeviceIdDataFormat = raw.payload[1] >>> 5;\n const dataLength = raw.payload[1] & 0b11111;\n validatePayload(type === DeviceIdType.SerialNumber\n || type === DeviceIdType.PseudoRandom, dataFormat === DeviceIdDataFormat.UTF8\n || dataFormat === DeviceIdDataFormat.Binary, dataLength > 0, raw.payload.length >= 2 + dataLength);\n const deviceIdData = raw.payload.subarray(2, 2 + dataLength);\n const deviceId: string | Bytes = dataFormat === DeviceIdDataFormat.UTF8\n ? deviceIdData.toString(\"utf8\")\n : deviceIdData;\n return new this({\n nodeId: ctx.sourceNodeId,\n type,\n deviceId,\n });\n }\n public readonly type: DeviceIdType;\n public readonly deviceId: string | Bytes;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const deviceIdData = typeof this.deviceId === \"string\"\n ? Bytes.from(this.deviceId, \"utf8\")\n : this.deviceId;\n const format = typeof this.deviceId === \"string\"\n ? DeviceIdDataFormat.UTF8\n : DeviceIdDataFormat.Binary;\n const length = Math.min(deviceIdData.length, 0b11111);\n this.payload = Bytes.concat([\n [\n this.type & 0b111,\n format << 5\n | length,\n ],\n deviceIdData.subarray(0, length),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"device id type\": getEnumMemberName(DeviceIdType, this.type),\n \"device id\": typeof this.deviceId === \"string\"\n ? this.deviceId\n : logBuffer(this.deviceId),\n },\n };\n }\n}\n// @publicAPI\nexport interface ManufacturerSpecificCCDeviceSpecificGetOptions {\n deviceIdType: DeviceIdType;\n}\n@CCCommand(ManufacturerSpecificCommand.DeviceSpecificGet)\n@expectedCCResponse(ManufacturerSpecificCCDeviceSpecificReport)\nexport class ManufacturerSpecificCCDeviceSpecificGet extends ManufacturerSpecificCC {\n public constructor(options: WithAddress<ManufacturerSpecificCCDeviceSpecificGetOptions>) {\n super(options);\n this.deviceIdType = options.deviceIdType;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ManufacturerSpecificCCDeviceSpecificGet {\n validatePayload(raw.payload.length >= 1);\n const deviceIdType: DeviceIdType = raw.payload[0] & 0b111;\n return new this({\n nodeId: ctx.sourceNodeId,\n deviceIdType,\n });\n }\n public deviceIdType: DeviceIdType;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([(this.deviceIdType || 0) & 0b111]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"device id type\": getEnumMemberName(DeviceIdType, this.deviceIdType),\n },\n };\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as __validateArgs from \"./ManufacturerSpecificCC._validateArgs.js\";\nconst { validateArgs_ManufacturerSpecificCCAPI_deviceSpecificGet, validateArgs_ManufacturerSpecificCCAPI_sendReport, validateArgs_ManufacturerSpecificCCAPI_sendDeviceSpecificReport } = __validateArgs;\nimport { CommandClasses, type GetValueDB, type MaybeNotKnown, type MessageOrCCLogEntry, MessagePriority, ValueMetadata, type WithAddress, logBuffer, validatePayload, } from \"@zwave-js/core\";\nimport { Bytes, getEnumMemberName, num2hex, pick } from \"@zwave-js/shared\";\nimport { CCAPI, PhysicalCCAPI } from \"../lib/API.js\";\nimport { type CCRaw, CommandClass, type InterviewContext, } from \"../lib/CommandClass.js\";\nimport { API, CCCommand, ccValueProperty, ccValues, commandClass, expectedCCResponse, implementedVersion, } from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { DeviceIdDataFormat, DeviceIdType, ManufacturerSpecificCommand, } from \"../lib/_Types.js\";\nimport type { CCEncodingContext, CCParsingContext } from \"../lib/traits.js\";\nimport { ManufacturerSpecificCCValues } from \"./_CCValues.generated.js\";\nexport { ManufacturerSpecificCCValues };\n// @noSetValueAPI This CC is read-only\n@API(CommandClasses[\"Manufacturer Specific\"])\nexport class ManufacturerSpecificCCAPI extends PhysicalCCAPI {\n public supportsCommand(cmd: ManufacturerSpecificCommand): MaybeNotKnown<boolean> {\n switch (cmd) {\n case ManufacturerSpecificCommand.Get:\n case ManufacturerSpecificCommand.Report:\n return true; // This is mandatory\n case ManufacturerSpecificCommand.DeviceSpecificGet:\n case ManufacturerSpecificCommand.DeviceSpecificReport:\n return this.version >= 2;\n }\n return super.supportsCommand(cmd);\n }\n // oxlint-disable-next-line typescript/explicit-module-boundary-types\n public async get() {\n this.assertSupportsCommand(ManufacturerSpecificCommand, ManufacturerSpecificCommand.Get);\n const cc = new ManufacturerSpecificCCGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n });\n const response = await this.host.sendCommand<ManufacturerSpecificCCReport>(cc, this.commandOptions);\n if (response) {\n return pick(response, [\n \"manufacturerId\",\n \"productType\",\n \"productId\",\n ]);\n }\n }\n @validateArgs_ManufacturerSpecificCCAPI_deviceSpecificGet()\n public async deviceSpecificGet(deviceIdType: DeviceIdType): Promise<MaybeNotKnown<string | Bytes>> {\n this.assertSupportsCommand(ManufacturerSpecificCommand, ManufacturerSpecificCommand.DeviceSpecificGet);\n const cc = new ManufacturerSpecificCCDeviceSpecificGet({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n deviceIdType,\n });\n const response = await this.host.sendCommand<ManufacturerSpecificCCDeviceSpecificReport>(cc, this.commandOptions);\n return response?.deviceId;\n }\n @validateArgs_ManufacturerSpecificCCAPI_sendReport()\n public async sendReport(options: ManufacturerSpecificCCReportOptions): Promise<void> {\n this.assertSupportsCommand(ManufacturerSpecificCommand, ManufacturerSpecificCommand.Report);\n const cc = new ManufacturerSpecificCCReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n @validateArgs_ManufacturerSpecificCCAPI_sendDeviceSpecificReport()\n public async sendDeviceSpecificReport(options: ManufacturerSpecificCCDeviceSpecificReportOptions): Promise<void> {\n this.assertSupportsCommand(ManufacturerSpecificCommand, ManufacturerSpecificCommand.DeviceSpecificReport);\n const cc = new ManufacturerSpecificCCDeviceSpecificReport({\n nodeId: this.endpoint.nodeId,\n endpointIndex: this.endpoint.index,\n ...options,\n });\n await this.host.sendCommand(cc, this.commandOptions);\n }\n}\n@commandClass(CommandClasses[\"Manufacturer Specific\"])\n@implementedVersion(2)\n@ccValues(ManufacturerSpecificCCValues)\nexport class ManufacturerSpecificCC extends CommandClass {\n declare ccCommand: ManufacturerSpecificCommand;\n public determineRequiredCCInterviews(): readonly CommandClasses[] {\n // The Manufacturer Specific CC MUST be interviewed first\n return [];\n }\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[\"Manufacturer Specific\"], ctx, endpoint).withOptions({\n priority: MessagePriority.NodeQuery,\n tag: \"interview\",\n });\n if (node.id !== ctx.ownNodeId) {\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: `Interviewing ${this.ccName}...`,\n direction: \"none\",\n });\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: \"querying manufacturer information...\",\n direction: \"outbound\",\n });\n const mfResp = await api.get();\n if (mfResp) {\n const logMessage = `received response for manufacturer information:\n manufacturer: ${ctx.lookupManufacturer(mfResp.manufacturerId) || \"unknown\"} (${num2hex(mfResp.manufacturerId)})\n product type: ${num2hex(mfResp.productType)}\n product id: ${num2hex(mfResp.productId)}`;\n ctx.logNode(node.id, {\n endpoint: this.endpointIndex,\n message: logMessage,\n direction: \"inbound\",\n });\n }\n }\n // Remember that the interview is complete\n this.setInterviewComplete(ctx, true);\n }\n}\n// @publicAPI\nexport interface ManufacturerSpecificCCReportOptions {\n manufacturerId: number;\n productType: number;\n productId: number;\n}\n@CCCommand(ManufacturerSpecificCommand.Report)\n@ccValueProperty(\"manufacturerId\", ManufacturerSpecificCCValues.manufacturerId)\n@ccValueProperty(\"productType\", ManufacturerSpecificCCValues.productType)\n@ccValueProperty(\"productId\", ManufacturerSpecificCCValues.productId)\nexport class ManufacturerSpecificCCReport extends ManufacturerSpecificCC {\n public constructor(options: WithAddress<ManufacturerSpecificCCReportOptions>) {\n super(options);\n this.manufacturerId = options.manufacturerId;\n this.productType = options.productType;\n this.productId = options.productId;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ManufacturerSpecificCCReport {\n validatePayload(raw.payload.length >= 6);\n const manufacturerId = raw.payload.readUInt16BE(0);\n const productType = raw.payload.readUInt16BE(2);\n const productId = raw.payload.readUInt16BE(4);\n return new this({\n nodeId: ctx.sourceNodeId,\n manufacturerId,\n productType,\n productId,\n });\n }\n public readonly manufacturerId: number;\n public readonly productType: number;\n public readonly productId: number;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = new Bytes(6);\n this.payload.writeUInt16BE(this.manufacturerId, 0);\n this.payload.writeUInt16BE(this.productType, 2);\n this.payload.writeUInt16BE(this.productId, 4);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"manufacturer id\": num2hex(this.manufacturerId),\n \"product type\": num2hex(this.productType),\n \"product id\": num2hex(this.productId),\n },\n };\n }\n}\n@CCCommand(ManufacturerSpecificCommand.Get)\n@expectedCCResponse(ManufacturerSpecificCCReport)\nexport class ManufacturerSpecificCCGet extends ManufacturerSpecificCC {\n}\n// @publicAPI\nexport interface ManufacturerSpecificCCDeviceSpecificReportOptions {\n type: DeviceIdType;\n deviceId: string | Uint8Array;\n}\n@CCCommand(ManufacturerSpecificCommand.DeviceSpecificReport)\n@ccValueProperty(\"deviceId\", ManufacturerSpecificCCValues.deviceId, (self) => [\n self.type,\n])\nexport class ManufacturerSpecificCCDeviceSpecificReport extends ManufacturerSpecificCC {\n public constructor(options: WithAddress<ManufacturerSpecificCCDeviceSpecificReportOptions>) {\n super(options);\n this.type = options.type;\n if (typeof options.deviceId === \"string\") {\n this.deviceId = options.deviceId;\n }\n else {\n this.deviceId = Bytes.from(options.deviceId);\n }\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ManufacturerSpecificCCDeviceSpecificReport {\n validatePayload(raw.payload.length >= 2);\n const type: DeviceIdType = raw.payload[0] & 0b111;\n const dataFormat: DeviceIdDataFormat = raw.payload[1] >>> 5;\n const dataLength = raw.payload[1] & 0b11111;\n validatePayload(type === DeviceIdType.SerialNumber\n || type === DeviceIdType.PseudoRandom, dataFormat === DeviceIdDataFormat.UTF8\n || dataFormat === DeviceIdDataFormat.Binary, dataLength > 0, raw.payload.length >= 2 + dataLength);\n const deviceIdData = raw.payload.subarray(2, 2 + dataLength);\n const deviceId: string | Bytes = dataFormat === DeviceIdDataFormat.UTF8\n ? deviceIdData.toString(\"utf8\")\n : deviceIdData;\n return new this({\n nodeId: ctx.sourceNodeId,\n type,\n deviceId,\n });\n }\n public readonly type: DeviceIdType;\n public readonly deviceId: string | Bytes;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n const deviceIdData = typeof this.deviceId === \"string\"\n ? Bytes.from(this.deviceId, \"utf8\")\n : this.deviceId;\n const format = typeof this.deviceId === \"string\"\n ? DeviceIdDataFormat.UTF8\n : DeviceIdDataFormat.Binary;\n const length = Math.min(deviceIdData.length, 0b11111);\n this.payload = Bytes.concat([\n [this.type & 0b111, (format << 5) | length],\n deviceIdData.subarray(0, length),\n ]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"device id type\": getEnumMemberName(DeviceIdType, this.type),\n \"device id\": typeof this.deviceId === \"string\"\n ? this.deviceId\n : logBuffer(this.deviceId),\n },\n };\n }\n}\n// @publicAPI\nexport interface ManufacturerSpecificCCDeviceSpecificGetOptions {\n deviceIdType: DeviceIdType;\n}\n@CCCommand(ManufacturerSpecificCommand.DeviceSpecificGet)\n@expectedCCResponse(ManufacturerSpecificCCDeviceSpecificReport)\nexport class ManufacturerSpecificCCDeviceSpecificGet extends ManufacturerSpecificCC {\n public constructor(options: WithAddress<ManufacturerSpecificCCDeviceSpecificGetOptions>) {\n super(options);\n this.deviceIdType = options.deviceIdType;\n }\n public static from(raw: CCRaw, ctx: CCParsingContext): ManufacturerSpecificCCDeviceSpecificGet {\n validatePayload(raw.payload.length >= 1);\n const deviceIdType: DeviceIdType = raw.payload[0] & 0b111;\n return new this({\n nodeId: ctx.sourceNodeId,\n deviceIdType,\n });\n }\n public deviceIdType: DeviceIdType;\n public serialize(ctx: CCEncodingContext): Promise<Bytes> {\n this.payload = Bytes.from([(this.deviceIdType || 0) & 0b111]);\n return super.serialize(ctx);\n }\n public toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n return {\n ...super.toLogEntry(ctx),\n message: {\n \"device id type\": getEnumMemberName(DeviceIdType, this.deviceIdType),\n },\n };\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -358,7 +358,9 @@ let MeterCCAPI = (() => {
358
358
  }
359
359
  }, "optimisticallyUpdateRelatedValues"),
360
360
  verifyChanges: /* @__PURE__ */ __name(() => {
361
- this.schedulePoll(readingValueId, 0, { transition: "fast" });
361
+ this.schedulePoll(readingValueId, 0, {
362
+ transition: "fast"
363
+ });
362
364
  }, "verifyChanges")
363
365
  };
364
366
  } else {
@@ -671,10 +673,7 @@ let MeterCCReport = (() => {
671
673
  const deltaTime = this.deltaTime ?? 65535;
672
674
  const deltaTimeBytes = new import_shared.Bytes(2);
673
675
  deltaTimeBytes.writeUInt16BE(deltaTime, 0);
674
- this.payload = import_shared.Bytes.concat([
675
- typeAndValue,
676
- deltaTimeBytes
677
- ]);
676
+ this.payload = import_shared.Bytes.concat([typeAndValue, deltaTimeBytes]);
678
677
  if (this.deltaTime !== 0 && this.previousValue != void 0) {
679
678
  const prevValueBytes = (0, import_core.encodeFloatWithScale)(
680
679
  this.previousValue,
@@ -682,16 +681,10 @@ let MeterCCReport = (() => {
682
681
  // we discard the scale anyways
683
682
  floatParams
684
683
  ).subarray(1);
685
- this.payload = import_shared.Bytes.concat([
686
- this.payload,
687
- prevValueBytes
688
- ]);
684
+ this.payload = import_shared.Bytes.concat([this.payload, prevValueBytes]);
689
685
  }
690
686
  if (scale2 != void 0) {
691
- this.payload = import_shared.Bytes.concat([
692
- this.payload,
693
- [scale2]
694
- ]);
687
+ this.payload = import_shared.Bytes.concat([this.payload, [scale2]]);
695
688
  }
696
689
  return super.serialize(ctx);
697
690
  }
@@ -910,10 +903,7 @@ let MeterCCSupportedReport = (() => {
910
903
  -1
911
904
  );
912
905
  const scalesByte1 = supportedScales[0] >>> 1 | (supportedScales.length > 1 ? 128 : 0);
913
- this.payload = import_shared.Bytes.from([
914
- typeByte,
915
- scalesByte1
916
- ]);
906
+ this.payload = import_shared.Bytes.from([typeByte, scalesByte1]);
917
907
  if (supportedScales.length > 1) {
918
908
  this.payload = import_shared.Bytes.concat([
919
909
  this.payload,
@@ -1013,10 +1003,7 @@ let MeterCCReset = (() => {
1013
1003
  const { data: typeAndValue, scale2 } = encodeMeterValueAndInfo(this.type, this.rateType, this.scale, this.targetValue);
1014
1004
  this.payload = typeAndValue;
1015
1005
  if (scale2 != void 0) {
1016
- this.payload = import_shared.Bytes.concat([
1017
- this.payload,
1018
- [scale2]
1019
- ]);
1006
+ this.payload = import_shared.Bytes.concat([this.payload, [scale2]]);
1020
1007
  }
1021
1008
  }
1022
1009
  return super.serialize(ctx);