『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 5343|回复: 3

[技术探讨] 我这是找错对象了吗,还是写错了?

[复制链接]

14

主题

71

帖子

451

积分

中级会员

Rank: 3Rank: 3

积分
451
金钱
380
HASS币
0
发表于 2017-11-24 18:53:23 | 显示全部楼层 |阅读模式
本帖最后由 LINZING 于 2017-11-24 21:19 编辑

今天搞好了传感器,但是传感器状态只有0和1,我想改成别Open和Closed

HA检测的错误信息:
1.png

yaml配置信息:
2.png

本人代码很渣,看了官方的文档还是看不懂,硬件是8266刷ESP Easy加人体传感器
求大神指点一下,

另外我看老外的案例:

sensor:
  platform: template
  sensors:
    garage_door:
      value_template: >-
        {% if [b]states.binary_sensor.ecolink_garage_door_sensor_sensor_3.state[/b] == 'on' %}
          Open
        {% [b]elif states.binary_sensor.ecolink_garage_door_sensor_sensor_3.state[/b] == 'off' %}
          Closed
        {% else %}
          n/a
        {% endif %}


求大神简单解释一下  states.binary_sensor.ecolink_garage_door_sensor_sensor_3.state  中间部分是什么意思?就这搞不懂

回复

使用道具 举报

27

主题

387

帖子

3269

积分

元老级技术达人

积分
3269
金钱
2862
HASS币
40

教程狂人

发表于 2017-11-24 20:05:16 | 显示全部楼层
指令錯了吧
if要搭配一個endif
if後面還想再if的話要用elif
回复

使用道具 举报

123

主题

4665

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16452
金钱
11702
HASS币
45
发表于 2017-11-24 23:42:09 | 显示全部楼层
楼上说的对,另外payload确定是0和1,而不是on和off吗?
回复

使用道具 举报

14

主题

71

帖子

451

积分

中级会员

Rank: 3Rank: 3

积分
451
金钱
380
HASS币
0
 楼主| 发表于 2017-11-25 02:00:31 | 显示全部楼层
答案似乎和楼上说的不太一样,老外提供这个能解决,贴上完整代码
sensor:
  - platform: mqtt
    name: "body"
    state_topic: "/home/body/Switch"
    payload_on: "1"
    payload_off: "0"
    device_class: opening
    qos: 1
    retain: true
  - platform: template
    sensors:
      body:
        value_template: '{% if states.sensor.body %}
          {% if states.sensor.body.state == "1" %}
            Open
          {% else %}
            Closed
          {% endif %}
          {% else %}
          n/a
          {% endif %}'
        friendly_name: 'Bedroom Door'
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-28 01:19 , Processed in 1.301451 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表