MMM-MyTado
This a Magic Mirror² module for your TADO Thermostat.
The module is based on the idea from WouterEekhout, but his module is not maintained anymore.
I like the idea and built a version with a modern look and feel.
The module displays the following information:
- The Home name (🏠)
- The Zone names (Configurable names)
- A symbol (🔥) to show if the heater is currently active.
- The current temperature and the target temperature
- The humidity (💦)
- The hot water temperature (🩸)
- Frost Protection (❄️)
- Open Window (🪟)

Installation
Clone this repository in your modules folder, and install dependencies:
cd ~/MagicMirror/modules
git clone https://github.com/htilburgs/MMM-MyTado.git
cd MMM-MyTado
npm install
Update
When you need to update this module:
cd ~/MagicMirror/modules/MMM-MyTado
git pull
npm install
Config
Go to the MagicMirror/config directory and edit the config.js file.
Add the module to your modules array in your config.js.
{
module: "MMM-MyTado",
position: "top_right",
header: "TADO Thermostaat",
disabled: false,
config: {
// Settings
updateInterval: 1800000, // 30 min - because of limitation free account
showZones: [], // [] = all zones, otherwise use zonename ["zone 1","zone 2"]
showHomeName: true, // Show Home Name as defined within the Tado environment
showColumnHeaders: true, // true = show Columns Headers, false = Hide Columns Headers
useColors: false, // Show colors for the Temperature column
showLastUpdate: true, // Show last update
debug: false, // Show debug information in logging
// Custom Names
zoneColumnName: "ZONE", // Custom Zone Column Name - default = ZONE
tempColumnName: "TEMP (°C)", // Custom Temperature Column Name - default = TEMP (°C)
humidityColumnName: "", // empty for no title (default)
statusColumnName: "STATUS", // Custom Status Column Name - default = STATUS
lastUpdateName: "Last update" // Custom Last update name - default = Last update
}
},
Authentication
The first time you run the module, you will need to authenticate with the Tado API.
No username or password is stored in MMM-MyTado, everything works with OAuth Authentication.
The module will log a URL that you need to visit in your browser to complete the authentication process.
Check the logs for a message like this:
MMM-MyTado: Device authentication required.
Open this URL to authenticate:
https://login.tado.com/oauth2/device?user_code=XXXXXX
Visit the URL in your browser and follow the instructions to authenticate the module with your Tado account.



Configuration Options
| Option |
Description |
updateInterval |
REQUIRED - The interval the information is updated (in milliseconds)
Default: 1800000 This value cannot be lower than 1800000 without a monthly subscription. Otherwise users get a Tado block.
More info at https://help.tado.com/en/articles/12165739-limitation-for-rest-api-usage |
showZones |
TADO uses Zones. When you use [] all zones will be shown (default) You can also choose which zones you like to see, just fill in the zones ["Zone 1","Zone 2", etc] |
showHomeName |
Show the Home name as defined in the Tapo environment Default: true |
showColumnHeaders |
Show the Column Headers Default: true |
useColors |
Use Colors for the Temperature Column Default: false |
debug |
Show debug information in logs Default false |
zoneColumnName |
Custom Zone Column Name - default: ZONE |
tempColumnName |
Custom Temperature Column Name - default: TEMP (°C) |
humidityColumnName |
Custom Humidity Column Name - default: Empty (Column Name is not shown) |
statusColumnName |
Custom Status Column Name - default: STATUS |
Versions
v1.0.0 - Initial release
v1.0.1 - Add Last update option
v1.0.2 - Allignment Home name and Status icons always on the right (CSS)
v1.0.3 - Add debug option, to prevent to many loggings in the logfiles
Credits
This module is inspired by the MMM-Tado module from WouterEekhout
Using the NPM package node-tado-client