@sdetweil Thank you so much! Knew I’d done something wrong.
Not sure why I thought they had to be used together.
Thanks for the speedy responses👊
@sdetweil Thank you so much! Knew I’d done something wrong.
Not sure why I thought they had to be used together.
Thanks for the speedy responses👊
@sdetweil The username detected is alfie
.
Here is a log extract confirming it successfully detects me:
0|mm | [2024-11-02 17:20:49.387] [INFO] Newsfeed-Fetcher: Broadcasting 26 items.
0|mm | [2024-11-02 17:20:49.390] [INFO] updatenotification: Updater Class Loaded!
0|mm | [2024-11-02 17:20:49.390] [INFO] updatenotification: Checking PM2 using...
0|mm | [2024-11-02 17:20:49.401] [INFO] updatenotification: [PM2] You are not using pm2
0|mm | [2024-11-02 17:20:49.483] [INFO] Newsfeed-Fetcher: reloadInterval set to ttl=900000 for url https://feeds.bbci.co.uk/news/england/rss.xml
0|mm | [2024-11-02 17:20:49.536] [INFO] Newsfeed-Fetcher: Broadcasting 26 items.
0|mm | [2024-11-02 17:20:49.798] [INFO] Calendar-Fetcher: Broadcasting 13 events from https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics.
0|mm | [2024-11-02 17:21:04.327] [LOG] [MMM-Face-Reco-DNN] Users alfie logged in.
0|mm | [2024-11-02 17:21:06.463] [LOG] [MMM-Face-Reco-DNN] Users alfie logged out.
@sdetweil Hey, thanks for the quick reply.
Here is my full config, it’s a fresh install with just the 2 modules installed.
/* Config Sample
*
* For more information on how you can configure this file
* see https://docs.magicmirror.builders/configuration/introduction.html
* and https://docs.magicmirror.builders/modules/configuration.html
*
* You can use environment variables using a `config.js.template` file instead of `config.js`
* which will be converted to `config.js` while starting. For more information
* see https://docs.magicmirror.builders/configuration/introduction.html#enviromnent-variables
*/
let config = {
address: "0.0.0.0", // 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 or empty, is "localhost"
port: 8080,
basePath: "/", // The URL path where MagicMirror² is hosted. If you are using a Reverse proxy
// you must set the sub path here. basePath must end with a /
ipWhitelist: [], // 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"],
useHttps: false, // Support HTTPS or not, default "false" will use HTTP
httpsPrivateKey: "", // HTTPS private key path, only require when useHttps is true
httpsCertificate: "", // HTTPS Certificate path, only require when useHttps is true
language: "en",
locale: "en-GB",
logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
timeFormat: 24,
units: "metric",
modules: [
{
module: "alert",
classes: "default everyone",
},
{
module: "updatenotification",
position: "top_bar",
classes: "default everyone"
},
{
module: "clock",
position: "top_left",
classes: "default everyone"
},
{
module: "calendar",
header: "US Holidays",
position: "top_left",
classes: "kirsty",
config: {
calendars: [
{
fetchInterval: 7 * 24 * 60 * 60 * 1000,
symbol: "calendar-check",
url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics"
}
]
}
},
{
module: "compliments",
position: "lower_third",
classes: 'kirsty'
},
{
module: "weather",
position: "top_right",
classes: "default everyone",
config: {
weatherProvider: "openmeteo",
type: "current",
lat: 40.776676,
lon: -73.971321
}
},
{
module: "weather",
position: "top_right",
header: "Weather Forecast",
classes: "default everyone",
config: {
weatherProvider: "openmeteo",
type: "forecast",
lat: 40.776676,
lon: -73.971321
}
},
{
module: "newsfeed",
position: "bottom_bar",
classes: 'alfie',
config: {
feeds: [
{
title: "BBC News - England",
url: "https://feeds.bbci.co.uk/news/england/rss.xml"
}
],
showSourceTitle: true,
showPublishDate: true,
broadcastNewsFeeds: true,
broadcastNewsUpdates: true
}
},
{
module: 'MMM-ProfileSwitcher',
config: {
enterMessages: {
// I will have only one message.
"alfie": "You again?!?!",
// Kirsty has two portions
"kirsty": ["Oh hello.", "Hey how is it going?"]
}
}
},
{
module: 'MMM-Face-Reco-DNN',
config: {
// Logout 15 seconds after user was not detected anymore, if they will be detected between this 15
// Seconds, they delay will start again
logoutDelay: 15000,
// How many time the recognition starts, with a RasPi 3+ it would be good every 2 seconds
checkInterval: 2000,
// Module set used for when there is no face detected ie no one is in front of the camera
noFaceClass: 'noface',
// Module set used for when there is an unknown/unrecognised face detected
unknownClass: 'unknown',
// Module set used for when there is a known/recognised face detected
knownClass: 'known',
// Module set used for strangers and if no user is detected
defaultClass: 'default',
// Set of modules which should be shown for any user ie when there is any face detected
everyoneClass: 'everyone',
// Set of modules that are always shown - show if there is a face or no face detected
alwaysClass: 'always',
// xml to recognize with haarcascade
cascade: 'modules/MMM-Face-Reco-DNN/model/haarcascade_frontalface_default.xml',
// pre encoded pickle with the faces
encodings: 'modules/MMM-Face-Reco-DNN/model/encodings.pickle',
// Brightness (0-100)
brightness: 0,
// Contrast (0-127)
contrast: 0,
// Rotate camera image (-1 = no rotation, 0 = 90°, 1 = 180°, 2 = 270°)
rotateCamera: -1,
// method of face recognition (dnn = deep neural network, haar = haarcascade)
method: 'dnn',
// which face detection model to use. "hog" is less accurate but faster on CPUs. "cnn" is a more accurate
// deep-learning model which is GPU/CUDA accelerated (if available). The default is "hog".
detectionMethod: 'hog',
// how fast in ms should the modules hide and show (face effect)
animationSpeed: 0,
// Path to Python to run the face recognition (null / '' means default path, with Bookworm you need to set the virutal environment like /home/youruser/python-facereco/bin/python3. You can also find out the correct path if you are activated the virtual environment and run "which python3")
pythonPath: "/home/alfie/python-facereco/bin/python3",
// Boolean to toggle welcomeMessage
welcomeMessage: true,
// Dictionary for person name mapping in welcome message
// Allows for displaying name with complex character sets in welcome message
// e.g. jerome => Jérôme, hideyuki => 英之, mourad => مراد
usernameDisplayMapping: null,
// Save some pictures from recognized people, if unknown we save it in folder "unknown"
// So you can extend your dataset and retrain it afterwards for better recognitions
extendDataset: false,
// if extenDataset is set, you need to set the full path of the dataset
dataset: 'modules/MMM-Face-Reco-DNN/dataset/',
// How much distance between faces to consider it a match. Lower is more strict.
tolerance: 0.6,
// allow multiple concurrent user logins, 0=no, any other number is the maximum number of concurrent logins
multiUser: 0,
// resoltuion of the image
resolution: [1920, 1080],
// width of the image for processing
processWidth: 500,
// output image on mm
outputmm: 0,
// turn on extra debugging 0=no, 1=yes
debug: 0,
}
},
]
};
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") { module.exports = config; }
@oberk Hey, hope you are well!
How did you get this to work correctly?
I have successfully installed everything and my face gets detected successfully. I get the notification pop up saying I’m detected but it doesn’t switch profiles. The modules all have classes assigned too.
Am I missing something?
Thanks,
Alfie