From 27357cd8b114e0414ad30d4d42038b8ed1d7c5a1 Mon Sep 17 00:00:00 2001 From: danielfinans <43092606+danielfinans@users.noreply.github.com> Date: Mon, 19 Jun 2023 19:16:29 +0200 Subject: [PATCH] feat(add): 4512749-N (#5895) * Added support for 4512749-N Added support for Namron 4512749-N Thermostat Outlet Socket. * Update namron.ts * Update namron.ts --- src/devices/namron.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/devices/namron.ts b/src/devices/namron.ts index d4369732d7421..bfa297a06b7ae 100644 --- a/src/devices/namron.ts +++ b/src/devices/namron.ts @@ -774,6 +774,27 @@ const definitions: Definition[] = [ await reporting.activePower(endpoint); }, }, + { + zigbeeModel: ['4512749-N'], + model: '4512749-N', + vendor: 'Namron', + description: 'Thermostat outlet socket', + fromZigbee: [fz.metering, fz.electrical_measurement, fz.on_off, fz.temperature], + toZigbee: [tz.on_off, tz.power_on_behavior], + exposes: [e.temperature(), e.power(), e.current(), e.voltage(), e.switch(), e.power_on_behavior()], + configure: async (device, coordinatorEndpoint, logger) => { + const endpoint = device.getEndpoint(1); + await reporting.bind(endpoint, coordinatorEndpoint, ['genOnOff', 'haElectricalMeasurement', 'msTemperatureMeasurement']); + await endpoint.read('haElectricalMeasurement', ['acVoltageMultiplier', 'acVoltageDivisor']); + await endpoint.read('haElectricalMeasurement', ['acPowerMultiplier', 'acPowerDivisor']); + await endpoint.read('haElectricalMeasurement', ['acCurrentMultiplier', 'acCurrentDivisor']); + await reporting.onOff(endpoint); + await reporting.temperature(endpoint, {min: 10, change: 10}); + await reporting.rmsVoltage(endpoint, {min: 10, change: 20}); // Voltage - Min change of 2v + await reporting.rmsCurrent(endpoint, {min: 10, change: 10}); // A - z2m displays only the first decimals, so change of 10 + await reporting.activePower(endpoint, {min: 10, change: 1}); // W - Min change of 0,1W + }, + }, { zigbeeModel: ['4512747'], model: '4512747',