UNPKG

@switchbot/homebridge-switchbot

Version:

The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.

90 lines 3.84 kB
import type { CharacteristicValue, PlatformAccessory } from 'homebridge'; import type { blindTiltServiceData, blindTiltStatus, blindTiltWebhookContext, device, SwitchBotBLE } from 'node-switchbot'; import type { SwitchBotPlatform } from '../platform.js'; import type { devicesConfig } from '../settings.js'; import { Subject } from 'rxjs'; import { BlindTiltMappingMode } from '../utils.js'; import { deviceBase } from './device.js'; export declare class BlindTilt extends deviceBase { readonly platform: SwitchBotPlatform; private WindowCovering; private Battery; private LightSensor?; private OpenModeSwitch?; private CloseModeSwitch?; deviceStatus: blindTiltStatus; mappingMode: BlindTiltMappingMode; webhookContext: blindTiltWebhookContext; serviceData: blindTiltServiceData; setNewTarget: boolean; setNewTargetTimer: NodeJS.Timeout; blindTiltMoving: boolean; blindTiltUpdateInProgress: boolean; doBlindTiltUpdate: Subject<void>; constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: device & devicesConfig); /** * Parse the device status from the SwitchBotBLE API */ BLEparseStatus(): Promise<void>; /** * Parse the device status from the SwitchBot OpenAPI */ openAPIparseStatus(): Promise<void>; parseStatusWebhook(): Promise<void>; /** * Asks the SwitchBot API for the latest device information */ refreshStatus(): Promise<void>; BLERefreshStatus(): Promise<void>; registerPlatformBLE(): Promise<void>; openAPIRefreshStatus(): Promise<void>; registerWebhook(): Promise<void>; pushChanges(): Promise<void>; BLEpushChanges(): Promise<void>; openAPIpushChanges(): Promise<void>; /** * Handle requests to set the value of the "Target Horizontal Tilt" characteristic */ TargetHorizontalTiltAngleSet(value: CharacteristicValue): Promise<void>; /** * Handle requests to set the value of the "Target Position" characteristic */ TargetPositionSet(value: CharacteristicValue): Promise<void>; startUpdatingBlindTiltIfNeeded(): Promise<void>; /** * Handle requests to set the value of the "Target Position" characteristic */ OpenModeSwitchSet(value: CharacteristicValue): Promise<void>; /** * Handle requests to set the value of the "Target Position" characteristic */ CloseModeSwitchSet(value: CharacteristicValue): Promise<void>; updateHomeKitCharacteristics(): Promise<void>; BLEPushConnection(): Promise<void>; BLERefreshConnection(switchbot: SwitchBotBLE): Promise<void>; setPerformance(): Promise<{ setPositionMode: number; Mode: string; }>; setMinMax(): Promise<void>; offlineOff(): Promise<void>; apiError(e: any): Promise<void>; getCurrentPosttionDirection(direction: blindTiltStatus['direction'] | blindTiltWebhookContext['direction'], slidePosition: blindTiltStatus['slidePosition'] | blindTiltWebhookContext['slidePosition']): Promise<void>; /** * Maps device values to homekit values * * @param devicePosition the position as reported by the devide * @param deviceDirection the direction as reported by the device * @returns [homekit position, homekit tiltAngle] */ mapDeviceValuesToHomekitValues(devicePosition: number, deviceDirection: string): [CharacteristicValue, CharacteristicValue?]; /** * Maps homekit values to device values * * @param homekitPosition the position as reported by homekit * @param homekitTiltAngle the tilt angle as reported by homekit * @returns [device position, device direction] */ mapHomekitValuesToDeviceValues(homekitPosition: number, homekitTiltAngle: number): [string, number]; } //# sourceMappingURL=blindtilt.d.ts.map