sdk: better generation

This commit is contained in:
Koushik Dutta
2021-11-12 00:12:57 -08:00
parent 3c8d5d9ce9
commit 05f5e62947
8 changed files with 359 additions and 496 deletions

View File

@@ -3,14 +3,26 @@ import path from 'path';
import fs from "fs";
const properties = Object.values(ScryptedInterfaceDescriptors).map(d => d.properties).flat();
const interfaces = Object.keys(ScryptedInterfaceDescriptors);
const contents =
const interfaceContents =
`
export enum ScryptedInterface {
${interfaces.map(iface => ' ' + iface + ' = \"' + iface + '",\n').join('')}
}
`
const propertyContents =
`
export enum ScryptedInterfaceProperty {
${properties.map(property => ' ' + property + ' = \"' + property + '",\n').join('')}
}
`
fs.writeFileSync(path.join(__dirname, '../types.ts'), fs.readFileSync(path.join(__dirname, './types.input.ts')).toString() + contents);
const contents = `
${propertyContents}
${interfaceContents}
${fs.readFileSync(path.join(__dirname, './types.input.ts'))}
`;
fs.writeFileSync(path.join(__dirname, '../types.ts'), contents);

View File

@@ -1126,59 +1126,7 @@ export interface Setting {
value?: SettingValue;
}
export enum ScryptedInterface {
ScryptedDevice = "ScryptedDevice",
OnOff = "OnOff",
Brightness = "Brightness",
ColorSettingTemperature = "ColorSettingTemperature",
ColorSettingRgb = "ColorSettingRgb",
ColorSettingHsv = "ColorSettingHsv",
Notifier = "Notifier",
StartStop = "StartStop",
Pause = "Pause",
Dock = "Dock",
TemperatureSetting = "TemperatureSetting",
HumiditySetting = "HumiditySetting",
Fan = "Fan",
Thermometer = "Thermometer",
HumiditySensor = "HumiditySensor",
Camera = "Camera",
VideoCamera = "VideoCamera",
Intercom = "Intercom",
Lock = "Lock",
PasswordStore = "PasswordStore",
Authenticator = "Authenticator",
Scene = "Scene",
Entry = "Entry",
EntrySensor = "EntrySensor",
DeviceProvider = "DeviceProvider",
Battery = "Battery",
Refresh = "Refresh",
MediaPlayer = "MediaPlayer",
Online = "Online",
SoftwareUpdate = "SoftwareUpdate",
BufferConverter = "BufferConverter",
Settings = "Settings",
BinarySensor = "BinarySensor",
IntrusionSensor = "IntrusionSensor",
PowerSensor = "PowerSensor",
AudioSensor = "AudioSensor",
MotionSensor = "MotionSensor",
OccupancySensor = "OccupancySensor",
FloodSensor = "FloodSensor",
UltravioletSensor = "UltravioletSensor",
LuminanceSensor = "LuminanceSensor",
PositionSensor = "PositionSensor",
MediaSource = "MediaSource",
MessagingEndpoint = "MessagingEndpoint",
OauthClient = "OauthClient",
MixinProvider = "MixinProvider",
HttpRequestHandler = "HttpRequestHandler",
EngineIOHandler = "EngineIOHandler",
PushHandler = "PushHandler",
Program = "Program",
Scriptable = "Scriptable",
ObjectDetector = "ObjectDetector",
export declare enum ScryptedInterface {
}
export interface RTCAVMessage {

65
sdk/index.d.ts vendored
View File

@@ -1,8 +1,7 @@
export * from './types';
import type { ScryptedNativeId } from './types';
import type { HumiditySettingStatus, DeviceInformation, ScryptedInterface, ScryptedStatic, ScryptedDeviceType, Logger, ColorRgb, ColorHsv, DeviceState, TemperatureUnit, LockState, ThermostatMode, Position, FanStatus } from './types';
export declare class ScryptedDeviceBase implements DeviceState {
nativeId?: string;
export declare class DeviceBase {
id?: string;
interfaces?: string[];
mixins?: string[];
@@ -23,13 +22,7 @@ export declare class ScryptedDeviceBase implements DeviceState {
running?: boolean;
paused?: boolean;
docked?: boolean;
/**
* Get the ambient temperature in Celsius.
*/
temperature?: number;
/**
* Get the user facing unit of measurement for this thermometer. Note that while this may be Fahrenheit, getTemperatureAmbient will return the temperature in Celsius.
*/
temperatureUnit?: TemperatureUnit;
humidity?: number;
thermostatAvailableModes?: ThermostatMode[];
@@ -57,6 +50,9 @@ export declare class ScryptedDeviceBase implements DeviceState {
ultraviolet?: number;
luminance?: number;
position?: Position;
}
export declare class ScryptedDeviceBase extends DeviceBase implements DeviceState {
nativeId?: string;
private _storage;
private _log;
private _console;
@@ -74,61 +70,10 @@ export declare class ScryptedDeviceBase implements DeviceState {
*/
onDeviceEvent(eventInterface: string, eventData: any): Promise<void>;
}
export declare class MixinDeviceBase<T> implements DeviceState {
export declare class MixinDeviceBase<T> extends DeviceBase implements DeviceState {
mixinDevice: T;
mixinDeviceInterfaces: ScryptedInterface[];
mixinProviderNativeId: ScryptedNativeId;
id?: string;
interfaces?: string[];
mixins?: string[];
info?: DeviceInformation;
name?: string;
providedInterfaces?: string[];
providedName?: ScryptedDeviceType;
providedRoom?: string;
providedType?: ScryptedDeviceType;
providerId?: string;
room?: string;
type?: ScryptedDeviceType;
on?: boolean;
brightness?: number;
colorTemperature?: number;
rgb?: ColorRgb;
hsv?: ColorHsv;
running?: boolean;
paused?: boolean;
docked?: boolean;
/**
* Get the ambient temperature in Celsius.
*/
temperature?: number;
/**
* Get the user facing unit of measurement for this thermometer. Note that while this may be Fahrenheit, getTemperatureAmbient will return the temperature in Celsius.
*/
temperatureUnit?: TemperatureUnit;
humidity?: number;
thermostatAvailableModes?: ThermostatMode[];
thermostatMode?: ThermostatMode;
thermostatSetpoint?: number;
thermostatSetpointHigh?: number;
thermostatSetpointLow?: number;
lockState?: LockState;
entryOpen?: boolean;
batteryLevel?: number;
online?: boolean;
updateAvailable?: boolean;
fromMimeType?: string;
toMimeType?: string;
binaryState?: boolean;
intrusionDetected?: boolean;
powerDetected?: boolean;
motionDetected?: boolean;
audioDetected?: boolean;
occupied?: boolean;
flooded?: boolean;
ultraviolet?: number;
luminance?: number;
position?: Position;
private _storage;
private _log;
private _console;

View File

@@ -10,11 +10,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MixinDeviceBase = exports.ScryptedDeviceBase = void 0;
exports.MixinDeviceBase = exports.ScryptedDeviceBase = exports.DeviceBase = void 0;
__exportStar(require("./types"), exports);
const types_1 = require("./types");
class ScryptedDeviceBase {
class DeviceBase {
}
exports.DeviceBase = DeviceBase;
class ScryptedDeviceBase extends DeviceBase {
constructor(nativeId) {
super();
this.nativeId = nativeId;
}
get storage() {
@@ -56,8 +60,9 @@ class ScryptedDeviceBase {
}
}
exports.ScryptedDeviceBase = ScryptedDeviceBase;
class MixinDeviceBase {
class MixinDeviceBase extends DeviceBase {
constructor(mixinDevice, mixinDeviceInterfaces, mixinDeviceState, mixinProviderNativeId) {
super();
this.mixinDevice = mixinDevice;
this.mixinDeviceInterfaces = mixinDeviceInterfaces;
this.mixinProviderNativeId = mixinProviderNativeId;

View File

@@ -3,7 +3,7 @@ import { ScryptedInterfaceProperty } from './types';
import type { ScryptedNativeId, DeviceManager, SystemManager, MediaManager, EndpointManager } from './types';
import type { HumiditySettingStatus, DeviceInformation, ScryptedInterface, ScryptedStatic, ScryptedDeviceType, Logger, ColorRgb, ColorHsv, DeviceState, TemperatureUnit, LockState, ThermostatMode, Position, FanStatus } from './types';
export class ScryptedDeviceBase implements DeviceState {
export class DeviceBase {
id?: string;
interfaces?: string[];
mixins?: string[];
@@ -24,13 +24,7 @@ export class ScryptedDeviceBase implements DeviceState {
running?: boolean;
paused?: boolean;
docked?: boolean;
/**
* Get the ambient temperature in Celsius.
*/
temperature?: number;
/**
* Get the user facing unit of measurement for this thermometer. Note that while this may be Fahrenheit, getTemperatureAmbient will return the temperature in Celsius.
*/
temperatureUnit?: TemperatureUnit;
humidity?: number;
thermostatAvailableModes?: ThermostatMode[];
@@ -58,14 +52,16 @@ export class ScryptedDeviceBase implements DeviceState {
ultraviolet?: number;
luminance?: number;
position?: Position;
}
export class ScryptedDeviceBase extends DeviceBase implements DeviceState {
private _storage: Storage;
private _log: Logger;
private _console: Console;
private _deviceState: DeviceState;
constructor(public nativeId?: string) {
super();
}
get storage() {
@@ -113,65 +109,14 @@ export class ScryptedDeviceBase implements DeviceState {
}
export class MixinDeviceBase<T> implements DeviceState {
id?: string;
interfaces?: string[];
mixins?: string[];
info?: DeviceInformation;
name?: string;
providedInterfaces?: string[];
providedName?: ScryptedDeviceType;
providedRoom?: string;
providedType?: ScryptedDeviceType;
providerId?: string;
room?: string;
type?: ScryptedDeviceType;
on?: boolean;
brightness?: number;
colorTemperature?: number;
rgb?: ColorRgb;
hsv?: ColorHsv;
running?: boolean;
paused?: boolean;
docked?: boolean;
/**
* Get the ambient temperature in Celsius.
*/
temperature?: number;
/**
* Get the user facing unit of measurement for this thermometer. Note that while this may be Fahrenheit, getTemperatureAmbient will return the temperature in Celsius.
*/
temperatureUnit?: TemperatureUnit;
humidity?: number;
thermostatAvailableModes?: ThermostatMode[];
thermostatMode?: ThermostatMode;
thermostatSetpoint?: number;
thermostatSetpointHigh?: number;
thermostatSetpointLow?: number;
lockState?: LockState;
entryOpen?: boolean;
batteryLevel?: number;
online?: boolean;
updateAvailable?: boolean;
fromMimeType?: string;
toMimeType?: string;
binaryState?: boolean;
intrusionDetected?: boolean;
powerDetected?: boolean;
motionDetected?: boolean;
audioDetected?: boolean;
occupied?: boolean;
flooded?: boolean;
ultraviolet?: number;
luminance?: number;
position?: Position;
export class MixinDeviceBase<T> extends DeviceBase implements DeviceState {
private _storage: Storage;
private _log: Logger;
private _console: Console;
private _deviceState: DeviceState;
constructor(public mixinDevice: T, public mixinDeviceInterfaces: ScryptedInterface[], mixinDeviceState: DeviceState, public mixinProviderNativeId: ScryptedNativeId) {
super();
this._deviceState = mixinDeviceState;
}

206
sdk/types.d.ts vendored
View File

@@ -1,4 +1,108 @@
/// <reference types="node" />
export declare enum ScryptedInterfaceProperty {
id = "id",
interfaces = "interfaces",
mixins = "mixins",
info = "info",
name = "name",
providedInterfaces = "providedInterfaces",
providedName = "providedName",
providedRoom = "providedRoom",
providedType = "providedType",
providerId = "providerId",
room = "room",
type = "type",
on = "on",
brightness = "brightness",
colorTemperature = "colorTemperature",
rgb = "rgb",
hsv = "hsv",
running = "running",
paused = "paused",
docked = "docked",
thermostatAvailableModes = "thermostatAvailableModes",
thermostatMode = "thermostatMode",
thermostatActiveMode = "thermostatActiveMode",
thermostatSetpoint = "thermostatSetpoint",
thermostatSetpointHigh = "thermostatSetpointHigh",
thermostatSetpointLow = "thermostatSetpointLow",
temperature = "temperature",
temperatureUnit = "temperatureUnit",
humidity = "humidity",
lockState = "lockState",
entryOpen = "entryOpen",
batteryLevel = "batteryLevel",
online = "online",
updateAvailable = "updateAvailable",
fromMimeType = "fromMimeType",
toMimeType = "toMimeType",
binaryState = "binaryState",
intrusionDetected = "intrusionDetected",
powerDetected = "powerDetected",
audioDetected = "audioDetected",
motionDetected = "motionDetected",
occupied = "occupied",
flooded = "flooded",
ultraviolet = "ultraviolet",
luminance = "luminance",
position = "position",
humiditySetting = "humiditySetting",
fan = "fan"
}
export declare enum ScryptedInterface {
ScryptedDevice = "ScryptedDevice",
OnOff = "OnOff",
Brightness = "Brightness",
ColorSettingTemperature = "ColorSettingTemperature",
ColorSettingRgb = "ColorSettingRgb",
ColorSettingHsv = "ColorSettingHsv",
Notifier = "Notifier",
StartStop = "StartStop",
Pause = "Pause",
Dock = "Dock",
TemperatureSetting = "TemperatureSetting",
Thermometer = "Thermometer",
HumiditySensor = "HumiditySensor",
Camera = "Camera",
VideoCamera = "VideoCamera",
Intercom = "Intercom",
Lock = "Lock",
PasswordStore = "PasswordStore",
Authenticator = "Authenticator",
Scene = "Scene",
Entry = "Entry",
EntrySensor = "EntrySensor",
DeviceProvider = "DeviceProvider",
Battery = "Battery",
Refresh = "Refresh",
MediaPlayer = "MediaPlayer",
Online = "Online",
SoftwareUpdate = "SoftwareUpdate",
BufferConverter = "BufferConverter",
Settings = "Settings",
BinarySensor = "BinarySensor",
IntrusionSensor = "IntrusionSensor",
PowerSensor = "PowerSensor",
AudioSensor = "AudioSensor",
MotionSensor = "MotionSensor",
OccupancySensor = "OccupancySensor",
FloodSensor = "FloodSensor",
UltravioletSensor = "UltravioletSensor",
LuminanceSensor = "LuminanceSensor",
PositionSensor = "PositionSensor",
MediaSource = "MediaSource",
MessagingEndpoint = "MessagingEndpoint",
OauthClient = "OauthClient",
MixinProvider = "MixinProvider",
HttpRequestHandler = "HttpRequestHandler",
EngineIOHandler = "EngineIOHandler",
PushHandler = "PushHandler",
Program = "Program",
Scriptable = "Scriptable",
ObjectDetector = "ObjectDetector",
HumiditySetting = "HumiditySetting",
Fan = "Fan"
}
export declare type ScryptedNativeId = string | undefined;
/**
* DeviceState is returned by DeviceManager.getDeviceState, and allows getting/setting of a device provided by a DeviceProvider.
@@ -1013,58 +1117,6 @@ export interface Setting {
value?: SettingValue;
}
export declare enum ScryptedInterface {
ScryptedDevice = "ScryptedDevice",
OnOff = "OnOff",
Brightness = "Brightness",
ColorSettingTemperature = "ColorSettingTemperature",
ColorSettingRgb = "ColorSettingRgb",
ColorSettingHsv = "ColorSettingHsv",
Notifier = "Notifier",
StartStop = "StartStop",
Pause = "Pause",
Dock = "Dock",
TemperatureSetting = "TemperatureSetting",
HumiditySetting = "HumiditySetting",
Fan = "Fan",
Thermometer = "Thermometer",
HumiditySensor = "HumiditySensor",
Camera = "Camera",
VideoCamera = "VideoCamera",
Intercom = "Intercom",
Lock = "Lock",
PasswordStore = "PasswordStore",
Authenticator = "Authenticator",
Scene = "Scene",
Entry = "Entry",
EntrySensor = "EntrySensor",
DeviceProvider = "DeviceProvider",
Battery = "Battery",
Refresh = "Refresh",
MediaPlayer = "MediaPlayer",
Online = "Online",
SoftwareUpdate = "SoftwareUpdate",
BufferConverter = "BufferConverter",
Settings = "Settings",
BinarySensor = "BinarySensor",
IntrusionSensor = "IntrusionSensor",
PowerSensor = "PowerSensor",
AudioSensor = "AudioSensor",
MotionSensor = "MotionSensor",
OccupancySensor = "OccupancySensor",
FloodSensor = "FloodSensor",
UltravioletSensor = "UltravioletSensor",
LuminanceSensor = "LuminanceSensor",
PositionSensor = "PositionSensor",
MediaSource = "MediaSource",
MessagingEndpoint = "MessagingEndpoint",
OauthClient = "OauthClient",
MixinProvider = "MixinProvider",
HttpRequestHandler = "HttpRequestHandler",
EngineIOHandler = "EngineIOHandler",
PushHandler = "PushHandler",
Program = "Program",
Scriptable = "Scriptable",
ObjectDetector = "ObjectDetector"
}
export interface RTCAVMessage {
id: string;
@@ -1102,53 +1154,3 @@ export interface ScryptedInterfaceDescriptor {
export declare const ScryptedInterfaceDescriptors: {
[scryptedInterface: string]: ScryptedInterfaceDescriptor;
};
export declare enum ScryptedInterfaceProperty {
id = "id",
interfaces = "interfaces",
mixins = "mixins",
info = "info",
name = "name",
providedInterfaces = "providedInterfaces",
providedName = "providedName",
providedRoom = "providedRoom",
providedType = "providedType",
providerId = "providerId",
room = "room",
type = "type",
on = "on",
brightness = "brightness",
colorTemperature = "colorTemperature",
rgb = "rgb",
hsv = "hsv",
running = "running",
paused = "paused",
docked = "docked",
thermostatAvailableModes = "thermostatAvailableModes",
thermostatMode = "thermostatMode",
thermostatActiveMode = "thermostatActiveMode",
thermostatSetpoint = "thermostatSetpoint",
thermostatSetpointHigh = "thermostatSetpointHigh",
thermostatSetpointLow = "thermostatSetpointLow",
temperature = "temperature",
temperatureUnit = "temperatureUnit",
humidity = "humidity",
lockState = "lockState",
entryOpen = "entryOpen",
batteryLevel = "batteryLevel",
online = "online",
updateAvailable = "updateAvailable",
fromMimeType = "fromMimeType",
toMimeType = "toMimeType",
binaryState = "binaryState",
intrusionDetected = "intrusionDetected",
powerDetected = "powerDetected",
audioDetected = "audioDetected",
motionDetected = "motionDetected",
occupied = "occupied",
flooded = "flooded",
ultraviolet = "ultraviolet",
luminance = "luminance",
position = "position",
humiditySetting = "humiditySetting",
fan = "fan"
}

View File

@@ -1,6 +1,112 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ScryptedInterfaceProperty = exports.ScryptedInterfaceDescriptors = exports.SCRYPTED_MEDIA_SCHEME = exports.ScryptedMimeTypes = exports.ScryptedInterface = exports.MediaPlayerState = exports.LockState = exports.ThermostatMode = exports.TemperatureUnit = exports.FanMode = exports.HumidityMode = exports.ScryptedDeviceType = void 0;
exports.ScryptedInterfaceDescriptors = exports.SCRYPTED_MEDIA_SCHEME = exports.ScryptedMimeTypes = exports.MediaPlayerState = exports.LockState = exports.ThermostatMode = exports.TemperatureUnit = exports.FanMode = exports.HumidityMode = exports.ScryptedDeviceType = exports.ScryptedInterface = exports.ScryptedInterfaceProperty = void 0;
var ScryptedInterfaceProperty;
(function (ScryptedInterfaceProperty) {
ScryptedInterfaceProperty["id"] = "id";
ScryptedInterfaceProperty["interfaces"] = "interfaces";
ScryptedInterfaceProperty["mixins"] = "mixins";
ScryptedInterfaceProperty["info"] = "info";
ScryptedInterfaceProperty["name"] = "name";
ScryptedInterfaceProperty["providedInterfaces"] = "providedInterfaces";
ScryptedInterfaceProperty["providedName"] = "providedName";
ScryptedInterfaceProperty["providedRoom"] = "providedRoom";
ScryptedInterfaceProperty["providedType"] = "providedType";
ScryptedInterfaceProperty["providerId"] = "providerId";
ScryptedInterfaceProperty["room"] = "room";
ScryptedInterfaceProperty["type"] = "type";
ScryptedInterfaceProperty["on"] = "on";
ScryptedInterfaceProperty["brightness"] = "brightness";
ScryptedInterfaceProperty["colorTemperature"] = "colorTemperature";
ScryptedInterfaceProperty["rgb"] = "rgb";
ScryptedInterfaceProperty["hsv"] = "hsv";
ScryptedInterfaceProperty["running"] = "running";
ScryptedInterfaceProperty["paused"] = "paused";
ScryptedInterfaceProperty["docked"] = "docked";
ScryptedInterfaceProperty["thermostatAvailableModes"] = "thermostatAvailableModes";
ScryptedInterfaceProperty["thermostatMode"] = "thermostatMode";
ScryptedInterfaceProperty["thermostatActiveMode"] = "thermostatActiveMode";
ScryptedInterfaceProperty["thermostatSetpoint"] = "thermostatSetpoint";
ScryptedInterfaceProperty["thermostatSetpointHigh"] = "thermostatSetpointHigh";
ScryptedInterfaceProperty["thermostatSetpointLow"] = "thermostatSetpointLow";
ScryptedInterfaceProperty["temperature"] = "temperature";
ScryptedInterfaceProperty["temperatureUnit"] = "temperatureUnit";
ScryptedInterfaceProperty["humidity"] = "humidity";
ScryptedInterfaceProperty["lockState"] = "lockState";
ScryptedInterfaceProperty["entryOpen"] = "entryOpen";
ScryptedInterfaceProperty["batteryLevel"] = "batteryLevel";
ScryptedInterfaceProperty["online"] = "online";
ScryptedInterfaceProperty["updateAvailable"] = "updateAvailable";
ScryptedInterfaceProperty["fromMimeType"] = "fromMimeType";
ScryptedInterfaceProperty["toMimeType"] = "toMimeType";
ScryptedInterfaceProperty["binaryState"] = "binaryState";
ScryptedInterfaceProperty["intrusionDetected"] = "intrusionDetected";
ScryptedInterfaceProperty["powerDetected"] = "powerDetected";
ScryptedInterfaceProperty["audioDetected"] = "audioDetected";
ScryptedInterfaceProperty["motionDetected"] = "motionDetected";
ScryptedInterfaceProperty["occupied"] = "occupied";
ScryptedInterfaceProperty["flooded"] = "flooded";
ScryptedInterfaceProperty["ultraviolet"] = "ultraviolet";
ScryptedInterfaceProperty["luminance"] = "luminance";
ScryptedInterfaceProperty["position"] = "position";
ScryptedInterfaceProperty["humiditySetting"] = "humiditySetting";
ScryptedInterfaceProperty["fan"] = "fan";
})(ScryptedInterfaceProperty = exports.ScryptedInterfaceProperty || (exports.ScryptedInterfaceProperty = {}));
var ScryptedInterface;
(function (ScryptedInterface) {
ScryptedInterface["ScryptedDevice"] = "ScryptedDevice";
ScryptedInterface["OnOff"] = "OnOff";
ScryptedInterface["Brightness"] = "Brightness";
ScryptedInterface["ColorSettingTemperature"] = "ColorSettingTemperature";
ScryptedInterface["ColorSettingRgb"] = "ColorSettingRgb";
ScryptedInterface["ColorSettingHsv"] = "ColorSettingHsv";
ScryptedInterface["Notifier"] = "Notifier";
ScryptedInterface["StartStop"] = "StartStop";
ScryptedInterface["Pause"] = "Pause";
ScryptedInterface["Dock"] = "Dock";
ScryptedInterface["TemperatureSetting"] = "TemperatureSetting";
ScryptedInterface["Thermometer"] = "Thermometer";
ScryptedInterface["HumiditySensor"] = "HumiditySensor";
ScryptedInterface["Camera"] = "Camera";
ScryptedInterface["VideoCamera"] = "VideoCamera";
ScryptedInterface["Intercom"] = "Intercom";
ScryptedInterface["Lock"] = "Lock";
ScryptedInterface["PasswordStore"] = "PasswordStore";
ScryptedInterface["Authenticator"] = "Authenticator";
ScryptedInterface["Scene"] = "Scene";
ScryptedInterface["Entry"] = "Entry";
ScryptedInterface["EntrySensor"] = "EntrySensor";
ScryptedInterface["DeviceProvider"] = "DeviceProvider";
ScryptedInterface["Battery"] = "Battery";
ScryptedInterface["Refresh"] = "Refresh";
ScryptedInterface["MediaPlayer"] = "MediaPlayer";
ScryptedInterface["Online"] = "Online";
ScryptedInterface["SoftwareUpdate"] = "SoftwareUpdate";
ScryptedInterface["BufferConverter"] = "BufferConverter";
ScryptedInterface["Settings"] = "Settings";
ScryptedInterface["BinarySensor"] = "BinarySensor";
ScryptedInterface["IntrusionSensor"] = "IntrusionSensor";
ScryptedInterface["PowerSensor"] = "PowerSensor";
ScryptedInterface["AudioSensor"] = "AudioSensor";
ScryptedInterface["MotionSensor"] = "MotionSensor";
ScryptedInterface["OccupancySensor"] = "OccupancySensor";
ScryptedInterface["FloodSensor"] = "FloodSensor";
ScryptedInterface["UltravioletSensor"] = "UltravioletSensor";
ScryptedInterface["LuminanceSensor"] = "LuminanceSensor";
ScryptedInterface["PositionSensor"] = "PositionSensor";
ScryptedInterface["MediaSource"] = "MediaSource";
ScryptedInterface["MessagingEndpoint"] = "MessagingEndpoint";
ScryptedInterface["OauthClient"] = "OauthClient";
ScryptedInterface["MixinProvider"] = "MixinProvider";
ScryptedInterface["HttpRequestHandler"] = "HttpRequestHandler";
ScryptedInterface["EngineIOHandler"] = "EngineIOHandler";
ScryptedInterface["PushHandler"] = "PushHandler";
ScryptedInterface["Program"] = "Program";
ScryptedInterface["Scriptable"] = "Scriptable";
ScryptedInterface["ObjectDetector"] = "ObjectDetector";
ScryptedInterface["HumiditySetting"] = "HumiditySetting";
ScryptedInterface["Fan"] = "Fan";
})(ScryptedInterface = exports.ScryptedInterface || (exports.ScryptedInterface = {}));
var ScryptedDeviceType;
(function (ScryptedDeviceType) {
ScryptedDeviceType["Builtin"] = "Builtin";
@@ -75,61 +181,6 @@ var MediaPlayerState;
MediaPlayerState["Paused"] = "Paused";
MediaPlayerState["Buffering"] = "Buffering";
})(MediaPlayerState = exports.MediaPlayerState || (exports.MediaPlayerState = {}));
var ScryptedInterface;
(function (ScryptedInterface) {
ScryptedInterface["ScryptedDevice"] = "ScryptedDevice";
ScryptedInterface["OnOff"] = "OnOff";
ScryptedInterface["Brightness"] = "Brightness";
ScryptedInterface["ColorSettingTemperature"] = "ColorSettingTemperature";
ScryptedInterface["ColorSettingRgb"] = "ColorSettingRgb";
ScryptedInterface["ColorSettingHsv"] = "ColorSettingHsv";
ScryptedInterface["Notifier"] = "Notifier";
ScryptedInterface["StartStop"] = "StartStop";
ScryptedInterface["Pause"] = "Pause";
ScryptedInterface["Dock"] = "Dock";
ScryptedInterface["TemperatureSetting"] = "TemperatureSetting";
ScryptedInterface["HumiditySetting"] = "HumiditySetting";
ScryptedInterface["Fan"] = "Fan";
ScryptedInterface["Thermometer"] = "Thermometer";
ScryptedInterface["HumiditySensor"] = "HumiditySensor";
ScryptedInterface["Camera"] = "Camera";
ScryptedInterface["VideoCamera"] = "VideoCamera";
ScryptedInterface["Intercom"] = "Intercom";
ScryptedInterface["Lock"] = "Lock";
ScryptedInterface["PasswordStore"] = "PasswordStore";
ScryptedInterface["Authenticator"] = "Authenticator";
ScryptedInterface["Scene"] = "Scene";
ScryptedInterface["Entry"] = "Entry";
ScryptedInterface["EntrySensor"] = "EntrySensor";
ScryptedInterface["DeviceProvider"] = "DeviceProvider";
ScryptedInterface["Battery"] = "Battery";
ScryptedInterface["Refresh"] = "Refresh";
ScryptedInterface["MediaPlayer"] = "MediaPlayer";
ScryptedInterface["Online"] = "Online";
ScryptedInterface["SoftwareUpdate"] = "SoftwareUpdate";
ScryptedInterface["BufferConverter"] = "BufferConverter";
ScryptedInterface["Settings"] = "Settings";
ScryptedInterface["BinarySensor"] = "BinarySensor";
ScryptedInterface["IntrusionSensor"] = "IntrusionSensor";
ScryptedInterface["PowerSensor"] = "PowerSensor";
ScryptedInterface["AudioSensor"] = "AudioSensor";
ScryptedInterface["MotionSensor"] = "MotionSensor";
ScryptedInterface["OccupancySensor"] = "OccupancySensor";
ScryptedInterface["FloodSensor"] = "FloodSensor";
ScryptedInterface["UltravioletSensor"] = "UltravioletSensor";
ScryptedInterface["LuminanceSensor"] = "LuminanceSensor";
ScryptedInterface["PositionSensor"] = "PositionSensor";
ScryptedInterface["MediaSource"] = "MediaSource";
ScryptedInterface["MessagingEndpoint"] = "MessagingEndpoint";
ScryptedInterface["OauthClient"] = "OauthClient";
ScryptedInterface["MixinProvider"] = "MixinProvider";
ScryptedInterface["HttpRequestHandler"] = "HttpRequestHandler";
ScryptedInterface["EngineIOHandler"] = "EngineIOHandler";
ScryptedInterface["PushHandler"] = "PushHandler";
ScryptedInterface["Program"] = "Program";
ScryptedInterface["Scriptable"] = "Scriptable";
ScryptedInterface["ObjectDetector"] = "ObjectDetector";
})(ScryptedInterface = exports.ScryptedInterface || (exports.ScryptedInterface = {}));
var ScryptedMimeTypes;
(function (ScryptedMimeTypes) {
ScryptedMimeTypes["AcceptUrlParameter"] = "accept-url";
@@ -587,55 +638,4 @@ exports.ScryptedInterfaceDescriptors = {
],
}
};
var ScryptedInterfaceProperty;
(function (ScryptedInterfaceProperty) {
ScryptedInterfaceProperty["id"] = "id";
ScryptedInterfaceProperty["interfaces"] = "interfaces";
ScryptedInterfaceProperty["mixins"] = "mixins";
ScryptedInterfaceProperty["info"] = "info";
ScryptedInterfaceProperty["name"] = "name";
ScryptedInterfaceProperty["providedInterfaces"] = "providedInterfaces";
ScryptedInterfaceProperty["providedName"] = "providedName";
ScryptedInterfaceProperty["providedRoom"] = "providedRoom";
ScryptedInterfaceProperty["providedType"] = "providedType";
ScryptedInterfaceProperty["providerId"] = "providerId";
ScryptedInterfaceProperty["room"] = "room";
ScryptedInterfaceProperty["type"] = "type";
ScryptedInterfaceProperty["on"] = "on";
ScryptedInterfaceProperty["brightness"] = "brightness";
ScryptedInterfaceProperty["colorTemperature"] = "colorTemperature";
ScryptedInterfaceProperty["rgb"] = "rgb";
ScryptedInterfaceProperty["hsv"] = "hsv";
ScryptedInterfaceProperty["running"] = "running";
ScryptedInterfaceProperty["paused"] = "paused";
ScryptedInterfaceProperty["docked"] = "docked";
ScryptedInterfaceProperty["thermostatAvailableModes"] = "thermostatAvailableModes";
ScryptedInterfaceProperty["thermostatMode"] = "thermostatMode";
ScryptedInterfaceProperty["thermostatActiveMode"] = "thermostatActiveMode";
ScryptedInterfaceProperty["thermostatSetpoint"] = "thermostatSetpoint";
ScryptedInterfaceProperty["thermostatSetpointHigh"] = "thermostatSetpointHigh";
ScryptedInterfaceProperty["thermostatSetpointLow"] = "thermostatSetpointLow";
ScryptedInterfaceProperty["temperature"] = "temperature";
ScryptedInterfaceProperty["temperatureUnit"] = "temperatureUnit";
ScryptedInterfaceProperty["humidity"] = "humidity";
ScryptedInterfaceProperty["lockState"] = "lockState";
ScryptedInterfaceProperty["entryOpen"] = "entryOpen";
ScryptedInterfaceProperty["batteryLevel"] = "batteryLevel";
ScryptedInterfaceProperty["online"] = "online";
ScryptedInterfaceProperty["updateAvailable"] = "updateAvailable";
ScryptedInterfaceProperty["fromMimeType"] = "fromMimeType";
ScryptedInterfaceProperty["toMimeType"] = "toMimeType";
ScryptedInterfaceProperty["binaryState"] = "binaryState";
ScryptedInterfaceProperty["intrusionDetected"] = "intrusionDetected";
ScryptedInterfaceProperty["powerDetected"] = "powerDetected";
ScryptedInterfaceProperty["audioDetected"] = "audioDetected";
ScryptedInterfaceProperty["motionDetected"] = "motionDetected";
ScryptedInterfaceProperty["occupied"] = "occupied";
ScryptedInterfaceProperty["flooded"] = "flooded";
ScryptedInterfaceProperty["ultraviolet"] = "ultraviolet";
ScryptedInterfaceProperty["luminance"] = "luminance";
ScryptedInterfaceProperty["position"] = "position";
ScryptedInterfaceProperty["humiditySetting"] = "humiditySetting";
ScryptedInterfaceProperty["fan"] = "fan";
})(ScryptedInterfaceProperty = exports.ScryptedInterfaceProperty || (exports.ScryptedInterfaceProperty = {}));
//# sourceMappingURL=types.js.map

View File

@@ -1,3 +1,114 @@
export enum ScryptedInterfaceProperty {
id = "id",
interfaces = "interfaces",
mixins = "mixins",
info = "info",
name = "name",
providedInterfaces = "providedInterfaces",
providedName = "providedName",
providedRoom = "providedRoom",
providedType = "providedType",
providerId = "providerId",
room = "room",
type = "type",
on = "on",
brightness = "brightness",
colorTemperature = "colorTemperature",
rgb = "rgb",
hsv = "hsv",
running = "running",
paused = "paused",
docked = "docked",
thermostatAvailableModes = "thermostatAvailableModes",
thermostatMode = "thermostatMode",
thermostatActiveMode = "thermostatActiveMode",
thermostatSetpoint = "thermostatSetpoint",
thermostatSetpointHigh = "thermostatSetpointHigh",
thermostatSetpointLow = "thermostatSetpointLow",
temperature = "temperature",
temperatureUnit = "temperatureUnit",
humidity = "humidity",
lockState = "lockState",
entryOpen = "entryOpen",
batteryLevel = "batteryLevel",
online = "online",
updateAvailable = "updateAvailable",
fromMimeType = "fromMimeType",
toMimeType = "toMimeType",
binaryState = "binaryState",
intrusionDetected = "intrusionDetected",
powerDetected = "powerDetected",
audioDetected = "audioDetected",
motionDetected = "motionDetected",
occupied = "occupied",
flooded = "flooded",
ultraviolet = "ultraviolet",
luminance = "luminance",
position = "position",
humiditySetting = "humiditySetting",
fan = "fan",
}
export enum ScryptedInterface {
ScryptedDevice = "ScryptedDevice",
OnOff = "OnOff",
Brightness = "Brightness",
ColorSettingTemperature = "ColorSettingTemperature",
ColorSettingRgb = "ColorSettingRgb",
ColorSettingHsv = "ColorSettingHsv",
Notifier = "Notifier",
StartStop = "StartStop",
Pause = "Pause",
Dock = "Dock",
TemperatureSetting = "TemperatureSetting",
Thermometer = "Thermometer",
HumiditySensor = "HumiditySensor",
Camera = "Camera",
VideoCamera = "VideoCamera",
Intercom = "Intercom",
Lock = "Lock",
PasswordStore = "PasswordStore",
Authenticator = "Authenticator",
Scene = "Scene",
Entry = "Entry",
EntrySensor = "EntrySensor",
DeviceProvider = "DeviceProvider",
Battery = "Battery",
Refresh = "Refresh",
MediaPlayer = "MediaPlayer",
Online = "Online",
SoftwareUpdate = "SoftwareUpdate",
BufferConverter = "BufferConverter",
Settings = "Settings",
BinarySensor = "BinarySensor",
IntrusionSensor = "IntrusionSensor",
PowerSensor = "PowerSensor",
AudioSensor = "AudioSensor",
MotionSensor = "MotionSensor",
OccupancySensor = "OccupancySensor",
FloodSensor = "FloodSensor",
UltravioletSensor = "UltravioletSensor",
LuminanceSensor = "LuminanceSensor",
PositionSensor = "PositionSensor",
MediaSource = "MediaSource",
MessagingEndpoint = "MessagingEndpoint",
OauthClient = "OauthClient",
MixinProvider = "MixinProvider",
HttpRequestHandler = "HttpRequestHandler",
EngineIOHandler = "EngineIOHandler",
PushHandler = "PushHandler",
Program = "Program",
Scriptable = "Scriptable",
ObjectDetector = "ObjectDetector",
HumiditySetting = "HumiditySetting",
Fan = "Fan",
}
export type ScryptedNativeId = string | undefined;
/**
@@ -1126,59 +1237,7 @@ export interface Setting {
value?: SettingValue;
}
export enum ScryptedInterface {
ScryptedDevice = "ScryptedDevice",
OnOff = "OnOff",
Brightness = "Brightness",
ColorSettingTemperature = "ColorSettingTemperature",
ColorSettingRgb = "ColorSettingRgb",
ColorSettingHsv = "ColorSettingHsv",
Notifier = "Notifier",
StartStop = "StartStop",
Pause = "Pause",
Dock = "Dock",
TemperatureSetting = "TemperatureSetting",
HumiditySetting = "HumiditySetting",
Fan = "Fan",
Thermometer = "Thermometer",
HumiditySensor = "HumiditySensor",
Camera = "Camera",
VideoCamera = "VideoCamera",
Intercom = "Intercom",
Lock = "Lock",
PasswordStore = "PasswordStore",
Authenticator = "Authenticator",
Scene = "Scene",
Entry = "Entry",
EntrySensor = "EntrySensor",
DeviceProvider = "DeviceProvider",
Battery = "Battery",
Refresh = "Refresh",
MediaPlayer = "MediaPlayer",
Online = "Online",
SoftwareUpdate = "SoftwareUpdate",
BufferConverter = "BufferConverter",
Settings = "Settings",
BinarySensor = "BinarySensor",
IntrusionSensor = "IntrusionSensor",
PowerSensor = "PowerSensor",
AudioSensor = "AudioSensor",
MotionSensor = "MotionSensor",
OccupancySensor = "OccupancySensor",
FloodSensor = "FloodSensor",
UltravioletSensor = "UltravioletSensor",
LuminanceSensor = "LuminanceSensor",
PositionSensor = "PositionSensor",
MediaSource = "MediaSource",
MessagingEndpoint = "MessagingEndpoint",
OauthClient = "OauthClient",
MixinProvider = "MixinProvider",
HttpRequestHandler = "HttpRequestHandler",
EngineIOHandler = "EngineIOHandler",
PushHandler = "PushHandler",
Program = "Program",
Scriptable = "Scriptable",
ObjectDetector = "ObjectDetector",
export declare enum ScryptedInterface {
}
export interface RTCAVMessage {
@@ -1706,56 +1765,3 @@ export const ScryptedInterfaceDescriptors: { [scryptedInterface: string]: Scrypt
};
export enum ScryptedInterfaceProperty {
id = "id",
interfaces = "interfaces",
mixins = "mixins",
info = "info",
name = "name",
providedInterfaces = "providedInterfaces",
providedName = "providedName",
providedRoom = "providedRoom",
providedType = "providedType",
providerId = "providerId",
room = "room",
type = "type",
on = "on",
brightness = "brightness",
colorTemperature = "colorTemperature",
rgb = "rgb",
hsv = "hsv",
running = "running",
paused = "paused",
docked = "docked",
thermostatAvailableModes = "thermostatAvailableModes",
thermostatMode = "thermostatMode",
thermostatActiveMode = "thermostatActiveMode",
thermostatSetpoint = "thermostatSetpoint",
thermostatSetpointHigh = "thermostatSetpointHigh",
thermostatSetpointLow = "thermostatSetpointLow",
temperature = "temperature",
temperatureUnit = "temperatureUnit",
humidity = "humidity",
lockState = "lockState",
entryOpen = "entryOpen",
batteryLevel = "batteryLevel",
online = "online",
updateAvailable = "updateAvailable",
fromMimeType = "fromMimeType",
toMimeType = "toMimeType",
binaryState = "binaryState",
intrusionDetected = "intrusionDetected",
powerDetected = "powerDetected",
audioDetected = "audioDetected",
motionDetected = "motionDetected",
occupied = "occupied",
flooded = "flooded",
ultraviolet = "ultraviolet",
luminance = "luminance",
position = "position",
humiditySetting = "humiditySetting",
fan = "fan",
}