Skip to content
/ HAExtra Public
forked from Yonsm/.homeassistant

Home Assistant Extras (Dashboard+AliGenie+...)

Notifications You must be signed in to change notification settings

hsie/HAExtra

 
 

Repository files navigation

Home Assistant Extras for Yonsm

这是我个人的 Home Assistant 配置和扩展插件库,请酌情参考。注意,我升级到 0.88 了,目录结构有重大调整,请注意升级调整,或自行适配目录路径

一、dash.html 操作面板

dash.html 是为 Home Assistant 开发操作面板,使用 HA WebSocket API 作为数据通道,基于非常简单的 HTML+JS+CSS 渲染而成的高效、快速的操控面板。可完美替代 AppDaemon 的 HADashboard。

dash preview

1. 用法

  • 使用方法非常简单,只要把 dash.html 放入 www 目录,然后使用 http://xxx.xxx.xxx:8123/local/dash.html 访问即可。

    • 如果曾经登录过 Home Assistant 并保存过登录会话,访问 /local/dash.html 时会自动复用 HA localStorage accessToken 用于 WebSocket 认证。如果没有会提示转到 Home Assistant 主页登录,请选择保存本次登录才会记录 accessToken。
    • 最佳姿势:在 configuration.yaml 中加入以下配置,可以在侧栏中直接访问(在 WallPanel 中配合使用更佳):
panel_iframe:
  dash:
    title: 面板
    icon: mdi:microsoft
    url: /local/dash.html
  • 指定地址:你也可以把 dash.html 放在任何位置,用浏览器打开后,在使用 dash.html?password@ws:host:8123 指定要访问的 WS API 地址,其中 password 可以是 HA Legacy Password 或者永久有效的 accessToken(在 HA 用户管理页面中创建“长期访问令牌”)。

  • 分组排序:dash.html 后面可以用#指定一个 group 名称(如 dash.html#group.dash,依此仅显示此分组的设备,且按这个分组排序(优先依据类型排序,同类型的按分组先后排序)。如果不指定,默认情况下使用 group.default_view 分组;如果不想使用分组,可以使用 dash.html#NA 来显示所有设备(如果你的 HA 中未使用分组功能,即 group.default_view 不存在,也会 fallback 到显示所有设备)。

  • 移动设备:自适应移动设备,同时在 iOS 中支持 WPA 模式(添加到桌面后使用,看起来非常像个 APP)。

  • 设备操作:支持大多数设备的开关操作,支持空调和风扇的操作模式和温度设置。

2. 个性化配置

可以在 customize.yaml 中对特定的设备进行个性化定制,目前支持以下配置:

key 用途 不配置/默认情况 备注
dash_name 名称 使用 attributes.friendly_name 支持 template 模式
dash_icon 图标 传感器显示 state;空调显示当前温度;其它使用 attributes.icon 支持 template 模式,支持文字(如引用一个传感器属性)
dash_extra 扩展信息 空调和风扇显示操作模式和设定温度,其它无 支持 template 模式
dash_extra_forced 强制显示扩展信息 off 状态下不显示扩展信息
dash_hidden 不显示 hidden 也不显示
dash_click 点击时的动作 传感器无动作,其它执行开关操作 支持 http 链接或 JavaScript
dash_relation 驱动关联设备 用于更新另外一个引用当前状态/属性的设备

关于 template 模式:支持以下几种示例:

  • 直接输入文字如,如 我的设备
  • 插入 state 宏,如 状态 ${sate}
  • 插入 attributes 宏,如 温度 ${temperature}℃
  • 插入其它设备的 state 宏,如 气温 ${sensor.caiyun_temperature}℃
  • 插入其它设备的 attributes 宏,如 气温 ${sensor.caiyun_weather.temperature}℃
  • 使用 JavaScript eval 运算,如eval:"${status}"=="Charging" ? "充电中" : "${status}"

更多个性化配置案例可以在我的 customize.yaml 中搜索 dash,以上几种用法基本上都能找到案例。

二、custom_components 插件

注意:部分命名为 2.py 是因为和 HA 官方的插件命名冲突或者派生而来

通用 ModBus 空调插件,比 HA 官方做的更通用、更好,详情请参考 https://yonsm.github.io/modbus

SasWell 温控面板插件(地暖),详情请参考 https://yonsm.github.io/saswell

基于 broadlink 万能遥控器的窗帘插件(支持 RF),详情请参考 https://bbs.hassbian.com/thread-1924-1-1.html

这个并非我原创,我只是使用者,我的修改点:

  • 依赖库升级到 broadlink==0.9.0,解决 N1 armbian HA 0.8x 下面 segment fault 的问题;
  • self._travel == 0 改成 self._travel <= 0 避免相关 BUG。

彩云天气的标准天气插件,支持15天预报。另外,旧版 sensror 已不再使用,详情请参考https://yonsm.github.io/caiyun

基于 DNS 拦截实现的斐讯悟空空间检测仪 M1 插件,详情请参考网友发的帖子 https://bbs.hassbian.com/thread-4601-1-1.html

另外,基于斐讯在线云数据实现的斐讯悟空空间检测仪 M1 插件 extra/sensor/phicomm.py,详情请参考 https://yonsm.github.io/phicomm

基于 mqtt swicth 扩展的 MQTT 开关,支持以下功能:

  • 支持 icon_template 配置,可以使用 Jinja 脚本运算出不同的图标(参考我的 configuration.yaml 中的 mqtt2 Speaker);
  • 支持 original_state attribute。

几乎零配置,一键接入 Home Assistant 的大部分设备到天猫精灵,可以语音控制相关设备开关。详情请参考 https://bbs.hassbian.com/thread-2700-1-1.html

但上述文章是老的实现方式,不适用于此插件。此插件使用姿势更妙,无需第三方服务器,直接使用 Home Assistant 作为服务器和 OAuth,链路更高效。具体可参考网友的帖子 https://bbs.hassbian.com/thread-4758-1-1.html

另外一键接入 Home Assistant 的大部分设备到小爱同学,没有维护了:miai。小爱同学的智能设备使用控制方式没有天猫精灵好,需要唤醒词语。详情请参考 https://bbs.hassbian.com/thread-4680-1-1.html

8. miai

小爱同学 TTS 播报插件,可以参考 automation.yaml 中大量使用到相关功能;还可以 在HomeAssistant中输入文本,让小爱音TTS箱朗读出来;我并非原创者,源自 https://bbs.hassbian.com/thread-3669-1-1.html

根据传感器数值区间来自动控制设备,详情请参考 https://bbs.hassbian.com/thread-7876-1-1.html

三、个人配置

这是我的 Home Assistant 配置文件。

这是我的 Home Assistant 自动化文件,其中有些脚本可以参考,如只用 Motion Sensor 解决洗手间自动开关灯的难题。

这是我的 Home Assistant 分组文件。

这是我的 Home Assistant 个性化配置文件,主要是中文名称和部分插件的个性化扩展配置。

这是我的 Home Assistant 脚本文件,主要是开关投影仪的批量处理脚本。

四、extra 其它

树莓派和斐讯 N1 armbian 下安装 Home Assistant 的脚本,仅供参考,请按需逐步执行,不要整个脚本直接运行。

主要是一些过期的或者不用的文件,仅供备忘参考。

About

Home Assistant Extras (Dashboard+AliGenie+...)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 90.2%
  • HTML 7.4%
  • Shell 2.4%