Skip to content

Commit

Permalink
feat: Support more features for Acova TAFFETAS2 (#5773)
Browse files Browse the repository at this point in the history
* Update TAFFETAS2 features

added some features to Taffetas 2 heaters :
 - occupancy reporting using embedded motion sensor
 - unoccupied set-point control
 - temperature calibration control

* Update acova.js

Renamed Taffetas2 model

* Update acova.js

missing 'e' constant

* Update acova.js

missing semicolon
  • Loading branch information
molusk authored May 22, 2023
1 parent 6dddd9d commit 965eb3c
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions src/devices/acova.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ const exposes = require('../lib/exposes');
const fz = require('../converters/fromZigbee');
const tz = require('../converters/toZigbee');
const reporting = require('../lib/reporting');
const e = exposes.presets;

module.exports = [
{
Expand Down Expand Up @@ -67,35 +68,40 @@ module.exports = [
},
},
{
zigbeeModel: ['TAFFETAS2 D1.00P1.02Z1.00\u0000\u0000\u0000\u0000\u0000\u0000\u0000',
'TAFFETAS2 D1.00P1.01Z1.00\u0000\u0000\u0000\u0000\u0000\u0000\u0000'],
zigbeeModel: ['TAFFETAS2 D1.00P1.02Z1.00', 'TAFFETAS2 D1.00P1.01Z1.00'],
model: 'TAFFETAS2',
vendor: 'Acova',
description: 'Taffetas 2 heater',
fromZigbee: [fz.thermostat, fz.hvac_user_interface],
fromZigbee: [fz.thermostat, fz.hvac_user_interface, fz.occupancy],
toZigbee: [
tz.thermostat_local_temperature,
tz.thermostat_system_mode,
tz.thermostat_occupied_heating_setpoint,
tz.thermostat_unoccupied_heating_setpoint,
tz.thermostat_occupied_cooling_setpoint,
tz.thermostat_running_state,
tz.thermostat_local_temperature_calibration,
],
exposes: [
exposes.climate()
.withSetpoint('occupied_heating_setpoint', 7, 28, 0.5)
.withSetpoint('unoccupied_heating_setpoint', 7, 28, 0.5)
.withLocalTemperature()
.withSystemMode(['off', 'heat', 'auto'])
.withRunningState(['idle', 'heat']),
.withRunningState(['idle', 'heat'])
.withLocalTemperatureCalibration('local_temperature_calibration'),
e.occupancy(),
],
configure: async (device, coordinatorEndpoint, logger) => {
const endpoint = device.getEndpoint(1);
const endpoint2 = device.getEndpoint(2);
await reporting.bind(endpoint, coordinatorEndpoint, ['genPowerCfg', 'hvacThermostat']);
await reporting.bind(endpoint2, coordinatorEndpoint, ['msOccupancySensing']);
await reporting.thermostatTemperature(endpoint);
await reporting.thermostatRunningState(endpoint);
await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
await reporting.thermostatUnoccupiedHeatingSetpoint(endpoint);
await reporting.thermostatTemperatureCalibration(endpoint);
await reporting.occupancy(endpoint2);
},
},
];

0 comments on commit 965eb3c

Please sign in to comment.