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.

    Help! semester project can't figure out facial recognition

    Scheduled Pinned Locked Moved Troubleshooting
    7 Posts 2 Posters 3.0k Views 2 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
      dk7988
      last edited by dk7988

      Hello all,
      First I wanna say I’m new to forums in general so if I posted this in the wrong place a guiding hand would be much appreciated. Secondly I’m kinda new to rpi and super new to magic mirror. I’ve done a couple cool projects but this facial recognition is kicking my but! I’ve been researching and trying different things off and on for about two weeks now trying to figure this out with no luck. I tried using 50+ pictures with all three algorithms, I’ve completely reloaded raspbian, magic mirror^2, and MMM-Facial-Recognition with the only good that came from it was getting Facial-Recognition-Tools to start working. When I run ‘facerecognition.py’ it was able to figure out my buddy Dakota and myself but when I try to run it with the magic mirror it seems like it’s not doing anything. Below I have all three different Magic Mirror config.js files i used (in an attempt to try to figure something/ anything out), my three different “classes” (hopefully that’s what i made :/ ), MMM-Facial-Recognition-Tools-master config.py file, and the Terminal output with each config.js file (1-3) i tried and the out come. if someone could point me in the right direction of what I’m doing wrong I would GREATLY appreciated! Thanks


      Magic Mirror Config.js #1:

      /* Magic Mirror Config Sample
      *

      • By Michael Teeuw http://michaelteeuw.nl
      • MIT Licensed.
      • For more information how you can configurate this file
      • See https://github.com/MichMich/MagicMirror#configuration

      */

      var config = {
      address: “localhost”, // Address to listen on, can be:
      // - “localhost”, “127.0.0.1”, “::1” to listen on loopback interface
      // - another specific IPv4/6 to listen on a specific interface
      // - “”, “0.0.0.0”, “::” to listen on any interface
      // Default, when address config is left out, is “localhost”
      port: 8080,
      ipWhitelist: [“127.0.0.1”, “::ffff:127.0.0.1”, “::1”], // Set [] to allow all IP addresses
      // or add a specific IPv4 of 192.168.1.5 :
      // [“127.0.0.1”, “::ffff:127.0.0.1”, “::1”, “::ffff:192.168.1.5”],
      // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
      // [“127.0.0.1”, “::ffff:127.0.0.1”, “::1”, “::ffff:192.168.3.0/28”],

      language: “en”,
      timeFormat: 12,
      units: “imperial”,

      modules: [
      {
      module: “alert”,
      },
      {
      module: “updatenotification”,
      position: “top_bar”
      },
      {
      module: “clock”,
      position: “top_left”
      },
      {
      module: “calendar”,
      header: “US Holidays”,
      position: “top_left”,
      config: {
      calendars: [
      {
      symbol: "calendar-check-o ",
      url: “webcal://www.calendarlabs.com/templates/ical/US-Holidays.ics”
      }
      ]
      }
      },
      //{
      // module: “compliments”,
      // position: “lower_third”
      //},
      {
      module: “currentweather”,
      position: “top_right”,
      config: {
      location: “Maricopa”,
      locationID: “5303752”, //ID from http://www.openweathermap.org/help/city_list.txt
      appid: “key”
      }
      },
      {
      module: “weatherforecast”,
      position: “top_right”,
      header: “Weather Forecast”,
      config: {
      location: “Maricopa”,
      locationID: “5303752”, //ID from http://www.openweathermap.org/help/city_list.txt
      appid: “key”
      }
      },
      // {
      // module: “MMM-Hello-Mirror”,
      // position: “lower_third”,
      // config: {
      // language: “en”,
      // voice: “US English Female”,
      // wakeUp: “Hello Mirror”
      // }
      // },
      {
      module: “MMM-Facial-Recognition”,
      config: {
      // 1=LBPH | 2=Fisher | 3=Eigen
      recognitionAlgorithm: 3,
      // Threshold for the confidence of a recognized face before it’s considered a
      // positive match. Confidence values below this threshold will be considered
      // a positive match because the lower the confidence value, or distance, the
      // more confident the algorithm is that the face was correctly detected.
      lbphThreshold: 50,
      fisherThreshold: 250,
      eigenThreshold: 3000,
      // force the use of a usb webcam on raspberry pi (on other platforms this is always true automatically)
      useUSBCam: false,
      // Path to your training xml
      trainingFile: ‘/home/pi/MagicMirror/modules/MMM-Facial-Recognition-master’,
      // recognition intervall in seconds (smaller number = faster but CPU intens!)
      interval: 2,
      // Logout delay after last recognition so that a user does not get instantly logged out if he turns away from the mirror for a few seconds
      logoutDelay: 15,
      // Array with usernames (copy and paste from training script)
      users: [‘Nick’,‘nick’],
      //Module set used for strangers and if no user is detected
      defaultClass: “default1”,
      //Set of modules which should be shown for every user
      everyoneClass: “everyone”,
      // Boolean to toggle welcomeMessage
      welcomeMessage: true
      }
      },
      // {
      // module: “everyone”,
      // position: “lower_third”,
      // //Set your classes here seperated by a space.
      // //Shown for all users
      // classes: “everyone”
      // },
      // {
      // module: “dakota”,
      // position: “top_bar”,
      // //Only shown for dakota
      // classes: “dakota”
      // },
      {
      module: “Nick”,
      position: “lower_third”,
      //Only shown for Nick
      classes: “Nick”
      },
      {
      module: “newsfeed”,
      position: “bottom_bar”,
      config: {
      feeds: [
      {
      title: “Google News”,
      url: “https://news.google.com/output=rss”
      },
      {
      title: “CNN”,
      url: “http://rss.cnn.com/rss/cnn_topstories.rss”
      },
      {
      title: “Yahoo News”,
      url: “http://news.yahoo.com/rss”
      },
      {
      title: “ESPN”,
      url: “http://www.espn.com/espn/rss/news”
      },
      {
      title: “New York Times”,
      url: “http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml”
      }
      ],
      showSourceTitle: true,
      showPublishDate: true
      }
      },
      ]

      };

      /*************** DO NOT EDIT THE LINE BELOW ***************/
      if (typeof module !== “undefined”) {module.exports = config;}


      Magic Mirror Config.js#2:

      /* Magic Mirror Config Sample
      *

      • By Michael Teeuw http://michaelteeuw.nl
      • MIT Licensed.
      • For more information how you can configurate this file
      • See https://github.com/MichMich/MagicMirror#configuration

      */

      var config = {
      address: “localhost”, // Address to listen on, can be:
      // - “localhost”, “127.0.0.1”, “::1” to listen on loopback interface
      // - another specific IPv4/6 to listen on a specific interface
      // - “”, “0.0.0.0”, “::” to listen on any interface
      // Default, when address config is left out, is “localhost”
      port: 8080,
      ipWhitelist: [“127.0.0.1”, “::ffff:127.0.0.1”, “::1”], // Set [] to allow all IP addresses
      // or add a specific IPv4 of 192.168.1.5 :
      // [“127.0.0.1”, “::ffff:127.0.0.1”, “::1”, “::ffff:192.168.1.5”],
      // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
      // [“127.0.0.1”, “::ffff:127.0.0.1”, “::1”, “::ffff:192.168.3.0/28”],

      language: “en”,
      timeFormat: 12,
      units: “imperial”,

      modules: [
      {
      module: “MMM-Facial-Recognition”,
      config: {
      // 1=LBPH | 2=Fisher | 3=Eigen
      recognitionAlgorithm: 1,
      // Threshold for the confidence of a recognized face before it’s considered a
      // positive match. Confidence values below this threshold will be considered
      // a positive match because the lower the confidence value, or distance, the
      // more confident the algorithm is that the face was correctly detected.
      lbphThreshold: 50,
      fisherThreshold: 250,
      eigenThreshold: 3000,
      // force the use of a usb webcam on raspberry pi (on other platforms this is always true automatically)
      useUSBCam: false,
      // Path to your training xml
      trainingFile: ‘/home/pi/MagicMirror/modules/MMM-Facial-Recognition-master’,
      // recognition intervall in seconds (smaller number = faster but CPU intens!)
      interval: 2,
      // Logout delay after last recognition so that a user does not get instantly logged out if he turns away from the mirror for a few seconds
      logoutDelay: 15,
      // Array with usernames (copy and paste from training script)
      users: [‘Nick’],
      //Module set used for strangers and if no user is detected
      defaultClass: “default1”,
      //Set of modules which should be shown for every user
      everyoneClass: “everyone”,
      // Boolean to toggle welcomeMessage
      welcomeMessage: true
      }
      },
      {
      module: “everyone”,
      position: “bottom_bar”,
      //Set your classes here seperated by a space.
      //Shown for all users
      classes: “everyone”
      },
      {
      module: “default1”,
      position: “top_bar”,
      //Only shown for default1
      classes: “default1”
      },
      {
      module: “Nick”,
      position: “lower_third”,
      //Only shown for Nick
      classes: “Nick”
      }
      ]

      };

      /*************** DO NOT EDIT THE LINE BELOW ***************/
      if (typeof module !== “undefined”) {module.exports = config;}


      Magic Mirror Config.js #3:

      /* Magic Mirror Config Sample
      *

      • By Michael Teeuw http://michaelteeuw.nl
      • MIT Licensed.
      • For more information how you can configurate this file
      • See https://github.com/MichMich/MagicMirror#configuration

      */

      var config = {
      address: “localhost”, // Address to listen on, can be:
      // - “localhost”, “127.0.0.1”, “::1” to listen on loopback interface
      // - another specific IPv4/6 to listen on a specific interface
      // - “”, “0.0.0.0”, “::” to listen on any interface
      // Default, when address config is left out, is “localhost”
      port: 8080,
      ipWhitelist: [“127.0.0.1”, “::ffff:127.0.0.1”, “::1”], // Set [] to allow all IP addresses
      // or add a specific IPv4 of 192.168.1.5 :
      // [“127.0.0.1”, “::ffff:127.0.0.1”, “::1”, “::ffff:192.168.1.5”],
      // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
      // [“127.0.0.1”, “::ffff:127.0.0.1”, “::1”, “::ffff:192.168.3.0/28”],

      language: “en”,
      timeFormat: 12,
      units: “imperial”,

      modules: [
      {
      module: “MMM-Facial-Recognition”,
      config: {
      // 1=LBPH | 2=Fisher | 3=Eigen
      recognitionAlgorithm: 3,
      // Threshold for the confidence of a recognized face before it’s considered a
      // positive match. Confidence values below this threshold will be considered
      // a positive match because the lower the confidence value, or distance, the
      // more confident the algorithm is that the face was correctly detected.
      lbphThreshold: 50,
      fisherThreshold: 250,
      eigenThreshold: 3000,
      // force the use of a usb webcam on raspberry pi (on other platforms this is always true automatically)
      useUSBCam: false,
      // Path to your training xml
      trainingFile: ‘/home/pi/MagicMirror/modules/MMM-Facial-Recognition-master’,
      // recognition intervall in seconds (smaller number = faster but CPU intens!)
      interval: 2,
      // Logout delay after last recognition so that a user does not get instantly logged out if he turns away from the mirror for a few seconds
      logoutDelay: 15,
      // Array with usernames (copy and paste from training script)
      users: [‘Nick’],
      //Module set used for strangers and if no user is detected
      defaultClass: “default1”,
      //Set of modules which should be shown for every user
      everyoneClass: “everyone”,
      // Boolean to toggle welcomeMessage
      welcomeMessage: true
      }
      }
      ]

      };

      /*************** DO NOT EDIT THE LINE BELOW ***************/
      if (typeof module !== “undefined”) {module.exports = config;}


      MMM-Facial-Recognition-Tools-master config.py:

      #!/usr/bin/env python

      coding: utf8

      “”"MMM-Facial-Recognition - MagicMirror Module
      Face Recognition training script config
      The MIT License (MIT)

      Copyright © 2016 Paul-Vincent Roll (MIT License)
      Based on work by Tony DiCola (Copyright 2013) (MIT License)
      “”"
      import inspect
      import os
      import platform
      import cv2

      (CV_MAJOR_VER, CV_MINOR_VER, mv1, mv2) = cv2.version.split(“.”)

      _platform = platform.system().lower()
      path_to_file = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))

      RECOGNITION_ALGORITHM = 1
      POSITIVE_THRESHOLD = 80

      def set_recognition_algorithm(algorithm):
      if algorithm < 1 or algorithm > 3:
      print(“WARNING: face algorithm must be in the range 1-3”)
      RECOGNITION_ALGORITHM = 1
      os._exit(1)
      RECOGNITION_ALGORITHM = algorithm
      # Threshold for the confidence of a recognized face before it’s
      # considered a positive match. Confidence values below this
      # threshold will be considered a positive match because the lower
      # the confidence value, or distance, the more confident the
      # algorithm is that the face was correctly detected. Start with a
      # value of 3000, but you might need to tweak this value down if
      # you’re getting too many false positives (incorrectly recognized
      # faces), or up if too many false negatives (undetected faces).
      # POSITIVE_THRESHOLD = 3500.0
      if RECOGNITION_ALGORITHM == 1:
      POSITIVE_THRESHOLD = 80
      elif RECOGNITION_ALGORITHM == 2:
      POSITIVE_THRESHOLD = 250
      else:
      POSITIVE_THRESHOLD = 3000

      if (‘FACE_USERS’ in os.environ):
      u = os.environ[‘FACE_USERS’]
      users = u.split(‘,’)
      print(users)
      else:
      # NOTE: Substitute your own user names here. These are just
      # placeholders, and you will get errors if your training.xml file
      # has more than 10 user classes.
      users = [‘Nick’,‘User2’,‘User3’, ‘User4’,‘User5’,
      ‘User6’, ‘User7’, ‘User8’, ‘User9’, ‘User10’]
      print(‘Remember to set the name list environment variable FACE_USERS’)

      Edit the values below to configure the training and usage of the

      face recognition box.

      if (‘FACE_ALGORITHM’ in os.environ):
      set_recognition_algorithm(int(os.environ[‘FACE_ALGORITHM’]))
      print(“Using FACE_ALGORITM: {0}”.format(RECOGNITION_ALGORITHM))
      else:
      set_recognition_algorithm(1)
      print(“Using default FACE_ALGORITM: {0}”.format(RECOGNITION_ALGORITHM))

      File to save and load face recognizer model.

      TRAINING_FILE = ‘training.xml’
      TRAINING_DIR = ‘./training_data/’

      Size (in pixels) to resize images for training and prediction.

      Don’t change this unless you also change the size of the training images.

      FACE_WIDTH = 92
      FACE_HEIGHT = 112

      Face detection cascade classifier configuration.

      You don’t need to modify this unless you know what you’re doing.

      See: http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html

      #HAAR_FACES = ‘lib/haarcascade_frontalface_alt.xml’
      #HAAR_FACES = ‘lib/haarcascade_frontalface_alt2.xml’
      #HAAR_FACES = ‘lib/haarcascade_frontalface_default.xml’
      HAAR_FACES = ‘lib/haarcascade_frontalface.xml’
      HAAR_EYES = ‘lib/haarcascade_eye.xml’
      HAAR_SCALE_FACTOR = 1.05
      HAAR_MIN_NEIGHBORS_FACE = 4 # 4 or 3 trainer/tester used different values.
      HAAR_MIN_NEIGHBORS_EYES = 2
      HAAR_MIN_SIZE_FACE = (30, 30)
      HAAR_MIN_SIZE_EYES = (20, 20)

      def get_camera(preview=True):
      try:
      from . import picam
      capture = picam.OpenCVCapture(preview)
      capture.start()
      return capture
      except Exception:
      from . import webcam
      return webcam.OpenCVCapture(device_id=0)

      def is_cv2():
      if CV_MAJOR_VER == 2:
      return True
      else:
      return False

      def is_cv3():
      if CV_MAJOR_VER == 3:
      return True
      else:
      return False

      def model(algorithm, thresh):
      # set the choosen algorithm
      model = None
      if is_cv3():
      # OpenCV version renamed the face module
      if algorithm == 1:
      model = cv2.face.createLBPHFaceRecognizer(threshold=thresh)
      elif algorithm == 2:
      model = cv2.face.createFisherFaceRecognizer(threshold=thresh)
      elif algorithm == 3:
      model = cv2.face.createEigenFaceRecognizer(threshold=thresh)
      else:
      print(“WARNING: face algorithm must be in the range 1-3”)
      os._exit(1)
      else:
      if algorithm == 1:
      model = cv2.createLBPHFaceRecognizer(threshold=thresh)
      elif algorithm == 2:
      model = cv2.createFisherFaceRecognizer(threshold=thresh)
      elif algorithm == 3:
      model = cv2.createEigenFaceRecognizer(threshold=thresh)
      else:
      print(“WARNING: face algorithm must be in the range 1-3”)
      os._exit(1)
      return model

      def user_label(i):
      “”" Generate the user lable. Lables are 1 indexed.
      “”"
      i = i - 1
      if i < 0 or i > len(users):
      return “User” + str(int(i))
      return users[i]


      default1 Module:

      /* global Module */

      /* Magic Mirror

      • Module: HelloWorld
      • By Michael Teeuw http://michaelteeuw.nl
      • MIT Licensed.
        */

      Module.register(“default1”,{

      // Default module config.
      defaults: {
      text: “Hello World!”
      },

      // Override dom generator.
      getDom: function() {
      var wrapper = document.createElement(“div”);
      wrapper.innerHTML = this.config.text;
      return wrapper;
      }
      });


      everyone Module :

      /* global Module */

      /* Magic Mirror

      • Module: HelloWorld
      • By Michael Teeuw http://michaelteeuw.nl
      • MIT Licensed.
        */

      Module.register(“everyone”,{

      // Default module config.
      defaults: {
      text: “Hello everyone!”
      },

      // Override dom generator.
      getDom: function() {
      var wrapper = document.createElement(“div”);
      wrapper.innerHTML = this.config.text;
      return wrapper;
      }
      });


      Nick Module:

      /* global Module */

      /* Magic Mirror

      • Module: HelloWorld
      • By Michael Teeuw http://michaelteeuw.nl
      • MIT Licensed.
        */

      Module.register(“Nick”,{

      // Default module config.
      defaults: {
      text: “Hello Nick!”
      },

      // Override dom generator.
      getDom: function() {
      var wrapper = document.createElement(“div”);
      wrapper.innerHTML = this.config.text;
      return wrapper;
      }
      });


      Terminal output with config #1:

      pi@MgMrPi:~ $ cd MagicMirror
      pi@MgMrPi:~/MagicMirror $ npm start

      magicmirror@2.1.3 start /home/pi/MagicMirror
      sh run-start.sh

      Starting MagicMirror: v2.1.3
      Loading config …
      Loading module helpers …
      No helper found for module: alert.
      Initializing new module helper …
      Module helper loaded: updatenotification
      No helper found for module: clock.
      Initializing new module helper …
      Module helper loaded: calendar
      No helper found for module: currentweather.
      No helper found for module: weatherforecast.
      No helper found for module: MMM-Facial-Recognition.
      No helper found for module: Nick.
      Initializing new module helper …
      Module helper loaded: newsfeed
      All module helpers loaded.
      Starting server on port 8080 …
      Server started …
      Connecting socket for: updatenotification
      Connecting socket for: calendar
      Starting node helper for: calendar
      Connecting socket for: newsfeed
      Starting module: newsfeed
      Sockets connected & modules started …
      Launching application.
      Create new calendar fetcher for url: http://www.calendarlabs.com/templates/ical/US-Holidays.ics - Interval: 300000
      Create new news fetcher for url: https://news.google.com/output=rss - Interval: 300000
      Create new news fetcher for url: http://rss.cnn.com/rss/cnn_topstories.rss - Interval: 300000
      Create new news fetcher for url: http://news.yahoo.com/rss - Interval: 300000
      Create new news fetcher for url: http://www.espn.com/espn/rss/news - Interval: 300000
      Create new news fetcher for url: http://www.nytimes.com/services/xml/rss/nyt/HomePage.xml - Interval: 300000
      Whoops! There was an uncaught exception…
      TypeError: parser.close is not a function
      at SAXStream.openf1 (/home/pi/MagicMirror/node_modules/feedme/lib/xmlfeedparser.js:107:14)
      at emitOne (events.js:96:13)
      at SAXStream.emit (events.js:191:7)
      at SAXParser.me._parser.(anonymous function) [as onopentag] (/home/pi/MagicMirror/node_modules/sax/lib/sax.js:258:17)
      at emit (/home/pi/MagicMirror/node_modules/sax/lib/sax.js:624:35)
      at emitNode (/home/pi/MagicMirror/node_modules/sax/lib/sax.js:629:5)
      at openTag (/home/pi/MagicMirror/node_modules/sax/lib/sax.js:825:5)
      at SAXParser.write (/home/pi/MagicMirror/node_modules/sax/lib/sax.js:1391:13)
      at SAXStream.write (/home/pi/MagicMirror/node_modules/sax/lib/sax.js:239:18)
      at module.exports.yoshi.write (/home/pi/MagicMirror/node_modules/feedme/lib/feedme.js:41:14)
      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

      Out Come:
      Calendar, current weather, Forecast, Clock, news feed and “Hello Nick!” all show up but went i put my hand over the camera “Hello Nick!” still stays visible.


      Terminal output with config #2:

      pi@MgMrPi:~/MagicMirror $ npm start

      magicmirror@2.1.3 start /home/pi/MagicMirror
      sh run-start.sh

      Starting MagicMirror: v2.1.3
      Loading config …
      Loading module helpers …
      No helper found for module: MMM-Facial-Recognition.
      No helper found for module: everyone.
      No helper found for module: default1.
      No helper found for module: Nick.
      All module helpers loaded.
      Starting server on port 8080 …
      Server started …
      Sockets connected & modules started …
      Launching application.
      pi@MgMrPi:~/MagicMirror $

      Out Come:
      “Hello World!” shows up at the top, “Hello Nick!” shows up in the middle and “Hello everyone!” shows up at the bottom at mirror start up. again when i put my hand of the camera all three remain visible.


      Terminal output with config #3:

      pi@MgMrPi:~/MagicMirror $ npm start

      magicmirror@2.1.3 start /home/pi/MagicMirror
      sh run-start.sh

      Starting MagicMirror: v2.1.3
      Loading config …
      Loading module helpers …
      No helper found for module: MMM-Facial-Recognition.
      All module helpers loaded.
      Starting server on port 8080 …
      Server started …
      Sockets connected & modules started …
      Launching application.
      pi@MgMrPi:~/MagicMirror $

      Out Come:
      Screen remains black nothing is shown

      1 Reply Last reply Reply Quote 0
      • D Offline
        dmcinnes Module Developer
        last edited by

        @dk7988 said in Help! semester project can’t figure out facial recognition:

        No helper found for module: MMM-Facial-Recognition.

        This error message happens when the node_helper.js file is not found for a module. The Facial-Recognition module does have one, so it appears to not be installed where the mirror expects it. Is the module checked out in the modules directory under the MagicMirror installation?

        D 1 Reply Last reply Reply Quote 1
        • D Offline
          dk7988 @dmcinnes
          last edited by

          @dmcinnes
          Hello, thanks for getting back to me. I’m not sure what your asking :/ I’m unfamiliar with the whole “checked out” part but the location of the node_helper.js file is at /home/pi/MagicMirror/modules/MMM-Facial-Recognition-master/node_helper.js

          1 Reply Last reply Reply Quote 0
          • D Offline
            dmcinnes Module Developer
            last edited by

            Try renaming the module directory “MMM-Facial-Recognition” (without “-master”), I don’t have the code in front of me but I believe the mirror software uses the name of the module from your config as the directory name.

            D 2 Replies Last reply Reply Quote 0
            • D Offline
              dk7988 @dmcinnes
              last edited by

              @dmcinnes
              Oohh!! are you thinking cause the folder names is ‘MMM-Facial-Recognition-master’ and in the MagicMirror config.js file it says “module: “MMM-Facial-Recognition”,
              config: { … etc” and/or in the MMM-Facial-Recognition/…/config.py file it says “Module.register(“MMM-Facial-Recognition”,
              { defaults: {…etc” and not
              ‘MMM-Facial-Recognition-master’? I can see how that would make since, I’ll give it a try later tonite when I get home.

              1 Reply Last reply Reply Quote 0
              • D Offline
                dk7988 @dmcinnes
                last edited by

                @dmcinnes
                You are awesome!! thank you! that did the trick!

                1 Reply Last reply Reply Quote 0
                • D Offline
                  dmcinnes Module Developer
                  last edited by

                  Great to hear!

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