Git Product home page Git Product logo

openhomematic's Introduction

emonmuc header

This project implements a communication protocol as part of emonmuc (energy monitoring multi utility communication), based on the open-source project OpenMUC, a software framework based on Java and OSGi, that simplifies the development of customized monitoring, logging and control systems.


OpenHomeMatic

HomeMatic by eQ-3 is a Smart Home System, operating on 868-MHz. At this relatively low frequency, highly stable transmissions over several 100m are possible with the signal being immune to disturbances from Wifi or similar radio signals.

This project is based on the OGEMA project and allows to read and control HomeMatic devices inside the emonmuc framework, allowing them to be controlled by other applications or energy management systems. To enable communication over 868-MHz, the installation of a radio transceiver is necessary.
Recommended and tested hardware are e.g. CC1101 RF transceivers:

To flash and prepare the SCC module, a comprehensive firmware installation guide may be followed.

1 Installation

To setup this protocol driver, emonmuc needs to be installed. To do so, a comprehensive guide is provided on the projects GitHub page.

With emonmuc being installed, the driver may be enabled

emonmuc install homematic-cc1101

To disable the driver, use

emonmuc remove homematic-cc1101

This shell command will automatically set up the driver. If there is the need to manually install the driver, a separate installation guide may be followed.

1.1 Serial Port

To use any serial port with the emonmuc framework, the open-source project jRxTx is used. This, as well as some additional steps to use the UART Pins of the Raspberry Pi Platform, need to be prepared.
The Serial Port preparation guide needs to be followed to do so.

1.2 Wiring Pi

For the Stackable CC1101 (SCC) module for the Raspberry Pi, the GPIOs 0 and 1 needs to be set. This is done with the Pi4J library, that links to the Wiring Pi debian package. To prepare it, the Wiring Pi preparation guide needs to be followed.

1.3 Configuration

Depending on the RF transceiver used, some additional configurations may be necessary.
This can be done in the OSGi frameworks system properties, located by default in /opt/emonmuc/conf/system.properties. Add any of the optional properties like this:

# Define the hardware interface used: <SCC/CUL>. Default is SCC
org.openmuc.framework.driver.homematic.interface = CUL

# If the CUL interface is used, the serial port of the stick needs to be defined. Default for CUL is /dev/ttyUSB0
;org.ogema.driver.homematic.serial.port = /dev/ttyACM0

Both hardware interface communication options SCC and CUL are serial connections.
The property org.ogema.driver.homematic.serial.port defines the port to be used. For CUL the default value of the port is /dev/ttyUSB0. For SCC, the default value of the port is /dev/ttyAMA0.

Additionally, the transceivers ID, used to pair and identify itself with HomeMatic devices, may be chosen.
The property org.openmuc.framework.driver.homematic.id allows to set this ID, which can be an arbitrary string of 6 characters. The default value is F11034.

1.2 Serial Port

To use any serial port with the emonmuc framework, the open-source project jRxTx is used. This, as well as some additional steps to use the UART Pins of the Raspberry Pi Platform, need to be prepared.
The Serial Port preparation guide needs to be followed to do so.

2 Guide

With the protocol driver being enabled, some first steps can be taken to learn about the features of this project.
For this purpose, a First Steps guide was documented to be followed.

3 Development

To provide an entrypoint for further developments, a generated javadoc can be visited. A description of system resources and a rough architecture overview got documented in the Development site and is encouraged to be read.
For other questions or initiatives please don't hesitate to file an issue or get into contact directly.

Currently, only a set of HomeMatic devices are supported and provided with templates to be created with the emoncms device module. While others should work as well, the only tested devices are:

  • Switch Actuator (with power metering):
    • HM-ES-PMSw1-Pl
  • Thermostat:
    • HM-CC-RT-DN
  • Temperature/Humidity Sensor:
    • HM-WDS30-T-O
    • HM-WDS40-TH-I-2

Contact

This project is maintained by:

ISC logo

openhomematic's People

Contributors

adminde avatar daner412 avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

niklasgrab

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.