-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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 device support]: TS0601 TZE200_5toc8efa electric floor heating #16044
Comments
LOG: Warning 2023-01-09 21:31:11 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:31:50 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:31:53 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:32:11 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:32:46 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:32:49 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:33:17 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:34:18 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,19]}}
Warning 2023-01-10 00:04:21 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,4]}}
Warning 2023-01-10 00:05:21 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,9]}} |
I update external converter and now when i set temp to 25 *C at device set same temp, but in z2m i see value 250. I have already tried different options, but I can't make the device set the temperature according to the formula temp = value *10, and only display temp. In this case, the temperature is set correctly on the device, but the display is not. Has no one ever encountered such a device as mine and no one can help? :( |
Добрый день мне пришлось внести изменения в свой external_converter чтобы всё работало. Автор не принимает мои правки в файлы From ZigBee.js и ToZigbee.js видимо потому что там есть небольшие ошибки в коде так как я не программист ява. На мои просьбы довести код "до ума" автор не реагирует. Поэтому я скопировал части кода из файлов From ZigBee.js и ToZigbee.js в свой external_converter и исправил в тех местах где мне казалось, что была ошибка. И теперь всё работает как надо ! Если в теме будут грамотные JS-кодеры внесите пожалуйста правки основываясь на моём коде в From ZigBee.js и ToZigbee.js. ==== // 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 e = exposes.presets;
const ea = exposes.access;
const tuya = require('zigbee-herdsman-converters/lib/tuya');
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 moes_thermostat = {
cluster: 'manuSpecificTuya',
type: ['commandDataResponse', 'commandDataReport'],
convert: (model, msg, publish, options, meta) => {
const dpValue = tuya.firstDpValue(msg, meta, 'moes_thermostat');
const dp = dpValue.dp;
const value = tuya.getDataValue(dpValue);
let temperature;
switch (dp) {
case tuya.dataPoints.moesSchedule:
return {
program: {
weekdays_p1_hour: value[0],
weekdays_p1_minute: value[1],
weekdays_p1_temperature: value[2] / 2,
weekdays_p2_hour: value[3],
weekdays_p2_minute: value[4],
weekdays_p2_temperature: value[5] / 2,
weekdays_p3_hour: value[6],
weekdays_p3_minute: value[7],
weekdays_p3_temperature: value[8] / 2,
weekdays_p4_hour: value[9],
weekdays_p4_minute: value[10],
weekdays_p4_temperature: value[11] / 2,
saturday_p1_hour: value[12],
saturday_p1_minute: value[13],
saturday_p1_temperature: value[14] / 2,
saturday_p2_hour: value[15],
saturday_p2_minute: value[16],
saturday_p2_temperature: value[17] / 2,
saturday_p3_hour: value[18],
saturday_p3_minute: value[19],
saturday_p3_temperature: value[20] / 2,
saturday_p4_hour: value[21],
saturday_p4_minute: value[22],
saturday_p4_temperature: value[23] / 2,
sunday_p1_hour: value[24],
sunday_p1_minute: value[25],
sunday_p1_temperature: value[26] / 2,
sunday_p2_hour: value[27],
sunday_p2_minute: value[28],
sunday_p2_temperature: value[29] / 2,
sunday_p3_hour: value[30],
sunday_p3_minute: value[31],
sunday_p3_temperature: value[32] / 2,
sunday_p4_hour: value[33],
sunday_p4_minute: value[34],
sunday_p4_temperature: value[35] / 2,
},
};
case tuya.dataPoints.state: // Thermostat on standby = OFF, running = ON
if (model.model === 'BAC-002-ALZB') {
return {system_mode: value ? 'cool' : 'off'};
} else {
return {system_mode: value ? 'heat' : 'off'};
}
case tuya.dataPoints.moesChildLock:
return {child_lock: value ? 'LOCK' : 'UNLOCK'};
case tuya.dataPoints.moesHeatingSetpoint:
hsp = value / 10;
return {current_heating_setpoint: parseFloat(hsp.toFixed(1))};
case tuya.dataPoints.moesMinTempLimit:
return {min_temperature_limit: value};
case tuya.dataPoints.moesMaxTempLimit:
return {max_temperature_limit: value};
case tuya.dataPoints.moesMaxTemp:
return {max_temperature: value};
case tuya.dataPoints.moesDeadZoneTemp:
return {deadzone_temperature: value};
case tuya.dataPoints.moesLocalTemp:
temp1 = value & 1<<15 ? value - (1<<16) + 1 : value;
temp2 = temp1 / 10
return {local_temperature: parseFloat(temp2.toFixed(1))};
case tuya.dataPoints.moesTempCalibration:
temperature = value;
if (temperature > 4000) temperature = temperature - 4096;
return {local_temperature_calibration: temperature};
case tuya.dataPoints.moesHold:
return {preset_mode: value ? 'program' : 'hold', preset: value ? 'program' : 'hold'};
case tuya.dataPoints.moesScheduleEnable:
return {preset_mode: value ? 'hold' : 'program', preset: value ? 'hold' : 'program'};
case tuya.dataPoints.moesValve:
return {heat: value ? 'OFF' : 'ON', running_state: (value ? 'idle' : (model.model === 'BAC-002-ALZB' ? 'cool' : 'heat'))};
case tuya.dataPoints.moesSensor:
switch (value) {
case 0:
return {sensor: 'IN'};
case 1:
return {sensor: 'AL'};
case 2:
return {sensor: 'OU'};
default:
return {sensor: 'not_supported'};
}
case tuya.dataPoints.bacFanMode:
return {fan_mode: tuya.fanModes[value]};
default:
meta.logger.warn(`zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #${
dp} with data ${JSON.stringify(dpValue)}`);
}
},
};
const moes_thermostat_current_heating_setpoint = {
key: ['current_heating_setpoint'],
convertSet: async (entity, key, value, meta) => {
const temp = Math.round(value*10);
await tuya.sendDataPointValue(entity, tuya.dataPoints.moesHeatingSetpoint, temp);
},
};
const definition = {
fingerprint: [
{
modelID: 'TS0601',
manufacturerName: '_TZE200_5toc8efa',
},
],
model: 'BHT-002-GCLZB',
vendor: 'Moes',
description: 'Moes BHT series Thermostat',
fromZigbee: [moes_thermostat],
toZigbee: [tz.moes_thermostat_child_lock, 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, moes_thermostat_current_heating_setpoint],
onEvent: tuya.onEventSetLocalTime,
configure: tuya.configureMagicPacket,
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, 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')),
],
meta: {
tuyaDatapoints: [
[101, 'schedule_monday', tuya.valueConverter.thermostatScheduleDayMultiDP],
[102, 'schedule_tuesday', tuya.valueConverter.thermostatScheduleDayMultiDP],
[103, 'schedule_wednesday', tuya.valueConverter.thermostatScheduleDayMultiDP],
[104, 'schedule_thursday', tuya.valueConverter.thermostatScheduleDayMultiDP],
[105, 'schedule_friday', tuya.valueConverter.thermostatScheduleDayMultiDP],
[106, 'schedule_saturday', tuya.valueConverter.thermostatScheduleDayMultiDP],
[107, 'schedule_sunday', tuya.valueConverter.thermostatScheduleDayMultiDP],
],
},
};
module.exports = definition; |
Единственное мне не удалось решить проблему с ошибкой Datapoints, но и с ней всё работает как нужно. Если кто разберется дайте знать! === Warning 2023-01-09 21:31:11 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:31:50 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:31:53 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:32:11 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:32:46 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:32:49 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:33:17 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,24]}}
Warning 2023-01-09 21:34:18 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,19]}}
Warning 2023-01-10 00:04:21 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,4]}}
Warning 2023-01-10 00:05:21 zigbee-herdsman-converters:Moes BHT-002: Unrecognized DP #102 with data {"dp":102,"datatype":2,"data":{"type":"Buffer","data":[0,0,1,9]}} |
Приветствую! Я немного внес изменения в Ваш конвертор, поправил остальные данные на основе Вашего шаблона которые тоже выводились в десятых, это: deadzone_temperature, max_temperature_limit, min_temperature_limit. Но как выяснилось есть проблема с deadzone_temperature она не передается с устройства а просто дублирует min_temperature_limit, видимо конвертор не верно читает datapoints и видимо ошибка Unrecognized DP #102 with data и есть datapoints 102 который относится к deadzone_temperature и его нужно определить в конверторе. |
Приветствую! Осталось ещё не много я думаю, мы на верном пути. Взял ваш код, даже картинка Bseed, а не Moes. Отлично !Спасибо ! |
Удалось победить ошибку 102? |
Does this thermostat suffer from the same defect as Moes brand thermostats such as congestion with an enormous number of packets? |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days |
in 1.31.0 "local_temperature" and "max_temperature" are 10 times higher, please fix
|
in 1.31.0 "local_temperature" and "max_temperature" are 10 times higher, please fix Same problem... I create new issue #18791 |
Plz tell me, who fix this problem( |
Подскажите у вас получилось решить проблему? Внешний конвертер не работает( Последний апдейт z2m не помог |
Yes, it does. |
Link
https://aliexpress.ru/item/1005004352027105.html?spm=a2g2w.orderdetail.0.0.2d174aa6ejwWSN&sku_id=12000029623915182
Database entry
{"id":9,"type":"Router","ieeeAddr":"0x003c84fffef71d75","nwkAddr":60068,"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":{"65503":"\u0017�N+\u0013!�N+\u0012"�N+\u0012","65506":31,"65508":0,"modelId":"TS0601","manufacturerName":"_TZE200_5toc8efa","stackVersion":0,"dateCode":"","appVersion":72}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":72,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"meta":{},"lastSeen":1673253884958,"defaultSendRequestWhen":"immediate"}
Comments
I use dev channel (Zigbee2Mqtt Edge) and add new external converter for TZE200_5toc8efa.
I have problem with Bseed thermostat TS0601 TZE200_5toc8efa electric floor heating at Zigbee2Mqtt Edge.
When I set the temperature in the current_heating_setpoint menu: 30 degrees Celsius, my thermostat sets 3.0 degrees Celsius.
If I set 25 degrees Celsius, 2.5 degrees Celsius is set on the thermostat.
And when I set the temperature to 300 degrees Celsius, 30 degrees are set on the thermostat...
Tell me how to fix this problem?
External converter
Supported color modes
No response
Color temperature range
No response
The text was updated successfully, but these errors were encountered: