让 Home Assistant 支持 Lifesmart 设备的 HACS 插件 Lifesmart devices for Home Assistant
-
请根据您所在的国家,确认您所在区域对应的 LifeSmart 服务器,必须使用
API 授权后返回的地址
。查看详细的区域服务器列表。 WebSocket URL地址的选择,必须根据⽤户授权成功后返回的svrrgnid
保持⼀致,否则不会 正常⼯作,WebSocket 不⽀持跨区使⽤。 Find current LifeSmart region for your country America, Europe, Asia Pacific, China. -
在 LifeSmart 开放平台上创建一个新应用,以便获取应用密钥(
App Key
)和应用令牌(App Token
)。访问申请页面(注意:该链接不是 HTTS 连接,请检查浏览器地址栏是否使用 HTTP 访问)。 New Application from LifeSmart Open Platform to obtainApp Key
andApp Token
-
使用您的 LifeSmart 账户登录上一步创建的应用,授权第三方应用访问,从而获取用户令牌(
User Token
)。请确保您使用的 API 地址与您所在的区域相匹配。点击直达如何通过 Python 代码获取 Login to application created in previous bullet with LifeSmart user to grant 3rd party application access to getUser Token
, please ensure you use the api address with correct region.
特别提示:LifeSmart 开放平台的默认应用不会包含锁设备的类型信息,若无实体权限则无法生成门锁实体,而只会在门锁有开关动作后生成 二元传感器 。如需门锁实体功能,需联系 LifeSmart 官方获取授权。 点击直达如何获取门锁设备的授权 Please note that, by default application from LifeSmart Open Platform won't return you Lock devices type. You have to contact them to get it granted to your application.
- 该插件需要联网。在首次加载插件时,它会调用 LifeSmart API 来获取所有设备信息,并在 Home Assistant 中进行设置。之后,插件将通过 websocket 从 LifeSmart 获取设备更新信息。目前,Home Assistant 与 LifeSmart 中枢之间没有直接通信。
-
进入 HACS > 集成 > 点击右上角的三个点 > 选择自定义仓库。Go to HACS > Integration > 3 dots menu at the top right > choose Custom Repository 已经安装了HACS,可以点击按钮快速安装
-
在自定义仓库对话框中输入以下信息 In custom repository dialog enter :
仓库地址:https://github.com/MapleEve/lifesmart-for-homeassistant
类别选择:集成
Category: Integration
-
点击添加按钮。
-
添加完成后,通过右下角添加集成进行安装,再进入集成页面添加集成,搜索
Lifesmart
就可以添加集成并进行设置。
使用 HACS 可以方便您在新版本发布后及时更新。 2024 年内,我将把它加入 HACS 默认仓库列表,并计划将来将其纳入 Home Assistant 官方集成。Via HACS should allow you to get new version when it ready. I plan to add it to HACS default repository list in 2024 and plan to include it in Home Assistant official integration in future.
不建议使用手动安装方法,因为它需要手动更新插件,且可能与最新的 Home Assistant 版本不兼容。NOT RECOMMENDED!
lifesmart:
appkey: # 你应用的 appkey
apptoken: # 你应用的 apptoken
usertoken: # 你获取到的 usertoken
userid: # 你获取到的 userid
url: # 你使用的 api 地址,建议使用 api.cn0.ilifesmart.com 或者 api.cn2.ilifesmart.com
由于代码重构和更新,可能会有旧设备从支持列表中移除,移除的旧设备加上了删除线。
- 开关 Switch
- 智能门锁 Door Lock
- 智能插座 Plugs
- 动态传感器、门禁传感器、环境传感器、甲醛/气体传感器 Dynamic Sensor, Door Sensor, Environmental Sensor, Formaldehyde/Gas Sensor
- 照明:目前仅支持超级碗夜灯 Super Bowl
- 通用遥控器 IR Remote
- 窗帘电机和窗帘电机的更新状态 Curtain Motor and Curtain Motor Update
- 空调控制面板 Air Conditioner Control Panel
型号 | App 内设备名称 | 备注 |
---|---|---|
SL_MC_ND1 | 恒星/⾠星/极星开关伴侣 | |
SL_MC_ND2 | 恒星/⾠星/极星开关伴侣 | |
SL_MC_ND3 | 恒星/⾠星/极星开关伴侣 | |
SL_NATURE | 超能面板 | |
SL_P_SW | 九路开关控制器 | 目前可能只支持3路,请提供详细设备日志 |
SL_S | 开关智控器 | |
SL_SF_IF1 | 单火流光开关 | |
SL_SF_IF2 | 单火流光开关 | |
SL_SF_IF3 | 单火流光开关 | |
SL_SF_RC | 单火触摸开关 | |
SL_SPWM | 可调亮度开关智控器 | |
SL_SW_CP1 | 橙朴流光开关 | |
SL_SW_CP2 | 橙朴流光开关 | |
SL_SW_CP3 | 橙朴流光开关 | |
SL_SW_DM1 | 动态调光开关 | 可能有问题,请提供详细设备日志 |
SL_SW_FE1 | 格致/塞纳开关 | |
SL_SW_FE2 | 格致/塞纳开关 | |
SL_SW_IF1 | 流光开关 | |
SL_SW_IF2 | 流光开关 | |
SL_SW_IF3 | 流光开关 | |
SL_SW_MJ1 | 奇点开关模块 | 经过真实设备测试 |
SL_SW_MJ2 | 奇点开关模块 | 经过真实设备测试 |
SL_SW_MJ3 | 奇点开关模块 | |
SL_SW_ND1 | 恒星/⾠星/极星开关伴侣 | |
SL_SW_ND2 | 恒星/⾠星/极星开关伴侣 | |
SL_SW_ND3 | 恒星/⾠星/极星开关伴侣 | |
SL_SW_RC | 触摸开关,极星开关(零⽕版) | |
SL_SW_RC1 | ⽩⽟/墨⽟流光开关 | |
SL_SW_RC2 | ⽩⽟/墨⽟流光开关 | |
SL_SW_RC3 | ⽩⽟/墨⽟流光开关 | |
SL_SW_NS1 | 视界触摸开关⼀键 | |
SL_SW_NS2 | 视界触摸开关⼀键 | |
SL_SW_NS3 | 视界触摸开关⼀键 | |
M_APL_E |
型号 | App 内设备名称 | 备注 |
---|---|---|
SL_LK_LS | 智能⻔锁 | 经过真实设备测试 |
SL_LK_GTM | 盖特曼智能⻔锁 | |
SL_LK_AG | 西勒奇智能⻔锁 | |
SL_LK_SG | 思哥智能⻔锁 | |
SL_LK_YL | 耶鲁智能门锁 | 经过真实设备测试 |
SL_P_BDLK | 必达智能门锁 | |
OD_JIUWANLI_LOCK1 | 九万⾥智能门锁 |
型号 | App 内设备名称 | 备注 |
---|---|---|
SL_P | 通用控制器 | 经过真实设备测试 |
型号 | App 内设备名称 | 备注 |
---|---|---|
SL_OE_DE | 计量插座(德标) | 支持计量,经过真实设备测试 |
SL_OE_3C | 计量插座(国标) | 支持计量 |
SL_OL_W | 入墙插座 | 支持计量 |
OD_WE_OT1 | Wi-Fi插座 | 此设备只有开关 |
SL_OL | 智慧插座 | |
SL_OL_3C | 智慧插座(国标) | |
SL_OL_DE | 智慧插座(德标) | |
SL_OL_UK | 智慧插座(英标) | |
SL_OL_UL | 智慧插座(美标) |
型号 | App 内设备名称 | 备注 |
---|---|---|
SL_SW_WIN | 窗帘控制器 | |
SL_CN_IF | 格致/塞纳三键窗帘控制器 | |
SL_CN_FE | 窗帘控制开关 | |
SL_DOOYA | 窗帘电机/速接窗帘电机 | |
SL_P_V2 | 智界窗帘电机智控器 |
型号 | App 内设备名称 | 备注 |
---|---|---|
SL_LI_RGBW | 胶囊灯泡 | |
SL_CT_RGBW | 幻彩灯带 | |
SL_SC_RGB | 幻彩灯带(不带⽩光) | |
OD_WE_QUAN | 量⼦灯 | |
SL_LI_WW | 调光调⾊控制器 | |
SL_LI_GD1 | 调光壁灯 | |
SL_LI_UG1 | 花园地灯 | |
MSL_IRCTL | 超级碗(基础版,蓝⽛版) | |
OD_WE_IRCTL | 超级碗(闪联版) | |
SL_SPOT | 超级碗(CoSS版) | |
SL_P_IR | 红外模块 |
型号 | App 内设备名称 | 备注 |
---|---|---|
SL_SC_G | ⻔禁感应器 | |
SL_SC_BG | 多功能(CUBE)⻔禁感应器 | |
SL_SC_MHW | 动态感应器 | |
SL_SC_CM | 动态感应器(7号电池版) | |
SL_SC_BM | 多功能(CUBE)动态感应器 | |
SL_P_RM | ⼈体存在感应器 | |
SL_SC_THL | 环境感应器 | |
SL_SC_BE | 多功能(CUBE)环境感应器 | |
SL_SC_CQ | 环境感应器(CO2+TVOC) | |
SL_SC_CA | 环境感应器(CO2) | |
SL_SC_WA | ⽔浸感应器 | |
SL_SC_CH | ⽓体感应器(甲醛) | |
SL_SC_CP | ⽓体感应器(燃⽓) | |
ELIQ_EM | ELIQ电量计量器 | |
语⾳⼩Q | ||
SL_P_A | 烟雾感应器 | |
SL_DF_GG | 云防⻔窗感应器(DEFED Window/Door) | |
SL_DF_MM | 云防动态感应器(DEFED Motion) | |
SL_DF_SR | 云防室内警铃(DEFED Indoor Siren) | |
SL_DF_BB | 云防遥控器(DEFED Key Fob) | |
SL_SC_CN | 噪⾳感应器(Noise Sensor) |
该项目参考了以下项目的数据和结构
- @MapleEve 本人的重构 LifeSmart 的原始项目
- @skyzhishui 提供的 custom_components
- @Blankdlh 提供的 hass-lifesmart
- @iKew 的重构
- @likso 提供的 hass-lifesmart
通过iLifeSmart后台的小工具拼接appkey,apptoken,回调地址、时间戳、did(可以为空)并在页面里面生成sign来访问用户页面进行授权
访问小工具页面
点击获取用户授权签名验证
然后参考下面 Python 脚本拼接,或者直接执行 Python 脚本
import time
import hashlib
tick = int(time.time())
appkey = "你的应用 APPKEY"
callbackurl = "http://localhost"
apptoken = "你的应用 APPK TOKEN"
sdata = "appkey=" + appkey
sdata += "&auth_callback=" + callbackurl
sdata += "&time=" + str(tick)
sdata += "&apptoken=" + apptoken
sign = hashlib.md5(sdata.encode(encoding='UTF-8')).hexdigest()
url = "https://api.ilifesmart.com/app/auth.authorize?id=001&"
url += "&appkey=" + appkey
url += "&time=" + str(tick)
url += "&auth_callback=" + callbackurl
url += "&sign=" + sign
url += "&lang=zh"
print(url)
脚本运行之后会打印一个地址,浏览器访问这个地址,用你的 Lifesmart APP
帐号密码登录即可从浏览器跳转到空页面 URI 中获取到
User ID、User Token、Token 过期时间、和优选的 API 域名地址 官方文档中提到必须使用这个区域,否则 Websocket 请求有问题
后面会考虑用用户名和密码模式,不过用户名和密码模式不是很稳定
- 请使用应用的注册邮箱相同发邮件联系 LifeSmart 的官方邮箱 service(at)ilifesmart.com
- 注明需要修改的应用名称,应用 AppKey,或者在应用详情的 URI 地址内提供应用的 AppID
- 说明需要增加的权限
DoorLock
和DoorLock Control
你就可以在近期收到回复,回复中会告诉你应用增加了权限
亲爱的用户:
开发平台于 XXXX-XX-XX XX:XX:XX 收到消息:
您的应用(XXXXXXXXX)于 XXXX-XX-XX XX:XX:XX:Basic;DoorLock;DoorLock Control;通过
请及时前往平台进行处理。
此致
LifeSmart研发团队