• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

[MMM-MQTTbridge] A module to publish and receive MQTT messages

Scheduled Pinned Locked Moved Utilities
16 Posts 3 Posters 1.8k Views 3 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Away
    sdetweil @Cr4z33
    last edited by Jul 23, 2024, 3:35 PM

    @Cr4z33 said in [MMM-MQTTbridge] A module to publish and receive MQTT messages:

    although I can see the MQTT event if running MM by npm start

    if using pm2 to autolaunch MM, then

    pm2 logs --lines=xxxx
    

    will show you the last xxxx of the output

    Sam

    How to add modules

    learning how to use browser developers window for css changes

    C 1 Reply Last reply Jul 24, 2024, 9:55 AM Reply Quote 1
    • W Offline
      wishmaster270 Module Developer @Cr4z33
      last edited by Jul 23, 2024, 5:24 PM

      @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 notification

      C 1 Reply Last reply Sep 23, 2024, 10:47 AM Reply Quote 1
      • C Offline
        Cr4z33 @sdetweil
        last edited by Cr4z33 Jul 24, 2024, 9:56 AM Jul 24, 2024, 9:55 AM

        @sdetweil said in [MMM-MQTTbridge] A module to publish and receive MQTT messages:

        @Cr4z33 said in [MMM-MQTTbridge] A module to publish and receive MQTT messages:

        although I can see the MQTT event if running MM by npm start

        if using pm2 to autolaunch MM, then

        pm2 logs --lines=xxxx
        

        will show you the last xxxx of the output

        @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 notification

        Thank you both will do as soon as I am back at home again!

        1 Reply Last reply Reply Quote 0
        • C Offline
          Cr4z33 @wishmaster270
          last edited by Sep 23, 2024, 10:47 AM

          @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 notification

          Hi 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? 🙏🏼

          W 1 Reply Last reply Sep 23, 2024, 7:06 PM Reply Quote 0
          • W Offline
            wishmaster270 Module Developer @Cr4z33
            last edited by Sep 23, 2024, 7:06 PM

            @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.

            C 1 Reply Last reply Sep 25, 2024, 7:54 AM Reply Quote 1
            • C Offline
              Cr4z33 @wishmaster270
              last edited by Sep 25, 2024, 7:54 AM

              @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,
              						},
              				}
              		},
              
              1 Reply Last reply Reply Quote -1
              • C Offline
                Cr4z33
                last edited by 29 days ago

                @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?

                W 1 Reply Last reply 29 days ago Reply Quote 0
                • W Offline
                  wishmaster270 Module Developer @Cr4z33
                  last edited by 29 days ago

                  @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?

                  C 1 Reply Last reply 28 days ago Reply Quote 0
                  • C Offline
                    Cr4z33 @wishmaster270
                    last edited by 28 days ago

                    @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…

                    PM2 Log

                    1 Reply Last reply Reply Quote 0
                    • 1
                    • 2
                    • 2 / 2
                    • First post
                      Last post
                    Enjoying MagicMirror? Please consider a donation!
                    MagicMirror created by Michael Teeuw.
                    Forum managed by Sam, technical setup by Karsten.
                    This forum is using NodeBB as its core | Contributors
                    Contact | Privacy Policy