Koenkk / zigbee2mqtt

Zigbee 🐝 to MQTT bridge 🌉, get rid of your proprietary Zigbee bridges 🔨
https://www.zigbee2mqtt.io
GNU General Public License v3.0
11.58k stars 1.63k forks source link

TS0601 - TZE200_chyvmhay' Thermostat not supported - please add if possible #8934

Closed gmarchart closed 2 years ago

gmarchart commented 2 years ago

hello,

can you please add support for this device - a thermostat device - Lidl Sylvercrest. can be added in zigbee2mqtt but its not supported - adding with documentation how to add a new device was not sucessfully.

Received message from unsupported device with Zigbee model 'TS0601' and manufacturer name '_TZE200_chyvmhay' Warning Please see: https://www.zigbee2mqtt.io/how_tos/how_to_support_new_devices.html. Debug Received Zigbee message from 'Thermostat-VZ', type 'commandSetDataResponse', cluster 'manuSpecificTuya', data '{"data":{"data":[0,0,0,155],"type":"Buffer"},"datatype":2,"dp":35,"fn":0,"status":0,"transid":35}' from endpoint 1 with groupID null Warning Received message from unsupported device with Zigbee model 'TS0601' and manufacturer name '_TZE200_chyvmhay' Warning Please see: https://www.zigbee2mqtt.io/how_tos/how_to_support_new_devices.html.

Zigbee Modell TS0601 zigbee Hersteller _TZE200_chyvmhay

Zigbee2mqtt Current version: 1.21.1-1 Homeassistant HassOS - Betriebssystem Home Assistant OS 6.4 Supervisor Version supervisor-2021.09.6

Core Version core-2021.9.7

Conbee 2 on Raspi with HassOS

Thanks, Br Guenther

Lavisx commented 2 years ago

I'm not sure if it help for add this device but I attache the tuya.dump.txt from my device. tuya.dump.txt tuya.dump (1).txt

ciB89 commented 2 years ago

Is this this device: https://www.lidl.de/p/silvercrest-elektronisches-heizkorperthermostat-zigbee-smart-home/p100335076 ?

drob3k commented 2 years ago

yes

Lavisx commented 2 years ago

I'm detect some values:

                switch (dp) {
                // heatingSetpoint:
                case 16: // DPID that we added to common
                    return {current_heating_setpoint: (value / 2).toFixed(1)}; 
                // localTemp:
                case 24:
                    return {local_temperature: parseFloat((value / 10).toFixed(1))};
                // childLock:
                case 40:
                    return {child_lock: value ? 'LOCK' : 'UNLOCK'};
                // tempCalibration:
                case 104:
                    return {local_temperature_calibration: parseFloat((value / 10).toFixed(1))};
gmarchart commented 2 years ago

Hello, it seems to be a mix of this moes thermostat, maybe ?!

datapoints from moes and moesS Thermostat

// Moes Thermostat moesHold: 2, moesScheduleEnable: 3, moesHeatingSetpoint: 16, moesMaxTempLimit: 18, moesMaxTemp: 19, moesDeadZoneTemp: 20, moesLocalTemp: 24, moesTempCalibration: 27, moesValve: 36, moesChildLock: 40, moesSensor: 43, moesSchedule: 101, etopErrorStatus: 13, // MoesS Thermostat moesSsystemMode: 1, moesSheatingSetpoint: 2, moesSlocalTemp: 3, moesSboostHeating: 4, moesSboostHeatingCountdown: 5, moesSreset: 7, moesSwindowDetectionFunktion_A2: 8, moesSwindowDetection: 9, moesSchildLock: 13, moesSbattery: 14, moesSschedule: 101, moesSvalvePosition: 104, moesSboostHeatingCountdownTimeSet: 103, moesScompensationTempSet: 105, moesSecoMode: 106, moesSecoModeTempSet: 107, moesSmaxTempSet: 108, moesSminTempSet: 109,

Lavisx commented 2 years ago

It look like rebrand of this model moes SH4-ZB https://zigbee.blakadder.com/Moes_SH4-ZB.html

Lavisx commented 2 years ago

There is my custom converter until it will be officially implemented.

https://github.com/Lavisx/lidl-valve-z2m/blob/main/lidl_radiator_valve.js

ciB89 commented 2 years ago

It look like rebrand of this model moes SH4-ZB https://zigbee.blakadder.com/Moes_SH4-ZB.html

Have you created a PR?

gmarchart commented 2 years ago

There is my custom converter until it will be officially implemented.

https://github.com/Lavisx/lidl-valve-z2m/blob/main/lidl_radiator_valve.js

Hello Lavisx ! yes, that works ! Many thanks for that !

Br Guenther

Lavisx commented 2 years ago

In the converter are some changes to correct modes and presets

ciB89 commented 2 years ago

There is my custom converter until it will be officially implemented.

https://github.com/Lavisx/lidl-valve-z2m/blob/main/lidl_radiator_valve.js

Sorry for asking again, but are you going to create a PR? Otherwise it won't be added to z2m

Lavisx commented 2 years ago

I'm sorry but not now. I'm not sure that I can create it. This is only my amateur code and missing there scheduling and away settings and two bool values are unknown for me.

synekvl commented 2 years ago

Thks Lavisx, finally I have some data from the valve. Unfortunately, I had to commented out the line 299 ( e.battery_voltage() ) because it made some error in my installation causing zigbee2mqtt doesn't start.

Cheers Vladimir

ciB89 commented 2 years ago

I just moved and I got a few of the thermostats lying around that aren't installed yet. As soon as I get a little time I am going to trying to help.

nicx commented 2 years ago

Do you already have an idea which data points can be used? Specifically, I need a data point for the valve position. Can the Lidl valves do this? It would be a very cheap alternative to the other possible thermostats ;)

Lavisx commented 2 years ago

I'm sorry but the valve don't send any position or any information if it is heating or idle

gmarchart commented 2 years ago

There is my custom converter until it will be officially implemented. https://github.com/Lavisx/lidl-valve-z2m/blob/main/lidl_radiator_valve.js

Sorry for asking again, but are you going to create a PR? Otherwise it won't be added to z2m

Hello Lavisx,

first - thanks for your investigations for the support of this valve.

did you test the schedules ? i configured some schedules in zigbee2mqtt for the valve in details setting, but the scheduled auto temperatur did not change on a configured time. the time and date on the valve is correct, but it seems that the schedule is not used and the configured temperatur for a specific schedule is not set. Also on the display of the valve, the temperatur did not change when the time of a schedule arrives and should be another temperatur. it is not changed and the valve did not recognize the changed temperatur.

it works when i manualy change the auto temperatur in zigbee2mqtt, but not via schedule.

also the update of the actual temperatur on the valve to zigbee2mqtt is not very acurat.

sure another option will be to create automations in HA and set the temp manualy on a specific time, but if possible i would like to avoid that.

any ideas, maybe ? Thanks, BR Guenther

Lavisx commented 2 years ago

The scheduler has a strange way of setting. There are 9 temperature values and only 8 time settings. I don't tested it but it looks like the temperature following the time is assigned to the time. Now I'm not sure what mean the first temperature. Means it temperature after midnight? That's just my guess without any tests.

gmarchart commented 2 years ago

The scheduler has a strange way of setting. There are 9 temperature values and only 8 time settings. I don't tested it but it looks like the temperature following the time is assigned to the time. Now I'm not sure what mean the first temperature. Means it temperature after midnight? That's just my guess without any tests.

yes, i saw that, only temp for the 9th schedule is available, i used the first schedule monday 00:15 for night temp, then next 5:45 for heat 20° - because i end up at 21:30 with 17° for the next day the same. start with 00:15 = 17° .. and so on ...

for example i added a schedule for Friday 00:15 17° and 5:45 - 20° - before it was set (automatic temp) to 17 but that comes i guess from the manual heating auto setting - after 5:45 or later the temp. did not change to 20° - also many minutes/hours? later the temp stay on 17 - also when other schedule times occurs, it stay to 17 and changes not to the new temp value.

gmarchart commented 2 years ago

The scheduler has a strange way of setting. There are 9 temperature values and only 8 time settings. I don't tested it but it looks like the temperature following the time is assigned to the time. Now I'm not sure what mean the first temperature. Means it temperature after midnight? That's just my guess without any tests.

ok all clear, i guess now it works the hour and minute settings in schedule are TO settings. standard start time is 00:00 so when i need at 5:45 start with heating and stop heating at 21:30- i need temp1=5:45 17° (=00:00-05:45 17°), temp2=21:30 20° (=05:45-21:30 20°), temp3=24:00 17° (=21:30-24 17°)

at the moment the schedule is correct to 20° and not to 17° as i had it before :-)

Udeson commented 2 years ago

@gmarchart How do you set the schedule, via zigbee2mqtt frontend (which is not working for me, I cannot change/save schedule settings), or on the device itself?

lukasf98 commented 2 years ago

For me saving the schedule works. Maybe you have the same issue I had: https://github.com/Lavisx/lidl-valve-z2m/issues/1

Udeson commented 2 years ago

thx @lukasf98 The problem was me :-) Did not see the apply buttons on each weekday

gmarchart commented 2 years ago

@gmarchart How do you set the schedule, via zigbee2mqtt frontend (which is not working for me, I cannot change/save schedule settings), or on the device itself?

yes via zigbee2mqtt frontend, works without issue - i change the hour and minute and temp - then the blue button (Anwenden in german- submit maybe in english ?! - i use a german interface) of the day i changed the setting and then after few seconds the settings are saved. works.

Koenkk commented 2 years ago

Was just added in https://github.com/Koenkk/zigbee-herdsman-converters/pull/3170

Changes will be available in the dev branch in a few hours from now. (https://www.zigbee2mqtt.io/how_tos/how-to-switch-to-dev-branch.html)

nicx commented 2 years ago

I'm sorry but the valve don't send any position or any information if it is heating or idle

@Lavisx are you sure? as of the zigbee2mqtt documentation the tuya valve exposes the position value in %. Is that not the case here?

lukasf98 commented 2 years ago

Has someone tested https://github.com/Koenkk/zigbee-herdsman-converters/pull/3170 ? I doubt this will work since https://github.com/Lavisx/lidl-valve-z2m/blob/main/lidl_radiator_valve.js is working for me and on first sight the PR is using tz.tuya_thermostat_child_lock which uses datapoint childLock: 7 but in the file that is working for me it uses datapoint 40

Lavisx commented 2 years ago

I'm sorry but the valve don't send any position or any information if it is heating or idle

@Lavisx are you sure? as of the zigbee2mqtt documentation the tuya valve exposes the position value in %. Is that not the case here?

Really ... in this case the valve don't send any state or valve position

kasik96 commented 2 years ago

I just tested this on the dev channel, and it does not respond to any changes. It only shows the set the temperature correctly. When I set temperature, change mode, or do other things, nothing will happen. I have two of these with the same problem.

13r1ckz commented 2 years ago

for me no interaction with the device or any return info I can use. if there is any interesting info I could supply please let me know. here is the debug log on the device joining the network: https://pastebin.com/XC4GC74Z

theip4nda commented 2 years ago

I testet with iobroker.. Object are all createt but i cant control anything :-( You need any infos for adding in database correct?

Eddiedigits commented 2 years ago

Firstly, thanks for all the work on adding this device!

Some extra info: dp: 16 sets the temp for manual mode. Currently if I set the temp from HA in the Climate widget with the device set to Auto. It sends the new temp on dp: 16 which is wrong. It should use dp: 105.

the schedule for a day is not in time temp pairs. the device switches to the first temp at midnight and if all the times are less than 24:00 then the last temp [temp9] is used from the last time [time8] until midnight. 00:00 [temp1, time1, temp2, time2...., temp8, time8, temp9] 24:00

Other than that I think all the dp's I found have already been identified, but for reference here is what I had before I realised someone else was already on it: scAutoHeatingSetpoint: 105, // Temp in auto mode scLocalTemp: 24, // Local temp reading at thermostat scAutoLock: 3, scBatteryVoltage: 35, scChildLock: 40, scMode: 2, // ['AUTO', 'MANUAL', 'OFF'] scManualHeatingSetpoint: 16, // Temp in manual mode scScheduleMonday: 109, // datatype: 0 scScheduleTuesday: 110, // datatype: 0 scScheduleWednesday: 111, // datatype: 0 scScheduleThursday: 112, // datatype: 0 scScheduleFriday: 113, // datatype: 0 scScheduleSaturday: 114, // datatype: 0 scScheduleSunday: 115, // datatype: 0

ciB89 commented 2 years ago

There are still two unkown binaries, one of them is the state of the "open window detection", so wheather is has detected that a window is open or closed. Also, according to the Lidl app, you can enable to be reminded about an open window, so that should be the other binary.

gmarchart commented 2 years ago

There are still two unkown binaries, one of them is the state of the "open window detection", so wheather is has detected that a window is open or closed. Also, according to the Lidl app, you can enable to be reminded about an open window, so that should be the other binary. Hello,

Thanks to go forward with this device, the device is now recognized without external converter ! very nice, Thanks !

it can also be that the one of the two unknown binary is the setting for automatic Summer/Wintertime. In the Valve-Manual is such option described to set it on the device. It's the Valve Menu Point "dSt" - can be set OFF or ON.

the z2m get may restarts since i use the new version (1.22.1-1) approx. every 2-3 minutes !!! - always a new logfile will be created and the devices are unknown for the restart for few seconds- i will try to reboot HA, maybe it is then better or fixed.

Additional when i manualy change the mode in HA with the climate widget of this Valve - "auto" to "manual" or "off" z2m restarts every time i do the change. no matter from which mode to another, always get a restart.

ciB89 commented 2 years ago

it can also be that the one of the two unknown binary is the setting for automatic Summer/Wintertime. In the Valve-Manual is such option described to set it on the device. It's the Valve Menu Point "dSt" - can be set OFF or ON.

Right, that also makes sense. the z2m get may restarts since i use the new version (1.22.1-1) approx. every 2-3 minutes !!! - always a new logfile will be created and the devices are unknown for the restart for few seconds- i will try to reboot HA, maybe it is then better or fixed.

Additional when i manualy change the mode in HA with the climate widget of this Valve - "auto" to "manual" or "off" z2m restarts every time i do the change. no matter from which mode to another, always get a restart.

I also got the same issue. I already pointed that out in the other PR #9509

Koenkk commented 2 years ago

Should be fixed now.

Changes will be available in the dev branch in a few hours from now. (https://www.zigbee2mqtt.io/advanced/more/switch-to-dev-branch.html)