Skip to content
A MagicMirror Module showing my Smartthings Home automation device status
Groovy JavaScript CSS
Branch: master
Clone or download
Latest commit a100b2b Jun 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci updated persist to workspace Jun 15, 2019
docs/images publish 0.2.4 Jun 15, 2019
smartthings publish 0.2.4 Jun 15, 2019
.eslintrc clean up and circleci Jun 15, 2019
.gitignore clean up and circleci Jun 15, 2019
.npmrc clean up and circleci Jun 15, 2019
.prettierrc clean up and circleci Jun 15, 2019
LICENSE Initial commit Jun 2, 2019
MMM-IOTStatus.css clean up and circleci Jun 15, 2019
MMM-IOTStatus.js updated readme Jun 15, 2019
README.md updated readme Jun 15, 2019
node_helper.js clean up and circleci Jun 15, 2019
package.json publish 0.2.4 Jun 15, 2019

README.md

MMM-IOTStatus

A MagicMirror's Module to show my Smartthings Home Automation device status using Firebase Realtime Database

The project uses a thingLayer, a Smartthings SmartApp to report the device status to Firebase. This module listens to the Firebase events in realtime and renders the device status on your mirror.

CircleCI

Screenshots

All devices green

Some devices red

Installation

1. Setup the MagicMirror module

cd ~/MagicMirror/modules
git clone https://github.com/aduyng/MMM-IOTStatus.git
cd MMM-IOTStatus
npm install --production

2. Setup Firebase Realtime Database

You will need a realtime database for Smartthings to push the device status to. Follow this tutorial, https://firebase.google.com/docs/web/setup, to setup a Firebase project and a realtime database.

Take note of the project configuration especially the realtime database URL.

3. Setup Smartthings

I modified the original of thingLayer SmartApp developed Jody Albritton to report my device status to Firebase.

  1. Install the modified version of thingLayer SmartApp (./smartthings/thingLayer.groovy) via Smartthings IDE
  2. Switch to App Settings, enter the realtime database URL on step 2. above to the value of firebaseUrl.

thingLayer will keep pushing changes to the path /iot of your realtime database above.

Configuration

  {
			module: "MMM-IOTStatus",
			position: "top_right",
			config: {
				title: 'My Home', // the title appears on the top
				firebaseDatabaseRootRef: '/iot', // the path of the realtime database to listen to
				firebaseConfig : {
					apiKey: "<the api key>",
					databaseURL: "<the realtime database URL>",
					projectId: "<the project id>",
					appId: "<the appId - optional>"
				}
			}
  }
You can’t perform that action at this time.