To contribute to this page, edit the following file

Custom devices (DiY) ptvo.switch #

Model ptvo.switch
Vendor Custom devices (DiY)
Description Multi-channel relay switch
Exposes switch (state), , temperature, voltage, pressure, humidity, action, linkquality
Picture Custom devices (DiY) ptvo.switch

Notes #

Deprecated click event #

By default this device exposes a deprecated click event. It’s recommended to use the action event instead.

To disable the click event, set legacy: false for this device in configuration.yaml. Example:

devices:
  '0x12345678':
    friendly_name: my_device
    legacy: false

Device type specific configuration #

How to use device type specific configuration

Exposes #

Switch (l1 endpoint) #

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

Switch (l2 endpoint) #

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

Switch (l3 endpoint) #

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

Switch (l4 endpoint) #

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

Switch (l5 endpoint) #

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

Switch (l6 endpoint) #

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

Switch (l7 endpoint) #

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

Switch (l8 endpoint) #

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

Text (l1 endpoint) #

Value can be found in the published state on the l1 property. It’s not possible to read (/get) or write (/set) this value.

Text (l2 endpoint) #

Value can be found in the published state on the l2 property. It’s not possible to read (/get) or write (/set) this value.

Text (l3 endpoint) #

Value can be found in the published state on the l3 property. It’s not possible to read (/get) or write (/set) this value.

Text (l4 endpoint) #

Value can be found in the published state on the l4 property. It’s not possible to read (/get) or write (/set) this value.

Text (l5 endpoint) #

Value can be found in the published state on the l5 property. It’s not possible to read (/get) or write (/set) this value.

Text (l6 endpoint) #

Value can be found in the published state on the l6 property. It’s not possible to read (/get) or write (/set) this value.

Text (l7 endpoint) #

Value can be found in the published state on the l7 property. It’s not possible to read (/get) or write (/set) this value.

Text (l8 endpoint) #

Value can be found in the published state on the l8 property. It’s not possible to read (/get) or write (/set) this value.

Temperature (numeric) #

Measured temperature value. Value can be found in the published state on the temperature property. It’s not possible to read (/get) or write (/set) this value. The unit of this value is °C.

Voltage (numeric) #

Measured electrical potential value. 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 V.

Pressure (numeric) #

The measured atmospheric pressure. Value can be found in the published state on the pressure property. It’s not possible to read (/get) or write (/set) this value. The unit of this value is hPa.

Humidity (numeric) #

Measured relative humidity. Value can be found in the published state on the humidity property. It’s not possible to read (/get) or write (/set) this value. The unit of this value is %.

Action (enum) #

Triggered action (e.g. a button click). Value can be found in the published state on the action property. It’s not possible to read (/get) or write (/set) this value. The possible values are: single, double, triple, hold.

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.

Manual Home Assistant configuration #

Although Home Assistant integration through MQTT discovery is preferred, manual integration is possible with the following configuration:

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    icon: "mdi:toggle-switch"
    value_template: "{{ value_json.click }}"

switch:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    payload_off: "OFF"
    payload_on: "ON"
    value_template: "{{ value_json.state_l1 }}"
    command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/l1/set"

switch:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    payload_off: "OFF"
    payload_on: "ON"
    value_template: "{{ value_json.state_l2 }}"
    command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/l2/set"

switch:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    payload_off: "OFF"
    payload_on: "ON"
    value_template: "{{ value_json.state_l3 }}"
    command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/l3/set"

switch:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    payload_off: "OFF"
    payload_on: "ON"
    value_template: "{{ value_json.state_l4 }}"
    command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/l4/set"

switch:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    payload_off: "OFF"
    payload_on: "ON"
    value_template: "{{ value_json.state_l5 }}"
    command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/l5/set"

switch:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    payload_off: "OFF"
    payload_on: "ON"
    value_template: "{{ value_json.state_l6 }}"
    command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/l6/set"

switch:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    payload_off: "OFF"
    payload_on: "ON"
    value_template: "{{ value_json.state_l7 }}"
    command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/l7/set"

switch:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    payload_off: "OFF"
    payload_on: "ON"
    value_template: "{{ value_json.state_l8 }}"
    command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/l8/set"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.l1 }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.l2 }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.l3 }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.l4 }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.l5 }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.l6 }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.l7 }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.l8 }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    unit_of_measurement: "°C"
    value_template: "{{ value_json.temperature }}"
    device_class: "temperature"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    unit_of_measurement: "V"
    value_template: "{{ value_json.voltage }}"
    icon: "mdi:alpha-v"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    unit_of_measurement: "hPa"
    value_template: "{{ value_json.pressure }}"
    device_class: "pressure"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    unit_of_measurement: "%"
    value_template: "{{ value_json.humidity }}"
    device_class: "humidity"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.action }}"
    icon: "mdi:gesture-double-tap"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    unit_of_measurement: "lqi"
    value_template: "{{ value_json.linkquality }}"
    icon: "mdi:signal"