How to add modules. For absolute beginners.
I’m going to walk you through this. Why? Well, someone always helped me when I was new.
What better way to repay them? By helping others, that’s how.
Are there other ways of intalling modules?
Yes, there are, but the aim of this walkthrough is to make things as clear, and as easy,
and as explicit as possible for the absolute beginner. Why? When I was a beginner, a guide
such as this would have saved me a lot time and mental anguish. You know exactly what I mean.
First things first!
This guide assumes that you have your Pi up and running and that you have installed
the MagicMirror software AND that you have successfully gotten your mirror to work.
Now you want to add some cool modules? Well, lets get to it!
Follow me . . .
Lets use my MMM-JEOPARDY module for this guide. The procedure is the same for any module
that you want to add to your mirror.
-
Go to this page of modules:
-
https://github.com/MichMich/MagicMirror/wiki/3rd-Party-Modules
-
Scroll down the page until you see MMM-JEOPARDY by Mykle1.
-
Click on it.
-
Now you’re at my repository for the MMM-JEOPARDY module.
-
Click on the green Clone or download
button on the right side of the page.
-
That shows you the url to get the module.
-
Copy that url. (click on the clipboard icon)
So far, so good! Stay with me . . .
-
Now open a terminal (cltr-alt-t on the desktop) and type cd MagicMirror/modules
and press Enter
.
-
Now you’re in the ~/MagicMirror/modules $
directory.
-
Now type git clone
AND one space and paste the url that you copied from my repo for the module.
-
It should look like this: git clone https://github.com/mykle1/MMM-JEOPARDY.git
-
Press your Enter
key. This will download the module into the MagicMirror/modules folder creating a new folder with the name of the module (in this case MMM-JEOPARDY)
-
You’re done with the terminal! (for now) Close it. We’ll get back to it.
Note about dependencies
Some modules require dependencies. MMM-JEOPARDY does NOT. Each module folder should have
a README file that tells you if you need to install them, in which case you would navigate to
the folder of the module that you just installed (via the terminal) and type npm install
.
But we don’t have to do that in this case, so HOORAY FOR US!
Go to your Pi desktop
-
Click the File Manager folder. (Top menu bar, 3rd from the left, in Raspbian Jessie)
-
Double click the MagicMirror folder.
-
Double click the config folder.
-
Double click the config.js file. (Not the sample! The config.js file you made during setup)
-
Your config.js file is now open in a text editor. If not, open it in your text editor.
-
You have to add an entry for the module you just downloaded so that MM knows to load it.
-
Lets put the entry for MMM-JEOPARDY under your calendar module entry.
-
Modules that occupy the same position
display in the order they appear in the config.js file.
-
Scroll down to the calendar entry in the config.js file.
-
The calendar entry “ends” at the last },
and the compliments module entry begins with a {
.
So, all module entries in the config.js file begin with a {
and end with a },
Look at the way the modules are entered. What I just described should be evident.
-
Copy and paste the following “between” the ending of the calendar module entry - },
-
And the beginning of the compliments module entry - {
Copy and paste ALL of this
{
module: "MMM-JEOPARDY",
position: "top_left",
config: {
useHeader: false, // true if you want a header
header: "This is Jeopardy!",
maxWidth: "250px",
animationSpeed: 3000, // Fades to next clue
}
},
Does it look the same as the other entries?
- It should look like this:
-
Go to the file menu and choose SAVE. You can close your text editor window now.
-
Open a new terminal and type cd MagicMirror
and press your Enter
key.
-
Now you’re in the ~/MagicMirror $
directory.
-
Type npm start
and press your Enter key to launch MagicMirror with your new module installed.
From now on
- You’ll find the entry you need to make in the config.js file in the README file of each module.
If the module requires an API key
- You’ll have to get that BEFORE you attempt to load the module. It simply will NOT work without it. The README file for the module should contain a URL to the site where you’ll need to acquire you’re API key. These are usually free and only require you to sign up with your email address. Once you have the API key you’ll have to add it to the config.js module entry.
Backup your config.js file