UNPKG

mqtt-discovery-types

Version:
103 lines (85 loc) 2.73 kB
import type { StatefulCommandComponentDiscovery } from "./BaseEntityDiscovery.ts"; import { MakeEntity } from './utils'; export type AlarmPanelState = 'disarmed' | 'armed_home' | 'armed_away' | 'armed_night' | 'armed_vacation' | 'armed_custom_bypass' | 'pending' | 'triggered' | 'arming' | 'disarming'; /** * @see https://www.home-assistant.io/integrations/alarm_control_panel.mqtt/#discovery */ export interface AlarmPanelComponentDiscovery extends StatefulCommandComponentDiscovery { platform: 'alarm_control_panel'; /** * 'REMOTE_CODE' or 'REMOTE_CODE_TEXT' will pass the code to the alarm panel integration for validation. * Otherwise, the code will be validated internally by Home Assistant, not passed along. * */ code?: string; /** * If true the code is required to arm the alarm. If false the code is not validated. * @defaultValue true */ code_arm_required?: boolean; /** * If true the code is required to disarm the alarm. If false the code is not validated. * @defaultValue true */ code_disarm_required?: boolean; /** * If true the code is required to trigger the alarm. If false the code is not validated. * @defaultValue true */ code_trigger_required?: boolean; // default true /** * The template used for the command payload. * Available variables: `action`, `code`. */ command_template?: string; /** * The payload to set armed-away mode. * @defaultValue 'ARM_AWAY' */ payload_arm_away?: string; /** * The payload to set armed-home mode. * @defaultValue 'ARM_HOME' */ payload_arm_home?: string; /** * The payload to set armed-night mode. * @defaultValue 'ARM_NIGHT' */ payload_arm_night?: string; /** * The payload to set armed-vacation mode. * @defaultValue 'ARM_VACATION' */ payload_arm_vacation?: string; /** * The payload to set armed-custom-bypass mode. * @defaultValue 'ARM_CUSTOM_BYPASS' */ payload_arm_custom_bypass?: string; /** * The payload to set disarmed mode. * @defaultValue 'DISARM' */ payload_disarm?: string; /** * The payload to trigger the alarm. * @defaultValue 'TRIGGER' */ payload_trigger?: string; /** * A list of features supported by the alarm panel. * @defaultValue ['arm_away', 'arm_home', 'arm_night', 'arm_vacation', 'arm_custom_bypass', 'trigger']; */ supported_features?: ['arm_away', 'arm_home', 'arm_night', 'arm_vacation', 'arm_custom_bypass', 'trigger']; } export type AlarmPanelDiscovery = MakeEntity<AlarmPanelComponentDiscovery>;