@zwave-js/cc 14.0.0-beta.4 → 14.0.0-beta.5

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 (331) hide show
  1. package/build/cjs/cc/AlarmSensorCC.js +381 -266
  2. package/build/cjs/cc/AlarmSensorCC.js.map +3 -3
  3. package/build/cjs/cc/AssociationCC.js +669 -503
  4. package/build/cjs/cc/AssociationCC.js.map +3 -3
  5. package/build/cjs/cc/AssociationGroupInfoCC.js +633 -492
  6. package/build/cjs/cc/AssociationGroupInfoCC.js.map +3 -3
  7. package/build/cjs/cc/BarrierOperatorCC.js +595 -429
  8. package/build/cjs/cc/BarrierOperatorCC.js.map +3 -3
  9. package/build/cjs/cc/BasicCC.js +354 -260
  10. package/build/cjs/cc/BasicCC.js.map +3 -3
  11. package/build/cjs/cc/BatteryCC.js +427 -345
  12. package/build/cjs/cc/BatteryCC.js.map +3 -3
  13. package/build/cjs/cc/BinarySensorCC.js +391 -276
  14. package/build/cjs/cc/BinarySensorCC.js.map +3 -3
  15. package/build/cjs/cc/BinarySwitchCC.js +347 -253
  16. package/build/cjs/cc/BinarySwitchCC.js.map +3 -3
  17. package/build/cjs/cc/CRC16CC.js +160 -85
  18. package/build/cjs/cc/CRC16CC.js.map +3 -3
  19. package/build/cjs/cc/CentralSceneCC.js +459 -324
  20. package/build/cjs/cc/CentralSceneCC.js.map +3 -3
  21. package/build/cjs/cc/ClimateControlScheduleCC.js +459 -293
  22. package/build/cjs/cc/ClimateControlScheduleCC.js.map +3 -3
  23. package/build/cjs/cc/ClockCC.js +254 -150
  24. package/build/cjs/cc/ClockCC.js.map +3 -3
  25. package/build/cjs/cc/ColorSwitchCC.js +758 -610
  26. package/build/cjs/cc/ColorSwitchCC.js.map +3 -3
  27. package/build/cjs/cc/ConfigurationCC.js +1700 -1453
  28. package/build/cjs/cc/ConfigurationCC.js.map +3 -3
  29. package/build/cjs/cc/DeviceResetLocallyCC.js +125 -49
  30. package/build/cjs/cc/DeviceResetLocallyCC.js.map +3 -3
  31. package/build/cjs/cc/DoorLockCC.js +904 -777
  32. package/build/cjs/cc/DoorLockCC.js.map +3 -3
  33. package/build/cjs/cc/DoorLockLoggingCC.js +321 -206
  34. package/build/cjs/cc/DoorLockLoggingCC.js.map +3 -3
  35. package/build/cjs/cc/EnergyProductionCC.js +249 -160
  36. package/build/cjs/cc/EnergyProductionCC.js.map +3 -3
  37. package/build/cjs/cc/EntryControlCC.js +619 -458
  38. package/build/cjs/cc/EntryControlCC.js.map +3 -3
  39. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js +898 -698
  40. package/build/cjs/cc/FirmwareUpdateMetaDataCC.js.map +3 -3
  41. package/build/cjs/cc/HailCC.js +57 -11
  42. package/build/cjs/cc/HailCC.js.map +2 -2
  43. package/build/cjs/cc/HumidityControlModeCC.js +359 -233
  44. package/build/cjs/cc/HumidityControlModeCC.js.map +3 -3
  45. package/build/cjs/cc/HumidityControlOperatingStateCC.js +189 -103
  46. package/build/cjs/cc/HumidityControlOperatingStateCC.js.map +3 -3
  47. package/build/cjs/cc/HumidityControlSetpointCC.js +682 -495
  48. package/build/cjs/cc/HumidityControlSetpointCC.js.map +3 -3
  49. package/build/cjs/cc/InclusionControllerCC.js +205 -114
  50. package/build/cjs/cc/InclusionControllerCC.js.map +3 -3
  51. package/build/cjs/cc/IndicatorCC.js +897 -736
  52. package/build/cjs/cc/IndicatorCC.js.map +3 -3
  53. package/build/cjs/cc/IrrigationCC.js +1651 -1405
  54. package/build/cjs/cc/IrrigationCC.js.map +3 -3
  55. package/build/cjs/cc/LanguageCC.js +268 -171
  56. package/build/cjs/cc/LanguageCC.js.map +3 -3
  57. package/build/cjs/cc/LockCC.js +254 -154
  58. package/build/cjs/cc/LockCC.js.map +3 -3
  59. package/build/cjs/cc/ManufacturerProprietaryCC.js +189 -129
  60. package/build/cjs/cc/ManufacturerProprietaryCC.js.map +2 -2
  61. package/build/cjs/cc/ManufacturerSpecificCC.js +319 -213
  62. package/build/cjs/cc/ManufacturerSpecificCC.js.map +3 -3
  63. package/build/cjs/cc/MeterCC.js +827 -707
  64. package/build/cjs/cc/MeterCC.js.map +3 -3
  65. package/build/cjs/cc/MultiChannelAssociationCC.js +612 -478
  66. package/build/cjs/cc/MultiChannelAssociationCC.js.map +3 -3
  67. package/build/cjs/cc/MultiChannelCC.js +1037 -819
  68. package/build/cjs/cc/MultiChannelCC.js.map +3 -3
  69. package/build/cjs/cc/MultiCommandCC.js +172 -97
  70. package/build/cjs/cc/MultiCommandCC.js.map +3 -3
  71. package/build/cjs/cc/MultilevelSensorCC.js +589 -449
  72. package/build/cjs/cc/MultilevelSensorCC.js.map +3 -3
  73. package/build/cjs/cc/MultilevelSwitchCC.js +587 -439
  74. package/build/cjs/cc/MultilevelSwitchCC.js.map +3 -3
  75. package/build/cjs/cc/NoOperationCC.js +89 -27
  76. package/build/cjs/cc/NoOperationCC.js.map +2 -2
  77. package/build/cjs/cc/NodeNamingCC.js +417 -277
  78. package/build/cjs/cc/NodeNamingCC.js.map +3 -3
  79. package/build/cjs/cc/NotificationCC.js +972 -818
  80. package/build/cjs/cc/NotificationCC.js.map +3 -3
  81. package/build/cjs/cc/PowerlevelCC.js +450 -303
  82. package/build/cjs/cc/PowerlevelCC.js.map +3 -3
  83. package/build/cjs/cc/ProtectionCC.js +686 -494
  84. package/build/cjs/cc/ProtectionCC.js.map +3 -3
  85. package/build/cjs/cc/SceneActivationCC.js +165 -97
  86. package/build/cjs/cc/SceneActivationCC.js.map +3 -3
  87. package/build/cjs/cc/SceneActuatorConfigurationCC.js +346 -243
  88. package/build/cjs/cc/SceneActuatorConfigurationCC.js.map +3 -3
  89. package/build/cjs/cc/SceneControllerConfigurationCC.js +401 -298
  90. package/build/cjs/cc/SceneControllerConfigurationCC.js.map +3 -3
  91. package/build/cjs/cc/ScheduleEntryLockCC.js +1552 -1272
  92. package/build/cjs/cc/ScheduleEntryLockCC.js.map +3 -3
  93. package/build/cjs/cc/Security2CC.js +1483 -1219
  94. package/build/cjs/cc/Security2CC.js.map +3 -3
  95. package/build/cjs/cc/SecurityCC.js +839 -619
  96. package/build/cjs/cc/SecurityCC.js.map +3 -3
  97. package/build/cjs/cc/SoundSwitchCC.js +707 -515
  98. package/build/cjs/cc/SoundSwitchCC.js.map +3 -3
  99. package/build/cjs/cc/SupervisionCC.js +327 -237
  100. package/build/cjs/cc/SupervisionCC.js.map +3 -3
  101. package/build/cjs/cc/ThermostatFanModeCC.js +386 -263
  102. package/build/cjs/cc/ThermostatFanModeCC.js.map +3 -3
  103. package/build/cjs/cc/ThermostatFanStateCC.js +192 -106
  104. package/build/cjs/cc/ThermostatFanStateCC.js.map +3 -3
  105. package/build/cjs/cc/ThermostatModeCC.js +425 -302
  106. package/build/cjs/cc/ThermostatModeCC.js.map +3 -3
  107. package/build/cjs/cc/ThermostatOperatingStateCC.js +188 -102
  108. package/build/cjs/cc/ThermostatOperatingStateCC.js.map +3 -3
  109. package/build/cjs/cc/ThermostatSetbackCC.js +277 -173
  110. package/build/cjs/cc/ThermostatSetbackCC.js.map +3 -3
  111. package/build/cjs/cc/ThermostatSetpointCC.js +645 -491
  112. package/build/cjs/cc/ThermostatSetpointCC.js.map +3 -3
  113. package/build/cjs/cc/TimeCC.js +515 -353
  114. package/build/cjs/cc/TimeCC.js.map +3 -3
  115. package/build/cjs/cc/TimeParametersCC.js +302 -202
  116. package/build/cjs/cc/TimeParametersCC.js.map +3 -3
  117. package/build/cjs/cc/TransportServiceCC.js +433 -315
  118. package/build/cjs/cc/TransportServiceCC.js.map +3 -3
  119. package/build/cjs/cc/UserCodeCC.js +1385 -1102
  120. package/build/cjs/cc/UserCodeCC.js.map +3 -3
  121. package/build/cjs/cc/VersionCC.js +696 -562
  122. package/build/cjs/cc/VersionCC.js.map +3 -3
  123. package/build/cjs/cc/WakeUpCC.js +499 -346
  124. package/build/cjs/cc/WakeUpCC.js.map +3 -3
  125. package/build/cjs/cc/WindowCoveringCC.js +626 -478
  126. package/build/cjs/cc/WindowCoveringCC.js.map +3 -3
  127. package/build/cjs/cc/ZWaveLongRangeCC.js +57 -10
  128. package/build/cjs/cc/ZWaveLongRangeCC.js.map +2 -2
  129. package/build/cjs/cc/ZWavePlusCC.js +233 -159
  130. package/build/cjs/cc/ZWavePlusCC.js.map +3 -3
  131. package/build/cjs/cc/ZWaveProtocolCC.js +1515 -948
  132. package/build/cjs/cc/ZWaveProtocolCC.js.map +3 -3
  133. package/build/cjs/cc/manufacturerProprietary/Decorators.d.ts +4 -4
  134. package/build/cjs/cc/manufacturerProprietary/Decorators.js.map +1 -1
  135. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js +395 -274
  136. package/build/cjs/cc/manufacturerProprietary/FibaroCC.js.map +3 -3
  137. package/build/cjs/lib/CommandClassDecorators.d.ts +11 -15
  138. package/build/cjs/lib/CommandClassDecorators.js +19 -20
  139. package/build/cjs/lib/CommandClassDecorators.js.map +2 -2
  140. package/build/cjs/lib/Security2/Extension.d.ts +1 -1
  141. package/build/cjs/lib/Security2/Extension.js +217 -126
  142. package/build/cjs/lib/Security2/Extension.js.map +3 -3
  143. package/build/esm/cc/AlarmSensorCC.d.ts.map +1 -1
  144. package/build/esm/cc/AlarmSensorCC.js +389 -291
  145. package/build/esm/cc/AlarmSensorCC.js.map +1 -1
  146. package/build/esm/cc/AssociationCC.d.ts.map +1 -1
  147. package/build/esm/cc/AssociationCC.js +678 -537
  148. package/build/esm/cc/AssociationCC.js.map +1 -1
  149. package/build/esm/cc/AssociationGroupInfoCC.d.ts.map +1 -1
  150. package/build/esm/cc/AssociationGroupInfoCC.js +659 -539
  151. package/build/esm/cc/AssociationGroupInfoCC.js.map +1 -1
  152. package/build/esm/cc/BarrierOperatorCC.d.ts.map +1 -1
  153. package/build/esm/cc/BarrierOperatorCC.js +634 -493
  154. package/build/esm/cc/BarrierOperatorCC.js.map +1 -1
  155. package/build/esm/cc/BasicCC.d.ts.map +1 -1
  156. package/build/esm/cc/BasicCC.js +380 -302
  157. package/build/esm/cc/BasicCC.js.map +1 -1
  158. package/build/esm/cc/BatteryCC.d.ts.map +1 -1
  159. package/build/esm/cc/BatteryCC.js +449 -384
  160. package/build/esm/cc/BatteryCC.js.map +1 -1
  161. package/build/esm/cc/BinarySensorCC.d.ts.map +1 -1
  162. package/build/esm/cc/BinarySensorCC.js +395 -297
  163. package/build/esm/cc/BinarySensorCC.js.map +1 -1
  164. package/build/esm/cc/BinarySwitchCC.d.ts.map +1 -1
  165. package/build/esm/cc/BinarySwitchCC.js +353 -274
  166. package/build/esm/cc/BinarySwitchCC.js.map +1 -1
  167. package/build/esm/cc/CRC16CC.js +162 -98
  168. package/build/esm/cc/CRC16CC.js.map +1 -1
  169. package/build/esm/cc/CentralSceneCC.d.ts.map +1 -1
  170. package/build/esm/cc/CentralSceneCC.js +465 -351
  171. package/build/esm/cc/CentralSceneCC.js.map +1 -1
  172. package/build/esm/cc/ClimateControlScheduleCC.d.ts.map +1 -1
  173. package/build/esm/cc/ClimateControlScheduleCC.js +454 -313
  174. package/build/esm/cc/ClimateControlScheduleCC.js.map +1 -1
  175. package/build/esm/cc/ClockCC.js +248 -159
  176. package/build/esm/cc/ClockCC.js.map +1 -1
  177. package/build/esm/cc/ColorSwitchCC.d.ts.map +1 -1
  178. package/build/esm/cc/ColorSwitchCC.js +802 -677
  179. package/build/esm/cc/ColorSwitchCC.js.map +1 -1
  180. package/build/esm/cc/ConfigurationCC.js +1899 -1687
  181. package/build/esm/cc/ConfigurationCC.js.map +1 -1
  182. package/build/esm/cc/DeviceResetLocallyCC.js +124 -59
  183. package/build/esm/cc/DeviceResetLocallyCC.js.map +1 -1
  184. package/build/esm/cc/DoorLockCC.d.ts.map +1 -1
  185. package/build/esm/cc/DoorLockCC.js +951 -849
  186. package/build/esm/cc/DoorLockCC.js.map +1 -1
  187. package/build/esm/cc/DoorLockLoggingCC.d.ts.map +1 -1
  188. package/build/esm/cc/DoorLockLoggingCC.js +316 -218
  189. package/build/esm/cc/DoorLockLoggingCC.js.map +1 -1
  190. package/build/esm/cc/EnergyProductionCC.js +240 -164
  191. package/build/esm/cc/EnergyProductionCC.js.map +1 -1
  192. package/build/esm/cc/EntryControlCC.d.ts.map +1 -1
  193. package/build/esm/cc/EntryControlCC.js +629 -493
  194. package/build/esm/cc/EntryControlCC.js.map +1 -1
  195. package/build/esm/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
  196. package/build/esm/cc/FirmwareUpdateMetaDataCC.js +938 -769
  197. package/build/esm/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
  198. package/build/esm/cc/HailCC.js +51 -12
  199. package/build/esm/cc/HailCC.js.map +1 -1
  200. package/build/esm/cc/HumidityControlModeCC.d.ts.map +1 -1
  201. package/build/esm/cc/HumidityControlModeCC.js +357 -250
  202. package/build/esm/cc/HumidityControlModeCC.js.map +1 -1
  203. package/build/esm/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
  204. package/build/esm/cc/HumidityControlOperatingStateCC.js +182 -109
  205. package/build/esm/cc/HumidityControlOperatingStateCC.js.map +1 -1
  206. package/build/esm/cc/HumidityControlSetpointCC.d.ts.map +1 -1
  207. package/build/esm/cc/HumidityControlSetpointCC.js +706 -546
  208. package/build/esm/cc/HumidityControlSetpointCC.js.map +1 -1
  209. package/build/esm/cc/InclusionControllerCC.js +197 -119
  210. package/build/esm/cc/InclusionControllerCC.js.map +1 -1
  211. package/build/esm/cc/IndicatorCC.js +973 -835
  212. package/build/esm/cc/IndicatorCC.js.map +1 -1
  213. package/build/esm/cc/IrrigationCC.d.ts.map +1 -1
  214. package/build/esm/cc/IrrigationCC.js +1697 -1496
  215. package/build/esm/cc/IrrigationCC.js.map +1 -1
  216. package/build/esm/cc/LanguageCC.d.ts.map +1 -1
  217. package/build/esm/cc/LanguageCC.js +266 -184
  218. package/build/esm/cc/LanguageCC.js.map +1 -1
  219. package/build/esm/cc/LockCC.d.ts.map +1 -1
  220. package/build/esm/cc/LockCC.js +247 -162
  221. package/build/esm/cc/LockCC.js.map +1 -1
  222. package/build/esm/cc/ManufacturerProprietaryCC.js +192 -141
  223. package/build/esm/cc/ManufacturerProprietaryCC.js.map +1 -1
  224. package/build/esm/cc/ManufacturerSpecificCC.d.ts.map +1 -1
  225. package/build/esm/cc/ManufacturerSpecificCC.js +312 -223
  226. package/build/esm/cc/ManufacturerSpecificCC.js.map +1 -1
  227. package/build/esm/cc/MeterCC.d.ts.map +1 -1
  228. package/build/esm/cc/MeterCC.js +896 -795
  229. package/build/esm/cc/MeterCC.js.map +1 -1
  230. package/build/esm/cc/MultiChannelAssociationCC.d.ts.map +1 -1
  231. package/build/esm/cc/MultiChannelAssociationCC.js +631 -518
  232. package/build/esm/cc/MultiChannelAssociationCC.js.map +1 -1
  233. package/build/esm/cc/MultiChannelCC.d.ts.map +1 -1
  234. package/build/esm/cc/MultiChannelCC.js +1106 -921
  235. package/build/esm/cc/MultiChannelCC.js.map +1 -1
  236. package/build/esm/cc/MultiCommandCC.js +166 -102
  237. package/build/esm/cc/MultiCommandCC.js.map +1 -1
  238. package/build/esm/cc/MultilevelSensorCC.d.ts.map +1 -1
  239. package/build/esm/cc/MultilevelSensorCC.js +616 -497
  240. package/build/esm/cc/MultilevelSensorCC.js.map +1 -1
  241. package/build/esm/cc/MultilevelSwitchCC.d.ts.map +1 -1
  242. package/build/esm/cc/MultilevelSwitchCC.js +621 -496
  243. package/build/esm/cc/MultilevelSwitchCC.js.map +1 -1
  244. package/build/esm/cc/NoOperationCC.js +82 -29
  245. package/build/esm/cc/NoOperationCC.js.map +1 -1
  246. package/build/esm/cc/NodeNamingCC.d.ts.map +1 -1
  247. package/build/esm/cc/NodeNamingCC.js +413 -294
  248. package/build/esm/cc/NodeNamingCC.js.map +1 -1
  249. package/build/esm/cc/NotificationCC.d.ts.map +1 -1
  250. package/build/esm/cc/NotificationCC.js +1097 -966
  251. package/build/esm/cc/NotificationCC.js.map +1 -1
  252. package/build/esm/cc/PowerlevelCC.js +437 -311
  253. package/build/esm/cc/PowerlevelCC.js.map +1 -1
  254. package/build/esm/cc/ProtectionCC.d.ts.map +1 -1
  255. package/build/esm/cc/ProtectionCC.js +704 -543
  256. package/build/esm/cc/ProtectionCC.js.map +1 -1
  257. package/build/esm/cc/SceneActivationCC.d.ts.map +1 -1
  258. package/build/esm/cc/SceneActivationCC.js +157 -100
  259. package/build/esm/cc/SceneActivationCC.js.map +1 -1
  260. package/build/esm/cc/SceneActuatorConfigurationCC.js +357 -269
  261. package/build/esm/cc/SceneActuatorConfigurationCC.js.map +1 -1
  262. package/build/esm/cc/SceneControllerConfigurationCC.js +434 -346
  263. package/build/esm/cc/SceneControllerConfigurationCC.js.map +1 -1
  264. package/build/esm/cc/ScheduleEntryLockCC.d.ts.map +1 -1
  265. package/build/esm/cc/ScheduleEntryLockCC.js +1596 -1357
  266. package/build/esm/cc/ScheduleEntryLockCC.js.map +1 -1
  267. package/build/esm/cc/Security2CC.js +1633 -1406
  268. package/build/esm/cc/Security2CC.js.map +1 -1
  269. package/build/esm/cc/SecurityCC.js +876 -687
  270. package/build/esm/cc/SecurityCC.js.map +1 -1
  271. package/build/esm/cc/SoundSwitchCC.d.ts.map +1 -1
  272. package/build/esm/cc/SoundSwitchCC.js +689 -526
  273. package/build/esm/cc/SoundSwitchCC.js.map +1 -1
  274. package/build/esm/cc/SupervisionCC.js +349 -272
  275. package/build/esm/cc/SupervisionCC.js.map +1 -1
  276. package/build/esm/cc/ThermostatFanModeCC.d.ts.map +1 -1
  277. package/build/esm/cc/ThermostatFanModeCC.js +388 -284
  278. package/build/esm/cc/ThermostatFanModeCC.js.map +1 -1
  279. package/build/esm/cc/ThermostatFanStateCC.d.ts.map +1 -1
  280. package/build/esm/cc/ThermostatFanStateCC.js +184 -111
  281. package/build/esm/cc/ThermostatFanStateCC.js.map +1 -1
  282. package/build/esm/cc/ThermostatModeCC.d.ts.map +1 -1
  283. package/build/esm/cc/ThermostatModeCC.js +435 -331
  284. package/build/esm/cc/ThermostatModeCC.js.map +1 -1
  285. package/build/esm/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
  286. package/build/esm/cc/ThermostatOperatingStateCC.js +180 -107
  287. package/build/esm/cc/ThermostatOperatingStateCC.js.map +1 -1
  288. package/build/esm/cc/ThermostatSetbackCC.js +274 -185
  289. package/build/esm/cc/ThermostatSetbackCC.js.map +1 -1
  290. package/build/esm/cc/ThermostatSetpointCC.d.ts.map +1 -1
  291. package/build/esm/cc/ThermostatSetpointCC.js +674 -543
  292. package/build/esm/cc/ThermostatSetpointCC.js.map +1 -1
  293. package/build/esm/cc/TimeCC.js +499 -360
  294. package/build/esm/cc/TimeCC.js.map +1 -1
  295. package/build/esm/cc/TimeParametersCC.d.ts.map +1 -1
  296. package/build/esm/cc/TimeParametersCC.js +296 -211
  297. package/build/esm/cc/TimeParametersCC.js.map +1 -1
  298. package/build/esm/cc/TransportServiceCC.js +464 -363
  299. package/build/esm/cc/TransportServiceCC.js.map +1 -1
  300. package/build/esm/cc/UserCodeCC.d.ts.map +1 -1
  301. package/build/esm/cc/UserCodeCC.js +1443 -1205
  302. package/build/esm/cc/UserCodeCC.js.map +1 -1
  303. package/build/esm/cc/VersionCC.d.ts.map +1 -1
  304. package/build/esm/cc/VersionCC.js +744 -635
  305. package/build/esm/cc/VersionCC.js.map +1 -1
  306. package/build/esm/cc/WakeUpCC.d.ts.map +1 -1
  307. package/build/esm/cc/WakeUpCC.js +494 -364
  308. package/build/esm/cc/WakeUpCC.js.map +1 -1
  309. package/build/esm/cc/WindowCoveringCC.d.ts.map +1 -1
  310. package/build/esm/cc/WindowCoveringCC.js +655 -530
  311. package/build/esm/cc/WindowCoveringCC.js.map +1 -1
  312. package/build/esm/cc/ZWaveLongRangeCC.js +51 -11
  313. package/build/esm/cc/ZWaveLongRangeCC.js.map +1 -1
  314. package/build/esm/cc/ZWavePlusCC.d.ts.map +1 -1
  315. package/build/esm/cc/ZWavePlusCC.js +223 -162
  316. package/build/esm/cc/ZWavePlusCC.js.map +1 -1
  317. package/build/esm/cc/ZWaveProtocolCC.js +1443 -953
  318. package/build/esm/cc/ZWaveProtocolCC.js.map +1 -1
  319. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts +4 -4
  320. package/build/esm/cc/manufacturerProprietary/Decorators.d.ts.map +1 -1
  321. package/build/esm/cc/manufacturerProprietary/FibaroCC.js +390 -286
  322. package/build/esm/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
  323. package/build/esm/lib/CommandClassDecorators.d.ts +11 -15
  324. package/build/esm/lib/CommandClassDecorators.d.ts.map +1 -1
  325. package/build/esm/lib/CommandClassDecorators.js +24 -24
  326. package/build/esm/lib/CommandClassDecorators.js.map +1 -1
  327. package/build/esm/lib/Security2/Extension.d.ts +1 -1
  328. package/build/esm/lib/Security2/Extension.d.ts.map +1 -1
  329. package/build/esm/lib/Security2/Extension.js +207 -123
  330. package/build/esm/lib/Security2/Extension.js.map +1 -1
  331. package/package.json +6 -6
@@ -34,13 +34,45 @@ var import_CommandClass = require("../lib/CommandClass.js");
34
34
  var import_CommandClassDecorators = require("../lib/CommandClassDecorators.js");
35
35
  var import_Values = require("../lib/Values.js");
36
36
  var import_Types = require("../lib/_Types.js");
37
- var __decorate = function(decorators, target, key, desc) {
38
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
39
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
40
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
41
- return c > 3 && r && Object.defineProperty(target, key, r), r;
37
+ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
38
+ function accept(f) {
39
+ if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
40
+ return f;
41
+ }
42
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
43
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
44
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
45
+ var _, done = false;
46
+ for (var i = decorators.length - 1; i >= 0; i--) {
47
+ var context = {};
48
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
49
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
50
+ context.addInitializer = function(f) {
51
+ if (done) throw new TypeError("Cannot add initializers after decoration has completed");
52
+ extraInitializers.push(accept(f || null));
53
+ };
54
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
55
+ if (kind === "accessor") {
56
+ if (result === void 0) continue;
57
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
58
+ if (_ = accept(result.get)) descriptor.get = _;
59
+ if (_ = accept(result.set)) descriptor.set = _;
60
+ if (_ = accept(result.init)) initializers.unshift(_);
61
+ } else if (_ = accept(result)) {
62
+ if (kind === "field") initializers.unshift(_);
63
+ else descriptor[key] = _;
64
+ }
65
+ }
66
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
67
+ done = true;
68
+ };
69
+ var __runInitializers = function(thisArg, initializers, value) {
70
+ var useValue = arguments.length > 2;
71
+ for (var i = 0; i < initializers.length; i++) {
72
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
73
+ }
74
+ return useValue ? value : void 0;
42
75
  };
43
- var LanguageCCReport_1;
44
76
  function __assertType(argName, typeName, boundHasError) {
45
77
  const { ZWaveError: ZWaveError2, ZWaveErrorCodes: ZWaveErrorCodes2 } = require("@zwave-js/core");
46
78
  if (boundHasError()) {
@@ -79,182 +111,247 @@ const LanguageCCValues = Object.freeze({
79
111
  })
80
112
  })
81
113
  });
82
- let LanguageCCAPI = class LanguageCCAPI2 extends import_API.CCAPI {
83
- supportsCommand(cmd) {
84
- switch (cmd) {
85
- case import_Types.LanguageCommand.Get:
86
- return this.isSinglecast();
87
- case import_Types.LanguageCommand.Set:
88
- return true;
114
+ let LanguageCCAPI = (() => {
115
+ let _classDecorators = [(0, import_CommandClassDecorators.API)(import_safe.CommandClasses.Language)];
116
+ let _classDescriptor;
117
+ let _classExtraInitializers = [];
118
+ let _classThis;
119
+ let _classSuper = import_API.CCAPI;
120
+ var LanguageCCAPI2 = class extends _classSuper {
121
+ static {
122
+ _classThis = this;
89
123
  }
90
- return super.supportsCommand(cmd);
91
- }
92
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
93
- async get() {
94
- this.assertSupportsCommand(import_Types.LanguageCommand, import_Types.LanguageCommand.Get);
95
- const cc = new LanguageCCGet({
96
- nodeId: this.endpoint.nodeId,
97
- endpointIndex: this.endpoint.index
98
- });
99
- const response = await this.host.sendCommand(cc, this.commandOptions);
100
- if (response) {
101
- return (0, import_safe3.pick)(response, ["language", "country"]);
124
+ static {
125
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
126
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
127
+ LanguageCCAPI2 = _classThis = _classDescriptor.value;
128
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
129
+ __runInitializers(_classThis, _classExtraInitializers);
102
130
  }
103
- }
104
- async set(language, country) {
105
- __assertType("language", "string", __assertType__string.bind(void 0, language));
106
- __assertType("country", "(optional) string", __assertType__optional_string.bind(void 0, country));
107
- this.assertSupportsCommand(import_Types.LanguageCommand, import_Types.LanguageCommand.Set);
108
- const cc = new LanguageCCSet({
109
- nodeId: this.endpoint.nodeId,
110
- endpointIndex: this.endpoint.index,
111
- language,
112
- country
113
- });
114
- return this.host.sendCommand(cc, this.commandOptions);
115
- }
116
- };
117
- LanguageCCAPI = __decorate([
118
- (0, import_CommandClassDecorators.API)(import_safe.CommandClasses.Language)
119
- ], LanguageCCAPI);
120
- let LanguageCC = class LanguageCC2 extends import_CommandClass.CommandClass {
121
- async interview(ctx) {
122
- const node = this.getNode(ctx);
123
- ctx.logNode(node.id, {
124
- endpoint: this.endpointIndex,
125
- message: `Interviewing ${this.ccName}...`,
126
- direction: "none"
127
- });
128
- await this.refreshValues(ctx);
129
- this.setInterviewComplete(ctx, true);
130
- }
131
- async refreshValues(ctx) {
132
- const node = this.getNode(ctx);
133
- const endpoint = this.getEndpoint(ctx);
134
- const api = import_API.CCAPI.create(import_safe.CommandClasses.Language, ctx, endpoint).withOptions({
135
- priority: import_safe.MessagePriority.NodeQuery
136
- });
137
- ctx.logNode(node.id, {
138
- message: "requesting language setting...",
139
- direction: "outbound"
140
- });
141
- const resp = await api.get();
142
- if (resp) {
143
- const { language, country } = resp;
144
- const logMessage = `received current language setting: ${language}${country != void 0 ? `-${country}` : ""}`;
131
+ supportsCommand(cmd) {
132
+ switch (cmd) {
133
+ case import_Types.LanguageCommand.Get:
134
+ return this.isSinglecast();
135
+ case import_Types.LanguageCommand.Set:
136
+ return true;
137
+ }
138
+ return super.supportsCommand(cmd);
139
+ }
140
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
141
+ async get() {
142
+ this.assertSupportsCommand(import_Types.LanguageCommand, import_Types.LanguageCommand.Get);
143
+ const cc = new LanguageCCGet({
144
+ nodeId: this.endpoint.nodeId,
145
+ endpointIndex: this.endpoint.index
146
+ });
147
+ const response = await this.host.sendCommand(cc, this.commandOptions);
148
+ if (response) {
149
+ return (0, import_safe3.pick)(response, ["language", "country"]);
150
+ }
151
+ }
152
+ async set(language, country) {
153
+ __assertType("language", "string", __assertType__string.bind(void 0, language));
154
+ __assertType("country", "(optional) string", __assertType__optional_string.bind(void 0, country));
155
+ this.assertSupportsCommand(import_Types.LanguageCommand, import_Types.LanguageCommand.Set);
156
+ const cc = new LanguageCCSet({
157
+ nodeId: this.endpoint.nodeId,
158
+ endpointIndex: this.endpoint.index,
159
+ language,
160
+ country
161
+ });
162
+ return this.host.sendCommand(cc, this.commandOptions);
163
+ }
164
+ };
165
+ return LanguageCCAPI2 = _classThis;
166
+ })();
167
+ let LanguageCC = (() => {
168
+ let _classDecorators = [(0, import_CommandClassDecorators.commandClass)(import_safe.CommandClasses.Language), (0, import_CommandClassDecorators.implementedVersion)(1), (0, import_CommandClassDecorators.ccValues)(LanguageCCValues)];
169
+ let _classDescriptor;
170
+ let _classExtraInitializers = [];
171
+ let _classThis;
172
+ let _classSuper = import_CommandClass.CommandClass;
173
+ var LanguageCC2 = class extends _classSuper {
174
+ static {
175
+ _classThis = this;
176
+ }
177
+ static {
178
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
179
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
180
+ LanguageCC2 = _classThis = _classDescriptor.value;
181
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
182
+ __runInitializers(_classThis, _classExtraInitializers);
183
+ }
184
+ async interview(ctx) {
185
+ const node = this.getNode(ctx);
145
186
  ctx.logNode(node.id, {
146
- message: logMessage,
147
- direction: "inbound"
187
+ endpoint: this.endpointIndex,
188
+ message: `Interviewing ${this.ccName}...`,
189
+ direction: "none"
148
190
  });
191
+ await this.refreshValues(ctx);
192
+ this.setInterviewComplete(ctx, true);
149
193
  }
150
- }
151
- };
152
- LanguageCC = __decorate([
153
- (0, import_CommandClassDecorators.commandClass)(import_safe.CommandClasses.Language),
154
- (0, import_CommandClassDecorators.implementedVersion)(1),
155
- (0, import_CommandClassDecorators.ccValues)(LanguageCCValues)
156
- ], LanguageCC);
157
- let LanguageCCSet = class LanguageCCSet2 extends LanguageCC {
158
- constructor(options) {
159
- super(options);
160
- this._language = options.language;
161
- this._country = options.country;
162
- }
163
- static from(_raw, _ctx) {
164
- throw new import_safe.ZWaveError(`${this.name}: deserialization not implemented`, import_safe.ZWaveErrorCodes.Deserialization_NotImplemented);
165
- }
166
- _language;
167
- get language() {
168
- return this._language;
169
- }
170
- set language(value) {
171
- if (value.length !== 3 || value.toLowerCase() !== value) {
172
- throw new import_safe.ZWaveError("language must be a 3 digit (lowercase) code according to ISO 639-2", import_safe.ZWaveErrorCodes.Argument_Invalid);
194
+ async refreshValues(ctx) {
195
+ const node = this.getNode(ctx);
196
+ const endpoint = this.getEndpoint(ctx);
197
+ const api = import_API.CCAPI.create(import_safe.CommandClasses.Language, ctx, endpoint).withOptions({
198
+ priority: import_safe.MessagePriority.NodeQuery
199
+ });
200
+ ctx.logNode(node.id, {
201
+ message: "requesting language setting...",
202
+ direction: "outbound"
203
+ });
204
+ const resp = await api.get();
205
+ if (resp) {
206
+ const { language, country } = resp;
207
+ const logMessage = `received current language setting: ${language}${country != void 0 ? `-${country}` : ""}`;
208
+ ctx.logNode(node.id, {
209
+ message: logMessage,
210
+ direction: "inbound"
211
+ });
212
+ }
173
213
  }
174
- this._language = value;
175
- }
176
- _country;
177
- get country() {
178
- return this._country;
179
- }
180
- set country(value) {
181
- if (typeof value === "string" && (value.length !== 2 || value.toUpperCase() !== value)) {
182
- throw new import_safe.ZWaveError("country must be a 2 digit (uppercase) code according to ISO 3166-1", import_safe.ZWaveErrorCodes.Argument_Invalid);
214
+ };
215
+ return LanguageCC2 = _classThis;
216
+ })();
217
+ let LanguageCCSet = (() => {
218
+ let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.LanguageCommand.Set), (0, import_CommandClassDecorators.useSupervision)()];
219
+ let _classDescriptor;
220
+ let _classExtraInitializers = [];
221
+ let _classThis;
222
+ let _classSuper = LanguageCC;
223
+ var LanguageCCSet2 = class extends _classSuper {
224
+ static {
225
+ _classThis = this;
183
226
  }
184
- this._country = value;
185
- }
186
- serialize(ctx) {
187
- this.payload = import_safe2.Bytes.from(this._language, "ascii");
188
- if (this._country) {
189
- this.payload = import_safe2.Bytes.concat([
190
- this.payload,
191
- import_safe2.Bytes.from(this._country, "ascii")
192
- ]);
227
+ static {
228
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
229
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
230
+ LanguageCCSet2 = _classThis = _classDescriptor.value;
231
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
232
+ __runInitializers(_classThis, _classExtraInitializers);
193
233
  }
194
- return super.serialize(ctx);
195
- }
196
- toLogEntry(ctx) {
197
- const message = { language: this.language };
198
- if (this._country != void 0) {
199
- message.country = this._country;
234
+ constructor(options) {
235
+ super(options);
236
+ this._language = options.language;
237
+ this._country = options.country;
200
238
  }
201
- return {
202
- ...super.toLogEntry(ctx),
203
- message
204
- };
205
- }
206
- };
207
- LanguageCCSet = __decorate([
208
- (0, import_CommandClassDecorators.CCCommand)(import_Types.LanguageCommand.Set),
209
- (0, import_CommandClassDecorators.useSupervision)()
210
- ], LanguageCCSet);
211
- let LanguageCCReport = LanguageCCReport_1 = class LanguageCCReport2 extends LanguageCC {
212
- constructor(options) {
213
- super(options);
214
- this.language = options.language;
215
- this.country = options.country;
216
- }
217
- static from(raw, ctx) {
218
- (0, import_safe.validatePayload)(raw.payload.length >= 3);
219
- const language = raw.payload.subarray(0, 3).toString("ascii");
220
- let country;
221
- if (raw.payload.length >= 5) {
222
- country = raw.payload.subarray(3, 5).toString("ascii");
239
+ static from(_raw, _ctx) {
240
+ throw new import_safe.ZWaveError(`${this.name}: deserialization not implemented`, import_safe.ZWaveErrorCodes.Deserialization_NotImplemented);
223
241
  }
224
- return new LanguageCCReport_1({
225
- nodeId: ctx.sourceNodeId,
226
- language,
227
- country
228
- });
229
- }
230
- language;
231
- country;
232
- toLogEntry(ctx) {
233
- const message = { language: this.language };
234
- if (this.country != void 0) {
235
- message.country = this.country;
242
+ _language;
243
+ get language() {
244
+ return this._language;
236
245
  }
237
- return {
238
- ...super.toLogEntry(ctx),
239
- message
240
- };
241
- }
242
- };
243
- __decorate([
244
- (0, import_CommandClassDecorators.ccValue)(LanguageCCValues.language)
245
- ], LanguageCCReport.prototype, "language", void 0);
246
- __decorate([
247
- (0, import_CommandClassDecorators.ccValue)(LanguageCCValues.country)
248
- ], LanguageCCReport.prototype, "country", void 0);
249
- LanguageCCReport = LanguageCCReport_1 = __decorate([
250
- (0, import_CommandClassDecorators.CCCommand)(import_Types.LanguageCommand.Report)
251
- ], LanguageCCReport);
252
- let LanguageCCGet = class LanguageCCGet2 extends LanguageCC {
253
- };
254
- LanguageCCGet = __decorate([
255
- (0, import_CommandClassDecorators.CCCommand)(import_Types.LanguageCommand.Get),
256
- (0, import_CommandClassDecorators.expectedCCResponse)(LanguageCCReport)
257
- ], LanguageCCGet);
246
+ set language(value) {
247
+ if (value.length !== 3 || value.toLowerCase() !== value) {
248
+ throw new import_safe.ZWaveError("language must be a 3 digit (lowercase) code according to ISO 639-2", import_safe.ZWaveErrorCodes.Argument_Invalid);
249
+ }
250
+ this._language = value;
251
+ }
252
+ _country;
253
+ get country() {
254
+ return this._country;
255
+ }
256
+ set country(value) {
257
+ if (typeof value === "string" && (value.length !== 2 || value.toUpperCase() !== value)) {
258
+ throw new import_safe.ZWaveError("country must be a 2 digit (uppercase) code according to ISO 3166-1", import_safe.ZWaveErrorCodes.Argument_Invalid);
259
+ }
260
+ this._country = value;
261
+ }
262
+ serialize(ctx) {
263
+ this.payload = import_safe2.Bytes.from(this._language, "ascii");
264
+ if (this._country) {
265
+ this.payload = import_safe2.Bytes.concat([
266
+ this.payload,
267
+ import_safe2.Bytes.from(this._country, "ascii")
268
+ ]);
269
+ }
270
+ return super.serialize(ctx);
271
+ }
272
+ toLogEntry(ctx) {
273
+ const message = { language: this.language };
274
+ if (this._country != void 0) {
275
+ message.country = this._country;
276
+ }
277
+ return {
278
+ ...super.toLogEntry(ctx),
279
+ message
280
+ };
281
+ }
282
+ };
283
+ return LanguageCCSet2 = _classThis;
284
+ })();
285
+ let LanguageCCReport = (() => {
286
+ let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.LanguageCommand.Report), (0, import_CommandClassDecorators.ccValueProperty)("language", LanguageCCValues.language), (0, import_CommandClassDecorators.ccValueProperty)("country", LanguageCCValues.country)];
287
+ let _classDescriptor;
288
+ let _classExtraInitializers = [];
289
+ let _classThis;
290
+ let _classSuper = LanguageCC;
291
+ var LanguageCCReport2 = class extends _classSuper {
292
+ static {
293
+ _classThis = this;
294
+ }
295
+ static {
296
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
297
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
298
+ LanguageCCReport2 = _classThis = _classDescriptor.value;
299
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
300
+ __runInitializers(_classThis, _classExtraInitializers);
301
+ }
302
+ constructor(options) {
303
+ super(options);
304
+ this.language = options.language;
305
+ this.country = options.country;
306
+ }
307
+ static from(raw, ctx) {
308
+ (0, import_safe.validatePayload)(raw.payload.length >= 3);
309
+ const language = raw.payload.subarray(0, 3).toString("ascii");
310
+ let country;
311
+ if (raw.payload.length >= 5) {
312
+ country = raw.payload.subarray(3, 5).toString("ascii");
313
+ }
314
+ return new this({
315
+ nodeId: ctx.sourceNodeId,
316
+ language,
317
+ country
318
+ });
319
+ }
320
+ language;
321
+ country;
322
+ toLogEntry(ctx) {
323
+ const message = { language: this.language };
324
+ if (this.country != void 0) {
325
+ message.country = this.country;
326
+ }
327
+ return {
328
+ ...super.toLogEntry(ctx),
329
+ message
330
+ };
331
+ }
332
+ };
333
+ return LanguageCCReport2 = _classThis;
334
+ })();
335
+ let LanguageCCGet = (() => {
336
+ let _classDecorators = [(0, import_CommandClassDecorators.CCCommand)(import_Types.LanguageCommand.Get), (0, import_CommandClassDecorators.expectedCCResponse)(LanguageCCReport)];
337
+ let _classDescriptor;
338
+ let _classExtraInitializers = [];
339
+ let _classThis;
340
+ let _classSuper = LanguageCC;
341
+ var LanguageCCGet2 = class extends _classSuper {
342
+ static {
343
+ _classThis = this;
344
+ }
345
+ static {
346
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
347
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
348
+ LanguageCCGet2 = _classThis = _classDescriptor.value;
349
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
350
+ __runInitializers(_classThis, _classExtraInitializers);
351
+ }
352
+ };
353
+ return LanguageCCGet2 = _classThis;
354
+ })();
258
355
  // Annotate the CommonJS export names for ESM import in node:
259
356
  0 && (module.exports = {
260
357
  LanguageCC,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/cc/LanguageCC.ts"],
4
- "sourcesContent": ["import type {\n\tMessageOrCCLogEntry,\n\tMessageRecord,\n\tSupervisionResult,\n\tWithAddress,\n} from \"@zwave-js/core/safe\";\nimport {\n\tCommandClasses,\n\ttype MaybeNotKnown,\n\tMessagePriority,\n\tValueMetadata,\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 { pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { CCAPI } from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype RefreshValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValue,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { LanguageCommand } from \"../lib/_Types.js\";\n\nexport const LanguageCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses.Language, {\n\t\t...V.staticProperty(\n\t\t\t\"language\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Language code\",\n\t\t\t} as const,\n\t\t),\n\n\t\t...V.staticProperty(\n\t\t\t\"country\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Country code\",\n\t\t\t} as const,\n\t\t),\n\t}),\n});\n\n// @noSetValueAPI It doesn't make sense\n\n@API(CommandClasses.Language)\nexport class LanguageCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: LanguageCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase LanguageCommand.Get:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase LanguageCommand.Set:\n\t\t\t\treturn true; // This is mandatory\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async get() {\n\t\tthis.assertSupportsCommand(LanguageCommand, LanguageCommand.Get);\n\n\t\tconst cc = new LanguageCCGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<LanguageCCReport>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"language\", \"country\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async set(\n\t\tlanguage: string,\n\t\tcountry?: string,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(LanguageCommand, LanguageCommand.Set);\n\n\t\tconst cc = new LanguageCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tlanguage,\n\t\t\tcountry,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n}\n\n@commandClass(CommandClasses.Language)\n@implementedVersion(1)\n@ccValues(LanguageCCValues)\nexport class LanguageCC extends CommandClass {\n\tdeclare ccCommand: LanguageCommand;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\tawait this.refreshValues(ctx);\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Language,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: \"requesting language setting...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst resp = await api.get();\n\t\tif (resp) {\n\t\t\tconst { language, country } = resp;\n\t\t\tconst logMessage = `received current language setting: ${language}${\n\t\t\t\tcountry != undefined ? `-${country}` : \"\"\n\t\t\t}`;\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\t}\n}\n\n// @publicAPI\nexport interface LanguageCCSetOptions {\n\tlanguage: string;\n\tcountry?: string;\n}\n\n@CCCommand(LanguageCommand.Set)\n@useSupervision()\nexport class LanguageCCSet extends LanguageCC {\n\tpublic constructor(\n\t\toptions: WithAddress<LanguageCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\t// Populate properties from options object\n\t\tthis._language = options.language;\n\t\tthis._country = options.country;\n\t}\n\n\tpublic static from(_raw: CCRaw, _ctx: CCParsingContext): LanguageCCSet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new LanguageCCSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tprivate _language: string;\n\tpublic get language(): string {\n\t\treturn this._language;\n\t}\n\tpublic set language(value: string) {\n\t\tif (value.length !== 3 || value.toLowerCase() !== value) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t\"language must be a 3 digit (lowercase) code according to ISO 639-2\",\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis._language = value;\n\t}\n\n\tprivate _country: MaybeNotKnown<string>;\n\tpublic get country(): MaybeNotKnown<string> {\n\t\treturn this._country;\n\t}\n\tpublic set country(value: MaybeNotKnown<string>) {\n\t\tif (\n\t\t\ttypeof value === \"string\"\n\t\t\t&& (value.length !== 2 || value.toUpperCase() !== value)\n\t\t) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t\"country must be a 2 digit (uppercase) code according to ISO 3166-1\",\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis._country = value;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from(this._language, \"ascii\");\n\t\tif (this._country) {\n\t\t\tthis.payload = Bytes.concat([\n\t\t\t\tthis.payload,\n\t\t\t\tBytes.from(this._country, \"ascii\"),\n\t\t\t]);\n\t\t}\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = { language: this.language };\n\t\tif (this._country != undefined) {\n\t\t\tmessage.country = this._country;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface LanguageCCReportOptions {\n\tlanguage: string;\n\tcountry: MaybeNotKnown<string>;\n}\n\n@CCCommand(LanguageCommand.Report)\nexport class LanguageCCReport extends LanguageCC {\n\tpublic constructor(\n\t\toptions: WithAddress<LanguageCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.language = options.language;\n\t\tthis.country = options.country;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): LanguageCCReport {\n\t\tvalidatePayload(raw.payload.length >= 3);\n\t\tconst language = raw.payload.subarray(0, 3).toString(\"ascii\");\n\t\tlet country: MaybeNotKnown<string>;\n\t\tif (raw.payload.length >= 5) {\n\t\t\tcountry = raw.payload.subarray(3, 5).toString(\"ascii\");\n\t\t}\n\n\t\treturn new LanguageCCReport({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tlanguage,\n\t\t\tcountry,\n\t\t});\n\t}\n\n\t@ccValue(LanguageCCValues.language)\n\tpublic readonly language: string;\n\n\t@ccValue(LanguageCCValues.country)\n\tpublic readonly country: MaybeNotKnown<string>;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = { language: this.language };\n\t\tif (this.country != undefined) {\n\t\t\tmessage.country = this.country;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(LanguageCommand.Get)\n@expectedCCResponse(LanguageCCReport)\nexport class LanguageCCGet extends LanguageCC {}\n"],
5
- "mappings": "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",
6
- "names": ["import_safe", "LanguageCCAPI", "LanguageCC", "LanguageCCSet", "LanguageCCReport", "LanguageCCGet"]
4
+ "sourcesContent": ["import type {\n\tMessageOrCCLogEntry,\n\tMessageRecord,\n\tSupervisionResult,\n\tWithAddress,\n} from \"@zwave-js/core/safe\";\nimport {\n\tCommandClasses,\n\ttype MaybeNotKnown,\n\tMessagePriority,\n\tValueMetadata,\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 { pick } from \"@zwave-js/shared/safe\";\nimport { validateArgs } from \"@zwave-js/transformers\";\nimport { CCAPI } from \"../lib/API.js\";\nimport {\n\ttype CCRaw,\n\tCommandClass,\n\ttype InterviewContext,\n\ttype RefreshValuesContext,\n} from \"../lib/CommandClass.js\";\nimport {\n\tAPI,\n\tCCCommand,\n\tccValueProperty,\n\tccValues,\n\tcommandClass,\n\texpectedCCResponse,\n\timplementedVersion,\n\tuseSupervision,\n} from \"../lib/CommandClassDecorators.js\";\nimport { V } from \"../lib/Values.js\";\nimport { LanguageCommand } from \"../lib/_Types.js\";\n\nexport const LanguageCCValues = Object.freeze({\n\t...V.defineStaticCCValues(CommandClasses.Language, {\n\t\t...V.staticProperty(\n\t\t\t\"language\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Language code\",\n\t\t\t} as const,\n\t\t),\n\n\t\t...V.staticProperty(\n\t\t\t\"country\",\n\t\t\t{\n\t\t\t\t...ValueMetadata.ReadOnlyString,\n\t\t\t\tlabel: \"Country code\",\n\t\t\t} as const,\n\t\t),\n\t}),\n});\n\n// @noSetValueAPI It doesn't make sense\n\n@API(CommandClasses.Language)\nexport class LanguageCCAPI extends CCAPI {\n\tpublic supportsCommand(cmd: LanguageCommand): MaybeNotKnown<boolean> {\n\t\tswitch (cmd) {\n\t\t\tcase LanguageCommand.Get:\n\t\t\t\treturn this.isSinglecast();\n\t\t\tcase LanguageCommand.Set:\n\t\t\t\treturn true; // This is mandatory\n\t\t}\n\t\treturn super.supportsCommand(cmd);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\tpublic async get() {\n\t\tthis.assertSupportsCommand(LanguageCommand, LanguageCommand.Get);\n\n\t\tconst cc = new LanguageCCGet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t});\n\t\tconst response = await this.host.sendCommand<LanguageCCReport>(\n\t\t\tcc,\n\t\t\tthis.commandOptions,\n\t\t);\n\t\tif (response) {\n\t\t\treturn pick(response, [\"language\", \"country\"]);\n\t\t}\n\t}\n\n\t@validateArgs()\n\tpublic async set(\n\t\tlanguage: string,\n\t\tcountry?: string,\n\t): Promise<SupervisionResult | undefined> {\n\t\tthis.assertSupportsCommand(LanguageCommand, LanguageCommand.Set);\n\n\t\tconst cc = new LanguageCCSet({\n\t\t\tnodeId: this.endpoint.nodeId,\n\t\t\tendpointIndex: this.endpoint.index,\n\t\t\tlanguage,\n\t\t\tcountry,\n\t\t});\n\t\treturn this.host.sendCommand(cc, this.commandOptions);\n\t}\n}\n\n@commandClass(CommandClasses.Language)\n@implementedVersion(1)\n@ccValues(LanguageCCValues)\nexport class LanguageCC extends CommandClass {\n\tdeclare ccCommand: LanguageCommand;\n\n\tpublic async interview(\n\t\tctx: InterviewContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\n\t\tctx.logNode(node.id, {\n\t\t\tendpoint: this.endpointIndex,\n\t\t\tmessage: `Interviewing ${this.ccName}...`,\n\t\t\tdirection: \"none\",\n\t\t});\n\n\t\tawait this.refreshValues(ctx);\n\n\t\t// Remember that the interview is complete\n\t\tthis.setInterviewComplete(ctx, true);\n\t}\n\n\tpublic async refreshValues(\n\t\tctx: RefreshValuesContext,\n\t): Promise<void> {\n\t\tconst node = this.getNode(ctx)!;\n\t\tconst endpoint = this.getEndpoint(ctx)!;\n\t\tconst api = CCAPI.create(\n\t\t\tCommandClasses.Language,\n\t\t\tctx,\n\t\t\tendpoint,\n\t\t).withOptions({\n\t\t\tpriority: MessagePriority.NodeQuery,\n\t\t});\n\n\t\tctx.logNode(node.id, {\n\t\t\tmessage: \"requesting language setting...\",\n\t\t\tdirection: \"outbound\",\n\t\t});\n\t\tconst resp = await api.get();\n\t\tif (resp) {\n\t\t\tconst { language, country } = resp;\n\t\t\tconst logMessage = `received current language setting: ${language}${\n\t\t\t\tcountry != undefined ? `-${country}` : \"\"\n\t\t\t}`;\n\t\t\tctx.logNode(node.id, {\n\t\t\t\tmessage: logMessage,\n\t\t\t\tdirection: \"inbound\",\n\t\t\t});\n\t\t}\n\t}\n}\n\n// @publicAPI\nexport interface LanguageCCSetOptions {\n\tlanguage: string;\n\tcountry?: string;\n}\n\n@CCCommand(LanguageCommand.Set)\n@useSupervision()\nexport class LanguageCCSet extends LanguageCC {\n\tpublic constructor(\n\t\toptions: WithAddress<LanguageCCSetOptions>,\n\t) {\n\t\tsuper(options);\n\t\t// Populate properties from options object\n\t\tthis._language = options.language;\n\t\tthis._country = options.country;\n\t}\n\n\tpublic static from(_raw: CCRaw, _ctx: CCParsingContext): LanguageCCSet {\n\t\t// TODO: Deserialize payload\n\t\tthrow new ZWaveError(\n\t\t\t`${this.name}: deserialization not implemented`,\n\t\t\tZWaveErrorCodes.Deserialization_NotImplemented,\n\t\t);\n\n\t\t// return new LanguageCCSet({\n\t\t// \tnodeId: ctx.sourceNodeId,\n\t\t// });\n\t}\n\n\tprivate _language: string;\n\tpublic get language(): string {\n\t\treturn this._language;\n\t}\n\tpublic set language(value: string) {\n\t\tif (value.length !== 3 || value.toLowerCase() !== value) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t\"language must be a 3 digit (lowercase) code according to ISO 639-2\",\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis._language = value;\n\t}\n\n\tprivate _country: MaybeNotKnown<string>;\n\tpublic get country(): MaybeNotKnown<string> {\n\t\treturn this._country;\n\t}\n\tpublic set country(value: MaybeNotKnown<string>) {\n\t\tif (\n\t\t\ttypeof value === \"string\"\n\t\t\t&& (value.length !== 2 || value.toUpperCase() !== value)\n\t\t) {\n\t\t\tthrow new ZWaveError(\n\t\t\t\t\"country must be a 2 digit (uppercase) code according to ISO 3166-1\",\n\t\t\t\tZWaveErrorCodes.Argument_Invalid,\n\t\t\t);\n\t\t}\n\t\tthis._country = value;\n\t}\n\n\tpublic serialize(ctx: CCEncodingContext): Bytes {\n\t\tthis.payload = Bytes.from(this._language, \"ascii\");\n\t\tif (this._country) {\n\t\t\tthis.payload = Bytes.concat([\n\t\t\t\tthis.payload,\n\t\t\t\tBytes.from(this._country, \"ascii\"),\n\t\t\t]);\n\t\t}\n\t\treturn super.serialize(ctx);\n\t}\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = { language: this.language };\n\t\tif (this._country != undefined) {\n\t\t\tmessage.country = this._country;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n// @publicAPI\nexport interface LanguageCCReportOptions {\n\tlanguage: string;\n\tcountry: MaybeNotKnown<string>;\n}\n\n@CCCommand(LanguageCommand.Report)\n@ccValueProperty(\"language\", LanguageCCValues.language)\n@ccValueProperty(\"country\", LanguageCCValues.country)\nexport class LanguageCCReport extends LanguageCC {\n\tpublic constructor(\n\t\toptions: WithAddress<LanguageCCReportOptions>,\n\t) {\n\t\tsuper(options);\n\t\tthis.language = options.language;\n\t\tthis.country = options.country;\n\t}\n\n\tpublic static from(raw: CCRaw, ctx: CCParsingContext): LanguageCCReport {\n\t\tvalidatePayload(raw.payload.length >= 3);\n\t\tconst language = raw.payload.subarray(0, 3).toString(\"ascii\");\n\t\tlet country: MaybeNotKnown<string>;\n\t\tif (raw.payload.length >= 5) {\n\t\t\tcountry = raw.payload.subarray(3, 5).toString(\"ascii\");\n\t\t}\n\n\t\treturn new this({\n\t\t\tnodeId: ctx.sourceNodeId,\n\t\t\tlanguage,\n\t\t\tcountry,\n\t\t});\n\t}\n\n\tpublic readonly language: string;\n\n\tpublic readonly country: MaybeNotKnown<string>;\n\n\tpublic toLogEntry(ctx?: GetValueDB): MessageOrCCLogEntry {\n\t\tconst message: MessageRecord = { language: this.language };\n\t\tif (this.country != undefined) {\n\t\t\tmessage.country = this.country;\n\t\t}\n\t\treturn {\n\t\t\t...super.toLogEntry(ctx),\n\t\t\tmessage,\n\t\t};\n\t}\n}\n\n@CCCommand(LanguageCommand.Get)\n@expectedCCResponse(LanguageCCReport)\nexport class LanguageCCGet extends LanguageCC {}\n"],
5
+ "mappings": "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",
6
+ "names": ["import_safe"]
7
7
  }