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

 找回密码
 立即注册
查看: 5056|回复: 6

[求助] 请问如何写一个加热器的定时循环开关呢

[复制链接]

6

主题

181

帖子

613

积分

高级会员

Rank: 4

积分
613
金钱
432
HASS币
0
发表于 2018-11-17 10:42:51 | 显示全部楼层 |阅读模式
请问各位大神,我有一个火炉。我现在希望手动打开插座时,插座能够做到开启半小时自动关闭1小时再开启这样循环,同时在开关自动开启状态下,我手动按下关闭,或者开关在自动关闭状态下,手动开起再关闭一次就能结束这个自动开关操作
目前我是这么写的:
- alias: broads1_auto_off
  trigger:
    - platform: state
      entity_id: switch.broads1
      from: 'off'
      to: 'on'
      for:
        minutes: 30
  action:
    - service: switch.turn_off
      entity_id: switch.broads1
    - delay: 00:15:00
    - service: switch.turn_on
      entity_id: switch.broads1


这样的写法就是开关在关闭状态下,手动开关一次无法结束这个自动开关操作。我又想到加一个判定语句,就是检查上次状态变化的时间间隔,如果小于规定的时间间隔,那么就放弃自动操作。论坛查了下好像可以这样写
condition:
    - condition: template
      value_template: '{{ (as_timestamp(now())-as_timestamp(states.12345678.switch.last_updated)) > 600 }}'      
######条件2:当开关是“打开”  状态  
    - condition: state
      entity_id: 12345678.switch
      state: 'on'


但是实际上并不能做到,估计代码太老了现在没法用。请教改如何做呢!

其实我的写法还有一个问题。如果加上时间condition条件,时间过了之后,开关的最终状态不是关闭状态,这也是很头疼的事情,目前完全还不知道如何修改。

请各位大神指教!谢谢
回复

使用道具 举报

27

主题

2143

帖子

8930

积分

论坛元老

Rank: 8Rank: 8

积分
8930
金钱
6782
HASS币
30

论坛元老

发表于 2018-11-17 16:18:46 | 显示全部楼层
本帖最后由 情非殇 于 2018-11-18 16:39 编辑


## 打开开关5秒内关闭开关,或者关闭开关5秒内打开开关,切换上述自动化开关状态
input_boolean:
  test11111:  
    name: 虚拟开关
  test22222:
    name: 虚拟自动化
  test33333:
    name: 辅助按钮


automation:
  ## 打开开关5秒内,如果开关再次关闭,切换自动化开关状态
  - alias: test1
    trigger:
      platform: state
      entity_id: input_boolean.test11111    #替换为自己的开关
      to: 'on'
    action:
      - delay: 00:00:05
      - service: input_boolean.toggle           
        entity_id: input_boolean.test33333  #辅助判断,必须保留
  - alias: test2
    trigger:
      platform: state
      entity_id: input_boolean.test33333  #辅助判断,必须保留
    condition:
      condition: state
      entity_id: input_boolean.test11111    #替换为自己的开关
      state: 'off'
    action:
      service: input_boolean.toggle
      entity_id: input_boolean.test22222    #替换为自己的自动化
 



Snipaste_2018-11-17_16-18-21.png


回复

使用道具 举报

13

主题

500

帖子

3422

积分

论坛元老

Rank: 8Rank: 8

积分
3422
金钱
2917
HASS币
20
发表于 2018-11-17 17:37:40 | 显示全部楼层
楼上大神人热心!
回复

使用道具 举报

6

主题

181

帖子

613

积分

高级会员

Rank: 4

积分
613
金钱
432
HASS币
0
 楼主| 发表于 2018-11-17 21:38:23 | 显示全部楼层
情非殇 发表于 2018-11-17 16:18
[code]## 打开开关5秒内关闭开关,或者关闭开关5秒内打开开关,切换上述自动化开 ...

感谢大神回复~虽然我很努力学习了一下,然而并没有看懂。。。
在论坛里也没有找到关于input_boolean的相关教程,去hass.io网站也没看懂关于input_boolean的东西。

话说自动话要是能用C++之类的语言写感觉就很好理解了。。。。

可能因为我不是计算机专业的吧
回复

使用道具 举报

27

主题

2143

帖子

8930

积分

论坛元老

Rank: 8Rank: 8

积分
8930
金钱
6782
HASS币
30

论坛元老

发表于 2018-11-17 22:12:42 | 显示全部楼层
leonxis 发表于 2018-11-17 21:38
感谢大神回复~虽然我很努力学习了一下,然而并没有看懂。。。
在论坛里也没有找到关于input_boolean的相 ...

根据命名把自动化里的实体替换成你自己的实体就好了,我是测试代码虚拟了2个虚拟开关来用而已
回复

使用道具 举报

27

主题

2143

帖子

8930

积分

论坛元老

Rank: 8Rank: 8

积分
8930
金钱
6782
HASS币
30

论坛元老

发表于 2018-11-18 17:18:44 | 显示全部楼层
本帖最后由 情非殇 于 2018-11-18 17:22 编辑
leonxis 发表于 2018-11-17 21:38
感谢大神回复~虽然我很努力学习了一下,然而并没有看懂。。。
在论坛里也没有找到关于input_boolean的相 ...

用这一段吧,测试完美无bug修正版
123.gif

## 测试用虚拟按钮,可删除
input_boolean:
  test11111:
    name: 虚拟开关
  test22222:
    name: 虚拟自动化


counter:
  my_custom_counter:
    initial: 0
    step: 1
    restore: false

automation:
  ## 5秒内切换2次开关状态,自动化开关状态切换
  ## 每次切换开关状态,计数器+1
  - alias: test1
    hide_entity: true
    trigger:
      platform: state
      entity_id: input_boolean.test11111   #替换为自己的开关
    action:
      service: counter.increment
      entity_id: counter.my_custom_counter
  ## 计数器为2的时候,切换自动化状态
  - alias: test2
    hide_entity: true
    trigger:
      - platform: state
        entity_id: counter.my_custom_counter
        to: '2'
    action:
      service: input_boolean.toggle        #替换为自己的自动化
      entity_id: input_boolean.test22222   #替换为自己的自动化
  ## 每次计数器状态变动,5秒后重置归零
  - alias: test3
    hide_entity: true
    trigger:
      - platform: state
        entity_id: counter.my_custom_counter
    action:
      - delay: 00:00:05
      - service: counter.reset
        entity_id: counter.my_custom_counter

回复

使用道具 举报

6

主题

181

帖子

613

积分

高级会员

Rank: 4

积分
613
金钱
432
HASS币
0
 楼主| 发表于 2018-11-18 18:28:09 | 显示全部楼层
情非殇 发表于 2018-11-18 17:18
用这一段吧,测试完美无bug修正版

非常感谢!
今天我花了点时间自己测试了一下input_boolean,稍微懂了点,自己用虚拟开关做了个,但是还是不如层主的完美。

谢谢!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 03:22 , Processed in 0.097757 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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