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.7k 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
      dwntwn87
      last edited by

      I’m running MM via Docker on a NAS and can’t seem to figure out how to get Docker to use ffmpeg from the OS. Does anyone have any ideas on how to do this?

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

        @DustinBryant Thanks, i have installed but still not working. I get the files in the public folder but still no video

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

          Interesting, are any errors printed in the terminal and if none there, are there any errors in the Electron debugger log after running?

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

            @DustinBryant This is what the mm log shows:

            MMM-Ring at (10/10/2019, 20:59:55): Found 1 location(s) with 1 camera(s).
            MMM-Ring at (10/10/2019, 20:59:55): Location Home has the following 1 camera(s):
            MMM-Ring at (10/10/2019, 20:59:55): - 7076807: Front Door (doorbell_v3)
            MMM-Ring at (10/10/2019, 20:59:55): Location Home has the following 0 device(s):
            MMM-Ring at (10/10/2019, 20:59:55): Actively listening for doorbell presses

            Then i press the doorbell:

            MMM-Ring at (10/10/2019, 21:00:04): Front Door had its doorbell rung! Preparing video stream.
            MMM-Ring at (10/10/2019, 21:00:26): Front Door video stream has ended
            Whoops! There was an uncaught exception…
            TypeError: Cannot read property ‘stop’ of null
            at Timeout.setTimeout [as _onTimeout] (/home/pi/MagicMirror/modules/MMM-Ring/node_helper.js:153:36)
            at ontimeout (timers.js:427:11)
            at tryOnTimeout (timers.js:289:5)
            at listOnTimeout (timers.js:252:5)
            at Timer.processTimers (timers.js:212:10)
            MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
            If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues

            No video is displayed on the MagicMirror.

            Also I have specificed a 2 minute stream time in the config.js but as shown above, the video only shows it runs for 30 seconds…

            config.js:

                        {
                                module: "MMM-Ring",
                                position: "top_left",
                                config: {
                                        ringEmail: "EMAIL",
                                        ringPwd: "PASSWORD",
                                        ringMinutesToStreamVideo: "2", //default is 2 mins
                                        ringVideoWidth: "600" //default is 600px
                                }
                        },
            
            1 Reply Last reply Reply Quote 0
            • D Offline
              DustinBryant
              last edited by

              Ok, so I 've fixed the error you’ve run into. The reason the stream could have stopped is because someone on the account looked at the ring event on the ring app and then stopped/closed it. Unfortunately, it’s basically a “shared” stream in that if applications are looking at the event at the same time one ended could potentially end the other viewing it prematurely. I’ve only had this happen once and that seemed to be what that was.

              I made some other small changes which may help here as well. I’d like for you to update all your software first though just to rule that out as well.

              Before doing any of the following I would recommend backing up.

              1. Update your pi OS to the latest version
                sudo apt-get update
                sudo apt-get upgrade
                sudo reboot
              2. Update MagicMirror to its latest version by using a Terminal to navigate to your MagicMirror folder and running
                git pull && npm install
              3. Navigate to the module/MMM-Ring folder and run
                git pull && npm install

              This will update everything, hopefully. Now try running MagicMirror again, giving it a couple seconds to a minute, and then ring your doorbell again.

              Hope this helps!

              S S 2 Replies Last reply Reply Quote 0
              • S Do not disturb
                sdetweil @DustinBryant
                last edited by

                @sithlordhood you should use my update script… takes care of a bunch of problems

                see here for instructions

                https://forum.magicmirror.builders/topic/10859/new-update-upgrade-script-ready-for-testing

                Sam

                How to add modules

                learning how to use browser developers window for css changes

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

                  @DustinBryant Thanks for all of the suggestions, I have followed this and now do not get any errors but i see no video on the mirror!

                  Anything else i can check?

                  D 1 Reply Last reply Reply Quote 0
                  • 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

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