简体   繁体   English

从 mqtt 配置二进制传感器

[英]configure binary sensor from mqtt

I have zway controller with MQTT client enabled and binary sensors which publish state to mqtt topic.我有启用 MQTT 客户端的 zway controller 和将 state 发布到 mqtt 主题的二进制传感器。

zway95/data/ZWayVDev_zway_9-0-48-12 zway95/data/ZWayVDev_zway_9-0-48-12

{
  "creationTime": 1587157138,
  "creatorId": 1,
  "customIcons": {},
  "deviceType": "sensorBinary",
  "firmware": "3.80",
  "h": 1979762458,
  "hasHistory": false,
  "id": "ZWayVDev_zway_9-0-48-12",
  "location": 3,
  "locationName": "Коридор",
  "manufacturer": "Shenzhen Neo Electronics Co., Ltd",
  "metrics": {
    "probeTitle": "Motion",
    "scaleTitle": "",
    "icon": "motion",
    "level": "off",
    "title": "Движение - Коридор",
    "isFailed": false
  },
  "nodeId": 9,
  "order": {
    "rooms": 0,
    "elements": 0,
    "dashboard": 0,
    "room": 2
  },
  "permanently_hidden": false,
  "probeType": "motion",
  "product": "",
  "tags": [],
  "technology": "Z-Wave",
  "visibility": true,
  "updateTime": 1643685077
}

zway95/state/ZWayVDev_zway_9-0-48-12 zway95/state/ZWayVDev_zway_9-0-48-12

off

or或者

on

Also I have such config in HA我在 HA 也有这样的配置

binary_sensor:
  - platform: mqtt
    state_topic: "zway95/state/ZWayVDev_zway_9-0-48-12"
    name: "testmotion"
    device_class: "motion"
    payload_on: "true"
    payload_off: "false"
    availability_template: "{{ value_json.metrics.isFailed }}"
    availability:
      - topic: "zway95/data/ZWayVDev_zway_9-0-48-12"
    payload_available: false
    payload_not_available: true
    json_attributes_topic: "zway95/data/ZWayVDev_zway_9-0-48-12"

In HA sensor looks like unavailble and attributes are missing在 HA 中,传感器看起来不可用并且缺少属性

Where did I make a mistake?我在哪里做错了?

The way I understand the home assistant documentation availability_template is intended to be used along with availability_topic .我理解 家庭助理文档availability_template的方式旨在与availability_topic一起使用。 So either go for所以要么 go 为

availability_template: "{{ value_json['metrics']['isFailed'] }}"
availability_topic: "zway95/data/ZWayVDev_zway_9-0-48-12"
payload_available: false
payload_not_available: true

or或者

 availability:
   - topic: "zway95/data/ZWayVDev_zway_9-0-48-12"
     payload_available: false
     payload_not_available: true
     value_template: "{{ value_json['metrics']['isFailed'] }}"

Here is working config:这是工作配置:

binary_sensor:
  - platform: mqtt
    state_topic: "zway95/state/ZWayVDev_zway_9-0-48-12"
    name: "testmotion"
    device_class: "motion"
    payload_on: "on"
    payload_off: "off"
    availability_topic: "zway95/data/ZWayVDev_zway_9-0-48-12"
    availability_template: "{{ value_json.metrics.isFailed }}"
    payload_available: false
    payload_not_available: true
    json_attributes_topic: "zway95/data/ZWayVDev_zway_9-0-48-12"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM