Product Details

Eclipse SmartHome is open-source home automation and IoT framework from the Eclipse Foundation. It supports many embedded devices such as Raspberry Pi, BeagleBone, Intel Edison, Orange Pi, Rock64 and more. It has been used by many companies around the world.

Eclipse SmartHome is a framework for building smart home solutions. With its very flexible architecture, it fosters the modularity provided by OSGi for Java applications. As such, Eclipse SmartHome consists of a rich set of OSGi bundles that serve different purposes. Not all solutions that build on top of Eclipse SmartHome will require all of those bundles - instead they can choose what parts are interesting for them.

There are the following categories of bundles:

  • config: everything that is concerned with general configuration of the system like config files, xml parsing, discovery, etc.
  • core: the main bundles for the logical operation of the system - based on the abstract item and event concepts.
  • io: all kinds of optional functionality that have to do with I/O like console commands, audio support or HTTP/REST communication.
  • model: support for domain specific languages (DSLs).
  • designer: Eclipse RCP support for DSLs and other configuration files.
  • ui: user interface related bundles that provide services that can be used by different UIs, such as charting or icons.

The goals of the Eclipse SmartHome project can be summarized as:

  • Provide a flexible framework for smart home and ambient assisted living (AAL) solutions. This framework focuses on the use cases of this domain, e.g. on easy automation and visualization aspects.
  • Specify extension points for integration possibilities and higher-level services. Extending and thus customizing the solution must be as simple as possible and this requires concise and dedicated interfaces.
  • Provide implementations of extensions for relevant systems, protocols or standards. Many of them can be useful to many smart home solutions, so this project will provide a set of extensions that can be included if desired. They can also be in the shape of a general Java library or an OSGi bundle, so that these implementations can be used independently of the rest of the project as well.
  • Provide a development environment and tools to foster implementations of extensions. The right tooling can support the emergence of further extensions and thus stimulates future contributions to the project.
  • Create a packaging and demo setups. Although the focus is on the framework, it needs to be shown how to package a real solution from it, which can be used as a starting point and for demo purposes. Description
  • The Eclipse SmartHome project is a framework that allows building smart home solutions that have a strong focus on heterogeneous environments, i.e. solutions that deal with the integration of different protocols or standards. Its purpose is to provide a uniform access to devices and information and to facilitate different kinds of interactions with them. This framework consists out of a set of OSGi bundles that can be deployed on an OSGi runtime and which defines OSGi services as extension points.

The stack is meant to be usable on any kind of system that can run an OSGi stack - be it a multi-core server, a residential gateway or a Raspberry Pi.

Features of Eclipse SmartHome

Extension Service

Eclipse SmartHome comes with an API that allows implementing a service that manages the installed extensions within a solution. All that needs to be done is to register an OSGi service that implements org.eclipse.smarthome.core.extension. ExtensionService. Such a service has to provide a list of available extensions and then can be called in order to install and uninstall them.

What kind of implementation is chosen is completely up to the solution. Suitable mechanisms might be Eclipse p2, Apache Felix FileInstall, Apache Karaf FeatureInstaller, etc. For testing purposes, Eclipse SmartHome comes with a sample implementation in the bundle org.eclipse.smarthome.core.extension.sample.

Installation and uninstallation requests are executed by a thread pool named “extensionService”. If an implementation does not support concurrent execution of such operations, the thread pool size should be set to 1.

User Interfaces

User interfaces normally use the REST API for communication, but if they are not client-side, but served from the runtime, they also have the option to use all local Java services.

Currently, there are 3 available user interfaces in Eclipse SmartHome: the Classic UI, the Basic UI and the Paper UI.

All user interfaces can share icon sets, so that these do not have to be included in every single user interface. Eclipse SmartHome comes with the following iconsets:

  • org.eclipse.smarthome.ui.iconset.classic
Voice Services

Voice extensions provide implementations for Text-to-Speech, Speech-to-Text and Human Language Interpreter services.

These services are often very solution specific, so there is no one-fits-all implementation in Eclipse SmartHome. For easy demonstration, there is a TTS service available, which uses the built-in “say” command of MacOS (which obviously only works on Macs, though). Additionally, there is a basic human language interpreter implementation, which supports simple smart home commands like switching lights and controlling music both in English and German.


16 Best Alternatives of Eclipse SmartHome

Josh.ai is a Denver based Artificial Intelligence company in the smart home automation space. Josh works with the best-in-class luxury smart home products. Speak with you...

0 likes 16 alternatives

Viaroom Home safely runs your home in your absence and creates incredible comfort from the moment when you walk through the door. It connects with your intelligent objec...

0 likes 16 alternatives

Home Assistant is an open-source community-powered home automation system. It can run on a Raspberry PI or any local server. It has a rich library of connected devices, s...

0 likes 16 alternatives

Launch your business’ digital initiatives with Ubidots’ intuitive IoT application development and cloud platform. System Integrators and OEMs effortlessly self-construct...

1 likes 16 alternatives

Actiontec excels at developing "smart" gateway solutions for service providers. Its dashboard gives subscribers instant visibility into their Internet connectivity and ho...

0 likes 16 alternatives

Calaos is a powerful open source home automation software. It features a complete set of parts to automate your house from lights to shutter or even music or cameras. It...

0 likes 16 alternatives

MisterHouse is an open source home automation program. It's fun, it's free, and it's entirely geeky. Written in Perl, it fires events based on time, web, socket, voice, a...

0 likes 16 alternatives

OpenMotics is an open source home automation hardware and software system that offers features like switching lights and outputs, multi-zone heating and cooling, power me...

0 likes 16 alternatives

PiDome is an Open Source Home Automation platform developed especially for the raspberry Pi leveraging this little nifty credit card sized computer to a full Home Automat...

0 likes 16 alternatives

FHEM (TM) is a GPL'd perl server for house automation. It is used to automate some common tasks in the household like switching lamps / shutters / heating / etc. and to l...

0 likes 16 alternatives

MajorDoMo is an emerging multi-protocol supported open-source home automation platform. It runs on Windows and Linux machines. It's created by a group of developers from...

0 likes 16 alternatives

MyController is open-source home automation and IoT platform. It's originally started to support MySensors project. It's designed to run on a machine with limited hardwar...

0 likes 16 alternatives

Pimatic is another NodeJS built server and web application system for the smart home. It comes with plugins-ready architecture that allows developers to add devices, serv...

0 likes 16 alternatives

OpenHAB is a longstanding open-source home automation system that comes also with a powerful supporting community. OpenHAB has a plugins-ready architecture which helps de...

0 likes 16 alternatives

ioBroker is an integration platform for the Internet of Things, focused on Building Automation, Smart Metering, Ambient Assisted Living, Process Automation, Visualization...

0 likes 16 alternatives

Gladys is an open-source program which runs on your Raspberry Pi. She integrates into your life, seamlessly communicating across your entire home network and your devices...

0 likes 16 alternatives

Eclipse SmartHome Reviews

Write a Review

© aionlinecourse.com All rights reserved.