Skip to content

FS20 Integration

Alvaro Fides edited this page Jun 25, 2015 · 1 revision

Table of Contents

Description

For the Home Building Automation domain, we decided to provide a solution for the integration of FS20, a popular and cheap Home and Building Automation standard.

This bundle suite provides interaction facilities with FS20 sensor and actuators networks. The suite includes the FS20 message protocol and provides monitoring and control features for FS20 devices (sensors/actuators). Incoming sensor events are converted to context events in the integration layer and are published on the universAAL context bus.

The FS20 integration uses a two layer design comparable to the KNX Integration. Contrary to the OSGi DAS all FS20 devices are registered in the access layer via a service registration to OSGi. The exporter bundle in the integration layer notices the OSGi ServiceEvents and handles them.

Features

  • Establishes connection to the physical FS20 USB gateway. (ELV FHZ 1000)
  • Over this channel sensor messages from/to the FS20 gateway are received and sent.
  • Imports all devices from property files located in "rundir/confadmin/fs20"
  • Registers all devices as OSGi Services
  • Handles universAAL service requests
  • Sends context events for incoming sensor events to the universAAL context bus.
  • Provides services on the universAAL service bus for querying device list and details.

Artifacts

The following Maven artifacts, bundles and libraries from the LDDI repository are all related to the FS20 integration module.

Installation

This implementation provides an integration of the FS20 protocol. In order to use the implementation you have to use FS20 devices. The current implementation relies on the FHZ1000PCManager device (see http://tinyurl.com/438b272) to connect to a FS20 network. This device must be connected to the server running this implementation via USB. FHZ1000PC acts as a gateway into the FS20 network.

The FHZ1000PCManager bundle relies on a DLL (JD2XX.dll) that has to be put into the folder where the OSGi-framework is executed. This DLL is only working for AMD64-bit Windows. There is also another DLL for 32-bit Windows (JD2XX32bit.dll). To switch to 32-bit simply change the filename to JD2XX.dll and use it instead of the other one. You can find the DLLs in https://github.com/universAAL/lddi/tree/master/lddi.fs20/lddi.fs20.connector/lib .

In OSGi you will have to install the following bundles (you can find the external ones fro instance at the Maven repository:

  • org.rxtx/rxtx/2.1.7 (communication library)
  • com.usb/jd2xx/1.0.0 (USB library)
  • ...Middleware bundles...
  • org.universAAL.ontology/ont.phWorld/x.y.z
  • org.universAAL.ontology/ont.device/x.y.z
  • org.universAAL.ontology/ont.activityhub/x.y.z
  • org.universAAL.ontology/ont.av/x.y.z
  • org.universAAL.lddi/lddi.fs20.connector/x.y.z
  • org.universAAL.lddi/lddi.fs20.exporter/x.y.z
Unfortunately there is no Karaf feature for installing the FS20 Integration all at once, you will have to install these bundles manually in this order (the ontologies do have Karaf features though).