找回密码
 立即注册
查看: 2176|回复: 4

[技术探讨] 怎么获取mqtt主题中的特定字符???

[复制链接]

1

主题

22

回帖

470

积分

中级会员

积分
470
金钱
447
HASS币
0
发表于 2023-7-26 21:23:03 | 显示全部楼层 |阅读模式
我有一个zigbee的旋钮开关通过zigbee2mqtt接入到HA里, 接入后发现zigbee2mqtt只能识别到一些动作, 通过查看日志发现旋钮开关还额外发送了一些信息, 这些信息正是需要的, 然后想从mqtt的主题信息中提取这些特定字符串作为自动化的触发条件, 目前不知道如何提取.

zigbee2mqtt发送的信息文本如下:
Zigbee2MQTT:info  2023-07-26 19:29:03: MQTT publish: topic 'zigbee2mqtt/旋钮开关', payload '{"action":"rotate","action_direction":"clockwise","action_number":12,"battery":85,"direction":null,"linkquality":112,"update":{"installed_version":18,"latest_version":26,"state":"available"},"update_available":true}'

我需要提取的是主题:'zigbee2mqtt/旋钮开关'中的"action_direction":"clockwise"这一字段作为触发条件, 不知道是否可以实现, 是否可以填入通配符来实现,可以的话通配符的符号是什么呢? 不知道有没有熟悉的大佬可以指教一下.

截屏2023-07-26 21.19.28.png

回复

使用道具 举报

jjcs 手机认证

51

主题

1922

回帖

7787

积分

论坛元老

积分
7787
金钱
5803
HASS币
40
发表于 2023-7-26 21:34:26 | 显示全部楼层
直接用nr
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

1

主题

22

回帖

470

积分

中级会员

积分
470
金钱
447
HASS币
0
 楼主| 发表于 2023-7-26 21:59:08 | 显示全部楼层

谢谢, 为了一个功能不大想再去安装另外一个插件.  如果真解决不了我再安装nr来实现自动化.
回复

使用道具 举报

18

主题

583

回帖

4534

积分

元老级技术达人

积分
4534
金钱
3898
HASS币
182
发表于 2023-7-27 07:48:59 | 显示全部楼层
回复

使用道具 举报

0

主题

32

回帖

1070

积分

金牌会员

积分
1070
金钱
1038
HASS币
0
发表于 2023-7-27 09:24:09 | 显示全部楼层
本帖最后由 eggie 于 2023-7-27 09:28 编辑

从 MQTT 消息中提取特定字段的值需要对消息进行解析和处理。你可以使用编程语言中的 JSON 解析器来解析 Zigbee2MQTT 发送的 JSON 格式的消息,然后提取action_direction字段的值。

在大多数编程语言中,你可以使用内置的 JSON 解析器或第三方 JSON 库来解析 JSON 格式的数据。以下是一个 Python 代码示例,用于提取 MQTT 消息中的action_direction字段的值:
import json

# 假设以下是从 MQTT 中接收到的消息
mqtt_message = '{"action":"rotate","action_direction":"clockwise","action_number":12,"battery":85,"direction":null,"linkquality":112,"update":{"installed_version":18,"latest_version":26,"state":"available"},"update_available":true}'

# 将 JSON 格式的消息解析成 Python 字典
message_dict = json.loads(mqtt_message)

# 提取 action_direction 字段的值
action_direction = message_dict.get("action_direction")

print(action_direction)  # 输出: 'clockwise'

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-5-18 03:30 , Processed in 0.133847 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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