UNPKG

@pietrolubini/homebridge-ecoflow

Version:
71 lines (70 loc) 2.48 kB
import { Simulator } from '@ecoflow/apis/simulations/simulator'; import { AccessoryConfig, PlatformConfig } from 'homebridge'; export interface EcoFlowConfig extends PlatformConfig { devices: DeviceConfig[]; } export declare enum DeviceModel { Delta2Max = "Delta 2 Max", Delta2 = "Delta 2", DeltaPro3 = "Delta Pro 3", PowerStream = "PowerStream", SmartPlug = "Smart Plug" } export declare enum LocationType { EU = "EU", US = "US" } export type SerialNumber = string; export interface DeviceInfoConfig { name: string; serialNumber: SerialNumber; } export interface DeviceAccessConfig extends DeviceInfoConfig { location: LocationType; accessKey: string; secretKey: string; model: DeviceModel; reconnectMqttTimeoutMs?: number; simulate?: boolean; simulator?: new () => Simulator; simulateQuotaTimeoutMs?: number; simulateStatusTimeoutMs?: number; } export interface DeviceConfig extends AccessoryConfig, DeviceAccessConfig { disabled: boolean; battery?: BatteryDeviceConfig; powerStream?: PowerStreamDeviceConfig; powerOcean?: PowerOceanDeviceConfig; outlet?: OutletDeviceConfig; setReplyWaitResponseTimeoutMs?: number; } export interface BatteryDeviceConfig { additionalCharacteristics: AdditionalBatteryCharacteristicType[]; } export type AdditionalBatteryCharacteristicType = AdditionalOutletCharacteristicType | AdditionalBatteryOutletCharacteristicType; export declare enum AdditionalBatteryOutletCharacteristicType { BatteryLevel = "Battery Level, %", InputConsumptionInWatts = "Input Consumption, W", ChargingState = "Charging State", StatusLowBattery = "Status Low Battery" } export declare enum AdditionalOutletCharacteristicType { OutputVoltage = "Output Voltage, V", OutputCurrent = "Output Current, A", OutputConsumptionInWatts = "Output Consumption, W" } export declare enum PowerStreamConsumptionType { W600 = 600, W800 = 800 } export interface PowerStreamDeviceConfig extends PowerOceanDeviceConfig { type: PowerStreamConsumptionType; } export interface PowerOceanDeviceConfig { batteryAdditionalCharacteristics?: AdditionalBatteryCharacteristicType[]; pvAdditionalCharacteristics?: AdditionalBatteryCharacteristicType[]; inverterAdditionalCharacteristics?: AdditionalBatteryCharacteristicType[]; } export interface OutletDeviceConfig { additionalCharacteristics?: AdditionalOutletCharacteristicType[]; }