UNPKG

homebridge-kasa-python

Version:

Plugin that uses Python-Kasa API to communicate with Kasa Devices.

30 lines 1.87 kB
export default function accessoryInformation(hap) { const { Characteristic, Service: { AccessoryInformation } } = hap; return (accessory, homekitDevice) => { const infoService = accessory.getService(AccessoryInformation) ?? accessory.addService(AccessoryInformation); const nameCharacteristic = infoService.getCharacteristic(Characteristic.Name); const manufacturerCharacteristic = infoService.getCharacteristic(Characteristic.Manufacturer); const modelCharacteristic = infoService.getCharacteristic(Characteristic.Model); const serialCharacteristic = infoService.getCharacteristic(Characteristic.SerialNumber); const firmwareCharacteristic = infoService.getCharacteristic(Characteristic.FirmwareRevision); const currentName = nameCharacteristic.value ?? ''; const deviceName = homekitDevice.name ?? ''; if (!currentName) { infoService.setCharacteristic(Characteristic.Name, deviceName); } if ((manufacturerCharacteristic.value ?? '') !== (homekitDevice.manufacturer ?? '')) { infoService.setCharacteristic(Characteristic.Manufacturer, homekitDevice.manufacturer); } if ((modelCharacteristic.value ?? '') !== (homekitDevice.model ?? '')) { infoService.setCharacteristic(Characteristic.Model, homekitDevice.model); } if ((serialCharacteristic.value ?? '') !== (homekitDevice.serialNumber ?? '')) { infoService.setCharacteristic(Characteristic.SerialNumber, homekitDevice.serialNumber); } if ((firmwareCharacteristic.value ?? '') !== (homekitDevice.firmwareRevision ?? '')) { infoService.setCharacteristic(Characteristic.FirmwareRevision, homekitDevice.firmwareRevision); } return infoService; }; } //# sourceMappingURL=accessoryInformation.js.map