registry: Lock, Color, ColorTemperature, Percentage, PowerLevel, Contact, Motion, Humidity

Eight descriptors written from their pages, each with its version, the value of its property and the payload of
every directive. Seven replace a stub; Alexa.HumiditySensor is new, as AlexaInterfaceType.HUMIDITY_SENSOR.
LockController is deferrable: defer() on a lock logs no warning.

A 1.x declaration of LockController, MotionSensor, PercentageController or PowerLevelController now lists its
property in discovery, where 1.5.2 listed none: the zoo's lock, motion sensor and heater come out as the JSON
Alexa accepted. A payload that does not fit (hue 361, 900 K) is answered with INVALID_VALUE.

48 examples of the eight pages are saved as fixtures. 191 tests pass, 168 before.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
David 2026-09-28 20:29:04 +00:00
parent feff828ec1
commit af1489696d
111 changed files with 2971 additions and 45 deletions

View file

@ -0,0 +1,27 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PowerLevelController = void 0;
const schema_js_1 = require("../schema.js");
const types_js_1 = require("../types.js");
/** The power of a device as a percentage, a dimmer switch for one (alexa-powerlevelcontroller.html). */
exports.PowerLevelController = (0, types_js_1.defineInterface)({
namespace: "Alexa.PowerLevelController",
version: "3",
doc: "https://developer.amazon.com/docs/alexaplus/device-apis/alexa-powerlevelcontroller.html",
kind: "controller",
tier: 1,
instanced: false,
properties: {
powerLevel: { name: "powerLevel", value: schema_js_1.s.number({ min: 0, max: 100, integer: true }) },
},
directives: {
SetPowerLevel: {
name: "SetPowerLevel",
payload: schema_js_1.s.object({ powerLevel: schema_js_1.s.number({ min: 0, max: 100, integer: true }) }),
},
AdjustPowerLevel: {
name: "AdjustPowerLevel",
payload: schema_js_1.s.object({ powerLevelDelta: schema_js_1.s.number({ min: -100, max: 100, integer: true }) }),
},
},
});