Giter VIP home page Giter VIP logo

mmm-boschsmarthome's Introduction

MMM-BoschSmartHome

version Known Vulnerabilities

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.

Support

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.

Features

  • 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)

Screenshot

screenshot

Installing the Module

  1. Navigate to the MagicMirror/modules directory and execute the following commands

    git clone https://github.com/jalibu/MMM-BoschSmartHome.git
    cd MMM-BoschSmartHome
  2. Install dependencies with the following command

    npm install
  3. 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.

  4. 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
         }
     }
  5. 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.

Contribution and Development

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!

Thanks to

  • all testers and supporters.
  • holomekc for your amazing BSHB connector, which is a basic component of this module.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.