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

Bseed thermostat TS0601 TZE200_5toc8efa electric floor heating. Help to make a converter. #16117

Closed
VladimirTuzovGitHub opened this issue Jan 12, 2023 · 14 comments
Labels
new device support New device support request

Comments

@VladimirTuzovGitHub
Copy link

Link

https://aliexpress.com/item/1005004644629279.html

Database entry

{"id":36,"type":"Router","ieeeAddr":"0x003c84fffed33230","nwkAddr":52420,"manufId":4098,"manufName":"_TZE200_5toc8efa","powerSource":"Mains (single phase)","modelId":"TS0601","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":81,"inClusterList":[0,4,5,61184],"outClusterList":[25,10],"clusters":{"genBasic":{"attributes":{"65506":31,"65508":1,"stackVersion":0,"dateCode":"","appVersion":72}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":72,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"meta":{},"lastSeen":1672557341252,"defaultSendRequestWhen":"immediate"}

Comments

Hello! Please help me to make a converter for thermostat BSEED _TZE200_5toc8efa, works with TuYa. Its software is very similar to BHT-002-GCLZB.. It is not currently supported in z2m.

External converter

No response

Supported color modes

No response

Color temperature range

No response

@VladimirTuzovGitHub VladimirTuzovGitHub added the new device support New device support request label Jan 12, 2023
@VladimirTuzovGitHub
Copy link
Author

VladimirTuzovGitHub commented Jan 13, 2023

I tried to build a converter based on the Moes BHT-002-GCLZB converter. I am doing this for the first time and I think that I make mistakes. Below I will describe what problems and errors come out.

Converter code:
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const extend = require('zigbee-herdsman-converters/lib/extend');
const ota = require('zigbee-herdsman-converters/lib/ota');
const tuya = require('zigbee-herdsman-converters/lib/tuya');
const utils = require('zigbee-herdsman-converters/lib/utils');
const globalStore = require('zigbee-herdsman-converters/lib/store');
const e = exposes.presets;
const ea = exposes.access;

const exposesLocal = {
hour: (name) => exposes.numeric(name, ea.STATE_SET).withUnit('h').withValueMin(0).withValueMax(23),
minute: (name) => exposes.numeric(name, ea.STATE_SET).withUnit('m').withValueMin(0).withValueMax(59),
program_temperature: (name) => exposes.numeric(name, ea.STATE_SET).withUnit('°C')
.withValueMin(5).withValueMax(35).withValueStep(0.5),
};

const definition = {
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_aoclfnxz'},
{modelID: 'TS0601', manufacturerName: '_TZE200_ztvwu4nk'},
{modelID: 'TS0601', manufacturerName: '_TZE200_5toc8efa'},
{modelID: 'TS0601', manufacturerName: '_TZE200_ye5jkfsb'},
{modelID: 'TS0601', manufacturerName: '_TZE200_5toc8efa'},
{modelID: 'TS0601', manufacturerName: '_TZE200_u9bfwha0'}],
model: 'BHT-002-GCLZB',
vendor: 'Moes',
description: 'Moes BHT series Thermostat',
fromZigbee: [fz.moes_thermostat],
toZigbee: [tz.moes_thermostat_child_lock, tz.moes_thermostat_current_heating_setpoint, tz.moes_thermostat_mode,
tz.moes_thermostat_standby, tz.moes_thermostat_sensor, tz.moes_thermostat_calibration,
tz.moes_thermostat_deadzone_temperature, tz.moes_thermostat_max_temperature_limit, tz.moes_thermostat_min_temperature_limit,
tz.moes_thermostat_program_schedule],
exposes: [e.child_lock(), e.deadzone_temperature(), e.max_temperature_limit(), e.min_temperature_limit(),
exposes.climate().withSetpoint('current_heating_setpoint', 5, 35, 1, ea.STATE_SET)
.withLocalTemperature(ea.STATE).withLocalTemperatureCalibration(-30, 30, 0.1, ea.STATE_SET)
.withSystemMode(['off', 'heat'], ea.STATE_SET).withRunningState(['idle', 'heat', 'cool'], ea.STATE)
.withPreset(['hold', 'program']),
e.temperature_sensor_select(['IN', 'AL', 'OU']),
exposes.composite('program', 'program').withDescription('Time of day and setpoint to use when in program mode')
.withFeature(exposesLocal.hour('weekdays_p1_hour'))
.withFeature(exposesLocal.minute('weekdays_p1_minute'))
.withFeature(exposesLocal.program_temperature('weekdays_p1_temperature'))
.withFeature(exposesLocal.hour('weekdays_p2_hour'))
.withFeature(exposesLocal.minute('weekdays_p2_minute'))
.withFeature(exposesLocal.program_temperature('weekdays_p2_temperature'))
.withFeature(exposesLocal.hour('weekdays_p3_hour'))
.withFeature(exposesLocal.minute('weekdays_p3_minute'))
.withFeature(exposesLocal.program_temperature('weekdays_p3_temperature'))
.withFeature(exposesLocal.hour('weekdays_p4_hour'))
.withFeature(exposesLocal.minute('weekdays_p4_minute'))
.withFeature(exposesLocal.program_temperature('weekdays_p4_temperature'))
.withFeature(exposesLocal.hour('saturday_p1_hour'))
.withFeature(exposesLocal.minute('saturday_p1_minute'))
.withFeature(exposesLocal.program_temperature('saturday_p1_temperature'))
.withFeature(exposesLocal.hour('saturday_p2_hour'))
.withFeature(exposesLocal.minute('saturday_p2_minute'))
.withFeature(exposesLocal.program_temperature('saturday_p2_temperature'))
.withFeature(exposesLocal.hour('saturday_p3_hour'))
.withFeature(exposesLocal.minute('saturday_p3_minute'))
.withFeature(exposesLocal.program_temperature('saturday_p3_temperature'))
.withFeature(exposesLocal.hour('saturday_p4_hour'))
.withFeature(exposesLocal.minute('saturday_p4_minute'))
.withFeature(exposesLocal.program_temperature('saturday_p4_temperature'))
.withFeature(exposesLocal.hour('sunday_p1_hour'))
.withFeature(exposesLocal.minute('sunday_p1_minute'))
.withFeature(exposesLocal.program_temperature('sunday_p1_temperature'))
.withFeature(exposesLocal.hour('sunday_p2_hour'))
.withFeature(exposesLocal.minute('sunday_p2_minute'))
.withFeature(exposesLocal.program_temperature('sunday_p2_temperature'))
.withFeature(exposesLocal.hour('sunday_p3_hour'))
.withFeature(exposesLocal.minute('sunday_p3_minute'))
.withFeature(exposesLocal.program_temperature('sunday_p3_temperature'))
.withFeature(exposesLocal.hour('sunday_p4_hour'))
.withFeature(exposesLocal.minute('sunday_p4_minute'))
.withFeature(exposesLocal.program_temperature('sunday_p4_temperature')),
],
onEvent: tuya.onEventSetLocalTime,
};

module.exports = definition;

It connected but not completely correctly.
Log errors:
2023-01-13 16:11:45zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,0,250]}}
2023-01-13 16:11:46zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #103 with data {"dp":103,"datatype":2,"data":{"type":"Buffer","data":[0,0,0,1]}}
2023-01-13 16:11:46zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #104 with data {"dp":104,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,194]}}
2023-01-13 16:11:46zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #110 with data {"dp":110,"datatype":0,"data":{"type":"Buffer","data":[1,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}
2023-01-13 16:11:46zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #109 with data {"dp":109,"datatype":0,"data":{"type":"Buffer","data":[2,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}
2023-01-13 16:11:46zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #108 with data {"dp":108,"datatype":0,"data":{"type":"Buffer","data":[3,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}
2023-01-13 16:11:46zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #107 with data {"dp":107,"datatype":0,"data":{"type":"Buffer","data":[4,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}
2023-01-13 16:11:46zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #106 with data {"dp":106,"datatype":0,"data":{"type":"Buffer","data":[5,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}
2023-01-13 16:11:46zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #105 with data {"dp":105,"datatype":0,"data":{"type":"Buffer","data":[6,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}

Device state:
{
"child_lock": "UNLOCK",
"deadzone_temperature": 50,
"linkquality": 160,
"local_temperature_calibration": -2,
"max_temperature_limit": 350,
"min_temperature_limit": 50,
"running_state": "idle",
"sensor": "OU",
"system_mode": "heat",
"preset": "program",
"preset_mode": "program",
"current_heating_setpoint": 250,
"max_temperature": 350,
"local_temperature": 24.5,
"heat": "OFF",
"program": {
"saturday_p1_hour": 23,
"saturday_p1_minute": 17,
"saturday_p1_temperature": 25,
"saturday_p2_hour": 2,
"saturday_p2_minute": 59,
"saturday_p2_temperature": null,
"saturday_p3_temperature": null,
"saturday_p4_temperature": null,
"sunday_p1_temperature": null,
"sunday_p2_temperature": null,
"sunday_p3_temperature": null,
"sunday_p4_temperature": null,
"weekdays_p1_hour": 7,
"weekdays_p1_minute": 6,
"weekdays_p1_temperature": 0,
"weekdays_p2_hour": 0,
"weekdays_p2_minute": 59,
"weekdays_p2_temperature": 25,
"weekdays_p3_hour": 23,
"weekdays_p3_minute": 0,
"weekdays_p3_temperature": 25,
"weekdays_p4_hour": 13,
"weekdays_p4_minute": 30,
"weekdays_p4_temperature": 25
}
}
Device exposes:
image
image
image
Device:
image
image

I use Russian there, I think everything will be clear anyway.
It can be seen that the temperature setting and setting and max_temperature_limit and current_heating_setpoint are indicated in hundredths and should be in tenths. Also, there are problems with setting the days of the week for program mode. For the rest, I still see that it works correctly, but datatype errors periodically appear.

This is his instruction, what functions does it have:
image
image

Please help me understand and make the correct converter. I would even agree to remove the program mode since I do not use the temperature setting by time and day of the week at all.

@VladimirTuzovGitHub
Copy link
Author

I also found that Hold and Programm are confused. I put the manual mode shows Programm, I put the program of the week shows Hold.

@VoltickVL
Copy link

VoltickVL commented Jan 14, 2023

@VladimirTuzovGitHub у меня таже проблема с сотыми... Вот мои темы, там код внешнего конвертора, но увы никто не может помочь((( Вам удалось решить ?
#16044
#16056
#16096

I have the same problem with hundredths... Here are my topics, there is an external converter code, but alas, no one can help ((( Did you manage to solve ?

@VoltickVL
Copy link

same problem #11980

@VoltickVL
Copy link

VoltickVL commented Jan 14, 2023

@Koenkk
Copy link
Owner

Koenkk commented Jan 14, 2023

_TZE200_5toc8efa is supported in the dev branch (and the next release on 1 February) (https://www.zigbee2mqtt.io/advanced/more/switch-to-dev-branch.html)

@Koenkk Koenkk closed this as completed Jan 14, 2023
@VladimirTuzovGitHub
Copy link
Author

_TZE200_5toc8efaподдерживается в ветке dev (и следующий выпуск 1 февраля) ( https://www.zigbee2mqtt.io/advanced/more/switch-to-dev-branch.html )

I installed the z2m dev branch and reconnected the thermostat, I also removed my converter from the configuration. The thermostat is connected and says that it is supported in z2m, but all the problems I described above are also present, the thermostat does not work correctly.

@VladimirTuzovGitHub
Copy link
Author

And the log gives the same errors.

2023-01-14 19:09:19zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,0,250]}}
2023-01-14 19:09:19zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #103 with data {"dp":103,"datatype":2,"data":{"type":"Buffer","data":[0,0,0,1]}}
2023-01-14 19:09:19zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #104 with data {"dp":104,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,194]}}
2023-01-14 19:09:19zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #110 with data {"dp":110,"datatype":0,"data":{"type":"Buffer","data":[1,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}
2023-01-14 19:09:19zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #109 with data {"dp":109,"datatype":0,"data":{"type":"Buffer","data":[2,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}
2023-01-14 19:09:19zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #108 with data {"dp":108,"datatype":0,"data":{"type":"Buffer","data":[3,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}
2023-01-14 19:09:19zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #107 with data {"dp":107,"datatype":0,"data":{"type":"Buffer","data":[4,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}
2023-01-14 19:09:20zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #106 with data {"dp":106,"datatype":0,"data":{"type":"Buffer","data":[5,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}
2023-01-14 19:09:20zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #106 with data {"dp":106,"datatype":0,"data":{"type":"Buffer","data":[5,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}
2023-01-14 19:09:20zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #105 with data {"dp":105,"datatype":0,"data":{"type":"Buffer","data":[6,6,0,0,200,11,30,0,200,13,30,0,200,17,30,0,200]}}

@VoltickVL
Copy link

@VladimirTuzovGitHub
Copy link
Author

Koenkk/zigbee-пастух-преобразователи#5334

Так удалось решить? Ато что-то я не пойму.

@VoltickVL
Copy link

Пока нет, но я думаю мы на верном пути

@directenser
Copy link

Добрый день!
Удалось завершить работы по конвертеру?

@VoltickVL
Copy link

Добрый день! Удалось завершить работы по конвертеру?

Добрый день я внёс правки в свой конвертер и всё работает #16044

@directenser
Copy link

Добрый день! Удалось завершить работы по конвертеру?

Добрый день я внёс правки в свой конвертер и всё работает #16044

Спасибо!

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

No branches or pull requests

4 participants