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

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

Appdaemon应用之利用custom-ui显示所有电池设备剩余电量

[复制链接]

3

主题

223

帖子

3051

积分

元老级技术达人

积分
3051
金钱
2823
HASS币
10
发表于 2018-3-9 20:23:19 | 显示全部楼层 |阅读模式
准备工作:
1. Appdaemon
2. Custom-UI


auto_bl_show.py复制到ad的apps文件夹下
import appdaemon.appapi as appapi

class BatteryShow(appapi.AppDaemon):
    
    def initialize(self):
        self.entity_with_bl = []
        try:
            self.include = self.args['include']
        except KeyError as e:
            self.include = []
            try:
                self.exclude = self.args['exclude']
            except KeyError as e:
                self.exclude = []
        
        if self.include != []:
            self.entity_with_bl = self.include
        else:
            self.all_state = self.get_state()
            for k in self.all_state.keys():
                if 'battery_level' in self.all_state[k]['attributes']:
                    self.entity_with_bl.append(k)
            if self.exclude != []:
                self.entity_with_bl = [i for i in self.entity_with_bl if i not in self.exclude]
                for e in self.exclude:
                    self.set_state(e, attributes = {"extra_data_template": ""})
        
        for e in self.entity_with_bl:
            self.listen_state(self.add_extra_bl, e)
            self.set_state(e, attributes = {"extra_data_template": "剩余电量:${attributes.battery_level}%"})
            self.log(e)

    def add_extra_bl(self, entity, attribute, old, new, kwargs):
        self.set_state(entity, attributes = {"extra_data_template": "剩余电量:${attributes.battery_level}%"})
            
                


apps.yaml中配置
auto_bl_show:
    module: auto_bl_show
    class: BatteryShow
    # include:
    #   - 需要显示的设备
    exclude:
      - 不需要显示的设备


注意:
1. include和exclude两个均为可选配置,都不填则所有有电量的设备都显示
2. include和exclude两者二选一,include优先级高

效果如下:
QQ截图20180309201431.jpg


看得到这的,多说一句。
折腾UI的时间不要花太多,平台的目的是为了自动化,智能程度越高界面看的越少,最终最好的ui是管理最方便而不是显示最漂亮的。
因此本篇属于闲的蛋疼,但其实略微扩展下就可以实现如低电量推送提醒等功能。
当然功能绝不会仅限于监测电量,有需求可以跟帖提出,视情况帮忙实现。


auto_bl_show.py

1.41 KB, 下载次数: 48

评分

参与人数 1金钱 +20 收起 理由
+ 20 膜拜大神!

查看全部评分

回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2018-3-9 20:40:48 | 显示全部楼层
大佬太牛了~
Nero
回复

使用道具 举报

123

主题

4672

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16522
金钱
11765
HASS币
45
发表于 2018-3-9 20:59:37 | 显示全部楼层
厉害了楼主,全面转向HA了?
回复

使用道具 举报

1

主题

265

帖子

2589

积分

金牌会员

Rank: 6Rank: 6

积分
2589
金钱
2324
HASS币
0
发表于 2018-3-10 16:57:46 | 显示全部楼层
厉害!学习下
回复

使用道具 举报

14

主题

660

帖子

4011

积分

论坛元老

Rank: 8Rank: 8

积分
4011
金钱
3346
HASS币
10
发表于 2018-3-15 00:01:12 | 显示全部楼层
厉害了 …………
回复

使用道具 举报

0

主题

37

帖子

242

积分

中级会员

Rank: 3Rank: 3

积分
242
金钱
205
HASS币
0
发表于 2018-3-23 00:27:01 | 显示全部楼层
有意思!!
回复

使用道具 举报

5

主题

115

帖子

628

积分

高级会员

Rank: 4

积分
628
金钱
513
HASS币
0
发表于 2018-3-25 10:23:23 | 显示全部楼层
谢谢分享   
回复

使用道具 举报

1

主题

193

帖子

1277

积分

金牌会员

Rank: 6Rank: 6

积分
1277
金钱
1084
HASS币
0
发表于 2018-3-27 08:38:27 来自手机 | 显示全部楼层
好东西 学习一下
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-3-5 11:02 , Processed in 1.219581 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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