Skip to content

ismb/jemma

Repository files navigation

JEMMA - Java Energy ManageMent Application framework

JEMMA is a open-source (LGPL) framework which implements the Energy@home specifications for energy monitoring and management application. JEMMA currently supports the ZigBee Home Automation 1.2 and the ZigBee Gateway Device standards resulting from of a collaboration between the Energy@home Association and the ZigBee Alliance.

More information are available on the JEMMA Website and the JEMMA GitHub page.

Full component list

JEMMA is a modular framework. To better handle development of each module, bundle developments are spread in a number of separate GitHub projects. The following table summarizes the current official JEMMA bundles.

Project Description Version
ismb/jemma The core set of JEMMA components 1.0.0-rc1
ismb/jemma.osgi.dal.adapter JEMMA Dal Adapter 1.1.2
ismb/jemma.drafts.org.osgi.osgi.service.dal Dal Base Classes (draft) 1.0.2
ismb/jemma.drafts.org.osgi.osgi.service.dal.functions Dal Base Functions (draft) 1.0.2
ismb/jemma.osgi.dal.functions.eh DAL Classes Functions for Energy@home devicess 1.0.2
ismb/jemma.osgi.dal.web-apis JEMMA REST and WebSocket API to access Devices, Functions and Events available in OSGi Device Abstraction Layer 2.0.2
ismb/jemma.osgi.ah.adapter.http JEMMA HTTP AH Adapter 2.0.5
ismb/jemma.osgi.ah.app This bundle is just a placeholder for the whole framework version 3.3.2
ismb/jemma.osgi.ah.configurator jemma.osgi.ah.configurator 1.0.9
ismb/jemma.osgi.ah.demo.fakevalues Fake devices for JEMMA testing/tutorials 0.1.3
ismb/jemma.osgi.ah.energyathome Energy@Home Home Automation bundle 2.2.32
ismb/jemma.osgi.ah.felix.console.web Apache web console plugin for Jemma 1.0.11
ismb/jemma.osgi.ah.greenathome Greenathome Appliance 2.1.22
ismb/jemma.osgi.ah.hac JEMMA Home Automation Core services 3.1.5
ismb/jemma.osgi.ah.hac.lib JEMMA Home Automation Core libraries 3.1.6
ismb/jemma.osgi.ah.hap.client A service adding a reliable layer to transfer data from the platform to the provisioning server 1.2.17
ismb/jemma.osgi.ah.io This bundles implements a state machine to properly handle FlexGateway's leds 1.0.18
ismb/jemma.osgi.ah.m2m.device Exposes stateless XML Rest API to send data and to perform queries. 1.2.17
ismb/jemma.osgi.ah.upnp.energyathome This bundle allows UPnP discovery. 1.0.3
ismb/jemma.osgi.ah.webui.base This bundles base common utilities to the web interfaces. 2.0.14
ismb/jemma.osgi.ah.webui.energyathome This bundle provides a web interface to configure appliances and the entire system. 1.0.62
ismb/jemma.osgi.ah.webui.energyathome.demo This bundle provides a web interface to configure appliances and the entire system. 1.0.47
ismb/jemma.osgi.ah.zigbee ZigBee Network Manager 2.1.28
ismb/jemma.osgi.ah.zigbee.appliances This bundle is a generic driver for ZigBee Home Automation devices used by the driver locator when a device is discovered to support all its clusters. 1.0.4
ismb/jemma.osgi.ah.zigbee.appliances.generic This bundle is a generic driver for ZigBee Home Automation devices used by the driver locator when a device is discovered to support all its clusters. 1.0.4
ismb/jemma.osgi.javagal Java-based ZigBee Gateway Abstraction Layer Implementation 2.0.10
ismb/jemma.osgi.javagal.gui JavaGAL Web GUI 1.0.7
ismb/jemma.osgi.javagal.json JavaGAL JSON interfaces 1.0.3
ismb/jemma.osgi.javagal.rest JavaGAL REST interfaces 1.0.2
ismb/jemma.osgi.utils JEMMA utils for OSGi environemnt 1.0.8
ismb/jemma-maven-repository Support project used to store binary dependencies for JEMMA. 1.0.0-rc1

Get Started

Tutorials, how-tos and other resources are available on the project wiki-based documentation.

JEMMA can also be controlled through REST/WebSocket APIs relying on OSGi Device Abstraction Layer. To start interacting with it you need also these bundles:

Take a look at this wiki page to discover functionalities that can be exposed by JEMMA devices

License

The JEMMA code-base has been developed since 2010 by Telecom Italia which holds the Copyright on the original code base.

The full JEMMA source code, unless specified otherwise in specific files, have been released under the GNU Lesser General Public License (LGPL) version 3. LGPL conditions can be found on the GNU website.

Contribute

Willing to contribute ? Check our project tracker. Information on how to contribute can be found here

Linked projects