MagicMirror/README.md

113 lines
7.2 KiB
Markdown
Raw Normal View History

2016-04-10 17:11:31 -04:00
![MagicMirror²: The open source modular smart mirror platform. ](.github/header.png)
2016-04-10 20:39:42 +02:00
2016-04-10 17:06:21 -04:00
<p align="center">
2016-04-10 17:11:31 -04:00
<a href="https://david-dm.org/MichMich/MagicMirror/v2-beta"><img src="https://david-dm.org/MichMich/MagicMirror/v2-beta.svg" alt="Dependency Status"></a>
<a href="https://david-dm.org/MichMich/MagicMirror/v2-beta#info=devDependencies"><img src="https://david-dm.org/MichMich/MagicMirror/v2-beta/dev-status.svg" alt="devDependency Status"></a>
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-v5.10.1-brightgreen.svg" alt="Node Version"></a>
<a href="http://choosealicense.com/licenses/mit"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License"></a>
2016-04-17 08:55:48 -04:00
<a href="https://snyk.io/test/github/MichMich/MagicMirror/v2-beta"><img src="https://snyk.io/test/github/MichMich/MagicMirror/v2-beta/badge.svg" alt="Known Vulnerabilities" data-canonical-src="https://snyk.io/test/github/MichMich/MagicMirror/v2-beta" style="max-width:100%;"></a>
2016-04-10 17:06:21 -04:00
</p>
**MagicMirror²** is an open source modular smart mirror platform. With a growing list of installable modules, the **MagicMirror²** allows you to convert your hallway or bathroom mirror into your personal assistant. **MagicMirror²** is built by the creator of [the original MagicMirror](http://michaelteeuw.nl/tagged/magicmirror) with the incredible help of a [growing community of contributors](https://github.com/MichMich/MagicMirror/graphs/contributors).
2016-04-10 20:39:42 +02:00
MagicMirror² focuses on a modular plugin system and uses [Electron](http://electron.atom.io/) as an application wrapper. So no more web server or browser installs necessary!
2016-03-28 13:47:40 +02:00
2016-04-11 11:50:36 +02:00
**NOTE:** This version is in currently in beta stage. Please use the master branch if you need a thoroughly tested version.
2016-04-10 17:11:31 -04:00
## Table Of Contents
2016-04-09 15:59:05 +02:00
- [Usage](#usage)
- [Configuration](#configuration)
- [Modules](#modules)
2016-04-11 11:35:56 +02:00
- [Known Issues](#known-issues)
2016-04-09 15:59:05 +02:00
- [Contributing Guidelines](#contributing-guidelines)
## Usage
#### Raspberry Pi Support
Electron, the app wrapper around MagicMirror², only supports the Raspberry Pi 2 & 3. The Raspberry Pi 1 is currently **not** supported. If you want to run this on a Raspberry Pi 1, use the [server only](#server-only) feature and setup a fullscreen browser yourself.
2016-04-08 20:24:08 +02:00
#### Automatic Installer (Raspberry Pi Only!)
2016-04-09 15:14:01 +02:00
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
2016-04-09 15:14:01 +02:00
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`
2016-04-09 15:15:27 +02:00
3. Enter the repository: `cd ~/MagicMirror`
2016-04-09 15:14:01 +02:00
4. Install and run the app: `npm install && npm start` (You may have to restart your terminal before this works!)
2016-04-03 17:46:09 +02:00
2016-04-07 21:04:24 -04:00
**Important:** `npm start` does **not** work via SSH, use `DISPLAY=:0 nohup npm start &` instead. This starts the mirror on the remote display.
2016-03-28 13:47:40 +02:00
2016-04-08 20:45:14 -04:00
#### Server Only
2016-04-08 22:16:22 +02:00
2016-04-12 20:16:04 +03:00
In some cases, you want to start the application without an actual app window. In this case, execute 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.
2016-04-08 22:16:22 +02:00
#### Raspberry Configuration & Auto Start.
2016-04-10 20:39:42 +02:00
2016-04-12 20:16:04 +03:00
The following wiki links are helpful in the configuration of your MagicMirror² operating system:
2016-04-10 20:39:42 +02:00
- [Configuring the Raspberry Pi](https://github.com/MichMich/MagicMirror/wiki/Configuring-the-Raspberry-Pi)
- [Auto Starting MagicMirror](https://github.com/MichMich/MagicMirror/wiki/Auto-Starting-MagicMirror)
2016-04-10 20:39:42 +02:00
## Configuration
1. Duplicate `config/config.js.sample` to `config/config.js`.
2. Modify your required settings.
2016-04-09 15:59:05 +02:00
The following properties can be configured:
2016-04-10 17:59:31 -04:00
| **Option** | **Description** |
2016-04-10 17:14:19 -04:00
| --- | --- |
2016-04-10 17:59:31 -04:00
| `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`. |
| `modules` | An array of active modules. **The array must contain objects. See the next table below for more information.** |
2016-04-09 15:59:05 +02:00
Module configuration:
2016-04-10 18:02:03 -04:00
| **Option** | **Description** |
2016-04-10 17:14:19 -04:00
| --- | --- |
2016-04-10 17:59:31 -04:00
| `module` | The name of the module. This can also contain the subfolder. Valid examples include `clock`, `default/calendar` and `custommodules/mymodule`. |
| `position` | The location of the module in which the module will be loaded. Possible values are `top_ bar`, `top_left`, `top_center`, `top_right`, `upper_third`, `middle_center`, `lower_third`, `bottom_left`, `bottom_center`, `bottom_right`, `bottom_bar`, `fullscreen_above`, and `fullscreen_below`. This field is optional but most modules require this field to set. Check the documentation of the module for more information. Multiple modules with the same position will be ordered based on the order in the configuration file. |
| `classes` | Additional classes which are passed to the module. The field is optional. |
| `header` | To display a header text above the module, add the header property. This field is optional. |
| `config` | An object with the module configuration properties. Check the documentation of the module for more information. This field is optional, unless the module requires extra configuration. |
2016-04-01 10:47:16 +02:00
## Modules
2016-03-30 15:20:14 +02:00
The following modules are installed by default.
2016-03-30 15:13:46 +02:00
2016-04-01 17:35:29 +02:00
- [**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)
2016-04-03 13:02:49 +02:00
- [**Alert**](modules/default/alert)
2016-03-31 11:08:06 +02:00
2016-04-15 14:27:50 +02:00
For more available modules, check out out the wiki page: [MagicMirror² Modules](https://github.com/MichMich/MagicMirror/wiki/MagicMirror²-Modules). If you want to build your own modules, check out the [MagicMirror² Module Development Documentation](modules).
2016-04-09 20:58:07 +02:00
2016-04-11 11:35:56 +02:00
## Known issues
- Electron seems to have some issues on certain Raspberry Pi 2's. See [#145](https://github.com/MichMich/MagicMirror/issues/145).
2016-04-11 11:36:30 +02:00
- MagicMirror² (Electron) sometimes quits without an error after an extended period of use. See [#150](https://github.com/MichMich/MagicMirror/issues/150).
2016-04-11 11:35:56 +02:00
2016-04-09 15:59:05 +02:00
## Contributing Guidelines
2016-04-03 20:27:55 +02:00
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:
2016-04-03 20:27:55 +02:00
- **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.
2016-04-12 20:16:04 +03:00
- **Minor Bug Fixes**: Please send a pull request with a clear explanation of the issue or a link to the issue 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.
2016-04-03 20:27:55 +02:00
2016-04-09 15:59:05 +02:00
Thanks for your help in making MagicMirror² better!