
This version of the Magic Mirror software focuses on a modular plugin system. Besides that, the MagicMirror² software now also uses [Electron](http://electron.atom.io/), so no more web server or browser installs necessary. **WARNING!** This version is in a *very* early stage. It is **not** completed yet. **Please** use the master branch. ## Table Of Contents - [Usage](#usage) - [Configuration](#configuration) - [Modules](#modules) - [Todo List](#todo-list) - [Contributing Guidelines](#contributing-guidelines) ## Usage #### Automatic Installer (Raspberry Pi Only!) Execute the following command on your Raspberry Pi to install MagicMirror²: ```` curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/v2-beta/installers/raspberry.sh | bash ```` #### Manual Installation 1. Download and install the latest Node.js version. 2. Clone the repository and check out the beta branch: `git clone -b v2-beta https://github.com/MichMich/MagicMirror` 3. Enter the repository: `cd ~/MagicMirror` 4. Install and run the app: `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. #### Auto Start & Raspberry Configuration. The following wiki links are helpful in the cofiguration of your MagicMirror² operating system: - [Auto Starting MagicMirror](https://github.com/MichMich/MagicMirror/wiki/Auto-Starting-MagicMirror) - [Configuring the Raspberry Pi](https://github.com/MichMich/MagicMirror/wiki/Configuring-the-Raspberry-Pi) ## Configuration 1. Duplicate `config/config.js.sample` to `config/config.js`. 2. Modify your required settings. The following properties can be configured: | Option | Description | | --- | --- | | port | The port on which the MagicMirror² server will run on. The default value is `8080`. | | language | The language of the interface. (Note: Not all elements will be localized.) Possible values are `en`, `nl`, `ru`, `fr`, etc., but the default value is `en`. | | timeFormat | The form of time notation that will be used. Possible values are `12` or `24`. The default is `24`. | | module | An array of active modules. **The array must contain objects. See the next table below for more information.** | Module configuration: | Option | Description | | --- | --- | | `module` | The name of the module. This can also contain the subfolder: **Example:** `clock` **Example:** `default/calendar` **Example:** `custommodules/mymodule` | | `position` | The location of the module in which the module will be loaded. **Possible values:**`top_bar`, `top_left`, `top_center`, `top_right`, `upper_third`, `middle_center`, `lower_third`, `bottom_left`, `bottom_center`, `bottom_right`, `bottom_bar`, `fullscreen_above`, `fullscreen_below` **Note:** This field is optional, but most modules require this field to be set. Check the documentation of the module for more info. **Note:** Multiple modules with the same position will be ordered based on the order in the config file. | | `classes` | Additional classed which are added to the module. **Note:** This field is optional. | | `header` | To display a header text above the module, add the header property. **Note:** This field is optional. | | `config` | An object with the module configuration properties. Check the documentation of the module for more info. **Note:** This field is optional | Configuration example: ````javascript var config = { port: 8080, language: 'en', timeFormat: 24, modules: [ { module: "helloworld", position: "middle_center", classes: "large thin bright" config: { text: "MagicMirror²" } }, { module: "helloworld", position: "lower_third", classes: "small" config: { text: "Hello world!" } } ] }; // See the config.js.sample for additional required code. ```` ## Modules The following modules are installed by default. - [**Clock**](modules/default/clock) - [**Calendar**](modules/default/calendar) - [**Current Weather**](modules/default/currentweather) - [**Weather Forecast**](modules/default/weatherforecast) - [**News Feed**](modules/default/newsfeed) - [**Compliments**](modules/default/compliments) - [**Hello World**](modules/default/helloworld) - [**Alert**](modules/default/alert) The following modules are created by their respective authors. - **[MMM-FRITZ-Box-Callmonitor by PaViRo](https://github.com/paviro/MMM-FRITZ-Box-Callmonitor)**