Six descriptors written from their pages replace the last stubs of tiers 1 and 2. A scene answers Activate and Deactivate through ctx.respond() with ActivationStarted and DeactivationStarted, the time and the cause filled in. device.raise(descriptor, name, payload) publishes DoorbellPress and the Event of a button on <root>/event with the endpoint and a new messageId; it throws a MessageError for an interface or instance the device did not declare, an event that answers a directive, a payload that does not fit and a message over 16000 bytes. TurnOn of a device with WakeOnLANController is deferred without the warning. On the wire: a doorbell has no properties object and proactivelyReported on the capability; SimpleEventSource is version 1.0, InventoryLevelSensor and WakeOnLANController version 3 (1.5.2: 1). A scene declared without options is announced as before. Alex2MQTT has no topic yet for the WakeUp event. 24 examples of the six pages are saved as fixtures. 267 tests pass, 241 before. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
21 lines
1 KiB
TypeScript
21 lines
1 KiB
TypeScript
/**
|
|
* A scene: an endpoint that is not a device, but several devices set to a state each. Activate is answered with
|
|
* ActivationStarted and Deactivate with DeactivationStarted; ctx.respond() sends them, with the time and
|
|
* VOICE_INTERACTION as the cause. A scene reports nothing and has no Alexa.EndpointHealth.
|
|
*
|
|
* Alexa takes no scene with a lock, a garage door, a camera, a cooking appliance or a security device in it.
|
|
*/
|
|
export declare const SceneController: import("../types.js").InterfaceDescriptor<{}, {
|
|
Activate: {
|
|
name: string;
|
|
payload: import("../schema.js").Schema<import("../schema.js").InferShape<{}>>;
|
|
};
|
|
Deactivate: {
|
|
name: string;
|
|
payload: import("../schema.js").Schema<import("../schema.js").InferShape<{}>>;
|
|
when: ({ options }: import("../types.js").Declared<any>) => boolean;
|
|
};
|
|
}, import("../schema.js").InferShape<{
|
|
/** The scene can be switched off again. */
|
|
supportsDeactivation: import("../schema.js").OptionalSchema<boolean>;
|
|
}>, false>;
|