sdk: ambient light

This commit is contained in:
Koushik Dutta
2022-01-27 19:59:11 -08:00
parent c57cbe00fa
commit bd07d39339
7 changed files with 59 additions and 3 deletions

View File

@@ -633,6 +633,12 @@ export interface AudioSensor {
export interface MotionSensor {
motionDetected?: boolean;
}
export interface AmbientLightSensor {
/**
* The ambient light in lumens.
*/
ambientLight: number;
}
export interface OccupancySensor {
occupied?: boolean;
}
@@ -1230,6 +1236,7 @@ export enum ScryptedInterface {
PowerSensor = "PowerSensor",
AudioSensor = "AudioSensor",
MotionSensor = "MotionSensor",
AmbientLightSensor = "AmbientLightSensor",
OccupancySensor = "OccupancySensor",
FloodSensor = "FloodSensor",
UltravioletSensor = "UltravioletSensor",

4
sdk/package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/sdk",
"version": "0.0.148",
"version": "0.0.150",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/sdk",
"version": "0.0.148",
"version": "0.0.150",
"license": "ISC",
"dependencies": {
"@babel/plugin-proposal-class-properties": "^7.14.5",

View File

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

View File

@@ -59,6 +59,7 @@ class ScryptedDeviceType(Enum):
Valve = "Valve"
class ScryptedInterface(Enum):
AmbientLightSensor = "AmbientLightSensor"
AudioSensor = "AudioSensor"
Authenticator = "Authenticator"
Battery = "Battery"
@@ -417,6 +418,10 @@ class Setting(TypedDict):
value: SettingValue
pass
class AmbientLightSensor:
ambientLight: float
pass
class AudioSensor:
audioDetected: bool
pass
@@ -935,6 +940,7 @@ class ScryptedInterfaceProperty(Enum):
powerDetected = "powerDetected"
audioDetected = "audioDetected"
motionDetected = "motionDetected"
ambientLight = "ambientLight"
occupied = "occupied"
flooded = "flooded"
ultraviolet = "ultraviolet"
@@ -1236,6 +1242,13 @@ class DeviceState:
def motionDetected(self, value: bool):
self.setScryptedProperty("motionDetected", value)
@property
def ambientLight(self) -> float:
self.getScryptedProperty("ambientLight")
@ambientLight.setter
def ambientLight(self, value: float):
self.setScryptedProperty("ambientLight", value)
@property
def occupied(self) -> bool:
self.getScryptedProperty("occupied")

10
sdk/types.d.ts vendored
View File

@@ -41,6 +41,7 @@ export interface DeviceState {
powerDetected?: boolean;
audioDetected?: boolean;
motionDetected?: boolean;
ambientLight?: number;
occupied?: boolean;
flooded?: boolean;
ultraviolet?: number;
@@ -91,6 +92,7 @@ export declare class DeviceBase implements DeviceState {
powerDetected?: boolean;
audioDetected?: boolean;
motionDetected?: boolean;
ambientLight?: number;
occupied?: boolean;
flooded?: boolean;
ultraviolet?: number;
@@ -141,6 +143,7 @@ export declare enum ScryptedInterfaceProperty {
powerDetected = "powerDetected",
audioDetected = "audioDetected",
motionDetected = "motionDetected",
ambientLight = "ambientLight",
occupied = "occupied",
flooded = "flooded",
ultraviolet = "ultraviolet",
@@ -728,6 +731,12 @@ export interface AudioSensor {
export interface MotionSensor {
motionDetected?: boolean;
}
export interface AmbientLightSensor {
/**
* The ambient light in lumens.
*/
ambientLight: number;
}
export interface OccupancySensor {
occupied?: boolean;
}
@@ -1271,6 +1280,7 @@ export declare enum ScryptedInterface {
PowerSensor = "PowerSensor",
AudioSensor = "AudioSensor",
MotionSensor = "MotionSensor",
AmbientLightSensor = "AmbientLightSensor",
OccupancySensor = "OccupancySensor",
FloodSensor = "FloodSensor",
UltravioletSensor = "UltravioletSensor",

View File

@@ -47,6 +47,7 @@ var ScryptedInterfaceProperty;
ScryptedInterfaceProperty["powerDetected"] = "powerDetected";
ScryptedInterfaceProperty["audioDetected"] = "audioDetected";
ScryptedInterfaceProperty["motionDetected"] = "motionDetected";
ScryptedInterfaceProperty["ambientLight"] = "ambientLight";
ScryptedInterfaceProperty["occupied"] = "occupied";
ScryptedInterfaceProperty["flooded"] = "flooded";
ScryptedInterfaceProperty["ultraviolet"] = "ultraviolet";
@@ -404,6 +405,13 @@ exports.ScryptedInterfaceDescriptors = {
'motionDetected'
]
},
AmbientLightSensor: {
name: 'AmbientLightSensor',
methods: [],
properties: [
'ambientLight'
]
},
OccupancySensor: {
name: 'OccupancySensor',
methods: [],
@@ -650,6 +658,7 @@ var ScryptedInterface;
ScryptedInterface["PowerSensor"] = "PowerSensor";
ScryptedInterface["AudioSensor"] = "AudioSensor";
ScryptedInterface["MotionSensor"] = "MotionSensor";
ScryptedInterface["AmbientLightSensor"] = "AmbientLightSensor";
ScryptedInterface["OccupancySensor"] = "OccupancySensor";
ScryptedInterface["FloodSensor"] = "FloodSensor";
ScryptedInterface["UltravioletSensor"] = "UltravioletSensor";

View File

@@ -42,6 +42,7 @@ export interface DeviceState {
powerDetected?: boolean
audioDetected?: boolean
motionDetected?: boolean
ambientLight?: number
occupied?: boolean
flooded?: boolean
ultraviolet?: number
@@ -93,6 +94,7 @@ export class DeviceBase implements DeviceState {
powerDetected?: boolean
audioDetected?: boolean
motionDetected?: boolean
ambientLight?: number
occupied?: boolean
flooded?: boolean
ultraviolet?: number
@@ -145,6 +147,7 @@ export enum ScryptedInterfaceProperty {
powerDetected = "powerDetected",
audioDetected = "audioDetected",
motionDetected = "motionDetected",
ambientLight = "ambientLight",
occupied = "occupied",
flooded = "flooded",
ultraviolet = "ultraviolet",
@@ -505,6 +508,13 @@ export const ScryptedInterfaceDescriptors: { [scryptedInterface: string]: Scrypt
'motionDetected'
]
},
AmbientLightSensor: {
name: 'AmbientLightSensor',
methods: [],
properties: [
'ambientLight'
]
},
OccupancySensor: {
name: 'OccupancySensor',
methods: [],
@@ -1272,6 +1282,12 @@ export interface AudioSensor {
export interface MotionSensor {
motionDetected?: boolean;
}
export interface AmbientLightSensor {
/**
* The ambient light in lumens.
*/
ambientLight: number;
}
export interface OccupancySensor {
occupied?: boolean;
}
@@ -1869,6 +1885,7 @@ export enum ScryptedInterface {
PowerSensor = "PowerSensor",
AudioSensor = "AudioSensor",
MotionSensor = "MotionSensor",
AmbientLightSensor = "AmbientLightSensor",
OccupancySensor = "OccupancySensor",
FloodSensor = "FloodSensor",
UltravioletSensor = "UltravioletSensor",