Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以节点红色获取收到的mqtt消息的时间?_Mqtt_Node Red_Home Automation - Fatal编程技术网

如何以节点红色获取收到的mqtt消息的时间?

如何以节点红色获取收到的mqtt消息的时间?,mqtt,node-red,home-automation,Mqtt,Node Red,Home Automation,有人能告诉我如何以节点红色获取mqtt消息的发布时间吗 我在我的代理上有一条保留消息,它通过mqtt提供给节点red。消息来自homematic wall按钮,该按钮通过homegear连接到我的经纪人 现在的问题是,homegear保留了所有显然对传感器等有利的信息。但是按钮的“真实”信息——如果按下——也保留在它的主题中。 部署或重新启动节点red时,它将接收保留的消息,并在消息刚到达时采取行动 在按下按钮后homegear将在主题中输入“false”之前,我必须检查主题中的消息是否为旧消息

有人能告诉我如何以节点红色获取mqtt消息的发布时间吗

我在我的代理上有一条保留消息,它通过mqtt提供给节点red。消息来自homematic wall按钮,该按钮通过homegear连接到我的经纪人

现在的问题是,homegear保留了所有显然对传感器等有利的信息。但是按钮的“真实”信息——如果按下——也保留在它的主题中。 部署或重新启动节点red时,它将接收保留的消息,并在消息刚到达时采取行动

在按下按钮后homegear将在主题中输入“false”之前,我必须检查主题中的消息是否为旧消息。有机会吗

node red的mqtt帮助告诉我,mqtt中只有四个属性: msg.topic、msg.payload、msg.qos、msg.retain

谢谢你的帮助

干杯,
Patrik

不幸的是,无法获取消息实际发布的时间,您获取的字段(qos、保留、主题和有效负载)是整个消息中唯一的数据(MQTT专门设计为尽可能轻,因此头中的数据绝对最小)


获取时间的唯一方法是发布者将其包含在消息负载中

我想了想,但希望至少有一次我能做到。但这是完全站不住脚的。。。非常感谢。即时/按钮最好不要发布保留的消息,但如果不发布,则需要正确发布其状态(关闭时为true,打开时为false),这是绝对正确的。我正在与homegear的开发者联系,以改变这种行为。不幸的是,您只能保留全部或全部。我想我可以和他一起想出一个解决方案。完整地说:Homegear已经更新,不再保留来自actions的消息。