This one took me a bit of fiddling but I have it mostly working. For the CCTFR6700 to function properly, it needs to get some feedback from a temperature sensor. This can be done by sending it a payload via an MQTT automation. According to this: Schneider Electric CCTFR6700 control via MQTT | Zigbee2MQTT (and the documentation for the device) it needs a temperature update at least every 10 minutes. So I created a small automation to send the thermostat a the payload every 5 minutes:
alias: Update Heater Local Temps - Kitchen
description: >-
Send temp readings from temp sensor in kitchen to the schneider heater
controller
trigger:
- platform: time_pattern
minutes: /5
condition: []
action:
- service: mqtt.publish
data:
topic: zigbee2mqtt/sensor_id_here/set
payload: >-
{"temperature_measured_value": {{
states('sensor.my_temperature_sensor') }} }
mode: single
This will also change the light on the device from red/flashing red to green (when heating) and off when OK but not heating.