@di-zed/yandex-smart-home
Version:
The Yandex Smart Home skills for the different device types.
81 lines (80 loc) • 2.3 kB
TypeScript
/**
* @author DiZed Team
* @copyright Copyright (c) DiZed Team (https://github.com/di-zed/)
*/
import { Property, PropertyParameters, PropertyState } from '../property';
/**
* Export "event" property.
* https://yandex.ru/dev/dialogs/smart-home/doc/concepts/event.html?lang=en
*
* @interface
*/
export interface EventProperty extends Property {
/**
* Property type.
*/
readonly type: 'devices.properties.event';
/**
* The parameters object.
*/
parameters?: EventPropertyParameters;
/**
* Property state parameters.
*/
state?: EventPropertyState;
}
/**
* The parameters object.
* https://yandex.ru/dev/dialogs/smart-home/doc/concepts/event.html?lang=en#discovery
*
* @interface
*/
export interface EventPropertyParameters extends PropertyParameters {
/**
* Function name for a property.
*/
instance: EventPropertyInstance;
/**
* Array of event objects that describe events supported by the property. Minimum number of events in the array: 1.
*/
events: EventPropertyEvent[];
}
/**
* Property state parameters.
* https://yandex.ru/dev/dialogs/smart-home/doc/concepts/event.html?lang=en#state
*
* @interface
*/
export interface EventPropertyState extends PropertyState {
/**
* Function name for the property.
*/
instance: EventPropertyInstance;
/**
* Property value for this capability.
*/
value: EventPropertyEventValue;
}
/**
* List of functions.
* https://yandex.ru/dev/dialogs/smart-home/doc/concepts/event-instance.html?lang=en
*
* @type
*/
export type EventPropertyInstance = 'vibration' | 'open' | 'button' | 'motion' | 'smoke' | 'gas' | 'battery_level' | 'food_level' | 'water_level' | 'water_leak';
/**
* Event object.
* https://yandex.ru/dev/dialogs/smart-home/doc/concepts/event-instance.html?lang=en
*
* @type
*/
export type EventPropertyEvent = {
value: EventPropertyEventValue;
};
/**
* List of event values.
* https://yandex.ru/dev/dialogs/smart-home/doc/concepts/event-instance.html?lang=en
*
* @type
*/
export type EventPropertyEventValue = 'tilt' | 'fall' | 'vibration' | 'opened' | 'closed' | 'click' | 'double_click' | 'long_press' | 'detected' | 'not_detected' | 'high' | 'low' | 'normal' | 'empty' | 'dry' | 'leak';