From bd07d393391edf0b9bc705b7a28e177e918ebeed Mon Sep 17 00:00:00 2001 From: Koushik Dutta Date: Thu, 27 Jan 2022 19:59:11 -0800 Subject: [PATCH] sdk: ambient light --- sdk/gen/types.input.ts | 7 +++++++ sdk/package-lock.json | 4 ++-- sdk/package.json | 2 +- sdk/scrypted_python/scrypted_sdk/types.py | 13 +++++++++++++ sdk/types.d.ts | 10 ++++++++++ sdk/types.js | 9 +++++++++ sdk/types.ts | 17 +++++++++++++++++ 7 files changed, 59 insertions(+), 3 deletions(-) diff --git a/sdk/gen/types.input.ts b/sdk/gen/types.input.ts index 4f0ecf491..033166c0a 100644 --- a/sdk/gen/types.input.ts +++ b/sdk/gen/types.input.ts @@ -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", diff --git a/sdk/package-lock.json b/sdk/package-lock.json index 21c5fd2a3..7ec121936 100644 --- a/sdk/package-lock.json +++ b/sdk/package-lock.json @@ -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", diff --git a/sdk/package.json b/sdk/package.json index ef4a09474..b0d6f972b 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/sdk", - "version": "0.0.148", + "version": "0.0.150", "description": "", "main": "index.js", "scripts": { diff --git a/sdk/scrypted_python/scrypted_sdk/types.py b/sdk/scrypted_python/scrypted_sdk/types.py index 786abeeea..eb4baf482 100644 --- a/sdk/scrypted_python/scrypted_sdk/types.py +++ b/sdk/scrypted_python/scrypted_sdk/types.py @@ -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") diff --git a/sdk/types.d.ts b/sdk/types.d.ts index f9cc3841b..7594a31ba 100644 --- a/sdk/types.d.ts +++ b/sdk/types.d.ts @@ -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", diff --git a/sdk/types.js b/sdk/types.js index a97fc6b94..ae462187f 100644 --- a/sdk/types.js +++ b/sdk/types.js @@ -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"; diff --git a/sdk/types.ts b/sdk/types.ts index 7bb7f2563..b76832843 100644 --- a/sdk/types.ts +++ b/sdk/types.ts @@ -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",