Alexa.SecurityPanelController is described from its page: version 3 (the stub of 1.5.2 said 1), armState and the four alarms, Arm and Disarm. ctx.respond() answers Arm with Arm.Response under the namespace of the interface, its payload checked (exitDelayInSeconds 0 to 255, bypassedEndpoints), and Disarm with a Response. A Disarm carries the PIN the user said when the panel is declared with supportedAuthorizationTypes; the handler checks it and answers UNAUTHORIZED, which goes under Alexa.SecurityPanelController like the five other error types. A panel declared without options lists armState, where 1.5.2 listed no property; alarms are declared. 17 examples of the two pages are saved as fixtures. 215 tests pass, 207 before. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
55 lines
3.1 KiB
TypeScript
55 lines
3.1 KiB
TypeScript
// Relative specifiers carry ".js": Node's ES module loader resolves no extension, and TypeScript maps it back to the .ts.
|
|
export { default as Alex2MQTT, DEFAULT_HOST } from "./Alex2Node.js";
|
|
export type { Alex2MQTTOptions } from "./Alex2Node.js";
|
|
export { default as Device } from "./device/Device.js";
|
|
export type { EndpointDefinition, EndpointJson } from "./device/Device.js";
|
|
export { Capability } from "./device/Capability.js";
|
|
export type { CapabilityJson, CommonOptions, Declaration } from "./device/Capability.js";
|
|
|
|
// The interfaces, for device.add(), and the registry that holds them by name
|
|
export { registry, DeclarationError, SchemaError } from "./registry/index.js";
|
|
export {
|
|
Alexa, BrightnessController, ColorController, ColorTemperatureController, ContactSensor, HumiditySensor, LockController,
|
|
ModeController, MotionSensor, PercentageController, PowerLevelController, RangeController, SecurityPanelController,
|
|
TemperatureSensor, ThermostatController, ThermostatControllerSchedule, ToggleController,
|
|
} from "./registry/index.js";
|
|
export { PowerController, EndpointHealth } from "./compat/enums.js";
|
|
export { asset, text, semantics, SemanticsBuilder } from "./registry/index.js";
|
|
|
|
// The vocabularies of the Smart Home API
|
|
export {
|
|
ASSETS as Assets, UNITS_OF_MEASURE as Units, ACTIONS as Actions, STATES as States,
|
|
DISPLAY_CATEGORIES as DisplayCategories, THERMOSTAT_MODES as ThermostatModes,
|
|
} from "./registry/index.js";
|
|
export type {
|
|
ActionId, AssetId, DisplayCategoryName, StateId, UnitOfMeasure,
|
|
ActionsToDirective, AnyDescriptor, CapabilityExtras, Declared, DirectiveDescriptor, EndpointView, EventDescriptor,
|
|
InterfaceDescriptor, Label, PropertyDescriptor, Semantics, StatesToRange, StatesToValue,
|
|
ActionName, StateName, Mode, ThermostatModeName, Infer, Schema, Temperature, TimeInterval,
|
|
} from "./registry/index.js";
|
|
|
|
// The messages: what the bridge publishes, built from plain values
|
|
export * as messages from "./messages/index.js";
|
|
export { AlexaError, AlexaErrors, MessageError, StateBuilder, property } from "./messages/index.js";
|
|
export type {
|
|
ChangeCause, ChangeReportMessage, DeferredResponseMessage, ErrorResponseMessage, Header, ProactiveEventMessage,
|
|
Property, PropertyOptions, ResponseMessage, SceneEventMessage,
|
|
} from "./messages/index.js";
|
|
|
|
// Publishing: the topics of the Alex2MQTT contract, and a publisher that needs no broker for tests
|
|
export * as topics from "./topics.js";
|
|
export { MemoryPublisher } from "./transport.js";
|
|
export type { Publisher, PublishResult } from "./transport.js";
|
|
|
|
// Directives: what a handler is given
|
|
export type { DirectiveContext, DirectiveHandler, Fill, RawDirective, Timers } from "./dispatcher.js";
|
|
|
|
// 1.x
|
|
export { AlexaInterface } from "./compat/AlexaInterface.js";
|
|
export type { SupportedMode } from "./compat/AlexaInterface.js";
|
|
export { ActionMapping } from "./compat/ActionMapping.js";
|
|
export {
|
|
AlexaActions, AlexaErrorType, AlexaInterfaceType, DisplayCategory, PowerState, TemperatureSensorScale, ThermostatMode,
|
|
} from "./compat/enums.js";
|
|
export { AlexaStatusMessage } from "./compat/AlexaStatusMessage.js";
|
|
export { AlexaErrorResponse } from "./compat/AlexaErrorResponse.js";
|