Skip to content

Issue adding new Thaleos radiator valve TS0601 vendor: '_TZE200_rv6iuyxb' #8062

@kostya-fr

Description

@kostya-fr

Hello,
I got same French valves by Thaleos-Connect, I have following definition :

const definition = {
    zigbeeModel: ['TS0601'],
    model: 'TS0601',
    vendor: '_TZE200_rv6iuyxb',
    description: 'Automatically generated definition',
    extend: [],
    meta: {},
};
I added following code (from #7998) into /config/zigbee2mqtt/TS0601.js :
zigbeeModel: ['TS0601'],
const legacy = require('zigbee-herdsman-converters/lib/legacy');
const fz = {...require('zigbee-herdsman-converters/converters/fromZigbee'), legacy: require('zigbee-herdsman-converters/lib/legacy').fromZigbee};
const tz = {...require('zigbee-herdsman-converters/converters/toZigbee'), legacy: require('zigbee-herdsman-converters/lib/legacy').toZigbee};
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const ota = require('zigbee-herdsman-converters/lib/ota');
const utils = require('zigbee-herdsman-converters/lib/utils');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const tuya = require('zigbee-herdsman-converters/lib/tuya');
const e = exposes.presets;
const ea = exposes.access;

const definition = {
  	zigbeeModel: ['TS0601'],
    fingerprint: [
            {modelID: 'TS0601', manufacturerName: '_TZE200_rv6iuyxb'}, //Thaleos Connect
        ],
    model: 'TS0601_thermostat',
    vendor: 'Tuya',
    description: 'Radiator valve with thermostat', 
    meta: {tuyaThermostatPreset: legacy.thermostatPresets, tuyaThermostatSystemMode: legacy.thermostatSystemModes3},
    ota: ota.zigbeeOTA,
    onEvent: tuya.onEventSetLocalTime,
    fromZigbee: [legacy.fromZigbee.tuya_thermostat, fz.ignore_basic_report, fz.ignore_tuya_set_time],
    toZigbee: [
            legacy.toZigbee.tuya_thermostat_child_lock,
            legacy.toZigbee.tuya_thermostat_window_detection,
            legacy.toZigbee.tuya_thermostat_valve_detection,
            legacy.toZigbee.tuya_thermostat_current_heating_setpoint,
            legacy.toZigbee.tuya_thermostat_auto_lock,
            legacy.toZigbee.tuya_thermostat_calibration,
            legacy.toZigbee.tuya_thermostat_min_temp,
            legacy.toZigbee.tuya_thermostat_max_temp,
            legacy.toZigbee.tuya_thermostat_boost_time,
            legacy.toZigbee.tuya_thermostat_comfort_temp,
            legacy.toZigbee.tuya_thermostat_eco_temp,
            legacy.toZigbee.tuya_thermostat_force_to_mode,
            legacy.toZigbee.tuya_thermostat_force,
            legacy.toZigbee.tuya_thermostat_preset,
            legacy.toZigbee.tuya_thermostat_window_detect,
            legacy.toZigbee.tuya_thermostat_schedule,
            legacy.toZigbee.tuya_thermostat_week,
            legacy.toZigbee.tuya_thermostat_schedule_programming_mode,
            legacy.toZigbee.tuya_thermostat_away_mode,
            legacy.toZigbee.tuya_thermostat_away_preset,
        ],
        exposes: [
            e.child_lock(),
            e.window_detection(),
            e.binary('window_open', ea.STATE, true, false).withDescription('Window open?'),
            e.battery_low(),
            e.valve_detection(),
            e.position(),
            e
                .climate()
                .withSetpoint('current_heating_setpoint', 5, 35, 0.5, ea.STATE_SET)
                .withLocalTemperature(ea.STATE)
                .withSystemMode(
                    ['heat', 'auto', 'off'],
                    ea.STATE_SET,
                    'Mode of this device, in the `heat` mode the TS0601 will remain continuously heating, i.e. it does not regulate ' +
                        'to the desired temperature. If you want TRV to properly regulate the temperature you need to use mode `auto` ' +
                        'instead setting the desired temperature.',
                )
                .withLocalTemperatureCalibration(-9, 9, 0.5, ea.STATE_SET)
                .withPreset(['schedule', 'manual', 'boost', 'complex', 'comfort', 'eco', 'away'])
                .withRunningState(['idle', 'heat'], ea.STATE),
            e.auto_lock(),
            e.away_mode(),
            e.away_preset_days(),
            e.boost_time(),
            e.comfort_temperature(),
            e.eco_temperature(),
            e.force(),
            e.max_temperature().withValueMin(16).withValueMax(70),
            e.min_temperature(),
            e.away_preset_temperature(),
            e.week(),
            e
                .text('workdays_schedule', ea.STATE_SET)
                .withDescription('Workdays schedule, 6 entries max, example: "00:20/5°C 01:20/5°C 6:59/15°C 18:00/5°C 20:00/5°C 23:30/5°C"'),
            e
                .text('holidays_schedule', ea.STATE_SET)
                .withDescription('Holidays schedule, 6 entries max, example: "00:20/5°C 01:20/5°C 6:59/15°C 18:00/5°C 20:00/5°C 23:30/5°C"'),
        ],
};

module.exports = definition;
            
But it doesn't work for me. I added to zigbee2mqtt config :
external_converters:
  - /config/zigbee2mqtt/TS0601.js

after restarting zigbee2mqtt and adding device I keep message :


info 2024-10-02 08:16:06z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0xa4cxxxxxxxxxxxxxxx/availability', payload '{"state":"online"}'
info 2024-10-02 08:16:06zh:controller: Interview for '0xa4cxxxxxxxxxxxxxxx' started
info 2024-10-02 08:16:06z2m: Device '0xa4cxxxxxxxxxxxxxxx' joined
info 2024-10-02 08:16:06z2m: Starting interview of '0xa4cxxxxxxxxxxxxxxx'
info 2024-10-02 08:16:07z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0xa4cxxxxxxxxxxxxxxx","ieee_address":"0xa4cxxxxxxxxxxxxxxx"},"type":"device_joined"}'
info 2024-10-02 08:16:07z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0xa4cxxxxxxxxxxxxxxx","ieee_address":"0xa4cxxxxxxxxxxxxxxx","status":"started"},"type":"device_interview"}'
info 2024-10-02 08:16:07zh:controller:device: Device '0xa4cxxxxxxxxxxxxxxx' is only compliant to revision '21' of the ZigBee specification (current revision: 23).
info 2024-10-02 08:16:10zh:controller: Succesfully interviewed '0xa4cxxxxxxxxxxxxxxx'
info 2024-10-02 08:16:10z2m: Successfully interviewed '0xa4cxxxxxxxxxxxxxxx', device has successfully been paired
warning 2024-10-02 08:16:10z2m: Device '0xa4cxxxxxxxxxxxxxxx' with Zigbee model 'TS0601' and manufacturer name '_TZE200_rv6iuyxb' is NOT supported, please follow https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html
info 2024-10-02 08:16:10z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0xa4cxxxxxxxxxxxxxxx","ieee_address":"0xa4cxxxxxxxxxxxxxxx","status":"successful","supported":false},"type":"device_interview"}'

Originally posted by @kostya-fr in #7998 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions