mirror of
https://github.com/koush/scrypted.git
synced 2026-02-09 08:42:19 +00:00
sdk: convert to typescript
This commit is contained in:
1
sdk/.gitignore
vendored
1
sdk/.gitignore
vendored
@@ -1 +1,2 @@
|
||||
node_modules/
|
||||
*.map
|
||||
|
||||
262
sdk/index.d.ts
vendored
262
sdk/index.d.ts
vendored
@@ -1,129 +1,137 @@
|
||||
export * from './types'
|
||||
import { DeviceInformation, ScryptedInterface, ScryptedStatic, ScryptedDeviceType, Logger, ColorRgb, ColorHsv, DeviceState, TemperatureUnit, LockState, ThermostatMode, Position, ScryptedDevice } from './types';
|
||||
|
||||
export class ScryptedDeviceBase implements DeviceState {
|
||||
constructor(nativeId?: string);
|
||||
nativeId: string;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
log: Logger;
|
||||
console: Console;
|
||||
storage: Storage;
|
||||
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 * from './types';
|
||||
import type { ScryptedNativeId } from './types';
|
||||
import type { DeviceInformation, ScryptedInterface, ScryptedStatic, ScryptedDeviceType, Logger, ColorRgb, ColorHsv, DeviceState, TemperatureUnit, LockState, ThermostatMode, Position } from './types';
|
||||
export declare class ScryptedDeviceBase implements DeviceState {
|
||||
nativeId: string;
|
||||
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;
|
||||
private _deviceState;
|
||||
constructor(nativeId: string);
|
||||
get storage(): Storage;
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
get log(): Logger;
|
||||
get console(): Console;
|
||||
_lazyLoadDeviceState(): void;
|
||||
}
|
||||
|
||||
|
||||
export class MixinDeviceBase<T> implements DeviceState {
|
||||
constructor(mixinDevice: T, mixinDeviceInterfaces: ScryptedInterface[], mixinDeviceState: { [key: string]: any }, mixinProviderNativeId: string);
|
||||
mixinProviderNativeId: string;
|
||||
mixinDevice: ScryptedDevice & T;
|
||||
mixinDeviceInterfaces: ScryptedInterface[];
|
||||
console: Console;
|
||||
storage: Storage;
|
||||
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 declare class MixinDeviceBase<T> implements DeviceState {
|
||||
mixinDevice: any;
|
||||
mixinDeviceInterfaces: ScryptedInterface[];
|
||||
mixinProviderNativeId: ScryptedNativeId;
|
||||
nativeId?: string;
|
||||
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;
|
||||
private _deviceState;
|
||||
constructor(mixinDevice: any, mixinDeviceInterfaces: ScryptedInterface[], mixinDeviceState: DeviceState, mixinProviderNativeId: ScryptedNativeId);
|
||||
get storage(): Storage;
|
||||
get console(): Console;
|
||||
_lazyLoadDeviceState(): void;
|
||||
release(): void;
|
||||
}
|
||||
|
||||
declare const Scrypted: ScryptedStatic;
|
||||
|
||||
export default Scrypted;
|
||||
declare let sdk: ScryptedStatic;
|
||||
export default sdk;
|
||||
|
||||
@@ -1,113 +0,0 @@
|
||||
const types = require('./types.generated.js');
|
||||
const stream = require('stream');
|
||||
|
||||
class ScryptedDeviceBase {
|
||||
constructor(nativeId) {
|
||||
this.nativeId = nativeId;
|
||||
}
|
||||
|
||||
get storage() {
|
||||
if (!this._storage) {
|
||||
this._storage = deviceManager.getDeviceStorage(this.nativeId);
|
||||
}
|
||||
return this._storage;
|
||||
}
|
||||
|
||||
get log() {
|
||||
if (!this._log) {
|
||||
this._log = deviceManager.getDeviceLogger(this.nativeId);
|
||||
}
|
||||
return this._log;
|
||||
}
|
||||
|
||||
get console() {
|
||||
if (!this._console) {
|
||||
this._console = deviceManager.getDeviceConsole(this.nativeId);
|
||||
}
|
||||
|
||||
return this._console;
|
||||
}
|
||||
|
||||
_lazyLoadDeviceState() {
|
||||
if (!this._deviceState) {
|
||||
if (this.nativeId) {
|
||||
this._deviceState = deviceManager.getDeviceState(this.nativeId);
|
||||
}
|
||||
else {
|
||||
this._deviceState = deviceManager.getDeviceState();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class MixinDeviceBase {
|
||||
constructor(mixinDevice, mixinDeviceInterfaces, mixinDeviceState, mixinProviderNativeId) {
|
||||
this.mixinDevice = mixinDevice;
|
||||
this.mixinDevice = mixinDevice;
|
||||
this.mixinDeviceInterfaces = mixinDeviceInterfaces;
|
||||
this._deviceState = mixinDeviceState;
|
||||
this.mixinProviderNativeId = mixinProviderNativeId;
|
||||
}
|
||||
|
||||
get storage() {
|
||||
if (!this._storage) {
|
||||
this._storage = deviceManager.getMixinStorage(this.id, this.mixinProviderNativeId);
|
||||
}
|
||||
return this._storage;
|
||||
}
|
||||
|
||||
get console() {
|
||||
if (!this._console) {
|
||||
if (deviceManager.getMixinConsole)
|
||||
this._console = deviceManager.getMixinConsole(this.id, this.mixinProviderNativeId);
|
||||
else
|
||||
this._console = deviceManager.getDeviceConsole(this.mixinProviderNativeId);
|
||||
}
|
||||
|
||||
return this._console;
|
||||
}
|
||||
|
||||
_lazyLoadDeviceState() {
|
||||
}
|
||||
|
||||
release() {
|
||||
}
|
||||
}
|
||||
|
||||
(function () {
|
||||
function _createGetState(state) {
|
||||
return function () {
|
||||
this._lazyLoadDeviceState();
|
||||
return this._deviceState[state];
|
||||
};
|
||||
}
|
||||
|
||||
function _createSetState(state) {
|
||||
return function (value) {
|
||||
this._lazyLoadDeviceState();
|
||||
this._deviceState[state] = value;
|
||||
};
|
||||
}
|
||||
|
||||
for (var field of Object.values(types.ScryptedInterfaceProperty)) {
|
||||
Object.defineProperty(ScryptedDeviceBase.prototype, field, {
|
||||
set: _createSetState(field),
|
||||
get: _createGetState(field),
|
||||
});
|
||||
Object.defineProperty(MixinDeviceBase.prototype, field, {
|
||||
set: _createSetState(field),
|
||||
get: _createGetState(field),
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
const sdk = {
|
||||
ScryptedDeviceBase,
|
||||
MixinDeviceBase,
|
||||
}
|
||||
|
||||
Object.assign(sdk, types);
|
||||
|
||||
module.exports = sdk;
|
||||
module.exports.default = sdk;
|
||||
17
sdk/index.js
17
sdk/index.js
@@ -1,17 +0,0 @@
|
||||
var sdk = require('./index.generated.js');
|
||||
try {
|
||||
sdk = Object.assign(sdk, {
|
||||
log: deviceManager.getDeviceLogger(undefined),
|
||||
deviceManager,
|
||||
endpointManager,
|
||||
mediaManager,
|
||||
systemManager,
|
||||
pluginHostAPI,
|
||||
});
|
||||
}
|
||||
catch (e) {
|
||||
console.error('sdk initialization error, import @scrypted/sdk/types instead', e);
|
||||
}
|
||||
|
||||
module.exports = sdk;
|
||||
module.exports.default = sdk;
|
||||
@@ -4,6 +4,7 @@
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"webpack": "webpack-cli --config webpack.config.js",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
@@ -53,7 +54,7 @@
|
||||
"webpack-cli": "^3.1.2",
|
||||
"webpack-inject-plugin": "^1.0.2"
|
||||
},
|
||||
"types": "./index.d.ts",
|
||||
"types": "index.d.ts",
|
||||
"devDependencies": {
|
||||
"typescript-json-schema": "^0.50.1"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "esnext",
|
||||
"noImplicitAny": true,
|
||||
"esModuleInterop": true,
|
||||
"sourceMap": true,
|
||||
"target": "es5",
|
||||
}
|
||||
}
|
||||
"declaration": true,
|
||||
},
|
||||
}
|
||||
|
||||
1533
sdk/types.d.ts
vendored
1533
sdk/types.d.ts
vendored
File diff suppressed because it is too large
Load Diff
@@ -1,584 +0,0 @@
|
||||
|
||||
const types = {
|
||||
}
|
||||
|
||||
module.exports = types;
|
||||
module.exports.default = types;
|
||||
module.exports.ScryptedDeviceType = {
|
||||
Builtin: "Builtin",
|
||||
Camera: "Camera",
|
||||
Fan: "Fan",
|
||||
Light: "Light",
|
||||
Switch: "Switch",
|
||||
Outlet: "Outlet",
|
||||
Sensor: "Sensor",
|
||||
Scene: "Scene",
|
||||
Program: "Program",
|
||||
Automation: "Automation",
|
||||
Vacuum: "Vacuum",
|
||||
Notifier: "Notifier",
|
||||
Thermostat: "Thermostat",
|
||||
Lock: "Lock",
|
||||
PasswordControl: "PasswordControl",
|
||||
Display: "Display",
|
||||
Speaker: "Speaker",
|
||||
Event: "Event",
|
||||
Entry: "Entry",
|
||||
Garage: "Garage",
|
||||
DeviceProvider: "DeviceProvider",
|
||||
DataSource: "DataSource",
|
||||
API: "API",
|
||||
Doorbell: "Doorbell",
|
||||
Irrigation: "Irrigation",
|
||||
Valve: "Valve",
|
||||
Unknown: "Unknown",
|
||||
}
|
||||
module.exports.TemperatureUnit = {
|
||||
C: "C",
|
||||
F: "F",
|
||||
}
|
||||
module.exports.ThermostatMode = {
|
||||
Off: "Off",
|
||||
Cool: "Cool",
|
||||
Heat: "Heat",
|
||||
HeatCool: "HeatCool",
|
||||
Auto: "Auto",
|
||||
FanOnly: "FanOnly",
|
||||
Purifier: "Purifier",
|
||||
Eco: "Eco",
|
||||
Dry: "Dry",
|
||||
On: "On",
|
||||
}
|
||||
module.exports.LockState = {
|
||||
Locked: "Locked",
|
||||
Unlocked: "Unlocked",
|
||||
Jammed: "Jammed",
|
||||
}
|
||||
module.exports.MediaPlayerState = {
|
||||
Idle: "Idle",
|
||||
Playing: "Playing",
|
||||
Paused: "Paused",
|
||||
Buffering: "Buffering",
|
||||
}
|
||||
|
||||
module.exports.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",
|
||||
}
|
||||
|
||||
module.exports.ScryptedInterfaceDescriptors = {
|
||||
ScryptedDevice: {
|
||||
name: "ScryptedDevice",
|
||||
properties: [
|
||||
"id",
|
||||
"interfaces",
|
||||
"mixins",
|
||||
"info",
|
||||
"name",
|
||||
"providedInterfaces",
|
||||
"providedName",
|
||||
"providedRoom",
|
||||
"providedType",
|
||||
"providerId",
|
||||
"room",
|
||||
"type",
|
||||
],
|
||||
methods: [
|
||||
"listen",
|
||||
"setName",
|
||||
"setRoom",
|
||||
"setType",
|
||||
]
|
||||
},
|
||||
OnOff: {
|
||||
name: "OnOff",
|
||||
properties: [
|
||||
"on",
|
||||
],
|
||||
methods: [
|
||||
"turnOff",
|
||||
"turnOn",
|
||||
]
|
||||
},
|
||||
Brightness: {
|
||||
name: "Brightness",
|
||||
properties: [
|
||||
"brightness",
|
||||
],
|
||||
methods: [
|
||||
"setBrightness",
|
||||
]
|
||||
},
|
||||
ColorSettingTemperature: {
|
||||
name: "ColorSettingTemperature",
|
||||
properties: [
|
||||
"colorTemperature",
|
||||
],
|
||||
methods: [
|
||||
"getTemperatureMaxK",
|
||||
"getTemperatureMinK",
|
||||
"setColorTemperature",
|
||||
]
|
||||
},
|
||||
ColorSettingRgb: {
|
||||
name: "ColorSettingRgb",
|
||||
properties: [
|
||||
"rgb",
|
||||
],
|
||||
methods: [
|
||||
"setRgb",
|
||||
]
|
||||
},
|
||||
ColorSettingHsv: {
|
||||
name: "ColorSettingHsv",
|
||||
properties: [
|
||||
"hsv",
|
||||
],
|
||||
methods: [
|
||||
"setHsv",
|
||||
]
|
||||
},
|
||||
Notifier: {
|
||||
name: "Notifier",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"sendNotification",
|
||||
]
|
||||
},
|
||||
StartStop: {
|
||||
name: "StartStop",
|
||||
properties: [
|
||||
"running",
|
||||
],
|
||||
methods: [
|
||||
"start",
|
||||
"stop",
|
||||
]
|
||||
},
|
||||
Pause: {
|
||||
name: "Pause",
|
||||
properties: [
|
||||
"paused",
|
||||
],
|
||||
methods: [
|
||||
"pause",
|
||||
"resume",
|
||||
]
|
||||
},
|
||||
Dock: {
|
||||
name: "Dock",
|
||||
properties: [
|
||||
"docked",
|
||||
],
|
||||
methods: [
|
||||
"dock",
|
||||
]
|
||||
},
|
||||
TemperatureSetting: {
|
||||
name: "TemperatureSetting",
|
||||
properties: [
|
||||
"thermostatAvailableModes",
|
||||
"thermostatMode",
|
||||
"thermostatSetpoint",
|
||||
"thermostatSetpointHigh",
|
||||
"thermostatSetpointLow",
|
||||
],
|
||||
methods: [
|
||||
"setThermostatMode",
|
||||
"setThermostatSetpoint",
|
||||
"setThermostatSetpointHigh",
|
||||
"setThermostatSetpointLow",
|
||||
]
|
||||
},
|
||||
Thermometer: {
|
||||
name: "Thermometer",
|
||||
properties: [
|
||||
"temperature",
|
||||
"temperatureUnit",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
HumiditySensor: {
|
||||
name: "HumiditySensor",
|
||||
properties: [
|
||||
"humidity",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
Camera: {
|
||||
name: "Camera",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"takePicture",
|
||||
]
|
||||
},
|
||||
VideoCamera: {
|
||||
name: "VideoCamera",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"getVideoStream",
|
||||
"getVideoStreamOptions",
|
||||
]
|
||||
},
|
||||
Intercom: {
|
||||
name: "Intercom",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"startIntercom",
|
||||
"stopIntercom",
|
||||
]
|
||||
},
|
||||
Lock: {
|
||||
name: "Lock",
|
||||
properties: [
|
||||
"lockState",
|
||||
],
|
||||
methods: [
|
||||
"lock",
|
||||
"unlock",
|
||||
]
|
||||
},
|
||||
PasswordStore: {
|
||||
name: "PasswordStore",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"addPassword",
|
||||
"getPasswords",
|
||||
"removePassword",
|
||||
]
|
||||
},
|
||||
Authenticator: {
|
||||
name: "Authenticator",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"checkPassword",
|
||||
]
|
||||
},
|
||||
Scene: {
|
||||
name: "Scene",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"activate",
|
||||
"deactivate",
|
||||
"isReversible",
|
||||
]
|
||||
},
|
||||
Entry: {
|
||||
name: "Entry",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"closeEntry",
|
||||
"openEntry",
|
||||
]
|
||||
},
|
||||
EntrySensor: {
|
||||
name: "EntrySensor",
|
||||
properties: [
|
||||
"entryOpen",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
DeviceProvider: {
|
||||
name: "DeviceProvider",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"discoverDevices",
|
||||
"getDevice",
|
||||
]
|
||||
},
|
||||
Battery: {
|
||||
name: "Battery",
|
||||
properties: [
|
||||
"batteryLevel",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
Refresh: {
|
||||
name: "Refresh",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"getRefreshFrequency",
|
||||
"refresh",
|
||||
]
|
||||
},
|
||||
MediaPlayer: {
|
||||
name: "MediaPlayer",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"getMediaStatus",
|
||||
"load",
|
||||
"seek",
|
||||
"skipNext",
|
||||
"skipPrevious",
|
||||
]
|
||||
},
|
||||
Online: {
|
||||
name: "Online",
|
||||
properties: [
|
||||
"online",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
SoftwareUpdate: {
|
||||
name: "SoftwareUpdate",
|
||||
properties: [
|
||||
"updateAvailable",
|
||||
],
|
||||
methods: [
|
||||
"checkForUpdate",
|
||||
"installUpdate",
|
||||
]
|
||||
},
|
||||
BufferConverter: {
|
||||
name: "BufferConverter",
|
||||
properties: [
|
||||
"fromMimeType",
|
||||
"toMimeType",
|
||||
],
|
||||
methods: [
|
||||
"convert",
|
||||
]
|
||||
},
|
||||
Settings: {
|
||||
name: "Settings",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"getSettings",
|
||||
"putSetting",
|
||||
]
|
||||
},
|
||||
BinarySensor: {
|
||||
name: "BinarySensor",
|
||||
properties: [
|
||||
"binaryState",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
IntrusionSensor: {
|
||||
name: "IntrusionSensor",
|
||||
properties: [
|
||||
"intrusionDetected",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
PowerSensor: {
|
||||
name: "PowerSensor",
|
||||
properties: [
|
||||
"powerDetected",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
AudioSensor: {
|
||||
name: "AudioSensor",
|
||||
properties: [
|
||||
"audioDetected",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
MotionSensor: {
|
||||
name: "MotionSensor",
|
||||
properties: [
|
||||
"motionDetected",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
OccupancySensor: {
|
||||
name: "OccupancySensor",
|
||||
properties: [
|
||||
"occupied",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
FloodSensor: {
|
||||
name: "FloodSensor",
|
||||
properties: [
|
||||
"flooded",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
UltravioletSensor: {
|
||||
name: "UltravioletSensor",
|
||||
properties: [
|
||||
"ultraviolet",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
LuminanceSensor: {
|
||||
name: "LuminanceSensor",
|
||||
properties: [
|
||||
"luminance",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
PositionSensor: {
|
||||
name: "PositionSensor",
|
||||
properties: [
|
||||
"position",
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
MediaSource: {
|
||||
name: "MediaSource",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"getMedia",
|
||||
]
|
||||
},
|
||||
MessagingEndpoint: {
|
||||
name: "MessagingEndpoint",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
]
|
||||
},
|
||||
OauthClient: {
|
||||
name: "OauthClient",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"getOauthUrl",
|
||||
"onOauthCallback",
|
||||
]
|
||||
},
|
||||
MixinProvider: {
|
||||
name: "MixinProvider",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"canMixin",
|
||||
"getMixin",
|
||||
"releaseMixin",
|
||||
]
|
||||
},
|
||||
HttpRequestHandler: {
|
||||
name: "HttpRequestHandler",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"onRequest",
|
||||
]
|
||||
},
|
||||
EngineIOHandler: {
|
||||
name: "EngineIOHandler",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"onConnection",
|
||||
]
|
||||
},
|
||||
PushHandler: {
|
||||
name: "PushHandler",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"onPush",
|
||||
]
|
||||
},
|
||||
Program: {
|
||||
name: "Program",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"run",
|
||||
]
|
||||
},
|
||||
Scriptable: {
|
||||
name: "Scriptable",
|
||||
properties: [
|
||||
],
|
||||
methods: [
|
||||
"saveScript",
|
||||
"loadScripts",
|
||||
"eval",
|
||||
]
|
||||
},
|
||||
}
|
||||
|
||||
module.exports.ScryptedInterfaceProperty = {}
|
||||
Object.values(module.exports.ScryptedInterfaceDescriptors).map(s => s.properties).flat().forEach(s => module.exports.ScryptedInterfaceProperty[s] = s);
|
||||
|
||||
module.exports.ScryptedMimeTypes = {
|
||||
AcceptUrlParameter: 'accept-url',
|
||||
Url: 'text/x-uri',
|
||||
InsecureLocalUrl: 'text/x-insecure-local-uri',
|
||||
LocalUrl: 'text/x-local-uri',
|
||||
PushEndpoint: 'text/x-push-endpoint',
|
||||
FFmpegInput: 'x-scrypted/x-ffmpeg-input',
|
||||
RTCAVOffer: 'x-scrypted/x-rtc-av-offer',
|
||||
RTCAVAnswer: 'x-scrypted/x-rtc-av-answer',
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
var types = require('./types.generated.js');
|
||||
module.exports = types;
|
||||
module.exports.default = types;
|
||||
Reference in New Issue
Block a user