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

 找回密码
 立即注册
查看: 11205|回复: 17

关于MQTT 自动化的问题

[复制链接]

12

主题

351

帖子

1172

积分

金牌会员

Rank: 6Rank: 6

积分
1172
金钱
821
HASS币
0
发表于 2020-6-26 21:10:02 | 显示全部楼层 |阅读模式
本帖最后由 wktm 于 2020-6-26 21:14 编辑

关于MQTT 自动化的问题
      条件:平板安装wallpanel
                 实体   1电池 :  sensor.wallpanel_battery_level
                           2视频触发    :binary_sensor.ping_ban_she_xiang_tou_zhen_ce
               平板充电:switch.wxc
               平板充电总开关switch.rhd
实现目的:想让平板通过mqtt 的低于10%的电量通知信息,让控制平板充电开关 打开充电,然后,当平板的mqtt的通知信息显示充满电量100%后 ,自动关闭开关,24小时往复循环。
看过坛内的各种自动化帖子,做的设置,研究一天修改N次,写在automations文件里,无数重启后hass 不识别该自动化了,求指点,该怎么标准化MQTT自动化设置。另外祝福全体同仁端午快乐

trigger:
      #mqtt传感器状态判断
    - platform: mqtt
      topic: wallpanel/mywallpanel/sensor/battery
     # entity_id: sensor.wallpanel_battery_level
      #value_template: '{{ value_json.value }}'
      below: 10
      payload: 'on'
      

  condition:
    condition: and
    conditions:
        #判断电量
      - condition: numeric_state
        entity_id: sensor.wallpanel_battery_level
        value_template: '{{ value_json.value }}'
        below: 10
      - condition: state  #第二个条件:设备状态
        entity_id: switch.rhd  #这个是我的客厅灯的sonoff ID
        state: 'off'  #(state)状态:(off)关闭-意思就是如果我客厅灯是关闭的
      - condition: state  #第二个条件:设备状态
        entity_id: switch.wxc  #这个是我的客厅灯的sonoff ID
        state: 'off'  #(state)状态:(off)关闭-意思就是如果我客厅灯是关闭的
      - condition: state  #第二个条件:设备状态
        entity_id: switch.sonoff_10007b678c_1  #这个是我的客厅灯的sonoff ID
        state: 'off'  #(state)状态:(off)关闭-意思就是如果我客厅灯是关闭的
  action:   
    - delay: 02:00:00  
    - service: switch.turn_on
      entity_id: switch.rhd
    - service: switch.turn_on
      entity_id: switch.wxc
    - service: switch.turn_on
      entity_id: switch.sonoff_10007b678c_1#这个是看看自动化成功运行了没,






回复

使用道具 举报

12

主题

351

帖子

1172

积分

金牌会员

Rank: 6Rank: 6

积分
1172
金钱
821
HASS币
0
 楼主| 发表于 2020-6-26 21:35:54 | 显示全部楼层
大家都在忙着过节嘿咻?
回复

使用道具 举报

17

主题

800

帖子

5738

积分

论坛元老

Rank: 8Rank: 8

积分
5738
金钱
4933
HASS币
0
发表于 2020-6-26 22:36:29 | 显示全部楼层
本帖最后由 sirakawa 于 2020-6-26 22:39 编辑

condition先全都注释掉,然后tigger里只保留前两行。试试看有没有反应。或者监视下看看MQTT消息正常么。
可以参考下面这个。
而且你延迟2小时再执行?
长时间延迟别用delay,尽可能的用timer或者自己计算时间差。。

  trigger:
    - platform: mqtt
      topic: "/sonoffRB/RESULT"
  condition:
    - condition: or
      conditions:
        - condition: template
          value_template: '{{ trigger.payload_json["RfReceived"].Data == "xxxxxx" }}'
        - condition: template
          value_template: '{{ trigger.payload_json["RfReceived"].Data == "xxxxxx" }}'
回复

使用道具 举报

12

主题

351

帖子

1172

积分

金牌会员

Rank: 6Rank: 6

积分
1172
金钱
821
HASS币
0
 楼主| 发表于 2020-6-26 22:41:40 | 显示全部楼层
sirakawa 发表于 2020-6-26 22:36
condition先全都注释掉,然后tigger里只保留前两行。试试看有没有反应。或者监视下看看MQTT消息正常么。
可 ...

神现1
现在就试试 万分感谢,还有和我一样戒欲的 神 mqtt 搞的头大
回复

使用道具 举报

12

主题

351

帖子

1172

积分

金牌会员

Rank: 6Rank: 6

积分
1172
金钱
821
HASS币
0
 楼主| 发表于 2020-6-26 23:11:02 | 显示全部楼层
sirakawa 发表于 2020-6-26 22:36
condition先全都注释掉,然后tigger里只保留前两行。试试看有没有反应。或者监视下看看MQTT消息正常么。
可 ...

弱弱问问这个'{{ trigger.payload_json["RfReceived"].Data == "xxxxxx" }}'怎么改,看不懂呀
回复

使用道具 举报

17

主题

800

帖子

5738

积分

论坛元老

Rank: 8Rank: 8

积分
5738
金钱
4933
HASS币
0
发表于 2020-6-26 23:26:43 | 显示全部楼层
wktm 发表于 2020-6-26 23:11
弱弱问问这个'{{ trigger.payload_json["RfReceived"].Data == "xxxxxx" }}'怎么改,看不懂呀 ...

额,,你MQTT返回的数据不是JSON的?
先去开发者选项的MQTT里面监视下看下MQTT返回的数据是啥呗。。。
也可以贴出来看看
回复

使用道具 举报

12

主题

351

帖子

1172

积分

金牌会员

Rank: 6Rank: 6

积分
1172
金钱
821
HASS币
0
 楼主| 发表于 2020-6-26 23:27:21 | 显示全部楼层
- alias: batt wuxian
  trigger:
    - platform: mqtt
      topic: "wallpanel/mywallpanel/sensor/battery"
  condition:
    - condition: or
      conditions:
    - condition: template
      entity_id: sensor.wallpanel_battery_level
      value_template: '{{ value_json.value }}'
      below: 95
  action:   
    - service: switch.turn_on
      entity_id: switch.rhd
    - service: switch.turn_on
      entity_id: switch.wxc

修改的按照这个,重启之后自动化根本没有发现 ,还是失败 ,请指教,

回复

使用道具 举报

17

主题

800

帖子

5738

积分

论坛元老

Rank: 8Rank: 8

积分
5738
金钱
4933
HASS币
0
发表于 2020-6-26 23:32:29 | 显示全部楼层
wktm 发表于 2020-6-26 23:27
修改的按照这个,重启之后自动化根本没有发现 ,还是失败 ,请指教,

...

把MQTT的数据贴出来看看呗。。。

而且你那- condition: template需要缩进
回复

使用道具 举报

12

主题

351

帖子

1172

积分

金牌会员

Rank: 6Rank: 6

积分
1172
金钱
821
HASS币
0
 楼主| 发表于 2020-6-26 23:38:13 | 显示全部楼层
本帖最后由 wktm 于 2020-6-26 23:39 编辑
电池{
    "charging": true,
    "value": 94,
    "acPlugged": true,
    "unit": "%",
    "usbPlugged": false
}
这个不知道干嘛{
    "brightness": 153,
    "currentUrl": "http://192.168.8.243:8123/local/TileBoard/index.html",
    "screenOn": true
}
运动触发时候会发这个,同时屏幕亮起
{
    "value": false
}





回复

使用道具 举报

17

主题

800

帖子

5738

积分

论坛元老

Rank: 8Rank: 8

积分
5738
金钱
4933
HASS币
0
发表于 2020-6-26 23:45:42 | 显示全部楼层
本帖最后由 sirakawa 于 2020-6-26 23:49 编辑
wktm 发表于 2020-6-26 23:38
运动触发时候会发这个,同时屏幕亮起

wallpanel/mywallpanel/sensor/battery  这个topic 只会返回第一个把。。。
这样看看?
- condition: template
  value_template: '{{ trigger.payload_json.value | int < 95 }}'
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 12:27 , Processed in 0.054386 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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