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

 找回密码
 立即注册
查看: 1700|回复: 7

[技术探讨] ha里自定义传感器我想判断是昨天还是前天代码怎么写

[复制链接]

146

主题

2269

帖子

7012

积分

元老级技术达人

积分
7012
金钱
4738
HASS币
30
发表于 2023-6-18 12:56:00 | 显示全部楼层 |阅读模式
我想根据某个设备的属性值的日期,判断是昨天还是前天,请问代码怎么写
{{state_attr('sensor.electricity_95598','last_date')}}

value_template: "{% if  %}昨天{% elif %}前天{% else %}未知{% endif %}


回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24360
金钱
22929
HASS币
290
发表于 2023-6-18 15:51:29 | 显示全部楼层
本帖最后由 dscao 于 2023-6-19 00:58 编辑
template:
  - sensor:
      - name: electricity_last_date_entity_jiandan
        unique_id: electricity_last_date_entity_jiandan
        state: >
          {% set now = as_timestamp(now()) %}
          {% set last_updated = as_timestamp(states('sensor.electricity_last_date_entity')) %}
          {% set diff = (now - last_updated) / 86400 %}
          {% if diff < 1 %}
            今天
          {% elif 1 <= diff < 2 %}
            昨天
          {% elif 2 <= diff < 3 %}
            前天
          {% elif 3 <= diff < 4 %}
            大前天
          {% else %}
            未知
          {% endif %}

  - trigger:
      - platform: event
        event_type: "state_changed"
        event_data: 
          entity_id: sensor.electricity_95598
    sensor:
      - name: electricity_charge_balance_entity
        unique_id: electricity_charge_balance_entity
        state: "{{ states('sensor.electricity_95598') }}"
        unit_of_measurement: "CNY"
        device_class: monetary

      - name: electricity_balance_is_pay_entity
        unique_id: electricity_balance_is_pay_entity
        state: "{{ state_attr('sensor.electricity_95598', 'is_pay') }}"
 
      - name: last_electricity_usage_entity
        unique_id: last_electricity_usage_entity
        state: "{{ state_attr('sensor.electricity_95598', 'last_electricity_usage') }}"
        state_class: measurement
        unit_of_measurement: "kWh"

      - name: yearly_electricity_usage_entity
        unique_id: yearly_electricity_usage_entity
        state: "{{ state_attr('sensor.electricity_95598', 'yearly_electricity_usage') }}"
        state_class: measurement
        unit_of_measurement: "kWh"

      - name: yearly_electricity_charge_entity
        unique_id: yearly_electricity_charge_entity
        state: "{{ state_attr('sensor.electricity_95598', 'yearly_electricity_charge') }}"
        unit_of_measurement: "CNY"
        device_class: monetary
        
      - name: electricity_need_pay_3406665807552
        unique_id: electricity_need_pay_3406665807552
        state: "{{ state_attr('sensor.electricity_95598', 'need_pay') }}"
        unit_of_measurement: "CNY"
        device_class: monetary
        
      - name: thismonth_electricity_usage_entity
        unique_id: thismonth_electricity_usage_entity
        state: "{{ state_attr('sensor.electricity_95598', 'thismonth_electricity_usage') }}"
        state_class: measurement
        unit_of_measurement: "kWh"
        
      - name: electricity_last_date_entity
        unique_id: electricity_last_date_entity
        state: "{{ state_attr('sensor.electricity_95598', 'last_date') }}"

回复

使用道具 举报

146

主题

2269

帖子

7012

积分

元老级技术达人

积分
7012
金钱
4738
HASS币
30
 楼主| 发表于 2023-6-18 17:31:07 | 显示全部楼层

谢谢大佬,按照你的方法搞定了
回复

使用道具 举报

146

主题

2269

帖子

7012

积分

元老级技术达人

积分
7012
金钱
4738
HASS币
30
 楼主| 发表于 2023-6-18 17:33:31 | 显示全部楼层

还有个问题,我想请教下为什么你这里要加 trigger,我直接自定义 sensor,也是可以显示的,其实就是根据1个实体的属性值,创建1个 sensor,为什么要加trigger,好像不加,也是可以的,不知道有什么区别
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24360
金钱
22929
HASS币
290
发表于 2023-6-19 00:56:16 | 显示全部楼层
本帖最后由 dscao 于 2023-6-19 09:47 编辑
bugensui 发表于 2023-6-18 17:33
还有个问题,我想请教下为什么你这里要加 trigger,我直接自定义 sensor,也是可以显示的,其实就是根据1 ...

其实这里最好是不加,但以原来trigger创建过的sensor的状态为值,保证实时更新是前天还是大前天。

其它几项模板实体需要加上trigger,这样重启ha后,而docker中的服务没有更新时,那些模板的值不会变成不可用。
回复

使用道具 举报

146

主题

2269

帖子

7012

积分

元老级技术达人

积分
7012
金钱
4738
HASS币
30
 楼主| 发表于 2023-6-19 11:18:38 | 显示全部楼层
dscao 发表于 2023-6-19 00:56
其实这里最好是不加,但以原来trigger创建过的sensor的状态为值,保证实时更新是前天还是大前天。

其它几 ...

好的,谢谢,学习了
回复

使用道具 举报

0

主题

152

帖子

1456

积分

金牌会员

Rank: 6Rank: 6

积分
1456
金钱
1304
HASS币
0
发表于 2023-6-24 16:28:51 | 显示全部楼层
这个是什么用途?具体用在什么上面?谢谢
回复

使用道具 举报

146

主题

2269

帖子

7012

积分

元老级技术达人

积分
7012
金钱
4738
HASS币
30
 楼主| 发表于 2023-6-24 16:31:30 | 显示全部楼层
13990973177 发表于 2023-6-24 16:28
这个是什么用途?具体用在什么上面?谢谢

电费获取上
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 10:29 , Processed in 0.063746 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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