Zigbee2MQTTZigbee2MQTT
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)

PushOk Hardware POK020

ModelPOK020
VendorPushOk Hardware
DescriptionBattery powered thermostat valve
Exposesswitch (state), battery, voltage, rod_zero_position, rod_length, rod_position, external_temperature, control_preset, climate (occupied_heating_setpoint, unoccupied_heating_setpoint, local_temperature, system_mode, local_temperature_calibration), sensor_source, alarm
PicturePushOk Hardware POK020

OTA updates

This device supports OTA updates, for more information see OTA updates.

Options

How to use device type specific configuration

  • state_action: State actions will also be published as 'action' when true (default false). The value must be true or false

Exposes

Switch

The current state of this switch is in the published state under the state property (value is ON or OFF). To control this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state": "ON"}, {"state": "OFF"} or {"state": "TOGGLE"}. To read the current state of this switch publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"state": ""}.

On with timed off

When setting the state to ON, it might be possible to specify an automatic shutoff after a certain amount of time. To do this add an additional property on_time to the payload which is the time in seconds the state should remain on. Additionally an off_wait_time property can be added to the payload to specify the cooldown time in seconds when the switch will not answer to other on with timed off commands. Support depends on the switch firmware. Some devices might require both on_time and off_wait_time to work Examples : {"state" : "ON", "on_time": 300}, {"state" : "ON", "on_time": 300, "off_wait_time": 120}.

Battery (numeric)

Remaining battery in %. Value can be found in the published state on the battery property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"battery": ""}. It's not possible to write (/set) this value. The minimal value is 0 and the maximum value is 100. The unit of this value is %.

Voltage (numeric)

Reported battery voltage in millivolts. Value can be found in the published state on the voltage property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"voltage": ""}. It's not possible to write (/set) this value. The unit of this value is mV.

Rod zero position (numeric)

Rod zero position. Value can be found in the published state on the rod_zero_position property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"rod_zero_position": ""}. It's not possible to write (/set) this value. The unit of this value is mm.

Rod length (numeric)

Rod length. Value can be found in the published state on the rod_length property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"rod_length": ""}. It's not possible to write (/set) this value. The unit of this value is mm.

Rod position (numeric)

Rod position. Value can be found in the published state on the rod_position property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"rod_position": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"rod_position": NEW_VALUE}. The minimal value is 0 and the maximum value is 100. The unit of this value is %.

External temperature (numeric)

External temperature. Value can be found in the published state on the external_temperature property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"external_temperature": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"external_temperature": NEW_VALUE}. The minimal value is -50 and the maximum value is 120. The unit of this value is °C.

Control preset (enum)

Control steps preset. Value can be found in the published state on the control_preset property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"control_preset": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"control_preset": NEW_VALUE}. The possible values are: conservative, moderate, aggressive.

Climate

This climate device supports the following features: occupied_heating_setpoint, unoccupied_heating_setpoint, local_temperature, system_mode, local_temperature_calibration.

  • 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 -45 and 60. To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"occupied_heating_setpoint": ""}.
  • local_temperature: Current temperature measured on the device (in °C). To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"local_temperature": ""}.
  • system_mode: Mode of this device. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"system_mode": VALUE} where VALUE is one of: off, heat. To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"system_mode": ""}.
  • local_temperature_calibration: Offset to add/subtract to the local temperature. To control publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"local_temperature_calibration": VALUE}.To read send a message to zigbee2mqtt/FRIENDLY_NAME/get with payload {"local_temperature": ""}.The minimal value is -12.8 and the maximum value is 12.7 with a step size of 0.1.

Sensor source (enum)

Temperature sensor used for control. Value can be found in the published state on the sensor_source property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"sensor_source": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"sensor_source": NEW_VALUE}. The possible values are: internal, external.

Alarm (enum)

Calibration status alarm. Value can be found in the published state on the alarm property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"alarm": ""}. It's not possible to write (/set) this value. The possible values are: ok, never_calibrated, calibration_error_p0, calibration_error_p1_not_found, calibration_error_p1_too_close, calibration_error_p2_too_small, calibration_error_p2_not_found, calibration_lost.

Help to make the docu better and edit this page on Github ✌
Last Updated: 1/1/26, 2:17 PM