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

 找回密码
 立即注册
查看: 1510|回复: 5

[UI界面] 求教,做终端前台都有哪些路子?

[复制链接]

1

主题

18

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
金钱
214
HASS币
0
发表于 2024-1-17 21:00:14 | 显示全部楼层 |阅读模式
此前只用过Floorplan 凑图片做了个,现在突然想玩点好看点的如下图那样,大佬们说说可以用啥路子来做?
WeChat9965c187e51e2b8a5730474881f5173f.jpg
回复

使用道具 举报

32

主题

1065

帖子

4946

积分

论坛元老

Rank: 8Rank: 8

积分
4946
金钱
3866
HASS币
90
发表于 2024-1-17 23:14:35 | 显示全部楼层
本帖最后由 relliky 于 2024-1-17 23:22 编辑

好看归好看,但现成的layout card/grid card好像都做不了这种不规则形状。可能得来点高级的搞法。感兴趣就可以自己去学CSS了。学个几个月估计能搞出来这样的。
我之前搞了一下午才搞了个灯光卡片 https://bbs.hassbian.com/thread-22726-1-1.html。而且还是只改了CSS的参数。估计要我自己重新写结构得学好久。

如果不介意弄比较规则的形状,论坛里面有好多人分享了面板和代码,拿来改改就能用,几天就能弄好。
我家全屋智能的HA设置 https://github.com/relliky/Tais_Home_Assistant_Config
回复

使用道具 举报

10

主题

1332

帖子

4254

积分

论坛元老

Rank: 8Rank: 8

积分
4254
金钱
2922
HASS币
0
发表于 2024-1-18 10:22:26 | 显示全部楼层
直接网页做,做完了对接ha的api
回复

使用道具 举报

146

主题

2268

帖子

7008

积分

元老级技术达人

积分
7008
金钱
4735
HASS币
30
发表于 2024-1-18 12:49:12 | 显示全部楼层
隔壁的王叔叔 发表于 2024-1-18 10:22
直接网页做,做完了对接ha的api

正解,直接html5+css3+js,做个网页,直接对接ha的api,在ha里改,会麻烦很多,有很多限制
回复

使用道具 举报

1

主题

18

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
金钱
214
HASS币
0
 楼主| 发表于 2024-1-19 16:17:45 | 显示全部楼层
bugensui 发表于 2024-1-18 12:49
正解,直接html5+css3+js,做个网页,直接对接ha的api,在ha里改,会麻烦很多,有很多限制 ...

找了两天没找到可以入门的示例。。。
比如怎么接入ha的websocket api方法 然后怎么调用实体状态什么的。。。
大佬们有没有在哪看到过?
回复

使用道具 举报

146

主题

2268

帖子

7008

积分

元老级技术达人

积分
7008
金钱
4735
HASS币
30
发表于 2024-1-19 17:14:43 | 显示全部楼层
本帖最后由 bugensui 于 2024-1-19 17:22 编辑
drwu 发表于 2024-1-19 16:17
找了两天没找到可以入门的示例。。。
比如怎么接入ha的websocket api方法 然后怎么调用实体状态什么的。 ...

ha官方文档是有api的具体使用方法,一两句话说不清楚,不同种类,操作,方法不一样,大致是,你自己得用html做好前端页面,就是基础ui,然后可以配合js+get请求来获取实体的状态相关属性,举列代码如下,这个代码是获取家里路由器连接设备的数量,我是想在ha里实时看到家里设备的连接数量,展示访客wifi的密码,当然路由器需要接入ha哦,这个只是举例子,其他设备也是一样,需要在ha里配置好长期令牌,然后发送xmlhttp.open请求的时候,需要携带令牌,然后前端页面处理返回的数据,插入ul页面即可,需要点技术基础,效果见下面图片。

我之前是想,ha的前端页面完全自己做,用html也代替,用api跟ha对接,但是需要花很多精力,就放弃了,如果你会html、css、js的话,可以做出很炫酷的ha界面。
<!--
var xmlhttp;
try{
xmlhttp= new ActiveXObject('Msxml2.XMLHTTP');
}catch(e){
try{
xmlhttp= new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
try{
xmlhttp= new XMLHttpRequest();
}catch(e){}
}}


xmlhttp.open("get","/api/states/sensor.192_168_0_1_devices_connected");
微信图片_20240119171303.jpg



回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 00:45 , Processed in 0.109894 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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