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

 找回密码
 立即注册
查看: 1086|回复: 10

[技术探讨] 用VUE3制作HA卡片

[复制链接]

2

主题

17

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
金钱
361
HASS币
0
发表于 2024-8-3 15:08:55 | 显示全部楼层 |阅读模式
本帖最后由 kkzxsews 于 2024-8-3 15:08 编辑

VUE3 有一个 defineCustomElement方法可以把整个VUE项目打包成自定义元素给这个返回的自定义元素增加上 Ha 卡片必要的属性和方法后就可以注册成卡片在configuration.yaml引入并使用了

https://github.com/fh332393900/threejs-demo是一个和floor3dcard一样加载glb模型的vue3项目
下载到本地 run起来后 修改它的 src/main.js

//引入CSS
#three{
height:90vh;
display: flex;
flex-direction: column-reverse
}`,
`@import 'http://192.168.0.155:8123/local/community/myhome/dist/index.css'
`]
const floorcard_my = defineCustomElement(App);

floorcard_my.prototype.config = null;
floorcard_my.prototype.setConfig = function (config:any) {
  this.config = config
}
Object.defineProperties(floorcard_my.prototype,{
  hass: {
    set:function(newhass:any) {
      // console.log(newhass);
      (globalThis as any).hass = newhass
      // console.log((globalThis as any).hass.states)
      myEvent = new CustomEvent('myCustomEvent', {
        detail: {
          message: newhass
        },
        bubbles: true, // 是否冒泡
        cancelable: false // 是否可以取消
      });
      window.dispatchEvent(myEvent)
    }
  }
})
customElements.define('floorcard-my', floorcard_my );
//configuration.yaml
[
{url: main.js的位置,                            type: module},
引入后把导入的模型换成自己的 再在代码中仿照floor3dcard绑定实体增加点光源就有类似floor3dcard的效果了
屏幕截图 2024-08-03 150313.png
屏幕截图 2024-08-03 145943.png

评分

参与人数 1金钱 +12 收起 理由
隔壁的王叔叔 + 12 大佬,能手摸手的教一教么?

查看全部评分

回复

使用道具 举报

59

主题

673

帖子

4291

积分

论坛元老

Rank: 8Rank: 8

积分
4291
金钱
3613
HASS币
20
发表于 2024-8-3 21:31:32 | 显示全部楼层

                               
登录/注册后可看大图
牛啊 刚刚我才优化我的模型可以试试效果了
71e91caf6cc3843e0b155f3adfe3f904.png
回复

使用道具 举报

146

主题

2267

帖子

7004

积分

元老级技术达人

积分
7004
金钱
4732
HASS币
30
发表于 2024-8-4 01:23:39 | 显示全部楼层
为什么不直接用floor3dcard
回复

使用道具 举报

2

主题

17

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
金钱
361
HASS币
0
 楼主| 发表于 2024-8-4 10:30:13 | 显示全部楼层
bugensui 发表于 2024-8-4 01:23
为什么不直接用floor3dcard

floor3dcard开关灯是靠双击模型来触发的,这个事件在手机上是无效的,所以找了个能在鼠标移如模型弹窗的来改造成floor3dcard的样子。
回复

使用道具 举报

16

主题

381

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
金钱
2249
HASS币
10
发表于 2024-8-4 13:20:19 | 显示全部楼层
这个和floor3dcard哪个资源占用低啊
回复

使用道具 举报

146

主题

2267

帖子

7004

积分

元老级技术达人

积分
7004
金钱
4732
HASS币
30
发表于 2024-8-4 14:15:18 | 显示全部楼层
kkzxsews 发表于 2024-8-4 10:30
floor3dcard开关灯是靠双击模型来触发的,这个事件在手机上是无效的,所以找了个能在鼠标移如模型弹窗的 ...

我手机上,双击是可以的,你是不是搞错了
回复

使用道具 举报

2

主题

17

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
金钱
361
HASS币
0
 楼主| 发表于 2024-8-4 15:32:08 | 显示全部楼层
bugensui 发表于 2024-8-4 14:15
我手机上,双击是可以的,你是不是搞错了

那应该是我没配置好,不过无所谓了 我主要也是希望以后能看到有用前端框架做的卡片 floor3d-card这种对我这种公式人来说阅读难度太高了。
回复

使用道具 举报

146

主题

2267

帖子

7004

积分

元老级技术达人

积分
7004
金钱
4732
HASS币
30
发表于 2024-8-4 15:38:11 | 显示全部楼层
kkzxsews 发表于 2024-8-4 15:32
那应该是我没配置好,不过无所谓了 我主要也是希望以后能看到有用前端框架做的卡片 floor3d-card这种对我 ...

操作确实是双击的,双击开灯,双击开电风扇,空调等,应该是配置里,你没有配置好。文档里我记得有
微信图片_20240804153619.jpg
回复

使用道具 举报

2

主题

17

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
金钱
361
HASS币
0
 楼主| 发表于 2024-8-4 16:02:22 | 显示全部楼层
bugensui 发表于 2024-8-4 15:38
操作确实是双击的,双击开灯,双击开电风扇,空调等,应该是配置里,你没有配置好。文档里我记得有

...

感谢 我竟然又因为没配置好绕了个大圈 早知道就发帖问了
回复

使用道具 举报

5

主题

79

帖子

876

积分

高级会员

Rank: 4

积分
876
金钱
797
HASS币
0
发表于 2024-8-4 16:59:29 | 显示全部楼层
floor3d里面可以用这种方式配置卡片吗?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 06:33 , Processed in 0.135055 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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