@zwave-js/cc 11.13.0 → 11.14.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.
- package/build/cc/AlarmSensorCC.d.ts +1 -1
- package/build/cc/AlarmSensorCC.d.ts.map +1 -1
- package/build/cc/AlarmSensorCC.js +4 -4
- package/build/cc/AlarmSensorCC.js.map +1 -1
- package/build/cc/AssociationCC.d.ts +2 -2
- package/build/cc/AssociationCC.d.ts.map +1 -1
- package/build/cc/AssociationCC.js +8 -6
- package/build/cc/AssociationCC.js.map +1 -1
- package/build/cc/AssociationGroupInfoCC.d.ts +1 -1
- package/build/cc/AssociationGroupInfoCC.d.ts.map +1 -1
- package/build/cc/AssociationGroupInfoCC.js +19 -18
- package/build/cc/AssociationGroupInfoCC.js.map +1 -1
- package/build/cc/BarrierOperatorCC.d.ts +2 -2
- package/build/cc/BarrierOperatorCC.d.ts.map +1 -1
- package/build/cc/BarrierOperatorCC.js +10 -7
- package/build/cc/BarrierOperatorCC.js.map +1 -1
- package/build/cc/BasicCC.d.ts +2 -2
- package/build/cc/BasicCC.d.ts.map +1 -1
- package/build/cc/BasicCC.js +12 -11
- package/build/cc/BasicCC.js.map +1 -1
- package/build/cc/BatteryCC.d.ts +1 -1
- package/build/cc/BatteryCC.d.ts.map +1 -1
- package/build/cc/BatteryCC.js +17 -16
- package/build/cc/BatteryCC.js.map +1 -1
- package/build/cc/BinarySensorCC.d.ts +1 -1
- package/build/cc/BinarySensorCC.d.ts.map +1 -1
- package/build/cc/BinarySensorCC.js +3 -3
- package/build/cc/BinarySensorCC.js.map +1 -1
- package/build/cc/BinarySwitchCC.d.ts +2 -2
- package/build/cc/BinarySwitchCC.d.ts.map +1 -1
- package/build/cc/BinarySwitchCC.js +4 -2
- package/build/cc/BinarySwitchCC.js.map +1 -1
- package/build/cc/CRC16CC.d.ts +1 -1
- package/build/cc/CRC16CC.d.ts.map +1 -1
- package/build/cc/CRC16CC.js +4 -4
- package/build/cc/CRC16CC.js.map +1 -1
- package/build/cc/CentralSceneCC.d.ts +2 -2
- package/build/cc/CentralSceneCC.d.ts.map +1 -1
- package/build/cc/CentralSceneCC.js +5 -5
- package/build/cc/CentralSceneCC.js.map +1 -1
- package/build/cc/ClimateControlScheduleCC.d.ts +2 -2
- package/build/cc/ClimateControlScheduleCC.d.ts.map +1 -1
- package/build/cc/ClimateControlScheduleCC.js +6 -6
- package/build/cc/ClimateControlScheduleCC.js.map +1 -1
- package/build/cc/ClockCC.d.ts +1 -1
- package/build/cc/ClockCC.d.ts.map +1 -1
- package/build/cc/ClockCC.js.map +1 -1
- package/build/cc/ColorSwitchCC.d.ts +3 -3
- package/build/cc/ColorSwitchCC.d.ts.map +1 -1
- package/build/cc/ColorSwitchCC.js +25 -22
- package/build/cc/ColorSwitchCC.js.map +1 -1
- package/build/cc/ConfigurationCC.d.ts +4 -4
- package/build/cc/ConfigurationCC.d.ts.map +1 -1
- package/build/cc/ConfigurationCC.js +91 -86
- package/build/cc/ConfigurationCC.js.map +1 -1
- package/build/cc/DeviceResetLocallyCC.d.ts.map +1 -1
- package/build/cc/DoorLockCC.d.ts +3 -3
- package/build/cc/DoorLockCC.d.ts.map +1 -1
- package/build/cc/DoorLockCC.js +15 -12
- package/build/cc/DoorLockCC.js.map +1 -1
- package/build/cc/DoorLockLoggingCC.d.ts +1 -1
- package/build/cc/DoorLockLoggingCC.d.ts.map +1 -1
- package/build/cc/DoorLockLoggingCC.js +4 -4
- package/build/cc/DoorLockLoggingCC.js.map +1 -1
- package/build/cc/EnergyProductionCC.d.ts +1 -1
- package/build/cc/EnergyProductionCC.d.ts.map +1 -1
- package/build/cc/EnergyProductionCC.js.map +1 -1
- package/build/cc/EntryControlCC.d.ts +2 -2
- package/build/cc/EntryControlCC.d.ts.map +1 -1
- package/build/cc/EntryControlCC.js +5 -6
- package/build/cc/EntryControlCC.js.map +1 -1
- package/build/cc/FirmwareUpdateMetaDataCC.d.ts +2 -2
- package/build/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -1
- package/build/cc/FirmwareUpdateMetaDataCC.js +16 -12
- package/build/cc/FirmwareUpdateMetaDataCC.js.map +1 -1
- package/build/cc/HumidityControlModeCC.d.ts +2 -2
- package/build/cc/HumidityControlModeCC.d.ts.map +1 -1
- package/build/cc/HumidityControlModeCC.js +2 -2
- package/build/cc/HumidityControlModeCC.js.map +1 -1
- package/build/cc/HumidityControlOperatingStateCC.d.ts.map +1 -1
- package/build/cc/HumidityControlOperatingStateCC.js +2 -2
- package/build/cc/HumidityControlOperatingStateCC.js.map +1 -1
- package/build/cc/HumidityControlSetpointCC.d.ts +3 -3
- package/build/cc/HumidityControlSetpointCC.d.ts.map +1 -1
- package/build/cc/HumidityControlSetpointCC.js +15 -13
- package/build/cc/HumidityControlSetpointCC.js.map +1 -1
- package/build/cc/InclusionControllerCC.d.ts +1 -1
- package/build/cc/InclusionControllerCC.d.ts.map +1 -1
- package/build/cc/IndicatorCC.d.ts +2 -2
- package/build/cc/IndicatorCC.d.ts.map +1 -1
- package/build/cc/IndicatorCC.js +38 -25
- package/build/cc/IndicatorCC.js.map +1 -1
- package/build/cc/IrrigationCC.d.ts +2 -2
- package/build/cc/IrrigationCC.d.ts.map +1 -1
- package/build/cc/IrrigationCC.js +48 -46
- package/build/cc/IrrigationCC.js.map +1 -1
- package/build/cc/LanguageCC.d.ts +1 -1
- package/build/cc/LanguageCC.d.ts.map +1 -1
- package/build/cc/LanguageCC.js +2 -2
- package/build/cc/LanguageCC.js.map +1 -1
- package/build/cc/LockCC.d.ts +2 -2
- package/build/cc/LockCC.d.ts.map +1 -1
- package/build/cc/LockCC.js.map +1 -1
- package/build/cc/ManufacturerProprietaryCC.d.ts +1 -1
- package/build/cc/ManufacturerProprietaryCC.d.ts.map +1 -1
- package/build/cc/ManufacturerProprietaryCC.js +9 -9
- package/build/cc/ManufacturerProprietaryCC.js.map +1 -1
- package/build/cc/ManufacturerSpecificCC.d.ts +1 -1
- package/build/cc/ManufacturerSpecificCC.d.ts.map +1 -1
- package/build/cc/ManufacturerSpecificCC.js +8 -9
- package/build/cc/ManufacturerSpecificCC.js.map +1 -1
- package/build/cc/MeterCC.d.ts +18 -14
- package/build/cc/MeterCC.d.ts.map +1 -1
- package/build/cc/MeterCC.js +102 -81
- package/build/cc/MeterCC.js.map +1 -1
- package/build/cc/MultiChannelAssociationCC.d.ts +2 -2
- package/build/cc/MultiChannelAssociationCC.d.ts.map +1 -1
- package/build/cc/MultiChannelAssociationCC.js +18 -16
- package/build/cc/MultiChannelAssociationCC.js.map +1 -1
- package/build/cc/MultiChannelCC.d.ts +2 -2
- package/build/cc/MultiChannelCC.d.ts.map +1 -1
- package/build/cc/MultiChannelCC.js +39 -33
- package/build/cc/MultiChannelCC.js.map +1 -1
- package/build/cc/MultiCommandCC.d.ts +1 -1
- package/build/cc/MultiCommandCC.d.ts.map +1 -1
- package/build/cc/MultiCommandCC.js +2 -2
- package/build/cc/MultiCommandCC.js.map +1 -1
- package/build/cc/MultilevelSensorCC.d.ts +1 -1
- package/build/cc/MultilevelSensorCC.d.ts.map +1 -1
- package/build/cc/MultilevelSensorCC.js +29 -26
- package/build/cc/MultilevelSensorCC.js.map +1 -1
- package/build/cc/MultilevelSwitchCC.d.ts +2 -2
- package/build/cc/MultilevelSwitchCC.d.ts.map +1 -1
- package/build/cc/MultilevelSwitchCC.js +20 -18
- package/build/cc/MultilevelSwitchCC.js.map +1 -1
- package/build/cc/NodeNamingCC.d.ts +2 -2
- package/build/cc/NodeNamingCC.d.ts.map +1 -1
- package/build/cc/NodeNamingCC.js.map +1 -1
- package/build/cc/NotificationCC.d.ts +1 -1
- package/build/cc/NotificationCC.d.ts.map +1 -1
- package/build/cc/NotificationCC.js +86 -77
- package/build/cc/NotificationCC.js.map +1 -1
- package/build/cc/PowerlevelCC.d.ts +1 -1
- package/build/cc/PowerlevelCC.d.ts.map +1 -1
- package/build/cc/PowerlevelCC.js.map +1 -1
- package/build/cc/ProtectionCC.d.ts +3 -3
- package/build/cc/ProtectionCC.d.ts.map +1 -1
- package/build/cc/ProtectionCC.js +4 -4
- package/build/cc/ProtectionCC.js.map +1 -1
- package/build/cc/SceneActivationCC.d.ts +1 -1
- package/build/cc/SceneActivationCC.d.ts.map +1 -1
- package/build/cc/SceneActivationCC.js.map +1 -1
- package/build/cc/SceneActuatorConfigurationCC.d.ts +2 -2
- package/build/cc/SceneActuatorConfigurationCC.d.ts.map +1 -1
- package/build/cc/SceneActuatorConfigurationCC.js +15 -12
- package/build/cc/SceneActuatorConfigurationCC.js.map +1 -1
- package/build/cc/SceneControllerConfigurationCC.d.ts +2 -2
- package/build/cc/SceneControllerConfigurationCC.d.ts.map +1 -1
- package/build/cc/SceneControllerConfigurationCC.js +21 -16
- package/build/cc/SceneControllerConfigurationCC.js.map +1 -1
- package/build/cc/ScheduleEntryLockCC.d.ts +2 -2
- package/build/cc/ScheduleEntryLockCC.d.ts.map +1 -1
- package/build/cc/ScheduleEntryLockCC.js +27 -11
- package/build/cc/ScheduleEntryLockCC.js.map +1 -1
- package/build/cc/Security2CC.d.ts +2 -2
- package/build/cc/Security2CC.d.ts.map +1 -1
- package/build/cc/Security2CC.js +59 -52
- package/build/cc/Security2CC.js.map +1 -1
- package/build/cc/SecurityCC.d.ts +1 -1
- package/build/cc/SecurityCC.d.ts.map +1 -1
- package/build/cc/SecurityCC.js +9 -7
- package/build/cc/SecurityCC.js.map +1 -1
- package/build/cc/SoundSwitchCC.d.ts +2 -2
- package/build/cc/SoundSwitchCC.d.ts.map +1 -1
- package/build/cc/SoundSwitchCC.js +4 -4
- package/build/cc/SoundSwitchCC.js.map +1 -1
- package/build/cc/SupervisionCC.d.ts +2 -2
- package/build/cc/SupervisionCC.d.ts.map +1 -1
- package/build/cc/SupervisionCC.js +17 -17
- package/build/cc/SupervisionCC.js.map +1 -1
- package/build/cc/ThermostatFanModeCC.d.ts +2 -2
- package/build/cc/ThermostatFanModeCC.d.ts.map +1 -1
- package/build/cc/ThermostatFanModeCC.js +2 -2
- package/build/cc/ThermostatFanModeCC.js.map +1 -1
- package/build/cc/ThermostatFanStateCC.d.ts.map +1 -1
- package/build/cc/ThermostatFanStateCC.js +2 -2
- package/build/cc/ThermostatFanStateCC.js.map +1 -1
- package/build/cc/ThermostatModeCC.d.ts +2 -2
- package/build/cc/ThermostatModeCC.d.ts.map +1 -1
- package/build/cc/ThermostatModeCC.js +14 -13
- package/build/cc/ThermostatModeCC.js.map +1 -1
- package/build/cc/ThermostatOperatingStateCC.d.ts.map +1 -1
- package/build/cc/ThermostatOperatingStateCC.js.map +1 -1
- package/build/cc/ThermostatSetbackCC.d.ts +2 -2
- package/build/cc/ThermostatSetbackCC.d.ts.map +1 -1
- package/build/cc/ThermostatSetbackCC.js +2 -2
- package/build/cc/ThermostatSetbackCC.js.map +1 -1
- package/build/cc/ThermostatSetpointCC.d.ts +2 -2
- package/build/cc/ThermostatSetpointCC.d.ts.map +1 -1
- package/build/cc/ThermostatSetpointCC.js +20 -7
- package/build/cc/ThermostatSetpointCC.js.map +1 -1
- package/build/cc/TimeCC.d.ts +1 -1
- package/build/cc/TimeCC.d.ts.map +1 -1
- package/build/cc/TimeCC.js.map +1 -1
- package/build/cc/TimeParametersCC.d.ts +2 -2
- package/build/cc/TimeParametersCC.d.ts.map +1 -1
- package/build/cc/TimeParametersCC.js +4 -2
- package/build/cc/TimeParametersCC.js.map +1 -1
- package/build/cc/TransportServiceCC.d.ts +1 -1
- package/build/cc/TransportServiceCC.d.ts.map +1 -1
- package/build/cc/TransportServiceCC.js +33 -31
- package/build/cc/TransportServiceCC.js.map +1 -1
- package/build/cc/UserCodeCC.d.ts +2 -2
- package/build/cc/UserCodeCC.d.ts.map +1 -1
- package/build/cc/UserCodeCC.js +32 -31
- package/build/cc/UserCodeCC.js.map +1 -1
- package/build/cc/VersionCC.d.ts +2 -2
- package/build/cc/VersionCC.d.ts.map +1 -1
- package/build/cc/VersionCC.js +2 -2
- package/build/cc/VersionCC.js.map +1 -1
- package/build/cc/WakeUpCC.d.ts +2 -2
- package/build/cc/WakeUpCC.d.ts.map +1 -1
- package/build/cc/WakeUpCC.js.map +1 -1
- package/build/cc/WindowCoveringCC.d.ts +3 -3
- package/build/cc/WindowCoveringCC.d.ts.map +1 -1
- package/build/cc/WindowCoveringCC.js +16 -15
- package/build/cc/WindowCoveringCC.js.map +1 -1
- package/build/cc/ZWavePlusCC.d.ts +1 -1
- package/build/cc/ZWavePlusCC.d.ts.map +1 -1
- package/build/cc/ZWaveProtocolCC.d.ts +3 -3
- package/build/cc/ZWaveProtocolCC.d.ts.map +1 -1
- package/build/cc/ZWaveProtocolCC.js +18 -5
- package/build/cc/ZWaveProtocolCC.js.map +1 -1
- package/build/cc/index.d.ts +3 -3
- package/build/cc/index.d.ts.map +1 -1
- package/build/cc/index.js.map +1 -1
- package/build/cc/manufacturerProprietary/FibaroCC.d.ts +2 -2
- package/build/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -1
- package/build/cc/manufacturerProprietary/FibaroCC.js +6 -6
- package/build/cc/manufacturerProprietary/FibaroCC.js.map +1 -1
- package/build/lib/API.d.ts +64 -64
- package/build/lib/API.d.ts.map +1 -1
- package/build/lib/API.js +19 -19
- package/build/lib/API.js.map +1 -1
- package/build/lib/CommandClass.d.ts +1 -1
- package/build/lib/CommandClass.d.ts.map +1 -1
- package/build/lib/CommandClass.js +41 -41
- package/build/lib/CommandClass.js.map +1 -1
- package/build/lib/CommandClassDecorators.d.ts.map +1 -1
- package/build/lib/CommandClassDecorators.js +2 -2
- package/build/lib/CommandClassDecorators.js.map +1 -1
- package/build/lib/EncapsulatingCommandClass.js +2 -2
- package/build/lib/EncapsulatingCommandClass.js.map +1 -1
- package/build/lib/Security2/Extension.d.ts.map +1 -1
- package/build/lib/Security2/Extension.js +7 -7
- package/build/lib/Security2/Extension.js.map +1 -1
- package/build/lib/Security2/shared.d.ts.map +1 -1
- package/build/lib/Security2/shared.js.map +1 -1
- package/build/lib/SetValueResult.d.ts.map +1 -1
- package/build/lib/SetValueResult.js +9 -9
- package/build/lib/SetValueResult.js.map +1 -1
- package/build/lib/Values.d.ts +1 -1
- package/build/lib/Values.d.ts.map +1 -1
- package/build/lib/Values.js +3 -3
- package/build/lib/Values.js.map +1 -1
- package/build/lib/_Types.d.ts +1 -1
- package/build/lib/_Types.d.ts.map +1 -1
- package/build/lib/_Types.js +4 -4
- package/build/lib/_Types.js.map +1 -1
- package/build/lib/serializers.d.ts.map +1 -1
- package/build/lib/serializers.js +4 -3
- package/build/lib/serializers.js.map +1 -1
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js +81 -77
- package/build/lib/utils.js.map +1 -1
- package/package.json +9 -12
package/build/cc/Security2CC.js
CHANGED
|
@@ -85,7 +85,8 @@ let Security2CCAPI = exports.Security2CCAPI = class Security2CCAPI extends API_1
|
|
|
85
85
|
await this.applHost.sendCommand(cc, {
|
|
86
86
|
...this.commandOptions,
|
|
87
87
|
// Seems we need these options or some nodes won't accept the nonce
|
|
88
|
-
transmitOptions: core_1.TransmitOptions.ACK
|
|
88
|
+
transmitOptions: core_1.TransmitOptions.ACK
|
|
89
|
+
| core_1.TransmitOptions.AutoRoute,
|
|
89
90
|
// Only try sending a nonce once
|
|
90
91
|
maxSendAttempts: 1,
|
|
91
92
|
// Nonce requests must be handled immediately
|
|
@@ -122,7 +123,8 @@ let Security2CCAPI = exports.Security2CCAPI = class Security2CCAPI extends API_1
|
|
|
122
123
|
await this.applHost.sendCommand(cc, {
|
|
123
124
|
...this.commandOptions,
|
|
124
125
|
// Seems we need these options or some nodes won't accept the nonce
|
|
125
|
-
transmitOptions: core_1.TransmitOptions.ACK
|
|
126
|
+
transmitOptions: core_1.TransmitOptions.ACK
|
|
127
|
+
| core_1.TransmitOptions.AutoRoute,
|
|
126
128
|
// Only try sending a nonce once
|
|
127
129
|
maxSendAttempts: 1,
|
|
128
130
|
// Nonce requests must be handled immediately
|
|
@@ -160,7 +162,8 @@ let Security2CCAPI = exports.Security2CCAPI = class Security2CCAPI extends API_1
|
|
|
160
162
|
await this.applHost.sendCommand(cc, {
|
|
161
163
|
...this.commandOptions,
|
|
162
164
|
// Seems we need these options or some nodes won't accept the nonce
|
|
163
|
-
transmitOptions: core_1.TransmitOptions.ACK
|
|
165
|
+
transmitOptions: core_1.TransmitOptions.ACK
|
|
166
|
+
| core_1.TransmitOptions.AutoRoute,
|
|
164
167
|
// Only try sending a nonce once
|
|
165
168
|
maxSendAttempts: 1,
|
|
166
169
|
// Nonce requests must be handled immediately
|
|
@@ -366,8 +369,8 @@ let Security2CC = exports.Security2CC = Security2CC_1 = class Security2CC extend
|
|
|
366
369
|
supportedCCs = await api.getSupportedCommands(secClass);
|
|
367
370
|
}
|
|
368
371
|
catch (e) {
|
|
369
|
-
if ((0, core_1.isZWaveError)(e)
|
|
370
|
-
e.code === core_1.ZWaveErrorCodes.Security2CC_CannotDecode) {
|
|
372
|
+
if ((0, core_1.isZWaveError)(e)
|
|
373
|
+
&& e.code === core_1.ZWaveErrorCodes.Security2CC_CannotDecode) {
|
|
371
374
|
// Either we were using a non-granted security class,
|
|
372
375
|
// or querying with the known highest security class had an issue
|
|
373
376
|
supportedCCs = undefined;
|
|
@@ -376,8 +379,8 @@ let Security2CC = exports.Security2CC = Security2CC_1 = class Security2CC extend
|
|
|
376
379
|
throw e;
|
|
377
380
|
}
|
|
378
381
|
}
|
|
379
|
-
if (supportedCCs == undefined
|
|
380
|
-
possibleSecurityClasses.length === 1) {
|
|
382
|
+
if (supportedCCs == undefined
|
|
383
|
+
&& possibleSecurityClasses.length === 1) {
|
|
381
384
|
if (attempts < MAX_ATTEMPTS) {
|
|
382
385
|
// We definitely know the highest security class
|
|
383
386
|
applHost.controllerLog.logNode(node.id, {
|
|
@@ -416,8 +419,8 @@ let Security2CC = exports.Security2CC = Security2CC_1 = class Security2CC extend
|
|
|
416
419
|
}
|
|
417
420
|
}
|
|
418
421
|
if (supportedCCs == undefined) {
|
|
419
|
-
if (endpoint.index === 0
|
|
420
|
-
possibleSecurityClasses.length > 1) {
|
|
422
|
+
if (endpoint.index === 0
|
|
423
|
+
&& possibleSecurityClasses.length > 1) {
|
|
421
424
|
// No supported commands found, mark the security class as not granted
|
|
422
425
|
// unless we were sure about the security class
|
|
423
426
|
node.setSecurityClass(secClass, false);
|
|
@@ -469,9 +472,9 @@ let Security2CC = exports.Security2CC = Security2CC_1 = class Security2CC extend
|
|
|
469
472
|
return false;
|
|
470
473
|
}
|
|
471
474
|
// S0, CRC16, Transport Service -> no S2 encapsulation
|
|
472
|
-
if (cc instanceof SecurityCC_1.SecurityCC
|
|
473
|
-
cc instanceof CRC16CC_1.CRC16CC
|
|
474
|
-
cc instanceof TransportServiceCC_1.TransportServiceCC) {
|
|
475
|
+
if (cc instanceof SecurityCC_1.SecurityCC
|
|
476
|
+
|| cc instanceof CRC16CC_1.CRC16CC
|
|
477
|
+
|| cc instanceof TransportServiceCC_1.TransportServiceCC) {
|
|
475
478
|
return false;
|
|
476
479
|
}
|
|
477
480
|
// S2: check command
|
|
@@ -529,8 +532,8 @@ let Security2CC = exports.Security2CC = Security2CC_1 = class Security2CC extend
|
|
|
529
532
|
});
|
|
530
533
|
// Copy the encapsulation flags from the encapsulated command
|
|
531
534
|
// but omit Security, since we're doing that right now
|
|
532
|
-
ret.encapsulationFlags =
|
|
533
|
-
|
|
535
|
+
ret.encapsulationFlags = cc.encapsulationFlags
|
|
536
|
+
& ~safe_1.EncapsulationFlags.Security;
|
|
534
537
|
return ret;
|
|
535
538
|
}
|
|
536
539
|
};
|
|
@@ -583,7 +586,8 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
583
586
|
while (true) {
|
|
584
587
|
// we need to read at least the length byte
|
|
585
588
|
(0, core_1.validatePayload)(buffer.length >= offset + 1);
|
|
586
|
-
const extensionLength = Extension_1.Security2Extension
|
|
589
|
+
const extensionLength = Extension_1.Security2Extension
|
|
590
|
+
.getExtensionLength(buffer.slice(offset));
|
|
587
591
|
// Parse the extension
|
|
588
592
|
const ext = Extension_1.Security2Extension.from(buffer.slice(offset, offset + extensionLength));
|
|
589
593
|
if (!(0, Extension_1.isValidExtension)(ext)) {
|
|
@@ -600,8 +604,8 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
600
604
|
parseExtensions(this.payload);
|
|
601
605
|
const ctx = (() => {
|
|
602
606
|
const multicastGroupId = this.getMulticastGroupId();
|
|
603
|
-
if (options.frameType === "multicast"
|
|
604
|
-
options.frameType === "broadcast") {
|
|
607
|
+
if (options.frameType === "multicast"
|
|
608
|
+
|| options.frameType === "broadcast") {
|
|
605
609
|
if (multicastGroupId == undefined) {
|
|
606
610
|
throw core_1.validatePayload.fail("Multicast frames without MGRP extension");
|
|
607
611
|
}
|
|
@@ -632,7 +636,8 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
632
636
|
const ciphertext = this.payload.slice(offset, -core_1.SECURITY_S2_AUTH_TAG_LENGTH);
|
|
633
637
|
const authTag = this.payload.slice(-core_1.SECURITY_S2_AUTH_TAG_LENGTH);
|
|
634
638
|
this.authTag = authTag;
|
|
635
|
-
const messageLength = super.computeEncapsulationOverhead()
|
|
639
|
+
const messageLength = super.computeEncapsulationOverhead()
|
|
640
|
+
+ this.payload.length;
|
|
636
641
|
const authData = getAuthenticationData(sendingNodeId, this.getDestinationIDRX(), this.host.homeId, messageLength, unencryptedPayload);
|
|
637
642
|
let decrypt;
|
|
638
643
|
if (ctx.isMulticast) {
|
|
@@ -739,8 +744,8 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
739
744
|
}
|
|
740
745
|
this.verifyDelivery = options.verifyDelivery !== false;
|
|
741
746
|
this.extensions = options.extensions ?? [];
|
|
742
|
-
if (typeof this.nodeId !== "number"
|
|
743
|
-
!this.extensions.some((e) => e instanceof Extension_1.MGRPExtension)) {
|
|
747
|
+
if (typeof this.nodeId !== "number"
|
|
748
|
+
&& !this.extensions.some((e) => e instanceof Extension_1.MGRPExtension)) {
|
|
744
749
|
throw new core_1.ZWaveError("Multicast Security S2 encapsulation requires the MGRP extension", core_1.ZWaveErrorCodes.Security2CC_MissingExtension);
|
|
745
750
|
}
|
|
746
751
|
}
|
|
@@ -754,8 +759,8 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
754
759
|
get sequenceNumber() {
|
|
755
760
|
if (this._sequenceNumber == undefined) {
|
|
756
761
|
if (this.isSinglecast()) {
|
|
757
|
-
this._sequenceNumber =
|
|
758
|
-
|
|
762
|
+
this._sequenceNumber = this.host.securityManager2
|
|
763
|
+
.nextSequenceNumber(this.nodeId);
|
|
759
764
|
}
|
|
760
765
|
else {
|
|
761
766
|
const groupId = this.getDestinationIDTX();
|
|
@@ -809,8 +814,8 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
809
814
|
return;
|
|
810
815
|
const receiverNodeId = this.nodeId;
|
|
811
816
|
const spanState = this.host.securityManager2.getSPANState(receiverNodeId);
|
|
812
|
-
if (spanState.type === core_1.SPANState.None
|
|
813
|
-
spanState.type === core_1.SPANState.LocalEI) {
|
|
817
|
+
if (spanState.type === core_1.SPANState.None
|
|
818
|
+
|| spanState.type === core_1.SPANState.LocalEI) {
|
|
814
819
|
// Can't do anything here if we don't have the receiver's EI
|
|
815
820
|
throw new core_1.ZWaveError(`Security S2 CC requires the receiver's nonce to be sent!`, core_1.ZWaveErrorCodes.Security2CC_NoSPAN);
|
|
816
821
|
}
|
|
@@ -825,8 +830,8 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
825
830
|
this.host.securityManager2.initializeTempSPAN(receiverNodeId, senderEI, receiverEI);
|
|
826
831
|
}
|
|
827
832
|
else {
|
|
828
|
-
const securityClass = this.securityClass
|
|
829
|
-
this.host.getHighestSecurityClass(receiverNodeId);
|
|
833
|
+
const securityClass = this.securityClass
|
|
834
|
+
?? this.host.getHighestSecurityClass(receiverNodeId);
|
|
830
835
|
if (securityClass == undefined) {
|
|
831
836
|
throw new core_1.ZWaveError("No security class defined for this command!", core_1.ZWaveErrorCodes.Security2CC_NoSPAN);
|
|
832
837
|
}
|
|
@@ -851,8 +856,8 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
851
856
|
const unencryptedPayload = Buffer.concat([
|
|
852
857
|
Buffer.from([
|
|
853
858
|
this.sequenceNumber,
|
|
854
|
-
(encryptedExtensions.length > 0 ? 0b10 : 0)
|
|
855
|
-
(unencryptedExtensions.length > 0 ? 1 : 0),
|
|
859
|
+
(encryptedExtensions.length > 0 ? 0b10 : 0)
|
|
860
|
+
| (unencryptedExtensions.length > 0 ? 1 : 0),
|
|
856
861
|
]),
|
|
857
862
|
...unencryptedExtensions.map((e, index) => e.serialize(index < unencryptedExtensions.length - 1)),
|
|
858
863
|
]);
|
|
@@ -863,7 +868,8 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
863
868
|
]);
|
|
864
869
|
// Generate the authentication data for CCM encryption
|
|
865
870
|
const destinationTag = this.getDestinationIDTX();
|
|
866
|
-
const messageLength = this.computeEncapsulationOverhead()
|
|
871
|
+
const messageLength = this.computeEncapsulationOverhead()
|
|
872
|
+
+ serializedCC.length;
|
|
867
873
|
const authData = getAuthenticationData(this.host.ownNodeId, destinationTag, this.host.homeId, messageLength, unencryptedPayload);
|
|
868
874
|
let key;
|
|
869
875
|
let iv;
|
|
@@ -908,10 +914,10 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
908
914
|
const extensionBytes = this.extensions
|
|
909
915
|
.map((e) => e.computeLength())
|
|
910
916
|
.reduce((a, b) => a + b, 0);
|
|
911
|
-
return (super.computeEncapsulationOverhead()
|
|
912
|
-
2
|
|
913
|
-
core_1.SECURITY_S2_AUTH_TAG_LENGTH
|
|
914
|
-
extensionBytes);
|
|
917
|
+
return (super.computeEncapsulationOverhead()
|
|
918
|
+
+ 2
|
|
919
|
+
+ core_1.SECURITY_S2_AUTH_TAG_LENGTH
|
|
920
|
+
+ extensionBytes);
|
|
915
921
|
}
|
|
916
922
|
toLogEntry(applHost) {
|
|
917
923
|
const message = {
|
|
@@ -923,8 +929,8 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
923
929
|
.join("");
|
|
924
930
|
}
|
|
925
931
|
// Log the used keys in integration tests
|
|
926
|
-
if (process.env.NODE_ENV === "test"
|
|
927
|
-
process.env.NODE_ENV === "development") {
|
|
932
|
+
if (process.env.NODE_ENV === "test"
|
|
933
|
+
|| process.env.NODE_ENV === "development") {
|
|
928
934
|
if (this.key) {
|
|
929
935
|
message.key = (0, safe_2.buffer2hex)(this.key);
|
|
930
936
|
}
|
|
@@ -983,14 +989,14 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
983
989
|
// we accept commands encrypted with the previous SPAN under very specific circumstances:
|
|
984
990
|
if (
|
|
985
991
|
// The previous SPAN is still known, i.e. the node didn't send another command that was successfully decrypted
|
|
986
|
-
!!spanState.currentSPAN
|
|
992
|
+
!!spanState.currentSPAN
|
|
987
993
|
// it is still valid
|
|
988
|
-
spanState.currentSPAN.expires > (0, core_1.highResTimestamp)()
|
|
994
|
+
&& spanState.currentSPAN.expires > (0, core_1.highResTimestamp)()
|
|
989
995
|
// The received command is exactly the next, expected one
|
|
990
|
-
prevSequenceNumber != undefined
|
|
991
|
-
this["_sequenceNumber"] === ((prevSequenceNumber + 1) & 0xff)
|
|
996
|
+
&& prevSequenceNumber != undefined
|
|
997
|
+
&& this["_sequenceNumber"] === ((prevSequenceNumber + 1) & 0xff)
|
|
992
998
|
// And in case of a mock-based test, do this only on the controller
|
|
993
|
-
!this.host.__internalIsMockNode) {
|
|
999
|
+
&& !this.host.__internalIsMockNode) {
|
|
994
1000
|
const nonce = spanState.currentSPAN.nonce;
|
|
995
1001
|
spanState.currentSPAN = undefined;
|
|
996
1002
|
return {
|
|
@@ -1022,11 +1028,12 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
1022
1028
|
this.host.securityManager2.initializeTempSPAN(sendingNodeId, senderEI, receiverEI);
|
|
1023
1029
|
const ret = getNonceAndDecrypt();
|
|
1024
1030
|
// Decryption with the temporary key worked
|
|
1025
|
-
if (ret.authOK)
|
|
1031
|
+
if (ret.authOK) {
|
|
1026
1032
|
return {
|
|
1027
1033
|
...ret,
|
|
1028
1034
|
securityClass: core_1.SecurityClass.Temporary,
|
|
1029
1035
|
};
|
|
1036
|
+
}
|
|
1030
1037
|
// Reset the SPAN state and try with the recently granted security class
|
|
1031
1038
|
this.host.securityManager2.setSPANState(sendingNodeId, spanState);
|
|
1032
1039
|
}
|
|
@@ -1041,8 +1048,8 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
1041
1048
|
// While bootstrapping a node, we consider the key that is being exchanged (including S0) to be the highest. No need to look at others
|
|
1042
1049
|
const possibleSecurityClasses = isBootstrappingNode
|
|
1043
1050
|
? [this.host.getHighestSecurityClass(sendingNodeId)]
|
|
1044
|
-
: core_1.securityClassOrder.filter((s) => this.host.hasSecurityClass(sendingNodeId, s)
|
|
1045
|
-
false);
|
|
1051
|
+
: core_1.securityClassOrder.filter((s) => this.host.hasSecurityClass(sendingNodeId, s)
|
|
1052
|
+
!== false);
|
|
1046
1053
|
for (const secClass of possibleSecurityClasses) {
|
|
1047
1054
|
// Skip security classes we don't have keys for
|
|
1048
1055
|
if (!this.host.securityManager2.hasKeysForSecurityClass(secClass)) {
|
|
@@ -1054,8 +1061,8 @@ let Security2CCMessageEncapsulation = exports.Security2CCMessageEncapsulation =
|
|
|
1054
1061
|
// It worked, return the result
|
|
1055
1062
|
if (ret.authOK) {
|
|
1056
1063
|
// Also if we weren't sure before, we now know that the security class is granted
|
|
1057
|
-
if (this.host.hasSecurityClass(sendingNodeId, secClass)
|
|
1058
|
-
undefined) {
|
|
1064
|
+
if (this.host.hasSecurityClass(sendingNodeId, secClass)
|
|
1065
|
+
=== undefined) {
|
|
1059
1066
|
this.host.setSecurityClass(sendingNodeId, secClass, true);
|
|
1060
1067
|
}
|
|
1061
1068
|
return {
|
|
@@ -1129,8 +1136,8 @@ let Security2CCNonceReport = exports.Security2CCNonceReport = class Security2CCN
|
|
|
1129
1136
|
*/
|
|
1130
1137
|
get sequenceNumber() {
|
|
1131
1138
|
if (this._sequenceNumber == undefined) {
|
|
1132
|
-
this._sequenceNumber =
|
|
1133
|
-
|
|
1139
|
+
this._sequenceNumber = this.host.securityManager2
|
|
1140
|
+
.nextSequenceNumber(this.nodeId);
|
|
1134
1141
|
}
|
|
1135
1142
|
return this._sequenceNumber;
|
|
1136
1143
|
}
|
|
@@ -1185,8 +1192,8 @@ let Security2CCNonceGet = exports.Security2CCNonceGet = class Security2CCNonceGe
|
|
|
1185
1192
|
*/
|
|
1186
1193
|
get sequenceNumber() {
|
|
1187
1194
|
if (this._sequenceNumber == undefined) {
|
|
1188
|
-
this._sequenceNumber =
|
|
1189
|
-
|
|
1195
|
+
this._sequenceNumber = this.host.securityManager2
|
|
1196
|
+
.nextSequenceNumber(this.nodeId);
|
|
1190
1197
|
}
|
|
1191
1198
|
return this._sequenceNumber;
|
|
1192
1199
|
}
|
|
@@ -1231,9 +1238,9 @@ let Security2CCKEXReport = exports.Security2CCKEXReport = class Security2CCKEXRe
|
|
|
1231
1238
|
serialize() {
|
|
1232
1239
|
this.payload = Buffer.concat([
|
|
1233
1240
|
Buffer.from([
|
|
1234
|
-
this._reserved
|
|
1235
|
-
(this.requestCSA ? 0b10 : 0)
|
|
1236
|
-
(this.echo ? 0b1 : 0),
|
|
1241
|
+
this._reserved
|
|
1242
|
+
+ (this.requestCSA ? 0b10 : 0)
|
|
1243
|
+
+ (this.echo ? 0b1 : 0),
|
|
1237
1244
|
]),
|
|
1238
1245
|
// The bit mask starts at 0, but bit 0 is not used
|
|
1239
1246
|
(0, core_1.encodeBitMask)(this.supportedKEXSchemes, 7, 0),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Security2CC.js","sourceRoot":"","sources":["../../src/cc/Security2CC.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Security2CC.js","sourceRoot":"","sources":["../../src/cc/Security2CC.ts"],"names":[],"mappings":"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"}
|
package/build/cc/SecurityCC.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { CommandClasses, type MessageOrCCLogEntry, type SecurityManager } from "
|
|
|
3
3
|
import { type MaybeNotKnown } from "@zwave-js/core/safe";
|
|
4
4
|
import type { ZWaveApplicationHost, ZWaveHost } from "@zwave-js/host/safe";
|
|
5
5
|
import { PhysicalCCAPI } from "../lib/API";
|
|
6
|
-
import {
|
|
6
|
+
import { type CCCommandOptions, CommandClass, type CommandClassDeserializationOptions } from "../lib/CommandClass";
|
|
7
7
|
import { SecurityCommand } from "../lib/_Types";
|
|
8
8
|
export declare class SecurityCCAPI extends PhysicalCCAPI {
|
|
9
9
|
supportsCommand(_cmd: SecurityCommand): MaybeNotKnown<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityCC.d.ts","sourceRoot":"","sources":["../../src/cc/SecurityCC.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,cAAc,
|
|
1
|
+
{"version":3,"file":"SecurityCC.d.ts","sourceRoot":"","sources":["../../src/cc/SecurityCC.ts"],"names":[],"mappings":"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"}
|
package/build/cc/SecurityCC.js
CHANGED
|
@@ -107,7 +107,8 @@ let SecurityCCAPI = exports.SecurityCCAPI = class SecurityCCAPI extends API_1.Ph
|
|
|
107
107
|
await this.applHost.sendCommand(cc, {
|
|
108
108
|
...this.commandOptions,
|
|
109
109
|
// Seems we need these options or some nodes won't accept the nonce
|
|
110
|
-
transmitOptions: core_1.TransmitOptions.ACK
|
|
110
|
+
transmitOptions: core_1.TransmitOptions.ACK
|
|
111
|
+
| core_1.TransmitOptions.AutoRoute,
|
|
111
112
|
// Only try sending a nonce once
|
|
112
113
|
maxSendAttempts: 1,
|
|
113
114
|
// Nonce requests must be handled immediately
|
|
@@ -274,9 +275,9 @@ let SecurityCC = exports.SecurityCC = SecurityCC_1 = class SecurityCC extends Co
|
|
|
274
275
|
return false;
|
|
275
276
|
}
|
|
276
277
|
// S2, CRC16, Transport Service -> no S2 encapsulation
|
|
277
|
-
if (cc instanceof Security2CC_1.Security2CC
|
|
278
|
-
cc instanceof CRC16CC_1.CRC16CC
|
|
279
|
-
cc instanceof TransportServiceCC_1.TransportServiceCC) {
|
|
278
|
+
if (cc instanceof Security2CC_1.Security2CC
|
|
279
|
+
|| cc instanceof CRC16CC_1.CRC16CC
|
|
280
|
+
|| cc instanceof TransportServiceCC_1.TransportServiceCC) {
|
|
280
281
|
return false;
|
|
281
282
|
}
|
|
282
283
|
// S0: check command
|
|
@@ -308,8 +309,8 @@ let SecurityCC = exports.SecurityCC = SecurityCC_1 = class SecurityCC extends Co
|
|
|
308
309
|
});
|
|
309
310
|
// Copy the encapsulation flags from the encapsulated command
|
|
310
311
|
// but omit Security, since we're doing that right now
|
|
311
|
-
ret.encapsulationFlags =
|
|
312
|
-
|
|
312
|
+
ret.encapsulationFlags = cc.encapsulationFlags
|
|
313
|
+
& ~core_1.EncapsulationFlags.Security;
|
|
313
314
|
return ret;
|
|
314
315
|
}
|
|
315
316
|
};
|
|
@@ -445,8 +446,9 @@ let SecurityCCCommandEncapsulation = exports.SecurityCCCommandEncapsulation = cl
|
|
|
445
446
|
serialize() {
|
|
446
447
|
if (!this.nonce)
|
|
447
448
|
throwNoNonce();
|
|
448
|
-
if (this.nonce.length !== HALF_NONCE_SIZE)
|
|
449
|
+
if (this.nonce.length !== HALF_NONCE_SIZE) {
|
|
449
450
|
throwNoNonce("Invalid nonce size");
|
|
451
|
+
}
|
|
450
452
|
const serializedCC = this.encapsulated.serialize();
|
|
451
453
|
const plaintext = Buffer.concat([
|
|
452
454
|
Buffer.from([0]),
|