找回密码
 立即注册

微信扫码登录

搜索
查看: 4316|回复: 12

[技术探讨] 如何根据季节或者月份来进行自动化的执行

[复制链接]

57

主题

142

回帖

1641

积分

金牌会员

积分
1641
金钱
1442
HASS币
0
发表于 2023-3-15 01:04:22 | 显示全部楼层 |阅读模式
我想根据季节或从几月到几月来进行自动化的执行,比如某个自动化夏天执行,冬天不执行。自动化的触发事件里有日历这个选项,目前我已经添加实体,但还是显示没有实体,请问我改如何设置?
QQ截图20230315010352.png
QQ截图20230315010139.png
QQ截图20230315010151.png
回复

使用道具 举报

10

主题

210

回帖

1809

积分

金牌会员

积分
1809
金钱
1589
HASS币
0
发表于 2023-3-19 16:21:56 | 显示全部楼层
bugensui 发表于 2023-3-17 11:11
原来如此,我直接通过月份判断的,

哈哈,这该死的强迫症
回复

使用道具 举报

184

主题

2767

回帖

9317

积分

元老级技术达人

积分
9317
金钱
6351
HASS币
80
发表于 2023-3-17 11:11:19 | 显示全部楼层
tangyali 发表于 2023-3-16 19:51
因为季节这样的:
2月4日-5月4日为春季
5月5日-8月7日为夏季
#3-5春季6-9夏季10-11秋季12-2冬季
      jijie:
        friendly_name: "季节"
        icon_template: mdi:weather-windy
        value_template: "{% if now().month >2 and now().month < 6 %}春{% elif now().month >5 and now().month < 10 %}夏{% elif now().month >9 and now().month < 12 %}秋{% else %}冬{% endif %}"

原来如此,我直接通过月份判断的,
回复

使用道具 举报

10

主题

210

回帖

1809

积分

金牌会员

积分
1809
金钱
1589
HASS币
0
发表于 2023-3-16 19:51:32 | 显示全部楼层
bugensui 发表于 2023-3-16 11:25
为什么要把day除以100.直接以月份判断春夏秋冬,不是一样的吗,day有什么参考价值呢, ...

因为季节这样的:
2月4日-5月4日为春季
5月5日-8月7日为夏季
....后同
除100是比较简单的吧日期变为数字,便于判断,方法比较笨,但很简单
回复

使用道具 举报

184

主题

2767

回帖

9317

积分

元老级技术达人

积分
9317
金钱
6351
HASS币
80
发表于 2023-3-16 11:25:41 | 显示全部楼层
tangyali 发表于 2023-3-15 22:52
这是我的季节模板,在/config/template.yaml文件里添加以上内容,可以作为联动条件,最好还是配合温湿度传感 ...

为什么要把day除以100.直接以月份判断春夏秋冬,不是一样的吗,day有什么参考价值呢,
回复

使用道具 举报

10

主题

210

回帖

1809

积分

金牌会员

积分
1809
金钱
1589
HASS币
0
发表于 2023-3-15 22:52:44 | 显示全部楼层
- sensor:
  - name: "季节"
#      friendly_name: "季节"
    icon: mdi:weather-windy
    state: >
      {% set day = now().month + (now().day / 100) | float %}
      {% if day >= 2.04 and day < 5.05 %}
      春
      {% elif day >= 5.05 and day < 8.07 %}
      夏
      {% elif day >= 8.07 and day < 11.08 %}
      秋
      {% else %}
      冬
      {% endif %}

这是我的季节模板,在/config/template.yaml文件里添加以上内容,可以作为联动条件,最好还是配合温湿度传感器,这样更人性化
回复

使用道具 举报

hyq 

5

主题

467

回帖

2122

积分

金牌会员

积分
2122
金钱
1650
HASS币
0
发表于 2023-3-15 19:44:37 | 显示全部楼层
本帖最后由 hyq 于 2023-3-15 20:10 编辑

action:
  - choose:
      - conditions:
          - "{{  11 >= now().month| int >= 3 }} "
          - "{{ (state_attr('sensor.101_2','raw_state')|int) != 100 }}"
          - "{{ is_state('binary_sensor.people_home', 'on') }}"
          - "{{ is_state('binary_sensor.ketds', 'off') }}"
          - "{{ is_state('binary_sensor.men_ci_2', 'on') }}"
          - "{{ is_state('vacuum.kong_qi_jing_hua_qi', ['idle', 'docked']) }}"
          - or:
              - and:
                  - "{{ state_attr('weather.he_s','temperature')|int < 18 }}"
                  - "{{ is_state('weather.he_s', ['sunny','partlycloudy']) }}"
                  - "{{  state_attr('sun.sun', 'elevation') > 28 }}"
              - and:
                  - "{{ 18 < state_attr('weather.he_s','temperature')|int < 24 }}"
                  - >-
                    {{ is_state('weather.he_s', ['sunny','partlycloudy',
                    'cloudy']) }}
                  - "{{  state_attr('sun.sun', 'elevation') > 15 }}"
              - and:
                  - "{{ 24 < state_attr('weather.he_s','temperature')|int < 36 }}"
                  - >-
                    {{ is_state('weather.he_s', ['sunny','partlycloudy',
                    'cloudy']) }}
                  - "{{  state_attr('sun.sun', 'elevation') > 8 }}"
        sequence:
          - wait_template: >-
              {{ (state_attr('cover.tu_ya_zigbeechuang_lian_dian_ji_13_curtain',
              'current_position')|int) == 100 }}         
          - service: cover.open_cover
            data: {}
            target:
              entity_id: cover.102_2
这是我一个窗户的自动化!月份、天气、温度、太阳高程按自己习惯自动控制!限制条件越多越人性化!
回复

使用道具 举报

1

主题

36

回帖

416

积分

中级会员

积分
416
金钱
378
HASS币
0
发表于 2023-3-15 13:55:47 | 显示全部楼层
本帖最后由 ssynihao 于 2023-3-15 14:00 编辑
condition: state
entity_id: sensor.heweather_disaster_warn
state: 未来1小时内无不良天气

自定义一个Sensor吧,在几月或几月之间输出一个状态,不再另外输出状态,然后在自动化里根据状态来做场景条件,处于这个状态执行,不处于就不执行,类似我这种
回复

使用道具 举报

184

主题

2767

回帖

9317

积分

元老级技术达人

积分
9317
金钱
6351
HASS币
80
发表于 2023-3-15 11:42:51 | 显示全部楼层
      monthsl:
        friendly_name:  'monthsl'
        icon_template: mdi:calendar-month
        value_template: "{% if now().month > 10 or now().month < 4%}冬令{% else %}夏令{% endif %}"
# 自定义Sensor.




自己根据自己的习惯完善下,这样就可以在ha生成1个传感器,获取当前是什么季节,然后在自动化里引用,但是这个也不是最佳的解决,因为有的年份3月份,可能很冷,有的时候可能就很热了,这样比如空调自动化就不好弄,所以,最好还是用辅助元素里,建立1个开关,手动切换,季节,这样比较准,
回复

使用道具 举报

19

主题

327

回帖

2842

积分

金牌会员

积分
2842
金钱
2496
HASS币
20
发表于 2023-3-15 11:37:29 | 显示全部楼层
去设备里添加Calendar
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-8-11 12:04 , Processed in 0.294493 second(s), 14 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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