Along the core framework the release delivers the following new modules:
- Generic Bluetooth binding
- BlueZ Bluetooth binding extension
- BlueGiga Bluetooth binding extension
- Blukii Bluetooth binding extension
- Homematic binding
- OneWire binding
- Bose SoundTouch binding
- Sony Audio binding
- OpenWeatherMap binding
- meteoBlue binding
- Semantic Metadata module
- MQTT protocol support
- MQTT embedded broker
- MQTT broker connections
- MQTT binding with generic mapping, Homie 3.x & Home Assistant support
- OAuth2 client implementation
- HTTP authentication & authorization module
- Common HTTP & WebSocket client
- Units of Measurement API
- MapDB persistence service
- Serial transport API
The REST API kept full backward compatibility to 0.9.0
Bindings implemented against 0.9.0 should be source compatible to this release. Nevertheless, the APIs have evolved and a few methods and services have been marked as deprecated. Implementors are therefore asked to check their implementation against the updated APIs and adapt them to the newer version (dedicated information on how to do so is given on every deprecation notice).
Worth mentionig is an extensive use of the buidler pattern. A lot of core model classes are now created and modified using a builder. Examples for new builders: ChannelBuilder, ChannelTypeBuilder, ThingBuilder, ThingTypeBuilder, BridgeBuilder, ChannelGroupTypeBuilder, ChannelDefinitionBuilder, etc. Those builders are exposed to bindings via BaseThingHandler#editThing and ThingHandlerCallback#createChannelBuilder[s] or ThingHandlerCallback#editChannel.
The introduction of UoM made a breaking change in the Astro binding necessary: The "kilometer" and "miles" channels have been replaced by a new "distance" channel.
Most labels of extensions have been translated from English to German, French and Dutch.
The target environment is any platform that has:
- a JVM compliant with Java SE 8 Compact Profile 2
- an OSGi framework 4.2 or above
- at least 128MB Java heap space
The framework has been tested with Oracle JDK 1.8, ZuluVM 1.8 and with the OSGi framework implementations Eclipse Equinox, Eclipse Concierge, Apache Felix and ProSyst mBS both on x86 and ARM platforms.
The Eclipse SmartHome sample packaging is a 15 MB zip file which demonstrates a minimal runtime on Concierge, which can be used for testing target hardware platforms.
Tests with Java 11 have been performed and besides warnings about "illegal accesses" in some external components, no issues have been found. There hasn't been any in-depth testing with Java 11 on the various JVMs, so the recommendation is to keep using Java 8 with Eclipse SmartHome. Further details can be found here.
MQTT
Bluetooth LE
New Bindings
Semantic Metadata
Units of Measurement