Looks great!
Read the statement by Michael Teeuw here.
Posts
-
RE: Newbie MM Husband trying to make a MM for wife for XMAS
Magic Mirror Basics, part 2: Modifying your mirror
You’ve already done this a bit, but I want to expand upon modifying the behavior of your Magic Mirror. The vast majority of the time, you will be able to change the behavior of your magic mirror to your will by doing two things:
- Installing modules in the
/home/pi/MagicMirror/modulesfolder - Modifying the
config.jsfile.
You’ve already taken a crack at modifying the
config.jsfile. You’ve changed the default compliments to include your wife’s name. That’s pretty much half of the journey right there. The compliments and calendar modules are included with the basic magic mirror framework, so you don’t need to add those modules separately. Adding the modules developed by the community is only slightly more involved.The basic steps to adding a third-party module are:
- clone the module into the
/home/pi/MagicMirror/modulesfolder - run the installation script, if necessary
- edit the
config.jsfile to tell the magic mirror framework to look for the new module.
The only complex part of the process is that the section of the
config.jsfile for the new module isn’t included in the default file, so you’ll have to add it from scratch. It’s not terribly difficult and theread.mefile in each module should give you an example of the relevant code to copy into theconfig.jsfile. - Installing modules in the
-
RE: Core of MagicMirror
@yours.mukul Heh. All right, short version:
Magic Mirror is a modularized application that is written using NodeJS, the Electron application framework and a mix of Javascript and Python programming languages. It does not use a database for state information. Instead, the Magic Mirror application uses a configuration file that determines how the application loads and run a series of modules.
The Electron application framework is responsible for coordinating between the back-end NodeJS processes and the front-end Javascript processes. The electron application is also responsible for rendering the interface onto the screen via a built-in web browser (Chromium).
When a module starts up (as directed by the main application), that module returns a chunk of HTML code that the application will then render and place upon the interface. If the module needs information from another source (RSS feed, weather information, sports scores, whatever), the application framework has hooks that allow a node process to retrieve/generate that information and then present it to front-end module code. Any state information is stored in memory and is regularly replaced by the back end process.
I hope that clarifies things.
-
RE: no space on SD-card
@zdenek First, how big is your SD card?
Second, you can probably copy off the
config.jsfile out of the/home/pi/MagicMirror/configurefolder and then delete the entire/home/pi/MagicMirrorfolder. That should give you enough space to get your Pi back up & running.Third, you can remove the applications that come with the Raspian operating system that aren’t necessary for the Magic Mirror to function with this command:
sudo apt-get remove --purge idle3 java-common libreoffice* minecraft-pi scratch nuscratch penguinspuzzle python-minecraftpi python3-minecraftpi smartsim sonic-pi wolfram-engine
Follow it up with the automated cleanup:sudo apt-get autoremove -y.That should free up some space once you get your Pi booted again.
-
RE: Magic Mirror Mark IV
@motdog said in Magic Mirror Mark IV:
Remote access code?
Technically, remote SSH access into the mirror through their firewall. It’s not really a code so much as an encrypted passkey.
-
RE: Considering taking donations to support the MagicMirror project. Interested in your thoughts!
I’m currently working on my 4th mirror and I have plans for two more. I have gotten so much out of @MichMich’s original idea. I would love to donate some cashy money to help him keep this idea flourishing.
Additionally, I trust Mich to use collected funds for the project appropriately.
-
RE: Magic Vanity Mirror
WIth a little creative woodworking, you could route a channel along the frame. Similar to a rabbet, but an 8mm wide and 2mm deep channel could fit a string of LEDs. The lights would illuminate her face but the channel would keep them from washing out the acrylic & screen.
-
RE: MagicMirror wont start
@kalleK Well, those errors didn’t seem to kill your mirror. I would comment out the 3rd-party modules in your
config.jsand restart your mirror process. Add them back one at a time until you get those warnings again and then talk to the module developer. Assuming those are module errors. -
RE: My Old Wood Mirror
@nischi - Aha! I was wondering what those things were. Now I understand.
-
RE: Considering taking donations to support the MagicMirror project. Interested in your thoughts!
Done and done. I did get the initial prompt in Dutch, but I was able to figure it out. Once I logged into PayPal, everything switched to English.
-
RE: An "additional" config.js per say
@richland007 - It sounds like you’re referring to the external file option in the Compliments module.
-
RE: Error Installing Dependencies Permission Denied
@buckgup It installed into desktop because that’s the folder you were in when you ran the git command. So:
cd /home/pug git clone https://github.com/MichMich/MagicMirror.git cd MagicMirror npm install -
RE: Here is my 14 X 18 Mirror
That’s pretty cool. Do you have a wider shot so we can see all of the frame? And do you have a shot of the back? I’m curious as to how you mounted your components.
-
RE: A New Chapter for MagicMirror: The Community Takes the Lead
Michael, thank you for taking a wild idea and creating this wonderful community around it. I really appreciate all of the work you did to get this project where it is today. It has inspired me to stretch myself in several directions that I probably would not have gone if it weren’t for the potential of the magic mirrors.
We wouldn’t be here without you.
-
RE: MagicMirror Ideas for Retail Application
Unfortunately, the Twitter integration module isn’t working these days. That would be an interesting module to present in a store. @mdhenriksen’s idea of a photo gallery of products is pretty slick.
Perhaps a news feed of fashion news.
-
RE: Two Instances in PM2
@shazglass - Hmm. I don’t know. It should be working normally at this point. Let’s try switching to the previous process. We’ll delete the one that the installer created, then add the one to your script.
First, we remove the existing process:
cd ~ pm2 delete MagicMirror pm2 saveThen we use your
mm.shscript that you had earlier.pm2 flush pm2 start mm.sh pm2 saveAt this point, your mirror should come up in about 30 seconds. If it does not, enter
pm2 log mmand copy the results here. Be sure to use the forum markup tools to help format your log messages. -
RE: Here is my 14 X 18 Mirror
Thank you for the additional photos. It’s looking good!
-
RE: MMM-Jnews
@jeffreyking -
Just in case nobody else mentions it, you should delete the advice in the square brackets from yourconfig.jsfile. The part that looks like this:[default is false, Raspberry Pi's don't like the images]Delete in the part in the square brackets from the next line as well. They are commentary from the developer.
-
RE: Unable to login into internet protocol address - 192.168.1.4
@novajones001 - You’re going to have to provide a lot more detail.
It that IP address the IP address of your mirror?
Are you trying to view the content or configure the mirror?If you’re trying to view the content, then open your web browser and enter http://192.168.1.4:8080 in the address bar.
If you’re trying to configure your mirror, then you need to SSH into that IP address with an SSH client. If you’re using Ubuntu, Debian or other flavor of Unix, you can just type
ssh pi@172.168.1.4at the command prompt. It will ask you for a password, which by default israspberry.If you’re using Windows 10, you have to open PowerShell and then type that command. (Did everyone know that PowerShell has SSH capability? I did not.) You’ll still have to enter the password.
Let us know how it goes.
-
RE: pm2 logs - UnhandledPromiseRejectionWarning
@ooskay - Please post your
config.jsfile here and we’ll take a look at it. When you do, be sure to use the forum markdown features to help us read your file and be sure to remove any API keys from your file to keep them private. Here is a link explaining the markdown features.