AlexaErrors has a helper for each of the 73 types of the table on alexa-errorresponse.html, named after the type in camel case: 63 take the message only, 10 take the payload fields their page documents. A field the page requires (reason, currentDeviceMode, currentChargeState, resourceType) is a required argument, so leaving it out does not compile; from JavaScript the helper throws a TypeError that lists the values. validRange is optional, as the page says, and has both ends when given. temperatureOutOfRange and setpointsTooClose stay as shorter names. The helpers are compared with the 15 examples of the four error pages. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
67 lines
3.2 KiB
TypeScript
67 lines
3.2 KiB
TypeScript
/**
|
|
* A security panel. Arm is answered with Arm.Response, Disarm with a Response, an error of errorTypes under the
|
|
* namespace of the interface (alexa-securitypanelcontroller-errorresponse.html).
|
|
*
|
|
* Alexa sends Disarm only when the user switched on disarming by voice in the Alexa app. A panel declared with
|
|
* supportedAuthorizationTypes gets the PIN the user said in payload.authorization and has to check it: a wrong PIN
|
|
* is answered with UNAUTHORIZED. Without authorization in the payload Alexa checked a voice code of its own.
|
|
*
|
|
* A panel that is ARMED_AWAY is disarmed before it is armed another way: Arm to ARMED_STAY or ARMED_NIGHT is
|
|
* then answered with AUTHORIZATION_REQUIRED. Arm to the state the panel is in is answered with Arm.Response.
|
|
*/
|
|
export declare const SecurityPanelController: import("../types.js").InterfaceDescriptor<{
|
|
armState: {
|
|
name: string;
|
|
value: import("../schema.js").EnumSchema<"ARMED_AWAY" | "ARMED_STAY" | "ARMED_NIGHT" | "DISARMED">;
|
|
};
|
|
burglaryAlarm: {
|
|
name: string;
|
|
value: import("../schema.js").Schema<import("../schema.js").InferShape<{
|
|
value: import("../schema.js").EnumSchema<"ALARM" | "OK">;
|
|
}>>;
|
|
};
|
|
fireAlarm: {
|
|
name: string;
|
|
value: import("../schema.js").Schema<import("../schema.js").InferShape<{
|
|
value: import("../schema.js").EnumSchema<"ALARM" | "OK">;
|
|
}>>;
|
|
};
|
|
carbonMonoxideAlarm: {
|
|
name: string;
|
|
value: import("../schema.js").Schema<import("../schema.js").InferShape<{
|
|
value: import("../schema.js").EnumSchema<"ALARM" | "OK">;
|
|
}>>;
|
|
};
|
|
waterAlarm: {
|
|
name: string;
|
|
value: import("../schema.js").Schema<import("../schema.js").InferShape<{
|
|
value: import("../schema.js").EnumSchema<"ALARM" | "OK">;
|
|
}>>;
|
|
};
|
|
}, {
|
|
Arm: {
|
|
name: string;
|
|
payload: import("../schema.js").Schema<import("../schema.js").InferShape<{
|
|
armState: import("../schema.js").EnumSchema<"ARMED_AWAY" | "ARMED_STAY" | "ARMED_NIGHT" | "DISARMED">;
|
|
bypassType: import("../schema.js").OptionalSchema<"BYPASS_ALL">;
|
|
}>>;
|
|
note: string;
|
|
};
|
|
Disarm: {
|
|
name: string;
|
|
payload: import("../schema.js").Schema<import("../schema.js").InferShape<{
|
|
authorization: import("../schema.js").OptionalSchema<import("../schema.js").InferShape<{
|
|
type: import("../schema.js").EnumSchema<"FOUR_DIGIT_PIN">;
|
|
value: import("../schema.js").Schema<string>;
|
|
}>>;
|
|
}>>;
|
|
note: string;
|
|
};
|
|
}, import("../schema.js").InferShape<{
|
|
/** Default: Alexa takes the panel to have all four. */
|
|
supportedArmStates: import("../schema.js").OptionalSchema<("ARMED_AWAY" | "ARMED_STAY" | "ARMED_NIGHT" | "DISARMED")[]>;
|
|
/** For a panel that has four digit PINs and checks the PIN of a Disarm itself. */
|
|
supportedAuthorizationTypes: import("../schema.js").OptionalSchema<"FOUR_DIGIT_PIN"[]>;
|
|
/** The alarms the panel reports. Default: none. */
|
|
alarms: import("../schema.js").OptionalSchema<("burglaryAlarm" | "fireAlarm" | "carbonMonoxideAlarm" | "waterAlarm")[]>;
|
|
}>, false>;
|