Talk:Smart Home Integration Modules

From wiki.gpii
Jump to: navigation, search


1.

What it is

What is your tool/technology about?
What does your tool/technology and/or its parts bring to the DeveloperSpace?

Several components provide access to standardized building automation and smart home control systems: The KNX component interfaces with a KNX-IP router which connects a KNX network with various actuators and sensors. The KNX network is configured via the ETS software which makes it possible to assign group- and device addresses to the sensors and actuators, which can then be accessed from the AsTeRICS KNX plugin.

EnOcean is an engergy-harvesting wireless sensor network widely used in home and building automation tasks. As KNX, EnOcean provides many different sensors and actuators for smart home control and management. The EnOcean plugin provides an interface to the EnOcean sensors over an USB stick (EnOcean USB300) or an IP gateway. This allows control of lightning, heat and ventilation devices.

The plugin can be combined with other modules of the AsTeRICS system and used as a standalone application set up for a certain use case or as a “server” providing data through a web socket (see BB AsTeRICS AT Modules).

2.

Its value as a whole (to developers)

Who are the target users of your tool/technology?
What value would these developers see in using this tool/these components?
(e.g. how is it better than what they might have currently – or could develop.)
You can illustrate the specific value by describing a target use case.

2a)

Target users are amateur developers that want to make cheap AT solutions for relatives. They can use installed home automation technology and interface it with tailored AT without experienced programming knowledge (using AsTeRICS Configuration Suite instead) and

  • control lightning, heating, air-conditioning, …
  • use sensors for assistive purposes

2b)

No experienced programming knowledge needed.

If needed, a new plugin can be developed very easily without experienced programming knowledge.

The same plugin can be reused for many use cases without having to develop a new SW.

3.

'Value of parts 'of it

In addition to using it as a whole, what parts might also be of use to a developer?

“Platform independent” access to serial port (Linux, Windows)

OSGI based runtime environment: The existing plugins could be skipped and the system could be used to run a reduced set of self-developed plugins.

Visualization of sensor data (Oscilloscope, …)

 

4.

Support after P4A

How would this tool / these components (and those who use them) be supported
after the end of this grant?

The AsTeRICS framework is open source and currently licensed under GPLv3. Consequently the community should be able to improve development and support other users.

At the moment a follow-up project funded by the city of Vienna (MA23) called AsTeRICS Academy (www.asterics-academy.net) aims to elaborate tutorials, example setups (modules) and improve/add plugins (end of project: August 2016).

5.

Technologies used

What technologies are used or will be used in the P4A implementation of your tool/components?

(a) On what platforms does it run?
(b) In what programming language is it implemented?

(c) What dependencies does it have on third-party libraries, frameworks, or development tools?

(d) Does it have a user interface?

(e) What other technologies, tools, libraries, or applications is it designed to integrate with, and how?

(f) Are there licenses, duties, or other limitations to use of this?

a)

Windows XP, Vista, 7, 8

b)

Java (7, 32-bit), C, C++

c)

http://www.eclipse.org/equinox/

Java (JDK 7, 32-bit)

Third party libraries used by plugins: see f)

Development is tested and supported for the Eclipse IDE.

d)

Swing GUI

e)

Send data through a websocket to a web interface

f)

Originally, the AsTeRICS Runtime Environment (ARE) was licensed under GPLv3 (http://www.asterics.eu/download/Licenses.pdf). For usage within the P4ALL/GPII project the ARE and dedicated building blocks can be relicensed under a less restrictive license.

Licenses of third party libraries (ARE):

http://thrift.apache.org using http://www.apache.org/licenses/LICENSE-2.0

http://sl4j.org using http://slf4j.org/license.html

Serial lib based on RXTX: https://github.com/NeuronRobotics/nrjavaserial and https://github.com/rxtx/rxtx

Licenses of third party libraries (KNX):

Calimero: http://sourceforge.net/p/calimero/wiki/License/

Licenses of third party libraries (EnOcean):

Priscilla: Copyrighted by the UAS Technikum Wien and released under the GPLv2 license: http://www.gnu.org/licenses/gpl-2.0.html

log4j: https://logging.apache.org/log4j/1.2/license.html

6.

Problems/challenges/risks you anticipate with your project goals

What is the current status of your tool/components?

What problems do you see taking the tools/components you had and changing
them into the best form for developers and the DeveloperSpace?

Do you see any problems/challenges/risks in getting broad adoption/use of your work?

Please mark any parts of your answers that you don’t want to have on the WIKI or other public sources and deliverables.

a)

The AsTeRICS Runtime Environment (ARE) and the KNX, EnOcean plugins are in a stable state and have already been used for end user setups. The websocket interface including the data format is not yet implemented and about to be specified. The data format could be according to the “Unified API” of WP201.1. 

b)

The AsTeRICS system is designed to be a standalone tool that can easily be adapted to a certain use case. A developer who is seeking for a (lightweight) library won’t be happy with a big and difficult to deploy SW-system. In contrast, extracting single input modules and providing them as a library is similar to wrapping other open source libraries like opencv with a simplified API. Why would the developer not directly use the original library?

Is the extracted sensor data useful for other applications? What else could be done with the data in an application?

The Priscilla library used for the EnOcean plugin is licensed under GPLv2 but could eventually relicensed.

c)

Yes, because of reasons pointed out in b