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-Ring: Displays a video stream of your Ring doorbell when someone rings your doorbell.

    Scheduled Pinned Locked Moved Utilities
    43 Posts 11 Posters 20.6k Views 14 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.
    • D Offline
      DustinBryant @sithlordhood
      last edited by

      @sithlordhood this one is a bit tough because I can’t recreate the issue you are having.

      We can look at if the video is actually showing anything at all to determine if this is a sip session/ffmpeg issue or an issue on hls hooking into the video control and playing the stream. Try this:

      1. Run MagicMirror
      2. Minimize it
      3. Using file explorer navigate to the MagicMirror/modules/MMM-RING/public/
      4. Go ring your doorbell
      5. Once a .ts file gets dropped into the public location open/play it. Maybe check a couple as well.

      Is there video of your doorbell camera when you play those?

      BTW, they will all be like 2 second long videos each. The stream (m3u8) is what ties them into a continuous video by playing them serialized.

      1 Reply Last reply Reply Quote 0
      • S Offline
        sithlordhood
        last edited by

        Hi, i have tried what you have suggested and a .ts file does get dropped in, I have tried to play it but it does not play, the file size is only 117 bytes.

        I have tried this on a complete fresh system, running Raspbian Buster, with the current MM build, also this is the only module i have active in the config file. No video at all is shown on the mirror! help!

        1 Reply Last reply Reply Quote 0
        • S Offline
          sithlordhood
          last edited by sithlordhood

          These are the files in the public folder once the doorbell is pressed. Note these files only appear once the log shows “Front door video stram has ended”

          -rw-r–r-- 1 pi pi 0 Oct 31 20:10 stream0.ts
          -rw-r–r-- 1 pi pi 117 Oct 31 20:10 stream.m3u8

          Regardless of the time set for “ringMinutesToStreamVideo” the log always shows a run of less than 30 seconds:

          MMM-Ring at (10/31/2019, 8:09:42 PM): Front Door had its doorbell rung! Preparing video stream.
          MMM-Ring at (10/31/2019, 8:10:03 PM): Front Door video stream has ended
          timeout hit

          1 Reply Last reply Reply Quote 0
          • D Offline
            DustinBryant
            last edited by

            They don’t appear until ended? Wow, that’s a new one. You should definitely be getting them as soon as it says “Preparing video stream”.

            This might be an authentication issue. Do you use 2 factor authentication with Ring by chance?

            Check the debug console window for errors by running MagicMirror with using the following in the main MagicMirror folder:

            npm start dev
            

            This should start the MagicMirror with an additional window to the side that you can select the console and look for errors there.

            1 Reply Last reply Reply Quote 0
            • S Offline
              sithlordhood
              last edited by

              I’m not using Two-Factor authentication.

              This is the extract from the debug console window

              main.js:454 Initializing MagicMirror.
              translator.js:202 Loading core translation file: translations/en.json
              translator.js:225 Loading core translation fallback file: translations/en.json
              loader.js:179 Load script: modules/MMM-Ring//MMM-Ring.js
              module.js:468 Check MagicMirror version for module ‘MMM-Ring’ - Minimum version: 2.1.0 - Current version: 2.9.0
              module.js:470 Version is ok!
              module.js:476 Module registered: MMM-Ring
              loader.js:150 Bootstrapping module: MMM-Ring
              loader.js:179 Load script: https://cdn.jsdelivr.net/npm/hls.js
              loader.js:155 Scripts loaded for: MMM-Ring
              loader.js:194 Load stylesheet: modules/MMM-Ring/MMM-Ring.css
              loader.js:157 Styles loaded for: MMM-Ring
              loader.js:159 Translations loaded for: MMM-Ring
              loader.js:194 Load stylesheet: css/custom.css
              main.js:472 All modules started!
              module.js:156 MMM-Ring received a system notification: ALL_MODULES_STARTED
              module.js:156 MMM-Ring received a system notification: MODULE_DOM_CREATED
              module.js:156 MMM-Ring received a system notification: DOM_OBJECTS_CREATED
              /home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/renderer/security-warnings.js:127 Electron Security Warning (Insecure Resources) This renderer process loads resources using insecure
              protocols.This exposes users of this app to unnecessary security risks.
              Consider loading the following resources over HTTPS or FTPS.

              • http://0.0.0.0:8080/css/main.css
              • http://0.0.0.0:8080/fonts/roboto.css
              • http://0.0.0.0:8080/socket.io/socket.io.js
              • http://0.0.0.0:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js
              • http://0.0.0.0:8080/js/defaults.js
              • http://0.0.0.0:8080/config/config.js
              • http://0.0.0.0:8080/vendor/vendor.js
              • http://0.0.0.0:8080/modules/default/defaultmodules.js
              • http://0.0.0.0:8080/js/logger.js
              • http://0.0.0.0:8080/translations/translations.js
              • http://0.0.0.0:8080/js/translator.js
              • http://0.0.0.0:8080/js/class.js
              • http://0.0.0.0:8080/js/module.js
              • http://0.0.0.0:8080/js/loader.js
              • http://0.0.0.0:8080/js/socketclient.js
              • http://0.0.0.0:8080/js/main.js
              • http://0.0.0.0:8080/fonts/node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Regular.woff2
              • http://0.0.0.0:8080/translations/en.json
              • http://0.0.0.0:8080/translations/en.json
              • http://0.0.0.0:8080/modules/MMM-Ring//MMM-Ring.js
              • http://0.0.0.0:8080/modules/MMM-Ring/MMM-Ring.css
              • http://0.0.0.0:8080/css/custom.css

              For more information and help, consult
              https://electronjs.org/docs/tutorial/security.
              This warning will not show up
              once the app is packaged.
              warnAboutInsecureResources @ /home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/renderer/security-warnings.js:127
              /home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/renderer/security-warnings.js:184 Electron Security Warning (Insecure Content-Security-Policy) This renderer process has either no Content Security
              Policy set or a policy with “unsafe-eval” enabled. This exposes users of
              this app to unnecessary security risks.

              For more information and help, consult
              https://electronjs.org/docs/tutorial/security.
              This warning will not show up
              once the app is packaged.
              warnAboutInsecureCSP @ /home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/renderer/security-warnings.js:184

              1 Reply Last reply Reply Quote 0
              • D Offline
                DustinBryant
                last edited by

                Is there a reason you’re using 0.0.0.0 over the default localhost?

                Test with using localhost by setting it in the config file:

                address: "localhost"
                
                1 Reply Last reply Reply Quote 0
                • S Offline
                  sithlordhood
                  last edited by

                  its still the same im afraid:

                  main.js:454 Initializing MagicMirror.
                  translator.js:202 Loading core translation file: translations/en.json
                  translator.js:225 Loading core translation fallback file: translations/en.json
                  loader.js:179 Load script: modules/MMM-Ring//MMM-Ring.js
                  module.js:468 Check MagicMirror version for module ‘MMM-Ring’ - Minimum version: 2.1.0 - Current version: 2.9.0
                  module.js:470 Version is ok!
                  module.js:476 Module registered: MMM-Ring
                  loader.js:150 Bootstrapping module: MMM-Ring
                  loader.js:179 Load script: https://cdn.jsdelivr.net/npm/hls.js
                  loader.js:155 Scripts loaded for: MMM-Ring
                  loader.js:194 Load stylesheet: modules/MMM-Ring/MMM-Ring.css
                  loader.js:157 Styles loaded for: MMM-Ring
                  loader.js:159 Translations loaded for: MMM-Ring
                  loader.js:194 Load stylesheet: css/custom.css
                  main.js:472 All modules started!
                  module.js:156 MMM-Ring received a system notification: ALL_MODULES_STARTED
                  module.js:156 MMM-Ring received a system notification: MODULE_DOM_CREATED
                  module.js:156 MMM-Ring received a system notification: DOM_OBJECTS_CREATED
                  /home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/renderer/security-warnings.js:127 Electron Security Warning (Insecure Resources) This renderer process loads resources using insecure
                  protocols.This exposes users of this app to unnecessary security risks.
                  Consider loading the following resources over HTTPS or FTPS.

                  • http://localhost:8080/css/main.css
                  • http://localhost:8080/fonts/roboto.css
                  • http://localhost:8080/socket.io/socket.io.js
                  • http://localhost:8080/vendor/node_modules/nunjucks/browser/nunjucks.min.js
                  • http://localhost:8080/js/defaults.js
                  • http://localhost:8080/config/config.js
                  • http://localhost:8080/vendor/vendor.js
                  • http://localhost:8080/modules/default/defaultmodules.js
                  • http://localhost:8080/js/logger.js
                  • http://localhost:8080/translations/translations.js
                  • http://localhost:8080/js/translator.js
                  • http://localhost:8080/js/class.js
                  • http://localhost:8080/js/module.js
                  • http://localhost:8080/js/loader.js
                  • http://localhost:8080/js/socketclient.js
                  • http://localhost:8080/js/main.js
                  • http://localhost:8080/fonts/node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Regular.woff2
                  • http://localhost:8080/translations/en.json
                  • http://localhost:8080/translations/en.json
                  • http://localhost:8080/modules/MMM-Ring//MMM-Ring.js
                  • http://localhost:8080/modules/MMM-Ring/MMM-Ring.css
                  • http://localhost:8080/css/custom.css

                  For more information and help, consult
                  https://electronjs.org/docs/tutorial/security.
                  This warning will not show up
                  once the app is packaged.
                  warnAboutInsecureResources @ /home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/renderer/security-warnings.js:127
                  /home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/renderer/security-warnings.js:184 Electron Security Warning (Insecure Content-Security-Policy) This renderer process has either no Content Security
                  Policy set or a policy with “unsafe-eval” enabled. This exposes users of
                  this app to unnecessary security risks.

                  For more information and help, consult
                  https://electronjs.org/docs/tutorial/security.
                  This warning will not show up
                  once the app is packaged.
                  warnAboutInsecureCSP @ /home/pi/MagicMirror/node_modules/electron/dist/resources/electron.asar/renderer/security-warnings.js:184

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    DustinBryant
                    last edited by

                    I’m assuming you also rang your doorbell to see if the video came up now using localhost?

                    S 1 Reply Last reply Reply Quote 0
                    • S Offline
                      sithlordhood @DustinBryant
                      last edited by

                      @DustinBryant yes i did, a few times and still the same. The video files are still appearing after the log says stream has ended

                      1 Reply Last reply Reply Quote 0
                      • D Offline
                        DustinBryant
                        last edited by

                        Ok, run in dev mode again but switch over to the Network tab (instead of console) and see if any of the lines have red text prior or after hitting your doorbell again.

                        1 Reply Last reply Reply Quote 0
                        • S Offline
                          sithlordhood
                          last edited by

                          i dont see any entries in the network tab at all, i have stopped and restarted the record and hit the button on the doorbell but nothing apears in the log.

                          1 Reply Last reply Reply Quote 0
                          • D Offline
                            DustinBryant
                            last edited by

                            I’ve exhausted everything I can think of. Your working with an ideal situation where everything is updated and fresh and still not able to get the stream. For some reason the videos aren’t getting dropped in that public folder for you when the event gets activated. Based on what you’ve provided it should be working.

                            Since I can’t recreate the condition on my end there’s not much I can do here. Your specific issue is the first I’ve seen or heard of. That layer of the module is utilizing the ring-api from dgreif which I have no contributions to.

                            If you’re adventurous enough and have a little bit of coding background you may try downloading his api and play with the browser example he has to see if you can get that working.

                            Sorry @sithlordhood !

                            1 Reply Last reply Reply Quote 0
                            • S Offline
                              sithlordhood
                              last edited by

                              Ok, thanks very much for helping out.

                              One final thing that i thought of was that i’m using the wired ethernet interface on the Pi, not the WiFi. Not sure if this matters, just thought it a bit odd that i did not get any data displayed in the Network tab?

                              1 Reply Last reply Reply Quote 0
                              • S Offline
                                sithlordhood
                                last edited by

                                Just to update - dont know whats changed but the module is working ok now! Thanks!

                                1 Reply Last reply Reply Quote 0
                                • P Offline
                                  Peter Leemon
                                  last edited by

                                  Hi all only a noob here would love to get my MM to show the RING video feed when someone rings the doorbell, but no idea how can anyone assist me in doing this please very much appreciated.

                                  Cheers

                                  Pete.

                                  1 Reply Last reply Reply Quote 0
                                  • D Offline
                                    Doudy
                                    last edited by Doudy

                                    @Peter
                                    It’s the same for me
                                    I have nothing in “Network”
                                    I have no “Public” directory !

                                    Help…

                                    When i do /MagicMirror $ npm start dev
                                    I have following :

                                    Whoops! There was an uncaught exception...
                                    { Error: listen EADDRINUSE 127.0.0.1:8585
                                        at Object._errnoException (util.js:1024:11)
                                        at _exceptionWithHostPort (util.js:1046:20)
                                        at Server.setupListenHandle [as _listen2] (net.js:1351:14)
                                        at listenInCluster (net.js:1392:12)
                                        at GetAddrInfoReqWrap.doListen [as callback] (net.js:1501:7)
                                        at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:97:10)
                                      code: 'EADDRINUSE',
                                      errno: 'EADDRINUSE',
                                      syscall: 'listen',
                                      address: '127.0.0.1',
                                      port: 8585 }
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • P Offline
                                      Peter Leemon
                                      last edited by

                                      did you get yours to work?, I gave up at this stage

                                      D 1 Reply Last reply Reply Quote 0
                                      • D Offline
                                        Doudy @Peter Leemon
                                        last edited by

                                        @Peter-Leemon
                                        Still no video
                                        I don’t know if mmm-Ring works

                                        1 Reply Last reply Reply Quote 0
                                        • D Offline
                                          DustinBryant
                                          last edited by

                                          Unfortunately, I’ve since replaced my ring devices for something more localized. I do know recently Ring had an update that requires 2-factor authentication. You may want to try setting that up and following the directions on how to use it with mmm-ring.

                                          1 Reply Last reply Reply Quote 0
                                          • P Offline
                                            Peter Leemon
                                            last edited by

                                            out of curiosity what localized devices did you use and compatible with raspberry pi as well as MM?

                                            1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • 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