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

 找回密码
 立即注册
查看: 14514|回复: 14

米家的人体感应器和灯的自动化开关通过IF判断进行

[复制链接]

11

主题

124

帖子

1023

积分

论坛积极会员

积分
1023
金钱
899
HASS币
0
发表于 2018-3-12 08:50:10 | 显示全部楼层 |阅读模式
本帖最后由 小来 于 2018-3-12 08:51 编辑

首先感谢官方群里的各路大神对我的帮助,终于完成这段代码。通过自己的学习希望也能帮助一些初学者。

我的目的是通过人体感应器控制灯开关。人在灯开,离开后等待一段时间灯自动关闭。
第一代代码,我是将这2个控制分开写代码。


#鱼缸灯打开 
- alias: fish lamp on
  hide_entity: false
  initial_state: true
  trigger:
   - platform: state
     entity_id: binary_sensor.motion_sensor_158d00015b8ae7
     from: 'off'
     to: 'on'
  action:
    - service: switch.turn_on
      entity_id: switch.plug_158d00015d19d5
#鱼缸灯关闭
- alias: fish lamp off
  hide_entity: false
  initial_state: true
  trigger:
   - platform: state
     entity_id: binary_sensor.motion_sensor_158d00015b8ae7
     from: 'on'
     to: 'off'
  condition:
   condition: state
   entity_id: switch.plug_158d00015d19d5
   state: "on"
  action:
    - delay:
       minutes: 5
    - service: switch.turn_off
      entity_id: switch.plug_158d00015d19d5




第二次通过IF优化了自己的代码。
#鱼缸灯开和关,通过小米的人体感应器,小米的人体感应器默认等待时间是2分钟,再加自己的放了60秒的等待时间。因此当人离开3分钟,电灯自动关闭。 
- alias: fish lamp on/off #灯自动化开关
  initial_state: true
  trigger: #获取红外感应器状态
    - platform: state
      entity_id: binary_sensor.motion_sensor_158d00015b8ae7
      to: 'on'
    - platform: state 
      entity_id: binary_sensor.motion_sensor_158d00015b8ae7
      to: 'off'
      for:
       seconds: 60 #等待60秒
  action: #通过IF判断感应器的状态
     - service_template: "switch.turn_{% if trigger.to_state.state == 'on' %}on{% else %}off{% endif %}"
       entity_id: switch.plug_158d00015d19d5 




希望这2段对比代码,对大家有所有帮助。
回复

使用道具 举报

25

主题

688

帖子

3630

积分

论坛元老

Rank: 8Rank: 8

积分
3630
金钱
2937
HASS币
219

活跃会员

发表于 2018-3-12 09:38:39 | 显示全部楼层
谢谢分享,对精简代码很有用
回复

使用道具 举报

4

主题

531

帖子

3912

积分

论坛元老

Rank: 8Rank: 8

积分
3912
金钱
3371
HASS币
120
发表于 2018-3-12 10:02:49 | 显示全部楼层
如果entity_id也能用模板的话所有的灯都可以用这几行代码控制了
回复

使用道具 举报

11

主题

124

帖子

1023

积分

论坛积极会员

积分
1023
金钱
899
HASS币
0
 楼主| 发表于 2018-3-12 12:30:55 | 显示全部楼层
killadm 发表于 2018-3-12 10:02
如果entity_id也能用模板的话所有的灯都可以用这几行代码控制了

这样也是可以的
回复

使用道具 举报

14

主题

654

帖子

3828

积分

论坛元老

Rank: 8Rank: 8

积分
3828
金钱
3169
HASS币
10
发表于 2018-3-14 23:42:15 | 显示全部楼层
killadm 发表于 2018-3-12 10:02
如果entity_id也能用模板的话所有的灯都可以用这几行代码控制了

我觉得不行,entity_id 确实可以用模板生成 但是你每个区域的人体感应器不一样 每个地方的灯都不一样 除非可以两两绑定
回复

使用道具 举报

17

主题

760

帖子

5276

积分

论坛元老

Rank: 8Rank: 8

积分
5276
金钱
4511
HASS币
0
发表于 2018-3-15 08:49:34 来自手机 | 显示全部楼层
本帖最后由 sirakawa 于 2018-3-15 08:50 编辑

观赏鱼缸用~
回复

使用道具 举报

11

主题

124

帖子

1023

积分

论坛积极会员

积分
1023
金钱
899
HASS币
0
 楼主| 发表于 2018-3-15 10:46:26 | 显示全部楼层

草缸使用,小范围测试下。现在在进行全面改造
回复

使用道具 举报

0

主题

7

帖子

52

积分

注册会员

Rank: 2

积分
52
金钱
45
HASS币
0
发表于 2018-3-16 00:08:45 来自手机 | 显示全部楼层
想问下大佬们,米家的人体传感器可以直接和HA相连吗?还是要卖别的设备才能用。
回复

使用道具 举报

17

主题

760

帖子

5276

积分

论坛元老

Rank: 8Rank: 8

积分
5276
金钱
4511
HASS币
0
发表于 2018-3-16 07:36:48 | 显示全部楼层
小来 发表于 2018-3-15 10:46
草缸使用,小范围测试下。现在在进行全面改造

前面改造的话,注意考虑人不动红外就无反应这个问题。厕所之类的用门磁超声波之类的能解决,客厅无解
回复

使用道具 举报

11

主题

124

帖子

1023

积分

论坛积极会员

积分
1023
金钱
899
HASS币
0
 楼主| 发表于 2018-3-16 15:32:37 | 显示全部楼层
huibibi 发表于 2018-3-16 00:08
想问下大佬们,米家的人体传感器可以直接和HA相连吗?还是要卖别的设备才能用。 ...

需要通过小米网关
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-27 07:42 , Processed in 0.058371 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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