Skip to content

Commit

Permalink
Add semantic state range validation check (#420)
Browse files Browse the repository at this point in the history
Signed-off-by: jsetton <jeremy.setton@gmail.com>
  • Loading branch information
jsetton authored Dec 2, 2021
1 parent 707c24a commit a4a7508
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
6 changes: 3 additions & 3 deletions lambda/alexa/smarthome/capabilities/rangeController.js
Original file line number Diff line number Diff line change
Expand Up @@ -125,10 +125,10 @@ class RangeController extends AlexaCapability {
const values = value && value.split(':', 2);
// Add state mapping object if value(s) valid
if (values && values.every((value) => value >= supportedRange[0] && value <= supportedRange[1])) {
if (values.length === 2) {
semantics.addStateToRange(name, { minimumValue: parseFloat(values[0]), maximumValue: parseFloat(values[1]) });
} else {
if (values.length === 1) {
semantics.addStateToValue(name, parseFloat(values[0]));
} else if (values[0] < values[1]) {
semantics.addStateToRange(name, { minimumValue: parseFloat(values[0]), maximumValue: parseFloat(values[1]) });
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions lambda/test/alexa/cases/discovery/other.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ module.exports = {
unitOfMeasure: 'Invalid',
// Invalid semantics (except playback action)
actionMappings: 'Close=-1,Open=11,Lower=(-11),Raise=(+11),Stop=0',
stateMappings: 'Closed=-1,Open=0:11'
stateMappings: 'Closed=-1,Open=10:1'
}
}
}
Expand Down Expand Up @@ -627,7 +627,7 @@ module.exports = {
capabilityNames: ['@Setting.RangeValue'],
supportedRange: [0, 10, 1],
actionMappings: { Close: '-1', Open: '11', Lower: '(-11)', Raise: '(+11)' },
stateMappings: { Closed: '-1', Open: '0:11' }
stateMappings: { Closed: '-1', Open: '10:1' }
},
item: { name: 'range2', type: 'Number' }
},
Expand Down

0 comments on commit a4a7508

Please sign in to comment.