@@ -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