zigbee2mqtt icon indicating copy to clipboard operation
zigbee2mqtt copied to clipboard

[New device support]: Siemens RDZ100ZB

Open JFFilip opened this issue 2 years ago • 8 comments

Link

https://hit.sbt.siemens.com/RWD/app.aspx?RC=HQEU&lang=en&MODULE=Catalog&ACTION=ShowProduct&KEY=S55772-T113

Database entry

{"id":20,"type":"EndDevice","ieeeAddr":"0x0080e1250167790e","nwkAddr":61017,"manufId":4311,"manufName":"Siemens","powerSource":"Mains (single phase)","modelId":"RDZ100","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":769,"inClusterList":[0,3,513,1],"outClusterList":[16,25],"clusters":{"genPowerCfg":{"attributes":{"144":0,"65534":1,"batteryPercentageRemaining":192}},"hvacThermostat":{"attributes":{"80":0,"81":0,"82":0,"83":4,"84":0,"87":1,"88":0,"65534":1,"localTemp":2300,"pIHeatingDemand":0,"localTemperatureCalibration":5,"occupiedHeatingSetpoint":1800,"unoccupiedHeatingSetpoint":2000,"minHeatSetpointLimit":500,"maxHeatSetpointLimit":3000,"ctrlSeqeOfOper":2,"systemMode":4,"remoteSensing":-32768}},"genBasic":{"attributes":{"powerSource":1}}},"binds":[{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0xe0798dfffe9986d0","endpointID":1},{"cluster":513,"type":"endpoint","deviceIeeeAddress":"0xe0798dfffe9986d0","endpointID":1},{"cluster":0,"type":"endpoint","deviceIeeeAddress":"0xe0798dfffe9986d0","endpointID":1}],"configuredReportings":[{"cluster":1,"attrId":33,"minRepIntval":3600,"maxRepIntval":65000,"repChange":0,"manufacturerCode":null},{"cluster":513,"attrId":0,"minRepIntval":0,"maxRepIntval":3600,"repChange":10,"manufacturerCode":null},{"cluster":513,"attrId":18,"minRepIntval":0,"maxRepIntval":3600,"repChange":10,"manufacturerCode":null},{"cluster":513,"attrId":20,"minRepIntval":0,"maxRepIntval":3600,"repChange":10,"manufacturerCode":null},{"cluster":513,"attrId":8,"minRepIntval":0,"maxRepIntval":3600,"repChange":10,"manufacturerCode":null}],"meta":{}}},"appVersion":1,"stackVersion":1,"hwVersion":1,"dateCode":"010000","swBuildId":"0.00.04","zclVersion":1,"interviewCompleted":true,"meta":{"configured":-1688112927},"lastSeen":1702162086155,"defaultSendRequestWhen":"immediate"}

Comments

Hello, I would like to submit request for new device: Siemens RDZ100ZB smart thermostat.

I tried it on my own, but partly successful. I am reading basic battery and thermostat properties, but submiting new occupied_heating_setpoint was sometimes successful and sometimes zigbee returns timeout error.

Error change request:

Error 2023-12-10 00:27:49Publish 'set' 'occupied_heating_setpoint' to 'Siemens RDZ100ZB' failed: 'Error: Write 0x0080e1250167790e/1 hvacThermostat({"occupiedHeatingSetpoint":1800}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Timeout - 61017 - 1 - 139 - 513 - 4 after 10000ms)'

Communication snapshot where is most info from the device:

Debug 2023-12-09 23:31:02Received Zigbee message from 'Siemens RDZ100ZB', type 'attributeReport', cluster 'hvacThermostat', data '{"65534":1,"88":0}' from endpoint 1 with groupID 0
Debug 2023-12-09 23:31:31Received Zigbee message from 'Siemens RDZ100ZB', type 'attributeReport', cluster 'genPowerCfg', data '{"144":0,"65534":1}' from endpoint 1 with groupID 0
Debug 2023-12-09 23:32:43Received Zigbee message from 'Siemens RDZ100ZB', type 'attributeReport', cluster 'hvacThermostat', data '{"65534":1,"80":0,"81":0,"82":0,"83":4,"84":0,"87":1,"ctrlSeqeOfOper":2,"maxHeatSetpointLimit":3000,"minHeatSetpointLimit":500,"remoteSensing":-32768}' from endpoint 1 with groupID 0
Info 2023-12-09 23:32:43MQTT publish: topic 'zigbee2mqtt/Siemens RDZ100ZB', payload '{"88":1,"battery":96,"control_sequence_of_operation":"heating_only","linkquality":216,"local_temperature":23,"local_temperature_calibration":0.5,"max_heat_setpoint_limit":30,"min_heat_setpoint_limit":5,"occupancy":false,"occupied_heating_setpoint":18,"pi_heating_demand":0,"remote_sensing":{"local_temperature":"internally","occupancy":"internally","outdoor_temperature":"internally"},"system_mode":"heat","unoccupied_heating_setpoint":20}'
Debug 2023-12-09 23:33:02Received Zigbee message from 'Siemens RDZ100ZB', type 'attributeReport', cluster 'hvacThermostat', data '{"65534":1,"88":1}' from endpoint 1 with groupID 0

Device docs: https://sid.siemens.com/r/A6V13360586/21494412811_22237829771__en-US_21535228683

External converter

const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const constants = require('zigbee-herdsman-converters/lib/constants');
const extend = require('zigbee-herdsman-converters/lib/extend');
const e = exposes.presets;
const ea = exposes.access;

/**
 * @type {import('zigbee-herdsman-converters').Definition}
 */
const definition = {
  zigbeeModel: ['RDZ100'],
  model: 'RDZ100',
  vendor: 'Siemens',
  description: 'Thermostat Siemens Connected Home RDZ100ZB',
  fromZigbee: [
    fz.battery,
    fz.thermostat,
  ],
  toZigbee: [
    tz.thermostat_local_temperature,
    tz.thermostat_local_temperature_calibration,
    tz.thermostat_remote_sensing,
    tz.thermostat_system_mode,
    tz.thermostat_occupied_heating_setpoint,
    tz.thermostat_unoccupied_heating_setpoint,
    tz.thermostat_pi_heating_demand,
  ],
  exposes: [
    e.battery(),
    e.climate()
      .withSetpoint('occupied_heating_setpoint', 5, 30, 0.5)
      .withSetpoint('unoccupied_heating_setpoint', 5, 30, 0.5)
      .withSystemMode(['off', 'heat'])
      .withLocalTemperature()
      .withLocalTemperatureCalibration(-2.5, 2.5, 0.5)
      .withControlSequenceOfOperation(['heating_only'])
      .withPiHeatingDemand(),
  ],
  configure: async (device, coordinatorEndpoint, logger) => {
    const endpoint = device.getEndpoint(1);
    const clusters = ['genBasic', 'genPowerCfg', 'hvacThermostat'];
    await reporting.bind(endpoint, coordinatorEndpoint, clusters);

    await reporting.batteryPercentageRemaining(endpoint);
    await reporting.thermostatTemperature(endpoint);
    await reporting.thermostatOccupiedHeatingSetpoint(endpoint);
    await reporting.thermostatUnoccupiedHeatingSetpoint(endpoint);
    await reporting.thermostatPIHeatingDemand(endpoint);
  },
};

module.exports = definition;

Supported color modes

No response

Color temperature range

No response

JFFilip avatar Dec 09 '23 23:12 JFFilip

These new devices from Siemens look promising. Please keep us updated

devkot1 avatar Dec 17 '23 17:12 devkot1

For anyone wondering how my convertor works, I am using it with home assistant for about a week with no issues. Errors was in my opinion tied to rapid temperature change I did during testing.

JFFilip avatar Dec 18 '23 13:12 JFFilip

For anyone wondering how my convertor works, I am using it with home assistant for about a week with no issues. Errors was in my opinion tied to rapid temperature change I did during testing.

Good to hear! I am planning to buy and use this thermostat with my sonoff zigbee 3.0 usb -e dongle in HA. Did you encounter any problems when pair the device? Also, is there a way to select TPI mode (slow/medium/fast) or desired 2-position via zigbee2mqtt?

devkot1 avatar Dec 18 '23 19:12 devkot1

I am planning to buy and use this thermostat with my sonoff zigbee 3.0 usb -e dongle in HA - I have same dongle and setup. Did you encounter any problems when pair the device? - Pairing device was without problem. Also, is there a way to select TPI mode (slow/medium/fast) or desired 2-position via zigbee2mqtt? - No, the converter does not cover this yet. My guess is that it uses default TPI slow mode (it is noted in docs as default value).

From docs it is definitely possible to change these settings over zigbee (it is even mandatory, because you can not change these on device by hand), but siemens have it hidden under custom keys in communication, so it is impossible to decifer it without help.

JFFilip avatar Dec 18 '23 19:12 JFFilip

Since there are five modes of operation (Control behavior: 2-Pos 1K, 2-Pos 0.3K, TPI Slow, TPI Medium, TPI fast) they could be enumerated as 0,1,2,3 and 4. The default, TPI Slow, is third in the list (2) which is the value of "ctrlSeqeOfOper" in your trace. Just a wild guess...

devkot1 avatar Dec 20 '23 15:12 devkot1

For anyone wondering how my convertor works, I am using it with home assistant for about a week with no issues. Errors was in my opinion tied to rapid temperature change I did during testing.

Hi, I am using the same model for a month now via HA and it works fine. The only issue that I have is that every about 2 weeks the display becomes unresponsive, while the thermostat operates fine via zigbee. Removing and re-inserting the batteries fixes the display. Have you encountered a similar issue? The firmware version (sw_build_id) is 0.00.04.

devkot1 avatar Jan 19 '24 06:01 devkot1

Hi, no, I do not, but I barely touch the device, mostly change values remotely.

JFFilip avatar Jan 20 '24 23:01 JFFilip

Any progress on this topic?

VladislavVesely avatar May 21 '24 12:05 VladislavVesely

This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 30 days

github-actions[bot] avatar Jan 01 '25 00:01 github-actions[bot]

Hi and thank you for your work here. I'm using the same setup as you, with same dongle and using External converter above, but I have a lot of issues with timeout errors, exactly the same as mentioned in first post. I don't think it's because of too many temperture changes in my case.

Sometime submitting new occupied_heating_setpoint is fine, but mostly timeout error, so my scheduled tasks are not stable, and also changing values from termostat dashboard card is almost impossible.

Did you guys maybe make some updates or improvements with RDZ100 integration here, or found anything related to this issue?

Thank you a lot!

variety-group avatar Jan 12 '25 22:01 variety-group

So it seems, that my timeout issue was caused by wrong Zigbee router connection (Sieems like Siemens is using always the one used during Pairing).

I'm now using external converter provided by @VladislavVesely and it is great! Thank you for sharing and for this work!

variety-group avatar Jan 13 '25 08:01 variety-group

So it seems, that my timeout issue was caused by wrong Zigbee router connection (Sieems like Siemens is using always the one used during Pairing).

I'm now using external converter provided by @VladislavVesely and it is great! Thank you for sharing and for this work!

I was uploading that from phone last night, so it the formatting went wrong :D Here it is again for anyone who want to try their luck :D Just rename it to ".js" since comments does not allow to upload js files directly. RDZ100ZB.txt

VladislavVesely avatar Jan 13 '25 08:01 VladislavVesely

Hi! I was about to buy Siemens RDZ100ZB, to upgrade my 30 years old Siemens thermostat, which have its problems, but I see it is not on supported list, it was before though (https://github.com/Koenkk/zigbee2mqtt.io/commit/e9118084e2a17e271cfd5945c80c2c6341a4d7fa).

What is the current state? Topic flair is "not planned" is there technical problem? Or is it only this unresponsive display mentioned before?

nefh avatar Feb 05 '25 10:02 nefh

Hello, any news for this thermostat? Should I buy it for home heating with zigbee conection to homeassistant?

Notis21 avatar Apr 30 '25 15:04 Notis21

Hello, any news for this thermostat? Should I buy it for home heating with zigbee conection to homeassistant?

It does work with HA + ZHA as a generic thermostat. Since it is a battery powered device, sometimes it is slow to respond. The TPI algorithm works well in my setting.

devkot1 avatar Apr 30 '25 20:04 devkot1

Hello, any news for this thermostat? Should I buy it for home heating with zigbee conection to homeassistant?

It does work with HA + ZHA as a generic thermostat. Since it is a battery powered device, sometimes it is slow to respond. The TPI algorithm works well in my setting.

How does work with zigbee2mqtt?

Notis21 avatar Apr 30 '25 20:04 Notis21

Should we start new topic? Since this one is tagged by bot as "not-planned", this thread is not even visible under issues and nobody out of people in already it see new responses.

I still consider upgrade if it would work with zigbee2mqtt, I'll be glad to know what is current state.

nefh avatar May 01 '25 10:05 nefh

Should we start new topic? Since this one is tagged by bot as "not-planned", this thread is not even visible under issues and nobody out of people in already it see new responses.

I still consider upgrade if it would work with zigbee2mqtt, I'll be glad to know what is current state.

Hello!how to start new topic? This thermostat is very popular in Greece and I am very interested if it will work with HA and zigbee2mqtt.

Notis21 avatar May 01 '25 11:05 Notis21