Schneider Electric WV704R0A0902

ModelWV704R0A0902
VendorSchneider Electric
DescriptionWiser radiator thermostat
Exposesclimate (occupied_heating_setpoint, local_temperature, running_state, pi_heating_demand), battery, voltage, keypad_lockout, linkquality
PictureSchneider Electric WV704R0A0902

Notes

Device pairing/installation

To put the TRV in installation mode twist and hold the cap in the + direction until the central LED flashes green. The device is ready for joining when:

  • left/right LEDs flash red/blue
  • central LED shows a solid orange

If central light shows a solid green, your TRV has been paired and is connected to the zigbee network.

If blinking with yellow, then your TRV is not paired or can't connect to the zigbee network. If Zigbee2MQTT is running and accepting new devices the valve should join the network. Sometimes you may need to twist and hold the cap in the + direction for 3 seconds before it will try to join.

Note: Zigbee2MQTT might not be able to correctly configure the TRV until you have calibrated it.

If the valve is not recognized, you can turn the boost button to positive and hold it; the red light starts to blink slowly. Release the button once the red light stops blinking.

If the device fails to pair/join the network (red:yellow:blue on pairing mode) or you changed the network id/channel, connect to another network, bought the TRV second hand, you can perform a factory reset to start fresh.

Radiator Thermostat Reset

In order to factory reset a radiator thermostat, please perform the following;

  1. Twist and hold the cap of the radiator thermostat in the '-' direction until the centre LED begins to flash Red.
  2. Keep holding the cap in the ‘-‘ direction until all 3 LEDs flash once to indicate the device is resetting.
  3. Wait for the reset to complete, this may take 20 seconds.
  4. Once the device returns to [flashing ~ solid amber ~ flashing], the device has now completed its reset.

Radiator Thermostat Recalibration

In order to recalibrate a radiator thermostat, please perform the following;

  1. First, please ensure that the radiator thermostat is firmly screwed onto the radiator.
  2. Then, twist the cap in the '+' direction for 8 seconds until the valve fully opens, and the red light comes on.
  3. Release the cap.
  4. Then please twist the cap in the '-' direction for 2 seconds until the blue light comes on and the valve closes.
  5. This ensures that the radiator thermostat is applying suitable pressure to the radiator pin when it is supposed to be closed.

General usage

Valve sometimes fails to respond/acknowledge a setting, just send the command again.

pi_heating_demand: Varies the valve position dynamically as local_temperature approaches occupied_heating_setpoint to mitigate against heating overshoot.

A value >0 indicates the TRV is demanding heat, therefore your application should monitor this value, and supply heat when greater than 0.

battery: The level corresponds voltages in the range 2.2 V (0%) to 3.0 V (100%). The levels where chosen so a 0% indicates that batteries must be replaced, but the valve will still work.

Additional reported state properties

MOT (string)

Motor state.

  • Value can be found in the published state on the MOT property.
  • Possible values are: Stall, CloseValue, other values are possible but unknown at time of writing. Seems to change when the motor is moving.
  • It's not possible to read (/get) or write (/set) this value.

boost (string)

The last known twist-top boost state.

  • Note that the valve will not automatically toggle the value to 0 after some time, i.e. configuration/automation logic is needed to use the value. E.g. in Home Assistant the expire_after setting can be used to handle this.
  • Value can be found in the published state on the boost property.
  • Possible values are: Up, Down.
  • It's not possible to read (/get) or write (/set) this value.

keypad_lockout

Keypad lock, i.e. enable/disable twist-top boost.

  • Setting the keypad to lock (i.e. lock1) disables the twist-top boost button which prevents booting and installation mode. The deivce can still be reset, but it appears the keypad remains locked after reset (?).

  • Value can be found in the published state on the keypad_lockout property.

  • Possible values are: unlock, lock1.

  • To write:

    • publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"keypad_lockout": "VALUE"} where VALUE is unlock or lock1.
  • To read:

    • publish a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"keypad_lockout": ""}.

ADC

Unknown - appears to be device parameter values as a comma-seperated list.

ALG

Unknown - appears to be device parameter values as a comma-seperated list.

Options

How to use device type specific configuration

  • thermostat_unit: Controls the temperature unit of the thermostat (default celsius). The value must be one of celsius, fahrenheit

  • legacy: Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true). The value must be true or false

Exposes

Climate

This climate device supports the following features: occupied_heating_setpoint, local_temperature, running_state, pi_heating_demand.

  • occupied_heating_setpoint: Temperature setpoint. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"occupied_heating_setpoint": VALUE} where VALUE is the °C between 5 and 30. To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupied_heating_setpoint": ""}.
  • pi_heating_demand: Position of the valve (= demanded heat) where 0% is fully closed and 100% is fully open. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"pi_heating_demand": VALUE} where VALUE is the % between 0 and 100. Reading (/get) this attribute is not possible.
  • local_temperature: Current temperature measured on the device (in °C). Reading (/get) this attribute is not possible.
  • running_state: The current running state. Possible values are: idle, heat. Reading (/get) this attribute is not possible.

Battery (numeric)

Remaining battery in %, can take up to 24 hours before reported. Value can be found in the published state on the battery property. It's not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 100. The unit of this value is %.

Voltage (numeric)

Voltage of the battery in millivolts. Value can be found in the published state on the voltage property. It's not possible to read (/get) or write (/set) this value. The unit of this value is mV.

Keypad lockout (enum)

Enables/disables physical input on the device. Value can be found in the published state on the keypad_lockout property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"keypad_lockout": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"keypad_lockout": NEW_VALUE}. The possible values are: unlock, lock1, lock2.

Linkquality (numeric)

Link quality (signal strength). Value can be found in the published state on the linkquality property. It's not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 255. The unit of this value is lqi.