homebridge-homeconnect
Version:
A Homebridge plugin that connects Home Connect appliances to Apple HomeKit
68 lines • 2.58 kB
JavaScript
// Homebridge plugin for Home Connect home appliances
// Copyright © 2023 Alexander Thoukydides
import { DoorState, OperationState, PowerState, TemperatureUnit } from '../api-value-types.js';
import { MockAppliance } from './mock-appliance.js';
// A mock Hob (based on a physical Siemens iQ700 appliance)
// https://www.siemens-home.bsh-group.com/uk/productlist/EX677LYV1E
export class MockHob extends MockAppliance {
constructor() {
super(...arguments);
// Mandatory appliance details
this.type = 'Hob';
this.enumber = 'EX677LYV1E/06';
this.brand = 'Siemens';
// Appliance status
this.status = [{
key: 'BSH.Common.Status.DoorState',
value: DoorState.Closed,
name: 'Door'
}, {
key: 'BSH.Common.Status.OperationState',
value: OperationState.Inactive,
name: 'Operation state'
}, {
key: 'BSH.Common.Status.RemoteControlActive',
value: true,
name: 'Remote Control'
}, {
key: 'BSH.Common.Status.RemoteControlStartAllowed',
value: false,
name: 'Remote Start'
}];
// Appliance settings
this.settings = [{
key: 'BSH.Common.Setting.PowerState',
type: 'BSH.Common.EnumType.PowerState',
value: PowerState.On,
name: 'Power status',
constraints: {
allowedvalues: [PowerState.Off, PowerState.On],
displayvalues: ['Off', 'On'],
access: 'readWrite'
}
}, {
key: 'BSH.Common.Setting.AlarmClock',
type: 'Int',
value: 0,
unit: 'seconds',
name: 'Alarm',
constraints: { min: 0, max: 5940, access: 'readWrite' }
}, {
key: 'BSH.Common.Setting.ChildLock',
type: 'Boolean',
value: false,
name: 'Childproof lock'
}, {
key: 'BSH.Common.Setting.TemperatureUnit',
type: 'BSH.Common.EnumType.TemperatureUnit',
value: TemperatureUnit.Celsius,
name: '°F or °C'
}];
// Appliance commands
this.commands = [{
key: 'BSH.Common.Command.AcknowledgeEvent',
name: 'OK'
}];
}
}
//# sourceMappingURL=mock-hob.js.map