Confirmed as being 3 x WV704R0A0902 TRVs. FWIW, the IEEE Address of the problem device is within 0x5085 = 20,645 of the other two, which are themselves consecutive - but, as I say, even the TRV with the issue worked fine until it was hard reset.
Good idea to make sure the reset is complete. I followed these steps:
- Force removed device
- Hard reset (turned to ‘-’ until 8 x red flashes)
- Restarted Z2M
- Attempted to pair again
- Tried to reconfigure once it was clear pairing was only partially successful; same result.
Device is accepted and is available, but an error occurs in the logs and there are some interesting entries: the frequent skipping of what appear to be useful messages from the device may be a red flag. I’ve also tried looking through zigbee-herdsman/deconzAdapter.ts
but that doesn’t seem to point to what error 140 means (or I just haven’t found it):
info 2022-11-28 20:30:25: Zigbee: allowing new devices to join.
info 2022-11-28 20:30:51: Device '0x50325ffffxxxxxxx' joined
info 2022-11-28 20:30:51: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x50325ffffxxxxxxx","ieee_address":"0x50325ffffxxxxxxx"},"type":"device_joined"}'
info 2022-11-28 20:30:51: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":{"friendly_name":"0x50325ffffxxxxxxx"},"type":"device_connected"}'
info 2022-11-28 20:30:51: Starting interview of '0x50325ffffxxxxxxx'
info 2022-11-28 20:30:51: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x50325ffffxxxxxxx","ieee_address":"0x50325ffffxxxxxxx","status":"started"},"type":"device_interview"}'
info 2022-11-28 20:30:51: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_started","meta":{"friendly_name":"0x50325ffffxxxxxxx"},"type":"pairing"}'
debug 2022-11-28 20:30:51: Received Zigbee message from '0x50325ffffxxxxxxx', type 'read', cluster 'genBasic', data '["zclVersion"]' from endpoint 1 with groupID null
debug 2022-11-28 20:30:51: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:52: Received Zigbee message from '0x50325ffffxxxxxxx', type 'readResponse', cluster 'genBasic', data '{"modelId":"iTRV"}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:52: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:52: Received Zigbee message from '0x50325ffffxxxxxxx', type 'readResponse', cluster 'genBasic', data '{"manufacturerName":"Schneider Electric"}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:52: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:52: Received Zigbee message from 'Thermostat-Hallway', type 'commandCheckIn', cluster 'genPollCtrl', data '{}' from endpoint 9 with groupID null
debug 2022-11-28 20:30:52: Received Zigbee message from '0x50325ffffxxxxxxx', type 'readResponse', cluster 'genBasic', data '{"powerSource":3}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:52: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:53: Received Zigbee message from '0x50325ffffxxxxxxx', type 'attributeReport', cluster 'genOta', data '{"currentFileVersion":56000,"currentZigbeeStackVersion":2,"fileOffset":4294967295,"imageTypeId":513,"imageUpgradeStatus":0,"manufacturerId":4190}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:53: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:53: Received Zigbee message from '0x50325ffffxxxxxxx', type 'attributeReport', cluster 'hvacUserInterfaceCfg', data '{"keypadLockout":0}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:53: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:53: Received Zigbee message from '0x50325ffffxxxxxxx', type 'attributeReport', cluster 'genPowerCfg', data '{"256":0}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:53: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:53: Received Zigbee message from '0x50325ffffxxxxxxx', type 'attributeReport', cluster 'wiserDeviceInfo', data '{"deviceInfo":"BAT,2.90,Full"}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:53: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:53: Received Zigbee message from '0x50325ffffxxxxxxx', type 'read', cluster 'genBasic', data '["zclVersion"]' from endpoint 1 with groupID null
debug 2022-11-28 20:30:53: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:53: Received Zigbee message from '0x50325ffffxxxxxxx', type 'attributeReport', cluster 'genBasic', data '{"57345":"0201000000056000","57346":"0","57348":"50325FFFFE496716"}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:53: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:53: Received Zigbee message from '0x50325ffffxxxxxxx', type 'readResponse', cluster 'genBasic', data '{"zclVersion":2}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:53: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:54: Received Zigbee message from '0x50325ffffxxxxxxx', type 'readResponse', cluster 'genBasic', data '{"appVersion":0}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:54: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:54: Received Zigbee message from '0x50325ffffxxxxxxx', type 'readResponse', cluster 'genBasic', data '{}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:54: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:55: Received Zigbee message from '0x50325ffffxxxxxxx', type 'readResponse', cluster 'genBasic', data '{"hwVersion":0}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:55: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:55: Received Zigbee message from '0x50325ffffxxxxxxx', type 'readResponse', cluster 'genBasic', data '{}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:55: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:56: Received Zigbee message from '0x50325ffffxxxxxxx', type 'readResponse', cluster 'genBasic', data '{"swBuildId":"f60f643"}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:56: Skipping message, definition is undefined and still interviewing
debug 2022-11-28 20:30:57: Received Zigbee message from '0x50325ffffxxxxxxx', type 'readResponse', cluster 'genPollCtrl', data '{"checkinInterval":14400}' from endpoint 1 with groupID null
debug 2022-11-28 20:30:57: Skipping message, definition is undefined and still interviewing
info 2022-11-28 20:30:57: Successfully interviewed '0x50325ffffxxxxxxx', device has successfully been paired
info 2022-11-28 20:30:57: Device '0x50325ffffxxxxxxx' is supported, identified as: Schneider Electric Wiser radiator thermostat (WV704R0A0902)
info 2022-11-28 20:30:57: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"definition":{"description":"Wiser radiator thermostat","exposes":[{"features":[{"access":7,"description":"Temperature setpoint","name":"occupied_heating_setpoint","property":"occupied_heating_setpoint","type":"numeric","unit":"°C","value_max":30,"value_min":7,"value_step":1},{"access":1,"description":"Current temperature measured on the device","name":"local_temperature","property":"local_temperature","type":"numeric","unit":"°C"},{"access":1,"description":"The current running state","name":"running_state","property":"running_state","type":"enum","values":["idle","heat"]},{"access":1,"description":"Position of the valve (= demanded heat) where 0% is fully closed and 100% is fully open","name":"pi_heating_demand","property":"pi_heating_demand","type":"numeric","unit":"%","value_max":100,"value_min":0}],"type":"climate"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"WV704R0A0902","options":[{"access":2,"description":"Controls the temperature unit of the thermostat (default celsius).","name":"thermostat_unit","property":"thermostat_unit","type":"enum","values":["celsius","fahrenheit"]},{"access":2,"description":"Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).","name":"legacy","property":"legacy","type":"binary","value_off":false,"value_on":true}],"supports_ota":false,"vendor":"Schneider Electric"},"friendly_name":"0x50325ffffxxxxxxx","ieee_address":"0x50325ffffxxxxxxx","status":"successful","supported":true},"type":"device_interview"}'
info 2022-11-28 20:30:57: Configuring '0x50325ffffxxxxxxx'
info 2022-11-28 20:30:57: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_successful","meta":{"description":"Wiser radiator thermostat","friendly_name":"0x50325ffffxxxxxxx","model":"WV704R0A0902","supported":true,"vendor":"Schneider Electric"},"type":"pairing"}'
info 2022-11-28 20:30:57: MQTT publish: topic 'homeassistant/sensor/0x50325ffffxxxxxxx/pi_heating_demand/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state"}],"device":{"identifiers":["zigbee2mqtt_0x50325ffffxxxxxxx"],"manufacturer":"Schneider Electric","model":"Wiser radiator thermostat (WV704R0A0902)","name":"0x50325ffffxxxxxxx","sw_version":"f60f643"},"entity_category":"diagnostic","icon":"mdi:radiator","json_attributes_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","name":"0x50325ffffxxxxxxx pi heating demand","state_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","unique_id":"0x50325ffffxxxxxxx_pi_heating_demand_zigbee2mqtt","unit_of_measurement":"%","value_template":"{{ value_json.pi_heating_demand }}"}'
info 2022-11-28 20:30:57: MQTT publish: topic 'homeassistant/climate/0x50325ffffxxxxxxx/climate/config', payload '{"action_template":"{% set values = {None:None,'idle':'off','heat':'heating','cool':'cooling','fan_only':'fan'} %}{{ values[value_json.running_state] }}","action_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","availability":[{"topic":"zigbee2mqtt/bridge/state"}],"current_temperature_template":"{{ value_json.local_temperature }}","current_temperature_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","device":{"identifiers":["zigbee2mqtt_0x50325ffffxxxxxxx"],"manufacturer":"Schneider Electric","model":"Wiser radiator thermostat (WV704R0A0902)","name":"0x50325ffffxxxxxxx","sw_version":"f60f643"},"json_attributes_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","max_temp":"30","min_temp":"7","name":"0x50325ffffxxxxxxx","temp_step":1,"temperature_command_topic":"zigbee2mqtt/0x50325ffffxxxxxxx/set/occupied_heating_setpoint","temperature_state_template":"{{ value_json.occupied_heating_setpoint }}","temperature_state_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","temperature_unit":"C","unique_id":"0x50325ffffxxxxxxx_climate_zigbee2mqtt"}'
info 2022-11-28 20:30:57: MQTT publish: topic 'homeassistant/sensor/0x50325ffffxxxxxxx/linkquality/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state"}],"device":{"identifiers":["zigbee2mqtt_0x50325ffffxxxxxxx"],"manufacturer":"Schneider Electric","model":"Wiser radiator thermostat (WV704R0A0902)","name":"0x50325ffffxxxxxxx","sw_version":"f60f643"},"enabled_by_default":false,"entity_category":"diagnostic","icon":"mdi:signal","json_attributes_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","name":"0x50325ffffxxxxxxx linkquality","state_class":"measurement","state_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","unique_id":"0x50325ffffxxxxxxx_linkquality_zigbee2mqtt","unit_of_measurement":"lqi","value_template":"{{ value_json.linkquality }}"}'
debug 2022-11-28 20:30:57: Received MQTT message on 'homeassistant/sensor/0x50325ffffxxxxxxx/pi_heating_demand/config' with data '{"availability":[{"topic":"zigbee2mqtt/bridge/state"}],"device":{"identifiers":["zigbee2mqtt_0x50325ffffxxxxxxx"],"manufacturer":"Schneider Electric","model":"Wiser radiator thermostat (WV704R0A0902)","name":"0x50325ffffxxxxxxx","sw_version":"f60f643"},"entity_category":"diagnostic","icon":"mdi:radiator","json_attributes_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","name":"0x50325ffffxxxxxxx pi heating demand","state_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","unique_id":"0x50325ffffxxxxxxx_pi_heating_demand_zigbee2mqtt","unit_of_measurement":"%","value_template":"{{ value_json.pi_heating_demand }}"}'
debug 2022-11-28 20:30:57: Received MQTT message on 'homeassistant/climate/0x50325ffffxxxxxxx/climate/config' with data '{"action_template":"{% set values = {None:None,'idle':'off','heat':'heating','cool':'cooling','fan_only':'fan'} %}{{ values[value_json.running_state] }}","action_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","availability":[{"topic":"zigbee2mqtt/bridge/state"}],"current_temperature_template":"{{ value_json.local_temperature }}","current_temperature_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","device":{"identifiers":["zigbee2mqtt_0x50325ffffxxxxxxx"],"manufacturer":"Schneider Electric","model":"Wiser radiator thermostat (WV704R0A0902)","name":"0x50325ffffxxxxxxx","sw_version":"f60f643"},"json_attributes_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","max_temp":"30","min_temp":"7","name":"0x50325ffffxxxxxxx","temp_step":1,"temperature_command_topic":"zigbee2mqtt/0x50325ffffxxxxxxx/set/occupied_heating_setpoint","temperature_state_template":"{{ value_json.occupied_heating_setpoint }}","temperature_state_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","temperature_unit":"C","unique_id":"0x50325ffffxxxxxxx_climate_zigbee2mqtt"}'
debug 2022-11-28 20:30:57: Received MQTT message on 'homeassistant/sensor/0x50325ffffxxxxxxx/linkquality/config' with data '{"availability":[{"topic":"zigbee2mqtt/bridge/state"}],"device":{"identifiers":["zigbee2mqtt_0x50325ffffxxxxxxx"],"manufacturer":"Schneider Electric","model":"Wiser radiator thermostat (WV704R0A0902)","name":"0x50325ffffxxxxxxx","sw_version":"f60f643"},"enabled_by_default":false,"entity_category":"diagnostic","icon":"mdi:signal","json_attributes_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","name":"0x50325ffffxxxxxxx linkquality","state_class":"measurement","state_topic":"zigbee2mqtt/0x50325ffffxxxxxxx","unique_id":"0x50325ffffxxxxxxx_linkquality_zigbee2mqtt","unit_of_measurement":"lqi","value_template":"{{ value_json.linkquality }}"}'
error 2022-11-28 20:30:58: Failed to configure '0x50325ffffxxxxxxx', attempt 1 (Error: Bind 0x50325ffffxxxxxxx/1 genPowerCfg from '0x00212effff05b9fb/1' failed (Error: status: 140)
at DeconzAdapter.bind (/app/node_modules/zigbee-herdsman/src/adapter/deconz/adapter/deconzAdapter.ts:768:19)
at Endpoint.bind (/app/node_modules/zigbee-herdsman/src/controller/model/endpoint.ts:567:13)
at Object.bind (/app/node_modules/zigbee-herdsman-converters/lib/reporting.js:40:9)
at Object.configure (/app/node_modules/zigbee-herdsman-converters/devices/schneider_electric.js:220:13)
at Configure.configure (/app/lib/extension/configure.ts:115:13))
debug 2022-11-28 20:31:05: Received Zigbee message from '0x50325ffffxxxxxxx', type 'attributeReport', cluster 'wiserDeviceInfo', data '{"deviceInfo":"ADC,1412,1371,1,204,-32768,2000,0,0,100,212,227,237"}' from endpoint 1 with groupID null
info 2022-11-28 20:31:05: Configuring '0x50325ffffxxxxxxx'
info 2022-11-28 20:31:05: MQTT publish: topic 'zigbee2mqtt/0x50325ffffxxxxxxx', payload '{"ADC":"1412,1371,1,204,-32768,2000,0,0,100,212,227,237","linkquality":255,"local_temperature":20.4,"occupied_heating_setpoint":20,"pi_heating_demand":null,"running_state":null}'
debug 2022-11-28 20:31:05: Received Zigbee message from '0x50325ffffxxxxxxx', type 'attributeReport', cluster 'wiserDeviceInfo', data '{"deviceInfo":"ALG,1,1,200,204,-4,0,0,0,0,0,100"}' from endpoint 1 with groupID null
info 2022-11-28 20:31:05: MQTT publish: topic 'zigbee2mqtt/0x50325ffffxxxxxxx', payload '{"ADC":"1412,1371,1,204,-32768,2000,0,0,100,212,227,237","ALG":"1,1,200,204,-4,0,0,0,0,0,100","linkquality":255,"local_temperature":20.4,"occupied_heating_setpoint":20,"pi_heating_demand":0,"running_state":null}'
debug 2022-11-28 20:31:05: Received Zigbee message from '0x50325ffffxxxxxxx', type 'attributeReport', cluster 'haDiagnostic', data '{"lastMessageLqi":148,"lastMessageRssi":-63}' from endpoint 1 with groupID null
debug 2022-11-28 20:31:05: Received Zigbee message from '0x50325ffffxxxxxxx', type 'attributeReport', cluster 'haDiagnostic', data '{"57345":65534}' from endpoint 1 with groupID null
debug 2022-11-28 20:31:05: Received Zigbee message from '0x50325ffffxxxxxxx', type 'attributeReport', cluster 'wiserDeviceInfo', data '{"deviceInfo":"RST,06,0601,346951ms ago."}' from endpoint 1 with groupID null
Finally, worth mentioning that the device is removed entirely from /config/zibee2mqtt/database.db
and state.json
once it is removed from the UI - which is what you’d expect - so if there’s an artefact somewhere it might be elsewhere. After re-pairing, the device appears in both files but its entry in database.db
is notably smaller than those of the other two identical TRVs. Which, if it’s ignoring messages from the device, may also be what you’d expect.