(EDGE Driver-Mc): Zigbee Temp Sensor and Child Thermostat Mc, Zigbee Temp Sensor with Thermostat Mc

@Cesar_Novo
It responds correctly and the sending of data is activated, but it sends them through the EF00 cluster, which must be hidden.
For the standard clusters it continues sending values = 0

I don’t know how to handle this, but surely with the driver of @w35l3y it could work.

Give it a while to see if it starts sending values through the standard clusters

Logs Cluster EF00

2023-01-22T09:31:04.528712176+00:00 INFO Zigbee Temp Sensor and Child Thermostat Mc <ZigbeeDevice: 02949a0d-dc50-40d2-8ef4-25f2bbfe6688 [0xCD0E] (Tuya TS0601)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xCD0E, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: 0xEF00 >, lqi: 0xCC, rssi: -75, body_length: 0x000D, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x09, seqno: 0xD6, ZCLCommandId: 0x02 >, GenericBody: 00 4E 04 02 00 04 00 00 00 64 > >
2023-01-22T09:31:14.489934848+00:00 INFO Zigbee Temp Sensor and Child Thermostat Mc <ZigbeeDevice: 02949a0d-dc50-40d2-8ef4-25f2bbfe6688 [0xCD0E] (Tuya TS0601)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xCD0E, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: 0xEF00 >, lqi: 0xD2, rssi: -69, body_length: 0x000D, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x09, seqno: 0xD7, ZCLCommandId: 0x02 >, GenericBody: 00 4F 04 02 00 04 00 00 00 64 > >
2023-01-22T09:31:14.542013514+00:00 DEBUG Zigbee Temp Sensor and Child Thermostat Mc Tuya TS0601 device thread event handled
2023-01-22T09:31:14.687569514+00:00 TRACE Zigbee Temp Sensor and Child Thermostat Mc Received event with handler zigbee
2023-01-22T09:31:14.695697848+00:00 INFO Zigbee Temp Sensor and Child Thermostat Mc <ZigbeeDevice: 02949a0d-dc50-40d2-8ef4-25f2bbfe6688 [0xCD0E] (Tuya TS0601)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xCD0E, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: 0xEF00 >, lqi: 0xD2, rssi: -70, body_length: 0x000A, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x09, seqno: 0xD8, ZCLCommandId: 0x02 >, GenericBody: 00 50 09 04 00 01 00 > >
2023-01-22T09:31:14.715243848+00:00 DEBUG Zigbee Temp Sensor and Child Thermostat Mc Tuya TS0601 device thread event handled
2023-01-22T09:31:14.916201514+00:00 TRACE Zigbee Temp Sensor and Child Thermostat Mc Received event with handler zigbee
2023-01-22T09:31:14.924346514+00:00 INFO Zigbee Temp Sensor and Child Thermostat Mc <ZigbeeDevice: 02949a0d-dc50-40d2-8ef4-25f2bbfe6688 [0xCD0E] (Tuya TS0601)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xCD0E, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: 0xEF00 >, lqi: 0xD0, rssi: -68, body_length: 0x000D, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x09, seqno: 0xD9, ZCLCommandId: 0x02 >, GenericBody: 00 51 17 02 00 04 00 00 00 00 > >
2023-01-22T09:31:14.945250848+00:00 DEBUG Zigbee Temp Sensor and Child Thermostat Mc Tuya TS0601 device thread event handled
2023-01-22T09:31:15.146009515+00:00 TRACE Zigbee Temp Sensor and Child Thermostat Mc Received event with handler zigbee
2023-01-22T09:31:15.154183515+00:00 INFO Zigbee Temp Sensor and Child Thermostat Mc <ZigbeeDevice: 02949a0d-dc50-40d2-8ef4-25f2bbfe6688 [0xCD0E] (Tuya TS0601)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xCD0E, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: 0xEF00 >, lqi: 0xD4, rssi: -71, body_length: 0x000D, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x09, seqno: 0xDA, ZCLCommandId: 0x02 >, GenericBody: 00 52 18 02 00 04 00 00 00 00 > >
2023-01-22T09:31:15.172373181+00:00 DEBUG Zigbee Temp Sensor and Child Thermostat Mc Tuya TS0601 device thread event handled
2023-01-22T09:31:15.362575515+00:00 TRACE Zigbee Temp Sensor and Child Thermostat Mc Received event with handler zigbee
2023-01-22T09:31:15.373234848+00:00 INFO Zigbee Temp Sensor and Child Thermostat Mc <ZigbeeDevice: 02949a0d-dc50-40d2-8ef4-25f2bbfe6688 [0xCD0E] (Tuya TS0601)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xCD0E, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: 0xEF00 >, lqi: 0xD2, rssi: -70, body_length: 0x000D, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x09, seqno: 0xDB, ZCLCommandId: 0x02 >, GenericBody: 00 53 04 02 00 04 00 00 00 64 > >
2023-01-22T09:31:15.396520181+00:00 DEBUG Zigbee Temp Sensor and Child Thermostat Mc Tuya TS0601 device thread event handled
2023-01-22T09:31:24.561067186+00:00 TRACE Zigbee Temp Sensor and Child Thermostat Mc Received event with handler zigbee
2023-01-22T09:31:24.580283186+00:00 INFO Zigbee Temp Sensor and Child Thermostat Mc <ZigbeeDevice: 02949a0d-dc50-40d2-8ef4-25f2bbfe6688 [0xCD0E] (Tuya TS0601)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xCD0E, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: 0xEF00 >, lqi: 0xD0, rssi: -69, body_length: 0x000D, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x09, seqno: 0xDC, ZCLCommandId: 0x02 >, GenericBody: 00 54 04 02 00 04 00 00 00 64 > >
2023-01-22T09:31:24.609915519+00:00 DEBUG Zigbee Temp Sensor and Child Thermostat Mc Tuya TS0601 device thread event handled
2023-01-22T09:31:28.229673521+00:00 DEBUG Zigbee Temp Sensor and Child Thermostat Mc driver device thread event handled
2023-01-22T09:31:29.446472521+00:00 TRACE Zigbee Temp Sensor and Child Thermostat Mc Received event with handler zigbee
2023-01-22T09:31:29.454929521+00:00 INFO Zigbee Temp Sensor and Child Thermostat Mc <ZigbeeDevice: 02949a0d-dc50-40d2-8ef4-25f2bbfe6688 [0xCD0E] (Tuya TS0601)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xCD0E, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: 0xEF00 >, lqi: 0xC8, rssi: -70, body_length: 0x000D, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x09, seqno: 0xDD, ZCLCommandId: 0x02 >, GenericBody: 00 55 01 02 00 04 00 00 00 B2 > >
2023-01-22T09:31:29.478042521+00:00 DEBUG Zigbee Temp Sensor and Child Thermostat Mc Tuya TS0601 device thread event handled
2023-01-22T09:31:29.656631855+00:00 TRACE Zigbee Temp Sensor and Child Thermostat Mc Received event with handler zigbee
2023-01-22T09:31:29.665856188+00:00 INFO Zigbee Temp Sensor and Child Thermostat Mc <ZigbeeDevice: 02949a0d-dc50-40d2-8ef4-25f2bbfe6688 [0xCD0E] (Tuya TS0601)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xCD0E, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: 0xEF00 >, lqi: 0xD4, rssi: -68, body_length: 0x000D, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x09, seqno: 0xDE, ZCLCommandId: 0x02 >, GenericBody: 00 56 02 02 00 04 00 00 00 54 > >
2023-01-22T09:31:29.685207522+00:00 DEBUG Zigbee Temp Sensor and Child Thermostat Mc Tuya TS0601 device thread event handled
2023-01-22T09:31:34.530442524+00:00 TRACE Zigbee Temp Sensor and Child Thermostat Mc Received event with handler zigbee
2023-01-22T09:31:34.540847190+00:00 INFO Zigbee Temp Sensor and Child Thermostat Mc <ZigbeeDevice: 02949a0d-dc50-40d2-8ef4-25f2bbfe6688 [0xCD0E] (Tuya TS0601)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xCD0E, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: 0xEF00 >, lqi: 0xC6, rssi: -70, body_length: 0x000D, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x09, seqno: 0xDF, ZCLCommandId: 0x02 >, GenericBody: 00 57 04 02 00 04 00 00 00 64 > >

log standard Cluster

2023-01-22T09:36:10.699923101+00:00 INFO Zigbee Temp Sensor and Child Thermostat Mc <ZigbeeDevice: 02949a0d-dc50-40d2-8ef4-25f2bbfe6688 [0xCD0E] (Tuya TS0601)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xCD0E, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: TemperatureMeasurement >, lqi: 0xC6, rssi: -71, body_length: 0x0008, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x18, seqno: 0xE0, ZCLCommandId: 0x0A >, < ReportAttribute || < AttributeRecord || AttributeId: 0x0000, DataType: Int16, MeasuredValue: 0 > > > >
2023-01-22T09:36:10.795342101+00:00 INFO Zigbee Temp Sensor and Child Thermostat Mc <ZigbeeDevice: 02949a0d-dc50-40d2-8ef4-25f2bbfe6688 [0xCD0E] (Tuya TS0601)> emitting event: {“attribute_id”:“temperature”,“capability_id”:"temperatureMeasurement",“component_id”:“main”,“state”:{“unit”:“C”,“value”:0.0}}

1 Like
values description
00 4E sequential number
04 datapoint
02 tuya data type
00 04 length
00 00 00 64 data
values description
00 55 sequential number
01 datapoint
02 tuya data type
00 04 length
00 00 00 B2 data

It should work with EF00 driver

3 Likes

I’ve got the conversation in the middle…
It seems your device uses EF00 but doesn’t expose it as one of its server clusters.
If that is what is happening here, I didn’t see anything like that.

Have you tried to install the driver and choose it to run your device ?

1 Like

Hi @w35l3y

It started responding with cluster EF00 when I applied tuyaBlackMagic in lifecycle init, which is similar to your “tuya Magic Spell”

1 Like

@Cesar_Novo , after applying that command, were you able to change to the generic EF00 driver?

I need to know this because the driver only applies to devices that exposes 0xEF00 since the beginning.

If i understand correctly your question, i have installed your driver, but when i search for the device (after deleted him first and search for a “new proximity device”), your driver isn’t “picked up” by the device, nor is possible to change the device controller to your driver (it doesn’t show up in the smartthings app)!

Have you paired with the driver that @Mariano_Colmenarejo applied the “spell” and then checked whether my driver were available as option?

Yes of course… That was one of my first thoughts! But with no sucess…

@w35l3y

So, maybe the fingerprints are not in your driver?
_TZE200_znbl8dj5
TS0601

It shouldn’t be necessary if the device exposed 0xEF00 as one of its server clusters.

At this exceptional case, I will need to add the fingerprint.

2 Likes

Proposal:
Change the temperature offset range to -100C to +100C (or at least more than -10 and +10 that’s possible at the moment with this driver)

The problem:
I’m using a Zigbee thermometer to monitor my sauna hot room temperature. I soldered an external probe to the Zigbee thermometer that can read temperatures between -40C~125C (there are ready-made solutions available also). I want ST to notify me when the sauna temperature reaches somewhere around 80C or 90C. ST app only allows the trigger value to be between -20C~50C.

The solution:
Since ST will probably not change their reporting temperature range anytime soon I’m hoping you would change the offset range in your driver. If I offset my temperature say about 50C lower then I could set a trigger when the thermometer reports 30C and since it has a 50C offset, this means my sauna has reached 80C.

Thermometer:

Probe:

HI @Mitokafander

With Zigbee Temp Sensor and Child Thermostat Mc driver you can use the capability temperature condition to make routines with range -50ºc to 250ºc

Enter temperature to compare manually or with a routine

Routine part IF

Routine part THEN

1 Like

Thank you so much @Mariano_Colmenarejo for all the time you put into these drivers, it’s truely a lifesaver since I can no longer use webcore. Using this driver to heat upstairs bedrooms with my wood stove turbine and radiant panels is really to do using routines and works really well.

My ST app is in french and some elements in the driver are ine french and others are in english. Is there a way to get the english parts of the driver translated in french? Is it something you’d have to do on your side, or is there a way I could do it myself?

Also, sometimes the temperature readings are wrong. When I look at the hourly temperature history, it’s usually between 20° and 22°, and I see some lines that says, for instance, 9.9°, and I know the temperature never dropped to that point. Some lines (hours) have no readings at all, but it always been like this even with the default driver (DTH?).

Hi @FauxPalindrome

The stock capabilities use stock translations and the preferences and custom capabilities do not have translations, they are in English, as simple as possible, or with vocabulary similar to the manuals.

Making translations requires creating a file for each capability or preference for each language, in yml or json format and uploading it to the API and then creating a new presentation for each capability that includes the translations created.

Sorry, I don’t plan to go into this, I don’t know if I know how to do it either.
The custom capabilities are created in my namespace and could only be modified by me.

I think I’ll wait for smartthings to include an automatic translator. :wink:

The temperature readings that the driver emits are those that it receives from the device, driver does not perform any calculation, it only divides the received value by 100 and the app adds the correction that it has in settings.

The code is common for all users and models and I have not seen or reported it to me by anyone else.

would have to capture the value with the cli at that moment to analyze and see what the device sends.

Thanks for the clarification!

Of course murphy’s law had to hit after I said it was working flawlessly. Now for some reason all my devices that use this driver have been showing offline in the last 20 minutes.
I’ve rebooted the hub, I saw them online for a split second and they went offline right away.
All my other devices are working as usual… :pensive:

Hi @FauxPalindrome

I don’t know what could have happened, the driver has not changed or been updated.
I don’t know if it has something to do with the performance of the firmware of the hub

Actually, I think it was a problem on ST’s side. A lot of people are reporting errors tonight with edge drivers and internal server errors. I did get an internal server error last night at some point.
The sensors came back online after being offline for 2-3 hours last night and have been working well since.

1 Like

New version 4.5 of Zigbee Temp Sensor with Thermostat Mc controller

As I have seen that several users are looking for how to control a thermostat with the values of various sensors, this version driver includes:

  • Added functions for the thermostat to be controlled with temperatures from various sensors that are paired to the same driver:
  • Added preference to select This Thermostat Controls Muti Sensor: value true or false (default False)
    • IMPORTANT: It should only be activated on the thermostat that will control the temperature.
    • If more than one device per group is marked as true, the calculations are stopped and the user is informed to solve it.

  • Added preference to assign the device to a group of sensors that will control the thermostat. Values from 0 to 10. (default = 0 No group assigned)

  • If Group Assigned value = 0 then capability device Info will show: “Device not assigned to any Group

  • Added preference to select the types of calculation that will be done with the temperatures of the group of sensors:
    • Average: the calculation of the average temperature of all the sensors of the group is performed
    • Maximum: The maximum temperature of the group sensors is used
    • Minimum: The minimum temperature of the group sensors is used
    • The temperature result of the calculation will be used to control only this thermostat of Group and will be presented in the Info Panel capability with the next expected state change.

  • Added a custom capability Device Info: where the information of the Group will be displayed, of the calculated temperature of the group and type of calculation followed by the temperatures of all the devices included in the group. The device that acts as controller thermostat is marked with * Device Controller: Name of the device.
  • The information of this capability is updated when any sensor in the group sends a new temperature value.
  • I have tested it with three Samjin motion sensors (aeotec)

DeviceTemperature capability shows the own sensor temperature

The operation as a group is totally optional and it is enough to not select or in the preference of the assigned group and the use of the thermostat as a group and each device will work independently.

If you don’t need to control the Thermostat with sensor groups, then you just have to keep the preference group assignment to value = 0, which is by default

In fact, we can have a thermostat working as a group and the other devices in the group working as independent thermostats or simple temperature sensors.

  • Added preference option to select Single or Multiple Tile @Sylvain

In order not to increase the number of profiles excessively, I have removed the adjustment option from the set point temperature steps. I have left only the adjustment of steps of 0.5º.
If you want to change less than 0.5º you can manually enter the value with the keyboard

Please notify me of any errors you find and I will try to correct them.

I will try to implement it in the other Zwave and Zigbee drivers with child thermostat

Driver version will be updated automatically

────────────────────────────────────────────────────
 Name         Zigbee Temp Sensor with Thermostat Mc 
 Version      2023-01-27T17:22:15.564550164
────────────────────────────────────────────────────

@Fernando_Garcia
Users who were using the Beta version Zigbee Temp Sensor with Thermostat GROUPS must make a change to this new version of the driver, they will not lose any settings or routines and scenes

6 Likes

Hi @Mariano_Colmenarejo, Again thanks for this. I have been testing and the functionality is excellent. Would it be possible to remove “State” as I am still receiving the “The device hasn’t updated all of its status yet. Check again later.” as the State is not available.

Hi @Bluesstatsman

If the device works well, do not pay much attention to this message from the app.
It can appear when the app’s waiting time is exceeded due to network delays, which should have been reduced to speed it up.