-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Closed as not planned
Closed as not planned
Copy link
Labels
Description
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;
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)