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

 找回密码
 立即注册
查看: 11913|回复: 18

[技术探讨] 求助红外线开关反馈代码

[复制链接]

10

主题

60

帖子

530

积分

高级会员

Rank: 4

积分
530
金钱
470
HASS币
0
发表于 2020-6-18 12:18:17 | 显示全部楼层 |阅读模式
电器是红外线遥控的,开关状态不能真实反馈。现在在前端加了一个电量监测,当电器开启功耗就会达到一定瓦数,用瓦数来判断开关状态。

代码怎么写?找了一圈都没有找到教程

#功耗插座代码
  - platform: xiaomi_miio
    name: '功耗'
    host: 192.168.1.103
    token: 6f0a3ac540279d318c097fbe92e8d405
    model: chuangmi.plug.v3

#热水器开关反馈
  - platform: template
    switches:
        bedroomheater:
          friendly_name: "热水器"
          value_template: "{{ as_timestamp(states.script.close_bedroom_heater.attributes.last_triggered)  | int  < as_timestamp(states.script.open_bedroom_heater.attributes.last_triggered)  | int }} "
          turn_on:
            service: script.open_bedroom_heater
          turn_off:
            service: script.close_bedroom_heater


回复

使用道具 举报

106

主题

551

帖子

2789

积分

金牌会员

Rank: 6Rank: 6

积分
2789
金钱
2238
HASS币
20
发表于 2020-6-18 14:57:48 | 显示全部楼层
功耗对应的应该是一个sensor吧,switch的value_template这样定义
{% if states('sensor.power') > onPOWER %}
  on
{% elif states('sensor.power') < offPOWER%}
  off
{% endif %}
回复

使用道具 举报

10

主题

60

帖子

530

积分

高级会员

Rank: 4

积分
530
金钱
470
HASS币
0
 楼主| 发表于 2020-6-18 17:19:11 | 显示全部楼层
comeon_000 发表于 2020-6-18 14:57
功耗对应的应该是一个sensor吧,switch的value_template这样定义
{% if states('sensor.power') > onPOWER  ...

感谢大神回复!
- platform: template
    sensors:
      xiaomi_plug_power:
        friendly_name: "name"
        unit_of_measurement: W
        value_template: "{{ state_attr('switch.xiao_mi_zhi_neng_cha_zuo_2', 'load_power') }}"
这个代码套进去报错
具体代码怎么写,小白不太懂、
回复

使用道具 举报

106

主题

551

帖子

2789

积分

金牌会员

Rank: 6Rank: 6

积分
2789
金钱
2238
HASS币
20
发表于 2020-6-18 18:41:30 | 显示全部楼层
打酱油 发表于 2020-6-18 17:19
感谢大神回复!
- platform: template
    sensors:

有attr的话,直接用attr就行了,试试下面的代码
        value_template: >-
          {% if state_attr('switch.xiao_mi_zhi_neng_cha_zuo_2', 'load_power')|float > 50 %}
            on
          {% elif state_attr('switch.xiao_mi_zhi_neng_cha_zuo_2', 'load_power')|float < 10 %}
            off
          {% endif %}
回复

使用道具 举报

10

主题

60

帖子

530

积分

高级会员

Rank: 4

积分
530
金钱
470
HASS币
0
 楼主| 发表于 2020-6-18 23:33:10 | 显示全部楼层
comeon_000 发表于 2020-6-18 18:41
有attr的话,直接用attr就行了,试试下面的代码

试了一个下午都是报错,请问加在哪里?完整代码是....?
回复

使用道具 举报

106

主题

551

帖子

2789

积分

金牌会员

Rank: 6Rank: 6

积分
2789
金钱
2238
HASS币
20
发表于 2020-6-19 00:07:06 | 显示全部楼层
用我给你的代码替换你开关的value_template
回复

使用道具 举报

10

主题

60

帖子

530

积分

高级会员

Rank: 4

积分
530
金钱
470
HASS币
0
 楼主| 发表于 2020-6-19 00:26:49 | 显示全部楼层
comeon_000 发表于 2020-6-19 00:07
用我给你的代码替换你开关的value_template
  - platform: template
    sensors:
      xiaomi_plug_power:
        friendly_name: "name"
        unit_of_measurement: W
        value_template: >-
          {% if state_attr('switch.xiao_mi_zhi_neng_cha_zuo_2', 'load_power')|float > 50 %}
            on
          {% elif state_attr('switch.xiao_mi_zhi_neng_cha_zuo_2', 'load_power')|float < 10 %}
            off
          {% endif %}

  - platform: template
    switches:
        bedroomheater:
          friendly_name: "热水器"
          value_template: >-
          {% if state_attr('switch.xiao_mi_zhi_neng_cha_zuo_2', 'load_power')|float > 50 %}
            on
          {% elif state_attr('switch.xiao_mi_zhi_neng_cha_zuo_2', 'load_power')|float < 10 %}
            off
          {% endif %}
          turn_on:
            service: script.open_bedroom_heater
          turn_off:
            service: script.close_bedroom_heater


都一一试了,报错,我肯定理解错了。
回复

使用道具 举报

106

主题

551

帖子

2789

积分

金牌会员

Rank: 6Rank: 6

积分
2789
金钱
2238
HASS币
20
发表于 2020-6-19 00:59:19 | 显示全部楼层
sensor template可以去掉了,下面的代码有啥报错
回复

使用道具 举报

10

主题

60

帖子

530

积分

高级会员

Rank: 4

积分
530
金钱
470
HASS币
0
 楼主| 发表于 2020-6-19 09:10:17 | 显示全部楼层
comeon_000 发表于 2020-6-19 00:59
sensor template可以去掉了,下面的代码有啥报错

Logger: homeassistant.components.homeassistant
Source: components/homeassistant/__init__.py:111
Integration: Home Assistant (documentation, issues)
First occurred: 上午12:09:12 (10 occurrences)
Last logged: 上午9:10:06

Error loading /config/configuration.yaml: while scanning for the next token found character '%' that cannot start any token in "/config/configuration.yaml", line 64, column 12
Invalid config for [switch.template]: [sensors] is an invalid option for [switch.template]. Check: switch.template->sensors. (See ?, line ?).
Error loading /config/configuration.yaml: mapping values are not allowed here in "/config/configuration.yaml", line 70, column 24
回复

使用道具 举报

106

主题

551

帖子

2789

积分

金牌会员

Rank: 6Rank: 6

积分
2789
金钱
2238
HASS币
20
发表于 2020-6-19 09:45:22 | 显示全部楼层
先把你的文件结构理清楚吧
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 05:50 , Processed in 0.464322 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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