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

 找回密码
 立即注册
查看: 9412|回复: 8

[已解决] 如何统计家里开了几个灯?

[复制链接]

46

主题

641

帖子

4411

积分

元老级技术达人

积分
4411
金钱
3740
HASS币
120
发表于 2020-3-5 20:04:06 | 显示全部楼层 |阅读模式
本帖最后由 evantalk 于 2020-3-6 01:52 编辑

感谢提醒,已完美解决,用万能的template,国外论坛瞟来的,我家用了aqra墙壁开关,所以灯有两种。话说论坛的代码块功能你们是怎么用的,我用了不能换行。

  - platform: template
    sensors:
      current_lights_on:
        entity_id: sensor.time
        value_template: >
          {{ states.switch|selectattr('state','equalto','on')|list|length + states.light|selectattr('state','equalto','on')|list|length }}

  - platform: time_date


捕获.PNG

虽然简单,但是有个局限,1分钟更新一次,不是非常实时

评分

参与人数 1金钱 +20 收起 理由
+ 20 代码要插入code标签

查看全部评分

回复

使用道具 举报

27

主题

2143

帖子

8930

积分

论坛元老

Rank: 8Rank: 8

积分
8930
金钱
6782
HASS币
30

论坛元老

发表于 2020-3-5 20:59:45 | 显示全部楼层
counter,计数器,light_turn_on触发加法,反之减法
回复

使用道具 举报

30

主题

493

帖子

4795

积分

论坛元老

佑桑

Rank: 8Rank: 8

积分
4795
金钱
4287
HASS币
156

教程狂人

发表于 2020-3-5 22:29:00 | 显示全部楼层
HA/developer-tools/template, 是不是可以放進 template sensor 中?
For loop example:
{% for state in states.light -%}
  {%- if loop.first %}The {% elif loop.last %} and the {% else %}, the {% endif -%}
  {{ state.name | lower }} is {{state.state_with_unit}}
{%- endfor %}.
ASRock H370 PRO4, 48GB, 8TBx3 + 2TBx3
ESXi 6.7 + Ununtu + Docker + HASS.IO -> Homeassistant OS
(Home Assistant Supervised 官方文件)
回复

使用道具 举报

6

主题

743

帖子

5956

积分

论坛元老

Rank: 8Rank: 8

积分
5956
金钱
5208
HASS币
20
发表于 2020-3-5 22:38:24 | 显示全部楼层
以下代码在“开发者工具”->“模板”里试一下吧
{%-set ns=namespace(val1=0)%}
{%- for item in states.switch %}
{%- if is_state(item.entity_id, "on") -%}
{{item.attributes["friendly_name"]}}
{% set ns.val1 = ns.val1 + 1 %}
{%- endif %}
{%- endfor %}
共{{ ns.val1 }}个开关开着


评分

参与人数 2金钱 +36 收起 理由
sorrypqa + 16 大神666!
+ 20 这个高级!

查看全部评分

回复

使用道具 举报

0

主题

608

帖子

2516

积分

金牌会员

Rank: 6Rank: 6

积分
2516
金钱
1908
HASS币
0
发表于 2022-10-9 14:11:24 | 显示全部楼层
mitu 发表于 2020-3-5 22:38
以下代码在“开发者工具”->“模板”里试一下吧

牛牛,终于找到你
回复

使用道具 举报

59

主题

673

帖子

4291

积分

论坛元老

Rank: 8Rank: 8

积分
4291
金钱
3613
HASS币
20
发表于 2022-10-14 10:41:17 | 显示全部楼层
mitu 发表于 2020-3-5 22:38
以下代码在“开发者工具”->“模板”里试一下吧

大神  假设我只想筛选 实体id是 switch.1XXXXX 应该怎么写呢
回复

使用道具 举报

6

主题

743

帖子

5956

积分

论坛元老

Rank: 8Rank: 8

积分
5956
金钱
5208
HASS币
20
发表于 2022-10-14 16:16:11 | 显示全部楼层
gmshiwoge 发表于 2022-10-14 10:41
大神  假设我只想筛选 实体id是 switch.1XXXXX 应该怎么写呢

{{ states.switch|selectattr('state','equalto','on')|selectattr("entity_id", "match", "switch.dc")|list|length}}

显示entity_id里包含switch.dc的已打开人数量
回复

使用道具 举报

59

主题

673

帖子

4291

积分

论坛元老

Rank: 8Rank: 8

积分
4291
金钱
3613
HASS币
20
发表于 2022-10-17 08:43:57 | 显示全部楼层
mitu 发表于 2022-10-14 16:16
{{ states.switch|selectattr('state','equalto','on')|selectattr("entity_id", "match", "switch.dc")| ...

谢谢你 万分感谢
回复

使用道具 举报

0

主题

6

帖子

130

积分

注册会员

Rank: 2

积分
130
金钱
124
HASS币
0
发表于 2022-10-27 10:16:38 | 显示全部楼层
mitu 发表于 2020-3-5 22:38
以下代码在“开发者工具”->“模板”里试一下吧

那如果我像统计卧室或者客厅的开灯数量 该怎么统计呢?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 10:11 , Processed in 1.197063 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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