UNPKG

obniz

Version:

obniz sdk for javascript

214 lines (213 loc) 7.45 kB
/** * @packageDocumentation * @module Parts.RS_BTEVS1 */ import { BleRemotePeripheral } from '../../../obniz'; import { ObnizBleBeaconStruct, ObnizPartsBleCompare, ObnizPartsBleConnectable, ObnizPartsBleMode } from '../../../obniz/ObnizPartsBleAbstract'; export interface RS_BTEVS1Options { } /** RS-BTEVS1 advertising data RS-BTEVS1のアドバタイジングデータ */ export interface RS_BTEVS1_Data { /** CO2 [ppm] */ co2: number; /** PM1.0 [ug/m3] */ pm1_0: number; /** PM2.5 [ug/m3] */ pm2_5: number; /** PM4.0 [ug/m3] */ pm4_0: number; /** @deprecated for compatibility */ pm5_0: number; /** PM10.0 [ug/m3] */ pm10_0: number; /** temperature 温度 [℃] */ temp: number; /** humidity 湿度 [%] */ humid: number; } declare const LED_DISPLAY_MODE: readonly ["Disable", "PM2.5", "CO2"]; declare const PM2_5_CONCENTRATION_MODE: readonly ["Mass", "Number"]; /** RS-BTEVS1 config RS-BTEVS1の設定内容 */ export interface RS_BTEVS1_Config { /** * Temperature notification interval [ms] (10,000~3,600,000) (Initial value: 10,000ms) * * 温度通知間隔[ms] (10,000~3,600,000) (初期値: 10,000ms) */ tempInterval: number; /** * PM2.5 notification interval [ms] (10,000~3,600,000) (Initial value: 10,000ms) * * PM2.5通知間隔[ms] (10,000~3,600,000) (初期値: 10,000ms) */ pm2_5Interval: number; /** * CO2 notification interval [ms] (10,000~3,600,000) (Initial value: 10,000ms) * * CO2通知間隔[ms] (10,000~3,600,000) (初期値: 10,000ms) */ co2Interval: number; /** * Temperature sensor measurement operation setting (initial value: Disable) * * 温度センサー計測動作設定 (初期値: 無効) */ tempMeasureOperation: boolean; /** * PM2.5 sensor measurement operation setting (initial value: Disable) * * PM2.5センサー計測動作設定 (初期値: 無効) */ pm2_5MeasureOperation: boolean; /** * CO2 sensor measurement operation setting (initial value: Disable) * * CO2センサー計測動作設定 (初期値: 無効) */ co2MeasureOperation: boolean; /** * Display setting for 10 LEDs (Disable | PM2.5 | CO2) (initial value: Disable) * * 10連LEDへの表示設定 (Disable | PM2.5 | CO2) (初期値: 無効) */ ledDisplay: typeof LED_DISPLAY_MODE[number]; /** * Advertisement Beacon Settings (Initial Value: Disable) * * アドバタイズビーコン設定 (初期値: 無効) */ advertisementBeacon: boolean; /** * @deprecated Rev. ~1.0.2 * PM2.5 mass concentration / number concentration mode setting (Mass | Number) (initial value: Number) * * PM2.5質量濃度/個数濃度モード設定 (Mass | Number) (初期値: 個数濃度) */ pm2_5ConcentrationMode: typeof PM2_5_CONCENTRATION_MODE[number]; } /** RS-BTEVS1 PM2.5 data RS-BTEVS1のPM2.5のデータ */ export interface RS_BTEVS1_Pm2_5 { /** PM1.0 [ug/m3] */ mass_pm1: number; /** PM2.5 [ug/m3] */ mass_pm2_5: number; /** PM4.0 [ug/m3] */ mass_pm4: number; /** PM10.0 [ug/m3] */ mass_pm10: number; /** PM0.5 [#/m3] */ number_pm0_5?: number; /** PM1.0 [#/m3] */ number_pm1?: number; /** PM2.5 [#/m3] */ number_pm2_5?: number; /** PM4.0 [#/m3] */ number_pm4?: number; /** PM10.0 [#/m3] */ number_pm10?: number; } /** RS_BTEVS1 management class RS_BTEVS1を管理するクラス */ export default class RS_BTEVS1 extends ObnizPartsBleConnectable<RS_BTEVS1_Data, RS_BTEVS1_Data> { protected readonly staticClass: typeof RS_BTEVS1; static readonly AvailableBleMode: ObnizPartsBleMode | ObnizPartsBleMode[]; static readonly PartsName = "RS_BTEVS1"; /** * BTEVS-1234: ~1.0.2 * EVS-1234: 1.1.2~ * EVS_1234 1.2~ */ static readonly LocalName: RegExp; static readonly CompanyID: ObnizPartsBleCompare<number[]>; static readonly BeaconDataStruct: ObnizBleBeaconStruct<RS_BTEVS1_Data>; /** Event handler for button ボタンのイベントハンドラー */ onButtonPressed: ((pressed: boolean) => void) | null; /** Event handler for temperature sensor 温度センサーのイベントハンドラー */ onTempMeasured: ((temp: number, humidity: number) => void) | null; /** Event handler for co2 sensor CO2センサーのイベントハンドラー */ onCo2Measured: ((co2: number) => void) | null; /** Event handler for PM2.5 sensor PM2.5センサーのイベントハンドラー */ onPm2_5Measured: ((pm2_5: RS_BTEVS1_Pm2_5) => void) | null; protected readonly serviceUuid = "F9CC15234E0A49E58CF30007E819EA1E"; firmwareRevision: string; private firmwareSemRevision; static isDevice(peripheral: BleRemotePeripheral): boolean; /** * Connect to the services of a device * * デバイスのサービスに接続 */ connectWait(): Promise<void>; private static _deviceAdvAnalyzer; static getData(peripheral: BleRemotePeripheral): RS_BTEVS1_Data | null; /** * Get device all data * Version 1.0.x is not supported * デバイスの全てのデータの取得 * バージョン1.0.xはサポートされません * * @returns */ getDataWait(): Promise<RS_BTEVS1_Data>; protected beforeOnDisconnectWait(): Promise<void>; /** * Get device settings デバイスの設定を取得 * * @returns Instance of RS_BTEVS1_Config RS_BTEVS1_Configのインスタンス */ getConfigWait(): Promise<RS_BTEVS1_Config>; /** * Write device settings, blanks write initial values * * デバイス設定の書き込み、空欄は初期値を書き込み * * @param config Instance of RS_BTEVS1_Config RS_BTEVS1_Configのインスタンス * @returns Write result 書き込み結果 */ setConfigWait(config: Partial<RS_BTEVS1_Config>): Promise<boolean>; /** * Change pairing LED flashing status * Version 1.0.x is not supported * ペアリングLEDの点滅状態の変更 * バージョン1.0.xはサポートされません * * @param blink Whether it blinks 点滅するかどうか * @returns Write result 書き込み結果 */ setModeLEDWait(blink: boolean): Promise<boolean>; /** * Start reading the button state * * ボタンの状態読み取りを開始 */ buttonChangeStartWait(): Promise<void>; /** * @deprecated * * Start reading the temperature sensor * Version 1.0.x is not supported * 温度センサーの読み取りを開始 * バージョン1.0.xはサポートされません */ tempMeasureStartWait(): Promise<void>; /** * @deprecated * * Start reading the co2 sensor * * CO2センサーの読み取りを開始 */ co2MeasureStartWait(): Promise<void>; /** * @deprecated * * Start reading the PM2.5 sensor * Version 1.1 is not supported * PM2.5センサーの読み取りを開始 * バージョン1.1より上のバージョンはサポートされません */ pm2_5MeasureStartWait(): Promise<void>; protected getCharUuid(code: number): string; private checkVersion; private checkLessVersion; } export {};