A client interface for the Bosch Smart Home System on the MagicMirror² platform.
Click here for the MagicMirror Forum Thread.
Note: This module is a private and inofficial project without any relation to Robert Bosch Smart Home GmbH. I do not give any warranty, nor am I responsible for any damage.
Contribution welcome.
I put a lot of time and effort into the creation and maintenance for this module and I'm glad so many people like it. If you also like this module and want to thank, please rate this repository with a star or donate a small amount that is worth it to you.
- Support for multiple rooms
- Door-/ Window Contacts
- Room Climate Controls
- Thermostats
- Twinguards
- Visualization of Temperature, Humidity and Purity
- Bosch Home Connect Dishwashers (experimental!)
- Philips Hue Bridge
- Languages: English, German, French (feel free to contribute)
-
Navigate to the
MagicMirror/modules
directory and execute the following commandsgit clone https://github.com/jalibu/MMM-BoschSmartHome.git cd MMM-BoschSmartHome
-
Install dependencies with the following command
npm install
-
Generate Certificate
openssl req -x509 -nodes -days 9999 -newkey rsa:2048 -keyout client-key.pem -out client-cert.pem
Important: Make sure, that you enter at least a valid country code (i.e. DE, FR, US, NL, ...). Otherwise it won't work.
-
Add the module configuration into the
MagicMirror/config/config.js
file (sample configuration):{ module: "MMM-BoschSmartHome", position: "top_left", config: { host: "192.168.0.150", // Bosch Smart Home Bridge's local IP Address name: "MMM-BoschSmartHome", // Display name for App identifier: "MMM-BoschSmartHome", // Unique Identifier for app password: "", // Password for Bosch Smart Home Bridge refreshIntervalInSeconds: 60, // Default: 60 width: "340px", displayRoomIcons: false, // Default: false hideComponents: {}, // See example below. Default: {} hideEmptyRooms: false, // Hide rooms, if they have no information to display. Default: false colorizeRoomWithAirQuality: false, // Colorizes room tiles in red/orange/green depending on combined air quality. Only works with Twinguard roomOrder: [], // Manually set the room order by a list of room names, e.g. ["Livingroom", "Bedroom", "Kitchen"] airquality: { purity: "bar", // one of [tile, bar, donut, none] humidity: "bar", // one of [tile, bar, donut, none] temperature: "bar", // one of [tile, bar, donut, none] preferredTemperatureProvider: "Twinguard", // Twinguard or ClimateControl preferredHumidityProvider: "Twinguard" // Twinguard or ClimateControl }, temperatureLevel: { displayCurrentTemperature: true, // Default: true displayTargetTemperature: true, // Default: true forceRowTile: true // Show tile as row, even if there is no target temperature. Default: true }, thermostats: { display: false, // Default: true displayName: false // Default: false } } }
You can hide individual components per room. Check sample for possible values:
config: { hideComponents: { "Livingroom": ["temperature", "purity", "humidity"], "Bed Room": ["battery", "climateControl", "temperatureLevel", "hue"], "Kitchen": ["shutters", "dishwasher", "thermostats"], "Dungeon": ["room"] // hides entire room } }
-
Important: When the module is started for the first time, a pairing between the MagicMirror and the Bosch Smart Home Bridge is automatically created with the generated certificate. For this to work, you must press the pairing button on the bridge for 5 seconds until it starts flashing. Then startup MagicMirror. This only has to be done once.
This module is written in TypeScript and compiled with Rollup.
The source files are located in the /src
folder.
Compile target files with npm run build
.
Contribution for this module is welcome!
- all testers and supporters.
- holomekc for your amazing BSHB connector, which is a basic component of this module.