Add full support for mode controller
This commit is contained in:
parent
e7a2079ff7
commit
3bcd767127
8 changed files with 198 additions and 6 deletions
14
dist/AlexaInterface.js
vendored
14
dist/AlexaInterface.js
vendored
|
|
@ -82,6 +82,7 @@ class AlexaInterface {
|
|||
this.instance = instance;
|
||||
this.friendlyNames = [];
|
||||
this.actionMappings = [];
|
||||
this.supportedModes = [];
|
||||
}
|
||||
addActionMapping(mapping) {
|
||||
this.actionMappings.push(mapping);
|
||||
|
|
@ -89,6 +90,9 @@ class AlexaInterface {
|
|||
addFriendlyName(name, locale) {
|
||||
this.friendlyNames.push({ text: name, locale });
|
||||
}
|
||||
addSupportedModes(modes) {
|
||||
this.supportedModes = modes;
|
||||
}
|
||||
setInstance(name) {
|
||||
this.instance = name;
|
||||
}
|
||||
|
|
@ -196,6 +200,8 @@ class AlexaInterface {
|
|||
return ["connectivity"];
|
||||
case AlexaInterfaceType.TOGGLE_CONTROLLER:
|
||||
return ["toggleState"];
|
||||
case AlexaInterfaceType.MODE_CONTROLLER:
|
||||
return ["mode"];
|
||||
case AlexaInterfaceType.TEMPERATURE_SENSOR:
|
||||
return ["temperature"];
|
||||
case AlexaInterfaceType.THERMOSTAT_CONTROLLER:
|
||||
|
|
@ -228,7 +234,6 @@ class AlexaInterface {
|
|||
case AlexaInterfaceType.LOCK_CONTROLLER:
|
||||
case AlexaInterfaceType.MEDIA_PLAYBACK:
|
||||
case AlexaInterfaceType.MEDIA_SEARCH:
|
||||
case AlexaInterfaceType.MODE_CONTROLLER:
|
||||
case AlexaInterfaceType.MOTION_SENSOR:
|
||||
case AlexaInterfaceType.PERCENTAGE_CONTROLLER:
|
||||
case AlexaInterfaceType.PLAYBACK_CONTROLLER:
|
||||
|
|
@ -277,6 +282,12 @@ class AlexaInterface {
|
|||
"supportsScheduling": false
|
||||
};
|
||||
}
|
||||
else if (this.supportedModes.length > 0) {
|
||||
doc["configuration"] = {
|
||||
ordered: true,
|
||||
supportedModes: this.supportedModes,
|
||||
};
|
||||
}
|
||||
if (this.instance) {
|
||||
doc.instance = this.instance;
|
||||
}
|
||||
|
|
@ -291,6 +302,7 @@ class AlexaInterface {
|
|||
};
|
||||
friendlyNamesArray.push(friendlyNameObj);
|
||||
});
|
||||
capabilityResources.friendlyNames = friendlyNamesArray;
|
||||
doc["capabilityResources"] = capabilityResources;
|
||||
}
|
||||
if (this.actionMappings.length > 0) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue