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

 找回密码
 立即注册
查看: 696|回复: 9

[经验分享] 哈利波特的魔法时钟-韦斯莱钟的HA实现

[复制链接]

4

主题

37

帖子

958

积分

论坛DIY达人

积分
958
金钱
911
HASS币
40
发表于 2025-2-23 23:51:00 | 显示全部楼层 |阅读模式
本帖最后由 gmzjy1989 于 2025-2-24 15:26 编辑

抛砖引玉,放一个丑丑的UI和简单的实现方法,先上线再优化。

韦斯莱钟是哈利波特里的标志性物品之一,钟面标注了家庭成员的状态,每个指针对应一个家庭成员。
1.jpg

实现效果预览:
左边为在家时人员的位置(7-11点方向),右边表示人员外出了(1-5点方向);
如果手机蓝牙连着车机就表示在车上(6点方向,还没实现,先预留着);
如果12个小时没有收到GPS、蓝牙、wifi的信号,那就暂时标记为“躲猫猫”(不知道人去哪了);
效果如图:
3.jpg
游客,如果您要查看本帖隐藏内容请回复
  

需要的工作:

1、家庭成员定位
        这个方法有很多,官方文档也提供了相当详细的说明(https://www.home-assistant.io/integrations/person/);
        可以同时采用多个方法,HA会按优先度去判断
        我采用的方案包括:
        1)判断不在家时的GPS
              Homeassistant APP: 这个不用说,装了APP就会生成一个device_tracker,绑定到家庭成员就行;缺点是不开后台运行GPS就不更新;
              icloud v3组件:适合家中是苹果用户,可追踪Iphone 和Iwatch;https://github.com/gcobb321/icloud3
       2)判断是否在家:
             官方Nmap Tracker集成:使用Nmap直接扫描网络中设备,考虑到现在人在家的话手机基本都会自动连上wifi,所以基本靠谱(缺点是开飞行模式就不行了),不能定位到房间
             ESPresense: 在家里放几个ESP32节点,通过监测家里蓝牙信号判断人或者设备的位置,可以精确到哪个房间https://espresense.com/;实践下来,我放了6个,也还是会有一些漂移和位置判断不准;但是用来判断是否在家,比wifi和gps靠谱,也适用于各种蓝牙手表、手环、安卓手机检测,通用性相对高;判断是否在家非常靠谱、也能定位到房间,但房间定位会有±1m漂移导致不完全准确(毕竟咱家小户型,飘个1m已经就去别的房间去了)
             人在传感器:人在传感器越来越便宜了,不带电线的版本也普及了,每个房间放1-2个,精准判断哪个房间有人,缺点是判断不了是哪个家庭成员
            (理论上也可以综合上述三者写一个复杂的逻辑判断谁在哪个房间,以后再研究)

       上述定位方案各有优缺点,除了人在传感器,一股脑把device_tracker跟家庭成员绑定即可,HA会按顺序优先做如下判断:
        1)如果蓝牙或者nmap判定人在家,那人就在家
        2)如果蓝牙和nmap没有判定的情况下,会使用GPS判定是否在家
        3)否则,采用GPS判断区域;

2、区域划定
      这个直接用HA的设置->区域、标签与地点,把常去的地方标记一下区域。
      比如Home(废话)、家人上班的地点、学校等等。然后再划了覆盖整个广州的大圈,用于区分是普通外出还是诗和远方。
3、位置配置:
     通过yaml配置两个sensor:
游客,如果您要查看本帖隐藏内容请回复
  
4、页面实现
     页面素材准备:
     准备一个表盘背景(我直接用了透明背景)
     N个指针的png或者svg图,每个指针的颜色代表一个人;也可以再额外准备几个logo或者卡通头像代表家人;

     我这边实现是:
     如果在家,用黄色指针标记人在哪个房间(卧室、书房、客厅、厨房、卫生间),采用人在传感器判断
     如果不在家,分别用蓝色和粉色指针标记人去了哪(指针上再附一个logo标记上是谁),采用person的状态判断(第三步配置的sensor)

     依据这个逻辑:UI配置如下:
     第一部分:表盘
游客,如果您要查看本帖隐藏内容请回复
  
第二部分:
      点缀;作为一个俗套的时钟,还是要放个时间日期好一些,改用数字版
      (嵌入了一个蘑菇卡片和翻页的时钟)
游客,如果您要查看本帖隐藏内容请回复
  
    第三部分:
         根据人的位置,指针指向对应位置(通过conditional来判断,选择性显示)
游客,如果您要查看本帖隐藏内容请回复
  












评分

参与人数 4金钱 +34 收起 理由
hzy4619666 + 2 膜拜大神!
jjcs + 12 绝对的高手
wange + 10
kjjuhfv + 10

查看全部评分

回复

使用道具 举报

0

主题

14

帖子

143

积分

注册会员

Rank: 2

积分
143
金钱
129
HASS币
0
发表于 2025-2-24 11:09:12 | 显示全部楼层
xiexiefenxiang
回复

使用道具 举报

0

主题

7

帖子

83

积分

注册会员

Rank: 2

积分
83
金钱
76
HASS币
0
发表于 2025-2-24 11:11:52 | 显示全部楼层
这个有意思,谢谢大佬分享
回复

使用道具 举报

0

主题

190

帖子

1535

积分

金牌会员

Rank: 6Rank: 6

积分
1535
金钱
1345
HASS币
0
发表于 2025-2-24 11:59:29 | 显示全部楼层
这个不错,定位到房间准吗?
回复

使用道具 举报

0

主题

17

帖子

73

积分

注册会员

Rank: 2

积分
73
金钱
56
HASS币
0
发表于 2025-2-24 14:10:16 | 显示全部楼层
通过yaml配置两个sensor:
回复

使用道具 举报

1

主题

13

帖子

192

积分

注册会员

Rank: 2

积分
192
金钱
179
HASS币
0
发表于 2025-2-24 15:32:16 | 显示全部楼层
这个有意思,谢谢大佬分享
回复

使用道具 举报

0

主题

1

帖子

10

积分

新手上路

Rank: 1

积分
10
金钱
9
HASS币
0
发表于 4 天前 | 显示全部楼层
不明觉厉,先赞再看
回复

使用道具 举报

1

主题

20

帖子

143

积分

注册会员

Rank: 2

积分
143
金钱
123
HASS币
0
发表于 4 天前 | 显示全部楼层
学习学习学习
回复

使用道具 举报

0

主题

3

帖子

29

积分

新手上路

Rank: 1

积分
29
金钱
26
HASS币
0
发表于 3 天前 | 显示全部楼层
学习一下
回复

使用道具 举报

0

主题

5

帖子

36

积分

新手上路

Rank: 1

积分
36
金钱
31
HASS币
0
发表于 前天 17:53 | 显示全部楼层

这个有意思,谢谢大佬分享
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-3-4 19:27 , Processed in 0.079203 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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