UNPKG

homebridge-kasa-python

Version:

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

35 lines 2.24 kB
export default function platformAccessoryInformation(hap) { const { Characteristic, Service: { AccessoryInformation } } = hap; return (platformAccessory, homekitDevice) => { const existingInfoService = platformAccessory.getService(AccessoryInformation); if (existingInfoService) { if (existingInfoService.getCharacteristic(Characteristic.Name).value !== homekitDevice.name) { existingInfoService.setCharacteristic(Characteristic.Name, homekitDevice.name); } else if (existingInfoService.getCharacteristic(Characteristic.Manufacturer).value !== homekitDevice.manufacturer) { existingInfoService.setCharacteristic(Characteristic.Manufacturer, homekitDevice.manufacturer); } else if (existingInfoService.getCharacteristic(Characteristic.Model).value !== homekitDevice.model) { existingInfoService.setCharacteristic(Characteristic.Model, homekitDevice.model); } else if (existingInfoService.getCharacteristic(Characteristic.SerialNumber).value !== homekitDevice.serialNumber) { existingInfoService.setCharacteristic(Characteristic.SerialNumber, homekitDevice.serialNumber); } else if (existingInfoService.getCharacteristic(Characteristic.FirmwareRevision).value !== homekitDevice.firmwareRevision) { existingInfoService.setCharacteristic(Characteristic.FirmwareRevision, homekitDevice.firmwareRevision); } return existingInfoService; } else { const infoService = platformAccessory.addService(AccessoryInformation); infoService .setCharacteristic(Characteristic.Name, homekitDevice.name) .setCharacteristic(Characteristic.Manufacturer, homekitDevice.manufacturer) .setCharacteristic(Characteristic.Model, homekitDevice.model) .setCharacteristic(Characteristic.SerialNumber, homekitDevice.serialNumber) .setCharacteristic(Characteristic.FirmwareRevision, homekitDevice.firmwareRevision); return infoService; } }; } //# sourceMappingURL=accessoryInformation.js.map