UNPKG

homebridge-deconz

Version:
40 lines (32 loc) 1.19 kB
// homebridge-deconz/lib/DeconzService/Contact.js // Copyright © 2022-2026 Erik Baauw. All rights reserved. // // Homebridge plugin for deCONZ. import { DeconzService } from '../DeconzService/index.js' import '../DeconzService/SensorsResource.js' /** * @memberof DeconzService */ class Contact extends DeconzService.SensorsResource { constructor (accessory, resource, params = {}) { params.Service = accessory.Services.hap.ContactSensor super(accessory, resource, params) this.addCharacteristicDelegate({ key: 'contact', Characteristic: this.Characteristics.hap.ContactSensorState }) // With _Status Tampered_ Eve thinks the _Door Sensor_ is an Eve Windows Guard // (instead of an Eve Door & Window) and won't display it. this.addCharacteristicDelegates({ noTampered: true }) this.update(resource.body, resource.rpath) } updateState (state) { if (state.open != null) { this.values.contact = state.open ? this.Characteristics.hap.ContactSensorState.CONTACT_NOT_DETECTED : this.Characteristics.hap.ContactSensorState.CONTACT_DETECTED } super.updateState(state) } } DeconzService.Contact = Contact