This a module for the MagicMirror. It can display information from Home Assistant using the home assistant REST API.
forked from: https://github.com/leinich/MMM-homeassistant-sensors.git
Navigate into your MagicMirror's modules
folder and clone this repository:
cd ~/MagicMirror/modules && git clone https://github.com/hubi-hubi/MMM-homeassistant-sensors.git
If you want to use icons for the sensors download the MaterialDesignIcons
webfont from https://github.com/Templarian/MaterialDesign-Webfont/archive/master.zip and unzip the folder:
cd ~/MagicMirror/modules/MMM-homeassistant-sensors && wget https://github.com/Templarian/MaterialDesign-Webfont/archive/master.zip && unzip master.zip
It is very simple to set up this module, a sample configuration looks like this:
I hardcoded this to use a https option to accept selfsigned certificate on the homeassistant server. (see node_helper.js)
Option | Description | Reallife |
---|---|---|
prettyName |
Pretty print the name of each JSON key (remove camelCase and underscores). Default: true |
|
stripName |
Removes all keys before the printed key. Example: a.b.c will print c .Default: true |
|
title |
Title to display at the top of the module. Default: Home Assistant |
|
host |
The hostname or ip adress of the home assistant instance. Default: REQUIRED hassio.local |
|
port |
port of homeassistant e.g. 443 for SSL. Default: 8321 |
|
https |
is SSL enabled on home assistant (true/false) Default: REQUIRED false |
|
token |
The long lived token. Default: REQUIRED |
|
apipassword |
Deprecated API password. Default: `` |
|
updateInterval |
The time between updates (In milliseconds). Default: 300000 (5 minutes) |
|
selfsigned |
allows self signed certificates/ less secure (true/false). Default: false |
useless, grep for it |
debuglogging |
Enable logging into /home/pi/.pm2/logs/mm-error.log (true/false). Default: false |
|
values |
Specify specific values from the json feed to only show what you need (entity_id). |
Option | Description |
---|---|
sensor |
entity_id from Home Assistant. Please have a look at the states pages for the unique entity_id of your sensor |
name |
The name of the value to display. If you omit this, friendly_name from Home Assistant will be displayed. |
alertThreshold |
As soon as the measured value of the sensor exceeds the configured threshold, the entry will begin to 'blink'. Default: off |
attributes |
Array of sensor attributes to show. If not set, only show sensor state. If set, you can add as many attributes as you want, if you want to show the state as well add 'state' . Default: [] |
icons |
Icons object for the on/off status of sensor. see: MaterialDesignIcons |
Option | Description |
---|---|
default |
Default icon of the sensor. In case there is no on/off status, like processor use. |
state_on |
On status icon of the sensor |
state_off |
Off status icon of the sensor |
state_open |
Open status icon of the sensor |
state_closed |
Closed status icon of the sensor |
Here is an example of an entry in config.js
modules: [{
module: 'MMM-homeassistant-sensors',
position: 'top_left',
config: {
host: "YOUR_HASS_HOST",
port: "8123",
https: false,
token: "YOUR_LONG_LIVED_HASS_TOKEN",
prettyName: false,
stripName: false,
debuglogging: false,
values: [{
sensor: "sensor.processor_use",
alertThreshold: 50,
icons: [{
"default": "chip"
}
]
}, {
sensor: "binary_sensor.sensor",
name: "Hallway Sensor",
icons: [{
"state_off": "run",
"state_on": "run-fast"
}
]
}, {
sensor: "switch.reception_spot",
icons: [{
"state_off": "lightbulb-outline",
"state_on": "lightbulb-on-outline"
}
]
}
]
}
}
]
Result example:
- [https://github.com/leinich/] for the fork
- Michael Teeuw for creating the awesome MagicMirror2 project that made this module possible.
- tkoeberl for creating the initial module that I used as guidance in creating this module.
- duckduckgo for finding the relevant "got" documentation that tries to connect to home assistant
- rejectUnauthorized for the magic