找回密码
 立即注册
楼主: bluesnow

[技术探讨] 追觅扫地机插件添加不支持的型号

[复制链接]

1

主题

26

回帖

138

积分

注册会员

积分
138
金钱
111
HASS币
0
发表于 2025-3-9 22:14:34 | 显示全部楼层
yaojogd 发表于 2025-3-9 21:22
我去试了下,你是不是选了小米账号了,你需要选Dreamehome Account啊用追觅官方账号登录 ...

默认就是这个样子的,没有让我选账号的地方。
1.png
2.png
3.png
回复

使用道具 举报

1

主题

148

回帖

1947

积分

金牌会员

积分
1947
金钱
1798
HASS币
0
发表于 2025-3-9 22:44:24 | 显示全部楼层
a250638445 发表于 2025-3-9 22:14
默认就是这个样子的,没有让我选账号的地方。

你要下载v2.0.0b16版本,这个是预览版,1.0的没有支持官方吧
回复

使用道具 举报

1

主题

26

回帖

138

积分

注册会员

积分
138
金钱
111
HASS币
0
发表于 2025-3-10 15:46:56 | 显示全部楼层
yaojogd 发表于 2025-3-9 22:44
你要下载v2.0.0b16版本,这个是预览版,1.0的没有支持官方吧

好的,谢谢,我去试试
回复

使用道具 举报

1

主题

26

回帖

138

积分

注册会员

积分
138
金钱
111
HASS币
0
发表于 2025-3-10 16:06:41 | 显示全部楼层
yaojogd 发表于 2025-3-9 22:44
你要下载v2.0.0b16版本,这个是预览版,1.0的没有支持官方吧

可以了,确实是版本问题,我下了最新版本,不用该配置文件就加进去了,谢谢。
回复

使用道具 举报

1

主题

148

回帖

1947

积分

金牌会员

积分
1947
金钱
1798
HASS币
0
发表于 2025-3-10 22:04:49 | 显示全部楼层
作者已更新17版本,型号位置变了,不在这里了
回复

使用道具 举报

1

主题

25

回帖

300

积分

中级会员

积分
300
金钱
274
HASS币
0
 楼主| 发表于 2025-3-11 10:23:56 | 显示全部楼层
yaojogd 发表于 2025-3-10 22:04
作者已更新17版本,型号位置变了,不在这里了

新版本作者把型号列表加密了,不能直接这样修改了。首先找到const.py内有个SUPPORTED_MODELS变量。
1741654197917.jpg
这里就是现在存储支持设备型号的地方。
根据图中可知这段加密码的解密过程

1741654383830.jpg
其解密过程为Base64解码---->Gzip解压--->JSON解析。
由此可得解密后的列表。此处给出个人解密用的python代码
import base64
import zlib
import json

# 原始 Base64 字符串
SUPPORTED_MODELS = "H4sICAAAAAAEAGRyZWFtZV9kZXZpY2VzLmpzb24AldjdbptAEIbhe/FxFM3M/tJbqXIwYMf4B+M6dhK16r03ltwjXqRwhh6Nvt1ZELD7Z7W+bHzYrH78fFw9v3t3uw3PZxNpVk9TtYJaWR0Zg0MG1ZRH5EJaSS1Nh7uYSgQ1SaRqqFx7n/CUrbKumWcyfhMHc+aWuWNeIwdU7DwKakDNqIU0Cao684gcWFvmjnnNPDBfmW/MH8gFu8mCij2WGaXVCyqsM8Ut85p5w/zKvEU2Vp5fQM2sZ+RCaoZaSYOhVlbsI6YZ7omToCbSLKwfyOrIgXWm+IQcWTkD70lJqFhbhfWCbM58YOaQ4Mwcklg5I6PiA9ZEZ35l3jMfmI/Mb8w3ZJp2FGV15p75RqyGmll9EXeLuF/EpwVsimqsztwiB9SImlGLM3fMF+JgqAm1oFZnbpl3zDi7qKgBtfFFfFjASQbkhFqduUfmEbOhJmfukbn1oqiB9Y24BtSEWlArasPqzC1zz3xgPjJfmfFN2CiqOXPLvEemNU0SUbHWhPSx8Zlyj1yxuoQFGhdoWqD5u9oEUVRDjagJtXFiVVQc7vElnHLPfEAuFPL1/UbNpNqQmqAq6xXZUBNqZv1ErqRBUCNrz/xOHLHrx0ZjylvihG0XTK4ZtaDiWnz9Gb48rYbdfufTw6r7ThmPc1RHZNw/43mXJhmZW2Ynjs2IXJnlF/OZeSbEmUk1jsyUIVFHZlK5387PnY/D7r92KrY9InenCa9VArJK169e/v4Dm6dzqMQUAAA="

# 解码解压流程
try:
    # 1. Base64解码
    decoded_data = base64.b64decode(SUPPORTED_MODELS)
    
    # 2. Gzip解压 (注意使用正确的wbits参数)
    decompressed = zlib.decompress(decoded_data, zlib.MAX_WBITS | 32)
    
    # 3. JSON解析
    models = json.loads(decompressed.decode('utf-8'))
    
except Exception as e:
    print(f"解码失败: {str(e)}")
    models = {}

# 查看数据结构
print(json.dumps(models, indent=2, ensure_ascii=False))
1741654620574.jpg
之后添加完型号后重新加密替换到SUPPORTED_MODELS变量即可。以下是加密代码仅供参考:
SUPPORTED_MODELS_JSON = {}

def compress_and_encode(data):
    """执行 Gzip压缩 + Base64编码 流水线"""
    try:
        # 1. 序列化为JSON字符串
        json_str = json.dumps(data, separators=(',', ':'))
        # 2. Gzip压缩 (关键参数配置)
        compressed = zlib.compress(
        json_str.encode('utf-8'),
        level=6,  # 关键!原始数据可能未使用最高压缩级别
        wbits=zlib.MAX_WBITS | 16
        )
        # 3. Base64编码
        return base64.b64encode(compressed).decode('utf-8')
    
    except Exception as e:
        print(f"压缩编码失败: {str(e)}")
        return ""
# 生成加密字符串
#SUPPORTED_MODELS_NEW = compress_and_encode(SUPPORTED_MODELS_JSON)
SUPPORTED_MODELS_NEW = compress_and_encode(SUPPORTED_MODELS_JSON)
# 验证结果
print(SUPPORTED_MODELS_NEW)

1741659615562.jpg
另外想说这次作者更新已经支持市面上大多数型号了,大多数用户应该用不到这个。
附上测试用代码 temp.zip (2.22 KB, 下载次数: 0)
回复

使用道具 举报

14

主题

648

回帖

4048

积分

论坛元老

积分
4048
金钱
3381
HASS币
10
发表于 2025-4-1 00:22:26 | 显示全部楼层
最新的v2.0.0b17已经自动识别型号了
S40 增强超薄上下水已经支持了
就是实体237个太多了 头皮发麻
iShot_2025-04-01_00.19.22.png
iShot_2025-04-01_00.20.10.png
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-5-1 09:26 , Processed in 0.942084 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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