• 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 2.3k 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.
  • 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 Apr 16, 2025, 9:08 AM

            @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 Apr 16, 2025, 7:07 PM Reply Quote 0
            • W Offline
              wishmaster270 Module Developer @Cr4z33
              last edited by Apr 16, 2025, 7:07 PM

              @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 Apr 17, 2025, 10:36 AM Reply Quote 0
              • C Offline
                Cr4z33 @wishmaster270
                last edited by Apr 17, 2025, 10:36 AM

                @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
                • 1 / 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