UNPKG

homebridge-tessie

Version:

Connect Homebridge to your Tessie account.

38 lines 1.72 kB
import { BaseService } from "./base.js"; export class BatteryService extends BaseService { constructor(parent) { super(parent, parent.platform.Service.Battery, "Battery", "soc"); const batteryLevel = this.service .getCharacteristic(this.parent.platform.Characteristic.BatteryLevel); const chargingState = this.service .getCharacteristic(this.parent.platform.Characteristic.ChargingState); const lowBattery = this.service .getCharacteristic(this.parent.platform.Characteristic.StatusLowBattery); this.parent.emitter.on("vehicle_data", (data) => { batteryLevel.updateValue(this.getLevel(data)); chargingState.updateValue(this.getChargingState(data)); lowBattery.updateValue(this.getLowBattery(data)); }); } getLevel(data) { return data.charge_state?.battery_level ?? 50; } getChargingState(data) { switch (data.charge_state?.charging_state) { case "Starting": return this.parent.platform.hap.Characteristic.ChargingState.CHARGING; case "Charging": return this.parent.platform.hap.Characteristic.ChargingState.CHARGING; case "Disconnected": return this.parent.platform.hap.Characteristic.ChargingState.NOT_CHARGEABLE; case "NoPower": return this.parent.platform.hap.Characteristic.ChargingState.NOT_CHARGEABLE; default: return this.parent.platform.hap.Characteristic.ChargingState.NOT_CHARGING; } } getLowBattery(data) { return this.getLevel(data) <= 20; } } //# sourceMappingURL=battery.js.map