From 32bec844f9c14c856eabe5eb42307bbcb2f72271 Mon Sep 17 00:00:00 2001 From: Koushik Dutta Date: Mon, 2 May 2022 12:53:30 -0700 Subject: [PATCH] sdk/server: new sensors --- sdk/gen/types.input.ts | 1 + sdk/package-lock.json | 4 ++-- sdk/package.json | 2 +- sdk/scrypted_python/scrypted_sdk/types.py | 20 +++++++++++++++++++ sdk/types/index.d.ts | 4 ++++ sdk/types/index.js | 9 +++++++++ sdk/types/index.ts | 11 ++++++++++ sdk/types/package-lock.json | 4 ++-- sdk/types/package.json | 2 +- .../scrypted_python/scrypted_sdk/types.py | 20 +++++++++++++++++++ server/package-lock.json | 14 ++++++------- server/package.json | 2 +- 12 files changed, 79 insertions(+), 14 deletions(-) diff --git a/sdk/gen/types.input.ts b/sdk/gen/types.input.ts index 031965f07..ad950333d 100644 --- a/sdk/gen/types.input.ts +++ b/sdk/gen/types.input.ts @@ -1393,6 +1393,7 @@ export enum ScryptedInterface { PositionSensor = "PositionSensor", PM25Sensor = "PM25Sensor", VOCSensor = "VOCSensor", + AirQualitySensor = "AirQualitySensor", Readme = "Readme", OauthClient = "OauthClient", MixinProvider = "MixinProvider", diff --git a/sdk/package-lock.json b/sdk/package-lock.json index da9d5469a..98bbe8b9e 100644 --- a/sdk/package-lock.json +++ b/sdk/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/sdk", - "version": "0.0.194", + "version": "0.0.195", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/sdk", - "version": "0.0.194", + "version": "0.0.195", "license": "ISC", "dependencies": { "@babel/preset-typescript": "^7.16.7", diff --git a/sdk/package.json b/sdk/package.json index 1e1634e50..36c432032 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/sdk", - "version": "0.0.194", + "version": "0.0.195", "description": "", "main": "index.js", "scripts": { diff --git a/sdk/scrypted_python/scrypted_sdk/types.py b/sdk/scrypted_python/scrypted_sdk/types.py index f9cb2e590..f7db0e640 100644 --- a/sdk/scrypted_python/scrypted_sdk/types.py +++ b/sdk/scrypted_python/scrypted_sdk/types.py @@ -69,6 +69,7 @@ class ScryptedDeviceType(Enum): Valve = "Valve" class ScryptedInterface(Enum): + AirQualitySensor = "AirQualitySensor" AmbientLightSensor = "AmbientLightSensor" AudioSensor = "AudioSensor" Authenticator = "Authenticator" @@ -498,6 +499,10 @@ class VideoClipOptions(TypedDict): startTime: float pass +class AirQualitySensor: + airQuality: AirQuality + pass + class AmbientLightSensor: ambientLight: float pass @@ -1086,6 +1091,7 @@ class ScryptedInterfaceProperty(Enum): position = "position" pm25Density = "pm25Density" vocDensity = "vocDensity" + airQuality = "airQuality" humiditySetting = "humiditySetting" fan = "fan" @@ -1445,6 +1451,13 @@ class DeviceState: def vocDensity(self, value: float): self.setScryptedProperty("vocDensity", value) + @property + def airQuality(self) -> AirQuality: + return self.getScryptedProperty("airQuality") + @airQuality.setter + def airQuality(self, value: AirQuality): + self.setScryptedProperty("airQuality", value) + @property def humiditySetting(self) -> HumiditySettingStatus: return self.getScryptedProperty("humiditySetting") @@ -1899,6 +1912,13 @@ ScryptedInterfaceDescriptors = { "vocDensity" ] }, + "AirQualitySensor": { + "name": "AirQualitySensor", + "methods": [], + "properties": [ + "airQuality" + ] + }, "Readme": { "name": "Readme", "methods": [ diff --git a/sdk/types/index.d.ts b/sdk/types/index.d.ts index e3bd274a4..6f8f86fcc 100644 --- a/sdk/types/index.d.ts +++ b/sdk/types/index.d.ts @@ -50,6 +50,7 @@ export interface DeviceState { position?: Position; pm25Density?: number; vocDensity?: number; + airQuality?: AirQuality; humiditySetting?: HumiditySettingStatus; fan?: FanStatus; } @@ -104,6 +105,7 @@ export declare class DeviceBase implements DeviceState { position?: Position; pm25Density?: number; vocDensity?: number; + airQuality?: AirQuality; humiditySetting?: HumiditySettingStatus; fan?: FanStatus; } @@ -158,6 +160,7 @@ export declare enum ScryptedInterfaceProperty { position = "position", pm25Density = "pm25Density", vocDensity = "vocDensity", + airQuality = "airQuality", humiditySetting = "humiditySetting", fan = "fan" } @@ -1431,6 +1434,7 @@ export declare enum ScryptedInterface { PositionSensor = "PositionSensor", PM25Sensor = "PM25Sensor", VOCSensor = "VOCSensor", + AirQualitySensor = "AirQualitySensor", Readme = "Readme", OauthClient = "OauthClient", MixinProvider = "MixinProvider", diff --git a/sdk/types/index.js b/sdk/types/index.js index 4cb0612f2..93025b272 100644 --- a/sdk/types/index.js +++ b/sdk/types/index.js @@ -56,6 +56,7 @@ var ScryptedInterfaceProperty; ScryptedInterfaceProperty["position"] = "position"; ScryptedInterfaceProperty["pm25Density"] = "pm25Density"; ScryptedInterfaceProperty["vocDensity"] = "vocDensity"; + ScryptedInterfaceProperty["airQuality"] = "airQuality"; ScryptedInterfaceProperty["humiditySetting"] = "humiditySetting"; ScryptedInterfaceProperty["fan"] = "fan"; })(ScryptedInterfaceProperty = exports.ScryptedInterfaceProperty || (exports.ScryptedInterfaceProperty = {})); @@ -499,6 +500,13 @@ exports.ScryptedInterfaceDescriptors = { 'vocDensity' ] }, + AirQualitySensor: { + name: 'AirQualitySensor', + methods: [], + properties: [ + 'airQuality' + ] + }, Readme: { name: 'Readme', methods: [ @@ -756,6 +764,7 @@ var ScryptedInterface; ScryptedInterface["PositionSensor"] = "PositionSensor"; ScryptedInterface["PM25Sensor"] = "PM25Sensor"; ScryptedInterface["VOCSensor"] = "VOCSensor"; + ScryptedInterface["AirQualitySensor"] = "AirQualitySensor"; ScryptedInterface["Readme"] = "Readme"; ScryptedInterface["OauthClient"] = "OauthClient"; ScryptedInterface["MixinProvider"] = "MixinProvider"; diff --git a/sdk/types/index.ts b/sdk/types/index.ts index f9672c779..0074ebfd4 100644 --- a/sdk/types/index.ts +++ b/sdk/types/index.ts @@ -51,6 +51,7 @@ export interface DeviceState { position?: Position pm25Density?: number vocDensity?: number + airQuality?: AirQuality humiditySetting?: HumiditySettingStatus fan?: FanStatus } @@ -106,6 +107,7 @@ export class DeviceBase implements DeviceState { position?: Position pm25Density?: number vocDensity?: number + airQuality?: AirQuality humiditySetting?: HumiditySettingStatus fan?: FanStatus } @@ -162,6 +164,7 @@ export enum ScryptedInterfaceProperty { position = "position", pm25Density = "pm25Density", vocDensity = "vocDensity", + airQuality = "airQuality", humiditySetting = "humiditySetting", fan = "fan", @@ -608,6 +611,13 @@ export const ScryptedInterfaceDescriptors: { [scryptedInterface: string]: Scrypt 'vocDensity' ] }, + AirQualitySensor: { + name: 'AirQualitySensor', + methods: [], + properties: [ + 'airQuality' + ] + }, Readme: { name: 'Readme', methods: [ @@ -2114,6 +2124,7 @@ export enum ScryptedInterface { PositionSensor = "PositionSensor", PM25Sensor = "PM25Sensor", VOCSensor = "VOCSensor", + AirQualitySensor = "AirQualitySensor", Readme = "Readme", OauthClient = "OauthClient", MixinProvider = "MixinProvider", diff --git a/sdk/types/package-lock.json b/sdk/types/package-lock.json index ec32dbb84..832014486 100644 --- a/sdk/types/package-lock.json +++ b/sdk/types/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/types", - "version": "0.0.37", + "version": "0.0.38", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/types", - "version": "0.0.37", + "version": "0.0.38", "license": "ISC", "devDependencies": {} } diff --git a/sdk/types/package.json b/sdk/types/package.json index 3fffeb3b5..17f781c3f 100644 --- a/sdk/types/package.json +++ b/sdk/types/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/types", - "version": "0.0.37", + "version": "0.0.38", "description": "", "main": "index.js", "author": "", diff --git a/sdk/types/scrypted_python/scrypted_sdk/types.py b/sdk/types/scrypted_python/scrypted_sdk/types.py index f9cb2e590..f7db0e640 100644 --- a/sdk/types/scrypted_python/scrypted_sdk/types.py +++ b/sdk/types/scrypted_python/scrypted_sdk/types.py @@ -69,6 +69,7 @@ class ScryptedDeviceType(Enum): Valve = "Valve" class ScryptedInterface(Enum): + AirQualitySensor = "AirQualitySensor" AmbientLightSensor = "AmbientLightSensor" AudioSensor = "AudioSensor" Authenticator = "Authenticator" @@ -498,6 +499,10 @@ class VideoClipOptions(TypedDict): startTime: float pass +class AirQualitySensor: + airQuality: AirQuality + pass + class AmbientLightSensor: ambientLight: float pass @@ -1086,6 +1091,7 @@ class ScryptedInterfaceProperty(Enum): position = "position" pm25Density = "pm25Density" vocDensity = "vocDensity" + airQuality = "airQuality" humiditySetting = "humiditySetting" fan = "fan" @@ -1445,6 +1451,13 @@ class DeviceState: def vocDensity(self, value: float): self.setScryptedProperty("vocDensity", value) + @property + def airQuality(self) -> AirQuality: + return self.getScryptedProperty("airQuality") + @airQuality.setter + def airQuality(self, value: AirQuality): + self.setScryptedProperty("airQuality", value) + @property def humiditySetting(self) -> HumiditySettingStatus: return self.getScryptedProperty("humiditySetting") @@ -1899,6 +1912,13 @@ ScryptedInterfaceDescriptors = { "vocDensity" ] }, + "AirQualitySensor": { + "name": "AirQualitySensor", + "methods": [], + "properties": [ + "airQuality" + ] + }, "Readme": { "name": "Readme", "methods": [ diff --git a/server/package-lock.json b/server/package-lock.json index f3667b665..ff0e2af1c 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@mapbox/node-pre-gyp": "^1.0.8", "@scrypted/ffmpeg": "^1.0.10", - "@scrypted/types": "^0.0.37", + "@scrypted/types": "^0.0.38", "adm-zip": "^0.5.3", "axios": "^0.21.1", "body-parser": "^1.19.0", @@ -137,9 +137,9 @@ } }, "node_modules/@scrypted/types": { - "version": "0.0.37", - "resolved": "https://registry.npmjs.org/@scrypted/types/-/types-0.0.37.tgz", - "integrity": "sha512-1+yH2izwj5uiWOGXPxIQL0RhefibApETI0hmwlN1RVKxAnqKZzjg9uhizEUYcDqNN69I0r5UEXe0DAulK5LuAg==" + "version": "0.0.38", + "resolved": "https://registry.npmjs.org/@scrypted/types/-/types-0.0.38.tgz", + "integrity": "sha512-GKYhR3U5lZnlvpYFeYMHGEMoKcsiEZsPU//d1lYClHpvgjHPf4L0aiyOhykT385XxooP7kmaWceez2Oh8KE2zA==" }, "node_modules/@tootallnate/once": { "version": "1.1.2", @@ -2593,9 +2593,9 @@ } }, "@scrypted/types": { - "version": "0.0.37", - "resolved": "https://registry.npmjs.org/@scrypted/types/-/types-0.0.37.tgz", - "integrity": "sha512-1+yH2izwj5uiWOGXPxIQL0RhefibApETI0hmwlN1RVKxAnqKZzjg9uhizEUYcDqNN69I0r5UEXe0DAulK5LuAg==" + "version": "0.0.38", + "resolved": "https://registry.npmjs.org/@scrypted/types/-/types-0.0.38.tgz", + "integrity": "sha512-GKYhR3U5lZnlvpYFeYMHGEMoKcsiEZsPU//d1lYClHpvgjHPf4L0aiyOhykT385XxooP7kmaWceez2Oh8KE2zA==" }, "@tootallnate/once": { "version": "1.1.2", diff --git a/server/package.json b/server/package.json index 518f3e442..9b67d0f2a 100644 --- a/server/package.json +++ b/server/package.json @@ -5,7 +5,7 @@ "dependencies": { "@mapbox/node-pre-gyp": "^1.0.8", "@scrypted/ffmpeg": "^1.0.10", - "@scrypted/types": "^0.0.37", + "@scrypted/types": "^0.0.38", "adm-zip": "^0.5.3", "axios": "^0.21.1", "body-parser": "^1.19.0",