Zigbee binding Drayton wiser/Schneider thermostat missing channels: CCTFR6400

Hi folks,

Recently purchased this thermostat for use within openhab (only as a room stat and not with the Drayton wiser system/binding).

I can see only see the below channels, but zigbee2mqtt says I should expect many more.
Is there way to manually add them or is that not possible.

At the moment my options seem to be send it back or to change to zigbee2mqtt.
I’m relatively new to zigbee but now have every room light switched via zigbee switch and also boiler. All devices so far have worked flawlessly on zigbee binding so kind of reluctant to change.

Domotics also flagged as supported.

Does anyone have any resources I could use to read up on zigbee communication to try and understand how zigbee2mqtt and domoticz have implemented support and porrt this into zigbee binding

What channels are you missing? From what I can tell, the only significant channel that’s missing is the “occupied heating setpoint” - this should be supported by the binding so should show up. Can you use the zigbee fingerprint command from the command line to get a list of what the device actually supports - maybe it does something a little different for the heating setpoint.

The only other channel I see is “keypad lockout” which I don’t think is currently supported by the binding.

Yes I was expecting Keypad_lockout, Climate (the main one so i can set the room temperature).

Sorry I’m new to zigbee how can you tell that keypad lockout definitely isn’t supported?

I tried a few things but I tihnk the time investment i’d need to learn ins and outs of zigbee aren’t worth it so I’ve given up with it. Sending the thermostat back.

Don’t suppose you know of any battery powered thermostats that are fully supported by zigbee binding?

I did consider running zigbee2mqtt at the same time as zigbee binding with another usb zigbee donlge but i only have one of the same ones and they seem to conflict.
I could setup another VM but feels like a lot of work for one device.

Seems like Zigbee binding might not be the option for me, I just need to invest the time to migrate everything over.

I can understand your reasoning.

If you still want to get more involved with the Zigbee protocol, a good starting point for the returned device would be:

But there are also Zigbee devices that are supported by the openHAB Zigbee Binding but not by Zigbee2MQTT, e.g.

The device looks like a Neo NAS-PD07 control via MQTT | Zigbee2MQTT, but it is a pure motion sensor (no temperature/humidity sensor). Zigbee2MQTT tries to configure the non-existent sensors and fails.

Therefore I use the Zigbee Binding and Zigbee2MQTT in parallel - and openHAB is the Z2Z bridge in between.

The binding doc lists the channels that are supported.

Adding this probably is quite easy though so I could probably do that if needed.

Well, I have about 5 different ones at home that were/are used by a company I supported. They are all from the US though and I’m not sure where you are located (I’m also currently flying back from the UK to NZ so am not at home so can’t check the models).

The binding should support all standard thermostats. To be honest I’m quite surprised that the Schneider one isn’t using the standard clusters. I do some work with them and while they do have non-standard functionality on devices, most functions are using the standard feature set. I’ve currently only been supporting their lights and sensors though and haven’t come across the thermostat.

@Matt_Jayne I wonder if you can post the output of the zigbee fingerprint command for this device before sending it back. I’ve not been able to find anything that shows that this isn’t following the standard, so it would be good to see what this returns.

Hi Chris,

No problem at all. (appreciate you taking a look)

|>| Node Descriptor
| |> Logical Type               END_DEVICE
| |> MAC Capabilities           [REDUCED_FUNCTION_DEVICE]
| |> Stack Compliance           22
| |> Server Capabilities        []
| |> Buffer Size                82
| |> Incoming Transfer Size     82
| |> Outgoing Transfer Size     82
|
|>| Power Descriptor
| |> Available Power Sources    [MAINS]
| |> Current Power Source       MAINS
| |> Current Power Mode         RECEIVER_ON_IDLE
| |> Power Level                FULL
|
|>| ZDO
| |> ManagementBindRequest      SUCCESS
| |> IeeeAddressRequest         SUCCESS
| |> ManagementLqiRequest       SUCCESS
| |> ManagementRoutingRequest   SUCCESS
|
|>| Basic Information
| |> Generic Device Class
| |> Generic Device Type
| |> Manufacturer Name          Schneider Electric
| |> Model Indentifier          Thermostat
| |> Product Code
| |> Product URL
| |> Date Code
| |> Application Version        0
| |> Software Build ID          a945df0
| |> Hardware Version           1
| |> Zcl Version                3
| |> Stack Version
| |
| |>| Endpoint 1
| | |> Profile                  0104  ZIGBEE_HOME_AUTOMATION
| | |> Device Type              0301  THERMOSTAT
| | |> Device Version           1
| | |
| | |>| Input Clusters
| | | |
| | | |>| Cluster 0000 Basic
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |
| | | | |>| Commands Generated
| | | | |
| | | | |>| Commands Received
| | | | |
| | | | |>| Attributes Supported
| | | | | |> 0000  ZCL Version                               >> UNSIGNED_8_BIT_INTEGER          3
| | | | | |> 0001  Application Version                       >> UNSIGNED_8_BIT_INTEGER          0
| | | | | |> 0003  HW Version                                >> UNSIGNED_8_BIT_INTEGER          1
| | | | | |> 0004  Manufacturer Name                         >> CHARACTER_STRING                Schneider Electric
| | | | | |> 0005  Model Identifier                          >> CHARACTER_STRING                Thermostat
| | | | | |> 0007  Power Source                              >> ENUMERATION_8_BIT               3
| | | | | |> 4000  SW Build ID                               >> CHARACTER_STRING                a945df0
| | | | | |> FFFD  Cluster Revision                          >> UNSIGNED_16_BIT_INTEGER         1
| | | |
| | | |>| Cluster 0001 Power Configuration
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0003 Identify
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0020 Poll Control
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0204 Thermostat User Interface Configuration
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0402 Temperature Measurement
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |
| | | | |>| Commands Generated
| | | | |
| | | | |>| Commands Received
| | | | |
| | | | |>| Attributes Supported
| | | | | |> 0000  Measured Value                            >> SIGNED_16_BIT_INTEGER           1895
| | | | | |> 0001  Min Measured Value                        >> SIGNED_16_BIT_INTEGER           1895
| | | | | |> 0002  Max Measured Value                        >> SIGNED_16_BIT_INTEGER           2005
| | | | | |> FFFD  Cluster Revision                          >> UNSIGNED_16_BIT_INTEGER         1
| | | |
| | | |>| Cluster 0405 Relative Humidity Measurement
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0B05 Diagnostics
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster FE03
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | |
| | |>| Output Clusters
| | | |
| | | |>| Cluster 0000 Basic
| | | | |> Type                 Client [Output]
| | | | |> Manufacturer Spec.   No
| | | | |
| | | | |>| Commands Generated
| | | | | |> FAILURE
| | | | |
| | | | |>| Commands Received
| | | | |> FAILURE
| | | | |
| | | | |>| Attributes Supported
| | | | | |> FFFD  Cluster Revision                          >> UNSIGNED_16_BIT_INTEGER         1
| | | |
| | | |>| Cluster 0019 Ota Upgrade
| | | | |> Type                 Client [Output]
| | | | |> Manufacturer Spec.   No
| | | | |
| | | | |>| Commands Generated
| | | | | |> 0001 QueryNextImageCommand
| | | | | |> 0003 ImageBlockCommand
| | | | | |> 0006 UpgradeEndCommand
| | | | |
| | | | |>| Commands Received
| | | | |
| | | | |>| Attributes Supported
| | | | | |> 0000  Upgrade Server ID                         >> IEEE_ADDRESS                    E0798DFFFE8831B0
| | | | | |> 0001  File Offset                               >> UNSIGNED_32_BIT_INTEGER         -1
| | | | | |> 0002  Current File Version                      >> UNSIGNED_32_BIT_INTEGER         23
| | | | | |> 0003  Current ZigBee Stack Version              >> UNSIGNED_16_BIT_INTEGER         2
| | | | | |> 0004  Downloaded File Version                   >> UNSIGNED_32_BIT_INTEGER         -1
| | | | | |> 0005  Downloaded ZigBee Stack Version           >> UNSIGNED_16_BIT_INTEGER         65535
| | | | | |> 0006  Image Upgrade Status                      >> ENUMERATION_8_BIT               0
| | | | | |> 0007  Manufacturer ID                           >> UNSIGNED_16_BIT_INTEGER         4190
| | | | | |> 0008  Image Type ID                             >> UNSIGNED_16_BIT_INTEGER         1505
| | | | | |> FFFD  Cluster Revision                          >> UNSIGNED_16_BIT_INTEGER         1
| | | |
| | | |>| Cluster 0201 Thermostat
| | | | |> Type                 Client [Output]
| | | | |> Manufacturer Spec.   No
| | | | |
| | | | |>| Commands Generated
| | | | | |> FATAL_ERROR
| | | | |
| | | | |>| Commands Received
| | | | |> FAILURE
| | | | |
| | | | |>| Attributes Supported
| | | | | |> FAILURE
| | | | |
| | | | |>| Attribute Values
| | | | | |> FAILURE

Hmm, so it looks like this device is not a thernostat as such - well - it’s a thermostat but it requires another device to actually do the controlling. From the fingerprint, we can see that the Thermostat cluster is an “output” cluster - this means that it’s designed to control other devices (eg a HVAC system, or radiator valve). This is why the binding doesn’t provide a channel as the binding is designed to also configure HVAC systems or radiator valves.

Thanks for taking a look Chris (and Happy Christmas).

I believe you’re right it is meant for use within a wider system Drayton Wiser system, however I was hoping it would work as a solo zigbee thermostat/temp setting device. As I already have smart switch functionality in my heating system to manage the control side of things.

I went with this thermostat after suggestion from Joris elsewhere on the forum however I foolishly didnt think to confirm if they were using binding. I’ve since confirmed with them that they’re using zigbee2mqtt not the binding, so might be a case that Zigbee2mqtt is implementing some additional work around to spoof the missing elements of the system you mentioned.
(Wireless Zigbee (or alternative) thermostat Battery - #5 by joriskofman).

Thanks again for taking a look.

So can you confirm how you want to use this? Do you want to be able to use it to send a command to OH to set the temperature, and then use that to trigger a rule to command other devices to actually control the temperature?

Or, are you wanting to use it to directly set the temperature on the other control devices (eg a radiator thermostat)?

If it’s the first one, that would require an update to the binding - probably quite a simple one. If it’s the second one, then that can be done now (through the console).

Or is your use case something else?

(oh, and happy Christmas also :slight_smile: ).

The first one is what i was aiming for.

I was looking for a battery powered device that allowed some family members (who are very against using an app) to set heating set point temperature. This was my compromise where they’d be able to set the temp on the Wiser/Schneider device and that would be linked to the set temp item I have within Openhab.

Thanks - and I understand the “need” here :slight_smile: - it’s nice to have more traditional controls that people can use.

Let me take a look at this this evening to see how much work it is to add this channel. I don’t expect it will be a whole load to add this.

Absolute legend, thanks Chris!

I’ve created a PR for this -:

I’m not 100% sure that it will work, so if it doesn’t I’ll need to see some debug logs to see what the device sends. I’ve been unable to test this since I don’t currently have any thermostats, and certainly don’t have any that provide the client side like this device.

You will need to reinitialise the device - there is a config option to do this in the thing configuration. This should configure the device to send the reports…

Now, it seems that the master branch of OH has now been configured for OH4 which requires a newer version of Java, and it doesn’t look like older builds to support OH3.4 are now being built by CI. I’ll try and check what’s happening with that…

Sorry Chris,

Rookie question, is there a way to upgrade to this version of addon without losing my current connected devices?

Do you have a .Jar to hand? No worries if not I can give compiling a go

Sorry for the slow response - Christmas got in the way…

Below is the JAR - just rename the PDF to JAR…

org.openhab.binding.zigbee-3.4.1-SNAPSHOT.pdf (321.8 KB)