diff --git a/src/devices/tuya.ts b/src/devices/tuya.ts index 91f913b1d93ad..d375dc1c11e33 100644 --- a/src/devices/tuya.ts +++ b/src/devices/tuya.ts @@ -6546,6 +6546,54 @@ const definitions: Definition[] = [ ], }, }, + { + fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE204_ugekduaj'}, {modelID: 'TS0601', manufacturerName: '_TZE200_ugekduaj'}, + {modelID: 'TS0601', manufacturerName: '_TZE204_iwn0gpzz'}, {modelID: 'TS0601', manufacturerName: '_TZE200_iwn0gpzz'}], + model: 'SDM01', + vendor: 'TuYa', + description: 'Smart energy monitor for 3P+N system', + fromZigbee: [tuya.fz.datapoints], + toZigbee: [tuya.tz.datapoints], + configure: tuya.configureMagicPacket, + exposes: [tuya.exposes.voltageWithPhase('a'), tuya.exposes.voltageWithPhase('b'), tuya.exposes.voltageWithPhase('c'), + tuya.exposes.powerWithPhase('a'), tuya.exposes.powerWithPhase('b'), tuya.exposes.powerWithPhase('c'), + tuya.exposes.currentWithPhase('a'), tuya.exposes.currentWithPhase('b'), tuya.exposes.currentWithPhase('c'), + e.energy().withDescription('Total forward active energy'), + e.produced_energy().withDescription('Total reverse active energy'), + e.power_factor().withUnit('%').withDescription('Total power factor'), e.power().withDescription('Total active power'), + e.ac_frequency(), + tuya.exposes.energyWithPhase('a'), tuya.exposes.energyWithPhase('b'), tuya.exposes.energyWithPhase('c'), + tuya.exposes.energyProducedWithPhase('a'), tuya.exposes.energyProducedWithPhase('b'), tuya.exposes.energyProducedWithPhase('c'), + tuya.exposes.powerFactorWithPhase('a'), tuya.exposes.powerFactorWithPhase('b'), tuya.exposes.powerFactorWithPhase('c'), + ], + meta: { + tuyaDatapoints: [ + [1, 'energy', tuya.valueConverter.divideBy100], + [2, 'produced_energy', tuya.valueConverter.divideBy100], + [15, 'power_factor', tuya.valueConverter.raw], + [101, 'ac_frequency', tuya.valueConverter.divideBy100], + [102, 'voltage_a', tuya.valueConverter.divideBy10], + [103, 'current_a', tuya.valueConverter.divideBy1000], + [104, 'power_a', tuya.valueConverter.raw], + [105, 'voltage_b', tuya.valueConverter.divideBy10], + [106, 'current_b', tuya.valueConverter.divideBy1000], + [107, 'power_b', tuya.valueConverter.raw], + [108, 'voltage_c', tuya.valueConverter.divideBy10], + [109, 'current_c', tuya.valueConverter.divideBy1000], + [110, 'power_c', tuya.valueConverter.raw], + [111, 'power', tuya.valueConverter.raw], + [112, 'energy_a', tuya.valueConverter.divideBy100], + [114, 'energy_b', tuya.valueConverter.divideBy100], + [116, 'energy_c', tuya.valueConverter.divideBy100], + [113, 'energy_produced_a', tuya.valueConverter.divideBy100], + [115, 'energy_produced_b', tuya.valueConverter.divideBy100], + [117, 'energy_produced_c', tuya.valueConverter.divideBy100], + [118, 'power_factor_a', tuya.valueConverter.raw], + [119, 'power_factor_b', tuya.valueConverter.raw], + [120, 'power_factor_c', tuya.valueConverter.raw], + ], + }, + }, { fingerprint: tuya.fingerprint('TS0601', ['_TZE204_ac0fhfiq']), model: 'TS0601_bidirectional_energy meter',