Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New tuya thermostat _TZE284_tbgecldg #8245

Open
Arno6431 opened this issue Nov 1, 2024 · 2 comments
Open

New tuya thermostat _TZE284_tbgecldg #8245

Arno6431 opened this issue Nov 1, 2024 · 2 comments

Comments

@Arno6431
Copy link

Arno6431 commented Nov 1, 2024

Hello,

I have installed radiator valves from Powernity (thanks to French gov bonus).
They have the following definitions:

const definition = { zigbeeModel: ['TS0601'], model: 'TS0601', vendor: '_TZE284_tbgecldg', description: 'Automatically generated definition', extend: [], meta: {}, };

From similar devices, I tried to setup my own converters as follow:

`const exposes = require('zigbee-herdsman-converters/lib/exposes.js');
const e = exposes.presets;
const ea = exposes.access;
const tuya = require('zigbee-herdsman-converters/lib/tuya.js');

const definition = {

  fingerprint: [
      {
          modelID: 'TS0601',
          manufacturerName: '_TZE284_tbgecldg',
      },
  ],
  model: 'TS0601_thermostat',
  vendor: 'Powernity',
  description: 'Radiator valve with thermostat',
      whiteLabel: [
          { vendor: 'POWERNITY', model: 'KZTETHEAU' },
      ],
  fromZigbee: [tuya.fz.datapoints],
  toZigbee: [tuya.tz.datapoints],
  onEvent: tuya.onEventSetTime, // Add this if you are getting no converter for 'commandMcuSyncTime'
  configure: tuya.configureMagicPacket,
  exposes: [
          e
              .climate()
              .withPreset(['auto', 'manual', 'holiday',])
              .withLocalTemperature(ea.STATE)
              .withSetpoint('current_heating_setpoint', 0.5, 29.5, 0.5, ea.STATE_SET)
              .withLocalTemperatureCalibration(-9, 9, 0.1, ea.STATE_SET),
          e.comfort_temperature().withValueMin(5).withValueMax(30),
          e.eco_temperature().withValueMin(5).withValueMax(30),
          e.holiday_temperature().withValueMin(0).withValueMax(30),
          e.window_detection(),
          e.open_window_temperature().withValueMin(5).withValueMax(25),
          e.binary('boost_heating', ea.STATE_SET, 'ON', 'OFF'),
                ...tuya.exposes.scheduleAllDays(ea.STATE, 'HH:MM/C'),
          e.child_lock(),
          e.battery().withUnit('%'),
          tuya.exposes.errorStatus(),
  ],
  meta: {
      tuyaDatapoints: [
      [2, 'preset', tuya.valueConverterBasic.lookup({ auto: tuya.enum(0), manual: tuya.enum(1), holiday: tuya.enum(2)})],
      //[16, 'Desired temperature', tuya.valueConverter.divideBy2],
      [16, 'current_heating_setpoint', tuya.valueConverter.divideBy2],
      [24, 'local_temperature', tuya.valueConverter.divideBy10],
      [30, 'child_lock', tuya.valueConverter.lockUnlock],
      [34, 'battery', tuya.valueConverter.batteryVoltToPercent],
      [45, 'error_status', tuya.valueConverter.raw],
      [101, 'comfort_temperature', tuya.valueConverter.divideBy2],
      [102, 'eco_temperature', tuya.valueConverter.divideBy2],
      [103, 'holiday_start_stop', tuya.valueConverter.thermostatHolidayStartStop],
      [104, 'local_temperature_calibration', tuya.valueConverter.localTempCalibration1],
      [105, 'current_heating_setpoint', tuya.valueConverter.divideBy2],
      //[105, 'Temperature setting_Auto', tuya.valueConverter.divideBy2],
      [106, 'boost_heating', tuya.valueConverter.onOff],
      [107, 'window_detection', tuya.valueConverter.onOff],
      [109, 'schedule_monday', tuya.valueConverter.thermostatScheduleDayMultiDP2],
      [110, 'schedule_tuesday', tuya.valueConverter.thermostatScheduleDayMultiDP2],
      [111, 'schedule_wednesday', tuya.valueConverter.thermostatScheduleDayMultiDP2],
      [112, 'schedule_thursday', tuya.valueConverter.thermostatScheduleDayMultiDP2],
      [113, 'schedule_friday', tuya.valueConverter.thermostatScheduleDayMultiDP2],
      [114, 'schedule_saturday', tuya.valueConverter.thermostatScheduleDayMultiDP2],
      [115, 'schedule_sunday', tuya.valueConverter.thermostatScheduleDayMultiDP2],
      [116, 'open_window_temperature', tuya.valueConverter.divideBy2],
      [117, 'open_window_time', tuya.valueConverter.raw],
      [118, 'boost_time', tuya.valueConverter.countdown],                
      ],
  },
  extend: [
      // A preferred new way of extending functionality.
  ],

};

module.exports = definition;
`

I have some data coming in such as the local measured temperature but I can't set the target temperature or defined ""confort, eco or holidays" temperatures.

Can you help me ?

Thanks you

@Applelo
Copy link

Applelo commented Nov 21, 2024

Thanks for the configuration. I hope it is the same configuration for the electric heater controller. This could be a great idea to push the Powernity devices on zigbee-herdsman-converters to prevent using their application + planned obsolescence :) .

[EDIT]
After some investigation, Powernity sells the same devices as XanLite
For the bridge, this is a basic tuya bridge
For the valve or electric radiator devices, I didn't find a replica on aliexpress. Seems like chinese tuya device made for the french market. I will try to take a tuya existing sensor and adapt it.

@reguiny
Copy link

reguiny commented Dec 2, 2024

powerinity.txt
I have attached a setting file which I believe has all the correct settings, other than the schedules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants