OpenMUC Overview

OpenMUC is a software framework based on Java and OSGi that simplifies the development of customized monitoring, logging and control systems. It can be used as a basis to flexibly implement anything from simple data loggers to complex SCADA systems. The main goal of OpenMUC is to shield the application developer of monitoring and control applications from the details of the communication protocol and data logging technologies. Third parties are encouraged to create their own customized systems based on OpenMUC. OpenMUC is licensed under the GPL. We sell individual licenses on request.


At Fraunhofer ISE we use the flexible OpenMUC framework as a basis in various smart grid projects. Among other tasks we use it in energy management gateways to readout smart meters, control CHP units, monitor PV systems and control electric vehicle charging. Therefore the OpenMUC framework includes mostly communication protocol drivers from the energy domain. But due to its open and modular architecture there is virtually no limit to the number of applications that can be realized using OpenMUC.


In summary OpenMUC features the following highlights:

  • Easy application development: OpenMUC offers an abstract service for accessing data. Developers can focus on the application’s logic rather than the details of the communication and data logging technology.
  • Simple and flexible configuration: All communication and data logging parameters can be dynamically configured through a central file, the framework’s configuration service or a web interface.
  • Communication support: Out of the box support for several popular communication protocols. New communication protocol drivers can easily be added through a plug-in interface. Existing protocol drivers:
    • Modbus TCP / Modbus RTU / Modbus RTU/TCP
    • IEC 61850
    • IEC 60870-5-104
    • IEC 62056-21
    • KNX
    • M-Bus (wired)
    • wireless M-Bus
    • eHz meters/SML
    • SNMP
    • CSV
  • Data logging: Data can be logged in different formats. New data loggers can easily be added through a plug-in interface. Existing logger:
    • ASCII
    • SlotsDB (binary)
  • Web interface: Convenient user interface for configuration and visualization. Existing WebUI applications:
    • Channel Access Tool
    • Channel Configurator
    • Data Exporter
    • Data Plotter
    • Media Viewer
  • Data servers: Remote applications (e.g. smart phone apps, cloud applications) or local non-Java applications can access OpenMUC through one of the available data servers. Existing server:
    • Modbus TCP
  • Modularity: Drivers, data loggers etc. are all individual components. By selecting only the components you need you can create a very light weight system.
  • Embedded systems: The framework is designed to run on low-power embedded devices. It is currently being used on embedded x86 and ARM systems. Because OpenMUC is based on Java and OSGi it is platform independent.
  • Open-source: The software is being developed at the Fraunhofer Institute for Solar Energy Systems in Freiburg, Germany and is licensed under the GPLv3. We sell individually negotiated licenses upon request.

Development & Support

We can support your development. We offer:

  • guaranteed support contracts
  • custom implementations based on OpenMUC.


The following picture illustrates the architecture of OpenMUC.

OpenMUC Architecture

OpenMUC Architecture

All boxes seen in the picture are implemented as software modules called OSGi bundles that run independently in the OSGi environment. All modules except for the Data Manager are optional. Thus by selecting the modules you need you can easily create your own customized and light weight system. An explanation of these modules can be found in the user guide.


Marco Mittelsdorf Dirk Zimmermann Albrecht Schall


Stefan Feuerhahn Michael Zillgith Simon Fey Frederic Robra Karsten Müller-Bier Philipp Fels