mirror of
https://github.com/koush/scrypted.git
synced 2026-02-10 01:02:18 +00:00
583 lines
11 KiB
JavaScript
583 lines
11 KiB
JavaScript
|
|
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",
|
|
Javascript: "Javascript",
|
|
}
|
|
|
|
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",
|
|
]
|
|
},
|
|
Javascript: {
|
|
name: "Javascript",
|
|
properties: [
|
|
],
|
|
methods: [
|
|
"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',
|
|
}
|