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

Scheduled Pinned Locked Moved Utilities
38 Posts 9 Posters 13.8k Views 12 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
    last edited by Oct 7, 2019, 9:48 PM

    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 Oct 10, 2019, 8:06 PM Reply Quote 0
    • S Offline
      sithlordhood @DustinBryant
      last edited by Oct 10, 2019, 8:06 PM

      @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 Oct 10, 2019, 10:20 PM

        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 Oct 10, 2019, 10:28 PM Reply Quote 0
        • S Away
          sdetweil @DustinBryant
          last edited by Oct 10, 2019, 10:28 PM

          @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 Oct 11, 2019, 8:50 PM

            @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 Oct 11, 2019, 11:00 PM Reply Quote 0
            • D Offline
              DustinBryant @sithlordhood
              last edited by Oct 11, 2019, 11:00 PM

              @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 Oct 31, 2019, 8:03 PM

                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 Oct 31, 2019, 8:28 PM Oct 31, 2019, 8:14 PM

                  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 Oct 31, 2019, 8:45 PM

                    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 Oct 31, 2019, 8:55 PM

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