MagicMirror²
This version of the Magic Mirror software focusses on a modular plugin system. Besides that, the Magic Mirror software now also uses Electron, so no more webserver or browser installs necessary.
WARNING! This version is in a very early stage. It is not completed yet. Please use the master branch.
Usage
Automatic Installer (Raspberry Pi Only!)
- Clone the repository:
git clone -b v2-beta https://github.com/MichMich/MagicMirror
- Enter the new directory:
cd MagicMirror
- Give the installer permission to run:
sudo chmod +x install.sh
- Start the installer:
sudo ./install.sh
Manual Installation
- Download the latest Node.js version:
wget https://nodejs.org/dist/latest/node-v5.10.0-linux-armv6l.tar.gz
for Raspberry Piwget https://nodejs.org/dist/latest/node-v5.10.0-linux-armv7l.tar.gz
for Raspberry Pi 2wget https://nodejs.org/dist/latest/node-v5.10.0-linux-arm64.tar.gz
for Raspberry Pi 3
- Unpack the archive file:
tar -xvf filename.tar.gz
- Install Node.js:
cd foldername && sudo cp -R * /usr/local/
- Set loglevel
npm config set loglevel info
- Clone the repository and check out the beta branch:
git clone -b v2-beta https://github.com/MichMich/MagicMirror
- Enter the repository:
cd MagicMirror
npm install && npm start
(You may have to restart your terminal before this works!)
Important: npm start
does not work via SSH, use DISPLAY=:0 nohup npm start &
instead. This starts the mirror on the remote display.
Server Only
In some cases, you want to start the application without an actual app window. In this case, exectute the following command from the MagicMirror folder: node serveronly
. This will start the server, after which you can open the application in your browser of choice.
Configuration
- Duplicate
config/config.js.sample
toconfig/config.js
. - Modify your required settings.
Todo List
Here is a list of various things that still have to be implemented or changed.
- Allow show/hide animations to animate the height. This way, the other modules won't jump around.
- Allow vertical centering of alerts.
- Rewrite the alert module in vanilla JavaScript.
- Write all the documentation.
Modules
The following modules are installed by default.
The following modules are created by their respective authors.
-
MMM-FRITZ-Box-Callmonitor by PaViRo
FRITZ!Box Callmonitor (Display an alert when someone is calling ...) -
MMM-Facial-Recognition by PaViRo
Facial recognition and module swapping based on the current user ... -
MMM-Wunderlist by PaViRo
Displays your Wunderlist todos on your mirror ... -
MMM-wordnik by Vendittelli
Get the word of the day, its definition, and origin ...
Contributing
Contributions of all kinds are welcome, not only in the form of code but also with regards bug reports and documentation.
Please keep the following in mind:
- Bug Reports: Make sure you're running the latest version. If the issue(s) still persist: please open a clearly documented issue with a clear title.
- Minor Bug Fixes: Please send a pull request with a clear explanation of the issue or a link to the isssue it solves.
- Major Bug Fixes: please discuss your approach in an GitHub issue before you start to alter a big part of the code.
- New Features: please please discuss in a GitHub issue before you start to alter a big part of the code. Without discussion upfront, the pull request will not be accepted / merged.
Thanks for your help in making Magic Mirror better!