sdk: update

This commit is contained in:
Koushik Dutta
2022-03-29 09:34:36 -07:00
parent d934495877
commit 8aa8dfa90c
10 changed files with 104 additions and 6 deletions

View File

@@ -86,8 +86,19 @@ export enum ScryptedDeviceType {
Thermostat = "Thermostat",
Lock = "Lock",
PasswordControl = "PasswordControl",
/**
* Displays have audio and video output.
*/
Display = "Display",
/**
* Smart Displays have two way audio and video.
*/
SmartDisplay = "SmartDisplay",
Speaker = "Speaker",
/**
* Smart Speakers have two way audio.
*/
SmartSpeaker = "SmartSpeaker",
Event = "Event",
Entry = "Entry",
Garage = "Garage",
@@ -424,6 +435,13 @@ export interface RequestMediaStreamOptions extends ResponseMediaStreamOptions {
refresh?: boolean;
}
/**
* Microphone devices can capture audio streams.
*/
export interface Microphone {
getAudioStream(): Promise<MediaObject>;
}
/**
* VideoCamera devices can capture video streams.
*/
@@ -1278,6 +1296,7 @@ export enum ScryptedInterface {
Thermometer = "Thermometer",
HumiditySensor = "HumiditySensor",
Camera = "Camera",
Microphone = "Microphone",
VideoCamera = "VideoCamera",
VideoRecorder = "VideoRecorder",
VideoClips = "VideoClips",

4
sdk/package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/sdk",
"version": "0.0.184",
"version": "0.0.185",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/sdk",
"version": "0.0.184",
"version": "0.0.185",
"license": "ISC",
"dependencies": {
"@babel/preset-typescript": "^7.16.7",

View File

@@ -1,6 +1,6 @@
{
"name": "@scrypted/sdk",
"version": "0.0.184",
"version": "0.0.185",
"description": "",
"main": "index.js",
"scripts": {

View File

@@ -51,6 +51,8 @@ class ScryptedDeviceType(Enum):
Program = "Program"
Scene = "Scene"
Sensor = "Sensor"
SmartDisplay = "SmartDisplay"
SmartSpeaker = "SmartSpeaker"
Speaker = "Speaker"
Switch = "Switch"
Thermostat = "Thermostat"
@@ -87,6 +89,7 @@ class ScryptedInterface(Enum):
Lock = "Lock"
LuminanceSensor = "LuminanceSensor"
MediaPlayer = "MediaPlayer"
Microphone = "Microphone"
MixinProvider = "MixinProvider"
MotionSensor = "MotionSensor"
Notifier = "Notifier"
@@ -636,6 +639,11 @@ class MediaPlayer:
pass
pass
class Microphone:
async def getAudioStream(self) -> MediaObject:
pass
pass
class MixinProvider:
async def canMixin(self, type: ScryptedDeviceType, interfaces: list[str]) -> list[str]:
pass

18
sdk/types/index.d.ts vendored
View File

@@ -235,8 +235,19 @@ export declare enum ScryptedDeviceType {
Thermostat = "Thermostat",
Lock = "Lock",
PasswordControl = "PasswordControl",
/**
* Displays have audio and video output.
*/
Display = "Display",
/**
* Smart Displays have two way audio and video.
*/
SmartDisplay = "SmartDisplay",
Speaker = "Speaker",
/**
* Smart Speakers have two way audio.
*/
SmartSpeaker = "SmartSpeaker",
Event = "Event",
Entry = "Entry",
Garage = "Garage",
@@ -545,6 +556,12 @@ export interface RequestMediaStreamOptions extends ResponseMediaStreamOptions {
*/
refresh?: boolean;
}
/**
* Microphone devices can capture audio streams.
*/
export interface Microphone {
getAudioStream(): Promise<MediaObject>;
}
/**
* VideoCamera devices can capture video streams.
*/
@@ -1317,6 +1334,7 @@ export declare enum ScryptedInterface {
Thermometer = "Thermometer",
HumiditySensor = "HumiditySensor",
Camera = "Camera",
Microphone = "Microphone",
VideoCamera = "VideoCamera",
VideoRecorder = "VideoRecorder",
VideoClips = "VideoClips",

View File

@@ -214,6 +214,13 @@ exports.ScryptedInterfaceDescriptors = {
],
properties: []
},
Microphone: {
name: 'Microphone',
methods: [
'getAudioStream'
],
properties: []
},
VideoCamera: {
name: 'VideoCamera',
methods: [
@@ -593,8 +600,19 @@ var ScryptedDeviceType;
ScryptedDeviceType["Thermostat"] = "Thermostat";
ScryptedDeviceType["Lock"] = "Lock";
ScryptedDeviceType["PasswordControl"] = "PasswordControl";
/**
* Displays have audio and video output.
*/
ScryptedDeviceType["Display"] = "Display";
/**
* Smart Displays have two way audio and video.
*/
ScryptedDeviceType["SmartDisplay"] = "SmartDisplay";
ScryptedDeviceType["Speaker"] = "Speaker";
/**
* Smart Speakers have two way audio.
*/
ScryptedDeviceType["SmartSpeaker"] = "SmartSpeaker";
ScryptedDeviceType["Event"] = "Event";
ScryptedDeviceType["Entry"] = "Entry";
ScryptedDeviceType["Garage"] = "Garage";
@@ -667,6 +685,7 @@ var ScryptedInterface;
ScryptedInterface["Thermometer"] = "Thermometer";
ScryptedInterface["HumiditySensor"] = "HumiditySensor";
ScryptedInterface["Camera"] = "Camera";
ScryptedInterface["Microphone"] = "Microphone";
ScryptedInterface["VideoCamera"] = "VideoCamera";
ScryptedInterface["VideoRecorder"] = "VideoRecorder";
ScryptedInterface["VideoClips"] = "VideoClips";

View File

@@ -317,6 +317,13 @@ export const ScryptedInterfaceDescriptors: { [scryptedInterface: string]: Scrypt
],
properties: []
},
Microphone: {
name: 'Microphone',
methods: [
'getAudioStream'
],
properties: []
},
VideoCamera: {
name: 'VideoCamera',
methods: [
@@ -768,8 +775,19 @@ export enum ScryptedDeviceType {
Thermostat = "Thermostat",
Lock = "Lock",
PasswordControl = "PasswordControl",
/**
* Displays have audio and video output.
*/
Display = "Display",
/**
* Smart Displays have two way audio and video.
*/
SmartDisplay = "SmartDisplay",
Speaker = "Speaker",
/**
* Smart Speakers have two way audio.
*/
SmartSpeaker = "SmartSpeaker",
Event = "Event",
Entry = "Entry",
Garage = "Garage",
@@ -1106,6 +1124,13 @@ export interface RequestMediaStreamOptions extends ResponseMediaStreamOptions {
refresh?: boolean;
}
/**
* Microphone devices can capture audio streams.
*/
export interface Microphone {
getAudioStream(): Promise<MediaObject>;
}
/**
* VideoCamera devices can capture video streams.
*/
@@ -1960,6 +1985,7 @@ export enum ScryptedInterface {
Thermometer = "Thermometer",
HumiditySensor = "HumiditySensor",
Camera = "Camera",
Microphone = "Microphone",
VideoCamera = "VideoCamera",
VideoRecorder = "VideoRecorder",
VideoClips = "VideoClips",

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/types",
"version": "0.0.25",
"version": "0.0.26",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/types",
"version": "0.0.25",
"version": "0.0.26",
"license": "ISC",
"devDependencies": {}
}

View File

@@ -1,6 +1,6 @@
{
"name": "@scrypted/types",
"version": "0.0.25",
"version": "0.0.26",
"description": "",
"main": "index.js",
"author": "",

View File

@@ -51,6 +51,8 @@ class ScryptedDeviceType(Enum):
Program = "Program"
Scene = "Scene"
Sensor = "Sensor"
SmartDisplay = "SmartDisplay"
SmartSpeaker = "SmartSpeaker"
Speaker = "Speaker"
Switch = "Switch"
Thermostat = "Thermostat"
@@ -87,6 +89,7 @@ class ScryptedInterface(Enum):
Lock = "Lock"
LuminanceSensor = "LuminanceSensor"
MediaPlayer = "MediaPlayer"
Microphone = "Microphone"
MixinProvider = "MixinProvider"
MotionSensor = "MotionSensor"
Notifier = "Notifier"
@@ -636,6 +639,11 @@ class MediaPlayer:
pass
pass
class Microphone:
async def getAudioStream(self) -> MediaObject:
pass
pass
class MixinProvider:
async def canMixin(self, type: ScryptedDeviceType, interfaces: list[str]) -> list[str]:
pass