Read the statement by Michael Teeuw here.
[MMM-MQTTbridge] A module to publish and receive MQTT messages
-
@wishmaster270 said in [MMM-MQTTbridge] A module to publish and receive MQTT messages:
@Cr4z33 Hi,
think I found the problem.
You need to send streamX as value where X is the number of the stream in the configuration of MMM-RTSPStream.
You will need to configure the camera information in the MMM-RTSPStream module and only will be able to start the stream by notificationHi mate I am coming back after a long time because real life was very busy lately and I could get back at this only in the last 2 days.
So based on your reply I set mqttDictionary.js like this
var mqttHook = [ { mqttTopic: "zigbee2mqtt/BTicino F20T60A", mqttPayload: [ { payloadValue: "", mqttNotiCmd: ["POWERMETER"], mqttPayload: "" }, ], }, { mqttTopic: "DahuaVTO/VideoTalkLog/Event", mqttPayload: [ { jsonpath: "Action", conditions: [ { type: "eq", value: "Pulse" }, ], mqttNotiCmd: ["videocitofono"] }, ], }, ]; var mqttNotiCommands = [ { commandId: "POWERMETER", notiID: "POWERMETER_VALUES", }, { commandId: "videocitofono", notiID: "RTSP-PLAY", notiPayload: "stream1" }, ]; module.exports = { mqttHook, mqttNotiCommands};
Although
stream1
is the one and only stream used in MMM-RTSPStream I still get no playback when the doorbell button is pressed, but if I start the stream by clicking on the module’s playback button then it works.I paste here also the PM2 log line (note that sensitive data have been censored) when the doorbell button is pressed:
[23.09.2024 12:36.03.216] [LOG] [MQTT bridge] MQTT message received. Topic: DahuaVTO/VideoTalkLog/Event, message: { "Action": "Pulse", "Code": "VideoTalkLog", "Data": { "EndState": "Missed", "LocalNumber": "9901", "LocaleTime": "2024-09-23 12:36:03", "RealUTC": 1727087763, "TalkTime": 0, "UTC": 1727091363.0 }, "Index": 0, "deviceType": "DHI-VTO2202F-P-S2", "serialNumber": "*******" }
Can you please see why it’s not working yet? 🙏🏼
-
@Cr4z33 Hi and welcome back.
I still do not have a glue about the RTSP module.Can you please provide your RTSP config. I try to reproduce the problem but do not have much time to test at the moment.
-
@wishmaster270 here is the code of my RTSPStream module thanks. 🙂
I replaced my video doorbell RTSP stream with some testing live HTTPS camera one as I couldn’t find a working RTSP testing stream.
Take your time as long as it takes. 👍🏼
{ module: "MMM-RTSPStream", position: "middle_center", disabled: false, config: { autoStart: false, rotateStreams: true, rotateStreamTimeout: 10, moduleWidth: 500, moduleHeight: 281, localPlayer: 'vlc', moduleOffset: { left: -170, top: -125 }, remotePlayer: 'ffmpeg', showSnapWhenPaused: false, remoteSnaps: false, shutdownDelay: 12, stream1: { name: 'Videocitofono', url: 'https://99663300.hopto.org:19526/Jpeg/1?authToken=7f9c4ca8-e776-40c9-b242-6882b7b4775e&1727250645145', frameRate: 'undefined', width: 500, height: 281, muted: true, ffmpegPort: 9999, }, } },
-
@wishmaster270 after I left this project abandoned for almost 1 year I went back to it, but I still can’t get it to work. 🥲
To resume what I want to achieve is to have MMM-RTSPStream popping up a live doorbell video feed on my smart mirror whenever someone presses the button.
The interested MQTT line is
2025-04-16 10:30:07,536 INFO __main__ Publishing MQTT message DahuaVTO/Invite/Event: {'Action': 'Pulse', 'Code': 'Invite', 'Data': {'CallID': '2', 'IsEncryptedStream': False, 'LocaleTime': '2025-04-16 10:30:07', 'LockNum': 2, 'RealUTC': 1744792207, 'SupportPaas': False, 'TCPPort': 37777, 'UTC': 1744795807.0, 'UserID': '101'}, 'Index': 0, 'deviceType': 'DHI-VTO3311Q-WP', 'serialNumber': '********'}
I therefore edited my current mqttDictionary.js by adding
var mqttHook = [ { mqttTopic: "zigbee2mqtt/BTicino F20T60A", mqttPayload: [ { payloadValue: "", mqttNotiCmd: ["POWERMETER"], mqttPayload: "" }, ], }, { mqttTopic: "DahuaVTO/Invite/Event", mqttPayload: [ { jsonpath: "Action", conditions: [ { type: "eq", value: "Pulse" }, ], mqttNotiCmd: ["videocitofono"] }, ], }, ]; var mqttNotiCommands = [ { commandId: "POWERMETER", notiID: "POWERMETER_VALUES", }, { commandId: "videocitofono", notiID: "RTSP-PLAY", notiPayload: "stream1" }, ]; module.exports = { mqttHook, mqttNotiCommands};
I then edited in config.js the lines related to the MMM-RTSPStream module like this
{ module: "MMM-RTSPStream", position: "middle_center", disabled: false, config: { autoStart: false, rotateStreams: true, rotateStreamTimeout: 10, moduleWidth: 500, moduleHeight: 281, localPlayer: 'vlc', moduleOffset: { left: -170, top: -125 }, remotePlayer: 'ffmpeg', showSnapWhenPaused: false, remoteSnaps: false, shutdownDelay: 12, stream1: { name: 'Videocitofono', url: 'rtsp://username:password@ipaddress/cam/realmonitor?channel=1&subtype=1#backchannel=0', frameRate: 'undefined', width: 500, height: 281, muted: true, ffmpegPort: 9999, }, } },
Nothing happens when I press the doorbell button.
Maybe we need to add some more data to mqttDictionary.js?
-
@Cr4z33 Sorry, but I am very busy at the moment.
Did you find any response of the MQTT module in your logs of MagicMirror if you enable the debug option of it? -
@wishmaster270 hi and sorry for bothering you hehe.
No there’s actually no sign of doorbell button pressing looking at the logs.
All I can see is my BTicino power meter and that’s it…