Zen Thermostat: Errors when trying to control with Zigbee2mqtt

Hi folks! I’m new to Home Assistant. I’ve got a sonoff zigbee stick connected to a raspberry pi running HASSOS. Up until now, I’ve had no issues adding new zigbee devices (mostly tradfrie switches, bulbs, and plugs). However, today I connected a Zen zigbee thermostat. Everything looks relatively good (temperature, set point, and mode are read correctly), but something seems to be wrong with the climate entity. When I try to change anything with the entity, I get one of a few errors.

Attempting to use the entity card to change the set point:
Failed to call service climate/set_temperature. must contain at least one of temperature, target_temp_high, target_temp_low

Attempting to change the target temperature directly in entity settings:
Failed to call service climate/set_temperature. expected float for dictionary value @ data['target_temp_high']

Attempting to call the service directly with the following command:

service: climate.set_temperature
  hvac_mode: heat
  temperature: 23
  entity_id: climate.2nd_floor_thermostat

Doesn’t throw an error, but when I check the set point in the Zigbee2Mqtt menu, it’s still set to 20 degrees. Attempting to set “target temperature high”, throws an error.

The card also visually looks very strange

It seems to me that something is incorrectly translating the climate entity’s commands to the MQTT exposed by the thermostat. I haven’t been able to find where this conversion takes place. Anybody know where I might start looking to debug?

I have the same issue. Z2M can read the thermostat correctly, but I am unable to changes modes, temp, etc. My card looked like yours at one point, but it now looks correct. Not sure how the card fixed itself.

Same problem, works fine with zha. Just wanted to use zigbee2mqtt

I bypassed the issue by getting a second zigbee dongle, so I could run ZHA and Z2M at the same time