Skip to content

Commit 12f6675

Browse files
feat(add): TWC-R01 (#10736)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
1 parent 239e241 commit 12f6675

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

src/devices/tuya.ts

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20257,6 +20257,74 @@ export const definitions: DefinitionWithExtend[] = [
2025720257
],
2025820258
},
2025920259
},
20260+
{
20261+
fingerprint: tuya.fingerprint("TS0601", ["_TZE204_ilzkxrav"]),
20262+
model: "TWC-R01",
20263+
vendor: "THALEOS",
20264+
description: "Smart thermostat for electric heater with pilot wire",
20265+
extend: [tuya.modernExtend.tuyaBase({dp: true})],
20266+
exposes: [
20267+
e.pilot_wire_mode(["comfort", "eco", "antifrost", "off", "comfort_1", "comfort_2"]), // Not using climate here because setpoint is not supported
20268+
e.local_temperature(),
20269+
e
20270+
.numeric("local_temperature_calibration", ea.STATE_SET)
20271+
.withUnit("°C")
20272+
.withValueMin(-8)
20273+
.withValueMax(8)
20274+
.withValueStep(0.5)
20275+
.withDescription("Set temperature calibration"),
20276+
e.binary("eco_mode", ea.STATE_SET, "ON", "OFF").withDescription("Enables/disables the weekly program."),
20277+
e.open_window(),
20278+
e.open_window_temperature(),
20279+
e.power(),
20280+
e.voltage(),
20281+
e.current(),
20282+
e.energy(),
20283+
e.numeric("energy_today", ea.STATE).withUnit("kWh").withDescription("Energy consumed today"),
20284+
e.numeric("energy_yesterday", ea.STATE).withUnit("kWh").withDescription("Energy consumed yesterday"),
20285+
e.binary("device_mode_type", ea.STATE_SET, "ON", "OFF").withDescription("Set pilot wire mode to 6 (includes comfort 1 & 2)."),
20286+
],
20287+
meta: {
20288+
tuyaDatapoints: [
20289+
[
20290+
2,
20291+
"pilot_wire_mode",
20292+
tuya.valueConverterBasic.lookup({
20293+
comfort: tuya.enum(0),
20294+
eco: tuya.enum(1),
20295+
antifrost: tuya.enum(2),
20296+
off: tuya.enum(3),
20297+
comfort_1: tuya.enum(4),
20298+
comfort_2: tuya.enum(5),
20299+
}),
20300+
],
20301+
[11, "power", tuya.valueConverter.raw],
20302+
[16, "local_temperature", tuya.valueConverter.divideBy10],
20303+
[19, "local_temperature_calibration", tuya.valueConverter.localTempCalibration2],
20304+
[20, "fault", tuya.valueConverter.raw],
20305+
[40, "eco_mode", tuya.valueConverter.onOff],
20306+
[101, "week_program", tuya.valueConverter.raw],
20307+
[102, "work_state", tuya.valueConverter.raw],
20308+
[103, "week_program_1", tuya.valueConverter.raw],
20309+
[104, "week_program_2", tuya.valueConverter.raw],
20310+
[105, "week_program_3", tuya.valueConverter.raw],
20311+
[106, "week_program_4", tuya.valueConverter.raw],
20312+
[107, "week_program_5", tuya.valueConverter.raw],
20313+
[108, "week_program_6", tuya.valueConverter.raw],
20314+
[109, "week_program_7", tuya.valueConverter.raw],
20315+
[110, "open_window", tuya.valueConverter.onOff],
20316+
[111, "open_window_temperature", tuya.valueConverter.raw],
20317+
[112, "window_time", tuya.valueConverter.raw],
20318+
[113, "window_timeout", tuya.valueConverter.raw],
20319+
[114, "device_mode_type", tuya.valueConverter.onOff],
20320+
[115, "voltage", tuya.valueConverter.divideBy10],
20321+
[116, "current", tuya.valueConverter.divideBy1000],
20322+
[117, "energy", tuya.valueConverter.raw],
20323+
[119, "energy_today", tuya.valueConverter.raw],
20324+
[120, "energy_yesterday", tuya.valueConverter.raw],
20325+
],
20326+
},
20327+
},
2026020328
{
2026120329
fingerprint: tuya.fingerprint("TS0601", ["_TZE284_r3szw0xr"]),
2026220330
model: "TS0601_cover_11",

0 commit comments

Comments
 (0)