Skip to content

openHAB 2.1 Release Notes

Yannick Schaus edited this page Jun 29, 2017 · 43 revisions

New and Noteworthy

The openHAB 2.1 release contains many new features, enhancements and bug fixes, both for the core runtime and for many add-ons. You can find the most relevant ones listed in detail below.

A few major new changes to highlight are the Eclipse IoT Marketplace integration, which allows browsing and installing of 3rd party add-ons, which are not part of the official distribution. Furthermore, there is now a new alternative to the Designer for editing the config files: The new VS Code Extension for openHAB - it isn't yet available in the official Microsoft store, but nonetheless easy to install.

Relevant Changes

Core Runtime

  • #149 - add openHAB version and build info to dashboard footer
  • #158 - automatically set the system location, if browser allows it
  • #464 - removed default sitemap setting for Basic UI
  • #434 - Change gnu to posix tar to support large UID/GID
  • #412 - Consider OPENHAB_* environment variables on startup
  • #3707 - upgraded to latest JmDNS 3.5.2 patch releases
  • #3634 - Add 2D as new chart period
  • #3593 - Provide better status information when bridge is missing
  • #3587 - Implemented unique geolocation for ESH installation
  • #3500 - Provide JSON streaming for REST resources
  • #3429 - Only restore backup if there indeed was an unreadable file.
  • #3420 - Added ConsoleCommand for adding/removing tags to/from items
  • #3365 - OSGI Console: ability to trigger channel with null event
  • #3274 - Introduce function NONE for item groups
  • #3076 - Initial contribution of an IoT Market extension service
  • #3001 - Provide a trigger for thing Online/Offline status in rule.
  • #2981 - added state descriptions to some system channels
  • #2872 - validate models before loading them
  • #2753 - Use Jetty's ProxyServlet implementation
  • #3234 - Add createTimerWithArgument method for rules
  • #115 - fixed dangling audio streams if files are played concurrently
  • #458 - Fix refresh intervals for charts in the demo sitemap
  • #3088 - fix race condition which could leave a thing in INITIALIZING
  • #2992 - Stop blaming handlers for being queued
  • #2915 - fixed INCREASE/DECREASE of master volume for Mac
  • #3169 - fix NPE in Configuration.toString()
  • #3148 - fixes bug when ignoring hidden files
  • #3222 - retain order of channels in ChannelTypeResource

The following add-ons are newly introduced with the 2.1 release:

Basic UI

  • #3693 - encode state in icon URL for colorpicker widget
  • #3669 - improvements for non SSE browsers
  • #3576 - fit images into main container
  • #3526 - dynamic update of the frame title
  • #3379 - now updates new sitemap widgets without restart
  • #3055 - Display of image items in classic/basic UI

Paper UI

  • #3654 - provide group functions for Contact base item
  • #3101 - Show channel description on long press

HABPanel

  • #187 - Theming improvements + 2 new themes, custom stylesheet option (@kubawolanin)
  • #181 - Apply transformations to item states
  • #171 - Allow globally provisioned widgets through bundle configuration
  • #158 - Color picker widget: Alternative "aCKolor" style
  • #151 - Panel name setting
  • #150 - Experimental dashboard option: font scaling
  • #149 - Custom widget configuration improvements
  • #147 - Style improvements: visual feedback on click etc.
  • #148 - Knob widget: Add a few missing options
  • #143 - Image widget: Accept URLs from String items (@kubawolanin)
  • #114 - Template functions: add getItem, rename itemValue to itemState (@mgfriedel)
  • #137 - Update groups states when receiving GroupItemStateChanged events
  • #128 - Image widget: Allow refresh interval in milliseconds (@LuckyMallari)
  • #125 - Timeline widget
  • #130 - Speech input: Option for alternate floating button style (@kubawolanin)

AllPlay

  • #2083 - Update native Windows libraries & fix reference to x64 library (@dominicdesu)
  • #1639 - Added implementation of AudioSink for AllPlay binding (@dominicdesu)

Astro

  • #3725 - Background discovery for location changes

Feed

  • #2161 - Added gzip support (@meisterfuu)

Freebox

  • #2164 - add audio sink for AirPlay devices (@lolodomo)
  • #2137 - use HTTPS API when available (@lolodomo)
  • #2112 - hotfix for compatibility with firmware 3.4.0 (@lolodomo)

FSRadio

  • #3421 - Add support for AUNA Connect 150 Radio
  • #3249 - Add support for Roberts Stream 93i Radio

Globalcache

  • #2311 - Implement bi-directional support for serial devices (@mhilbush)

Harmony

  • #2070 - several improvements (@wborn)

Homematic

  • #2136 - optimized gateway detection and suppress warning for HM-Sen-MDIR-WM55 due wrong metadata (@gerrieg)
  • #2081 - Optimized ThingHandler and fixed virtual datapoint handling (@gerrieg)

ImperiHome

  • #2181 - added support for Shutter/Thermostat device, fix behaviour of ElectricityDevice (@pdegeus)

JSONPath

  • #3540 - Updated jsonpath libs to version 2.1.0

Keba

  • #2270 - Fixes various issues (@kgoderis)

Kodi

  • #2084 - Added channels for opening PVR TV or Radio streams (@cweitkamp)

LIFX

  • #3447 - Various improvements
  • #3384 - Added signalstrength channel, improved online/offline detection and exception handling
  • #3324 - Added Thing properties
  • #3312 - Add i18n support
  • #2953 - Add support for MultiZone Light Control

Milight

  • #2110 - Make v6 bridges keep alive interval configurable (@davidgraeff)
  • #1779 - Add ibox (milight v6 protocol) support and use a send queue for command (@davidgraeff)

Oceanic

  • #2080 - switched to simpler byte-driven serial reader (@kgoderis)

RFXCOM

  • #2331 - Add message handling HomeConfort and KEELOQ and add config options for FS20, HomeConfort and KEELOQ (@mjagdis)
  • #2330 - Add support for UV sensors (@mjagdis)
  • #2329 - Support all data from wind sensors (@mjagdis)
  • #2328 - Enhance Somfy RTS support (@mjagdis)
  • #2260 - Add chime devices (@mjagdis)
  • #2256 - Improved TX handling (@mjagdis)
  • #2291 - Add a bridge option to disable discovery (@mjagdis)
  • #2101 - Fixes to shutdown and packet reading thread (@mjagdis)
  • #2045 - Changed discovery & handling for lighting4 (@martinvw)

Russound

  • #2135 - Added discovery of new devices (@tmrobert8)

Sonos

  • #2838 - Added Album cover art channel

Squeezebox

  • #2130 - Add duration channel for now playing track (@mhilbush)
  • #1684 - Add audiosink and notification functionality (@mhilbush)

Systeminfo

  • #2207 - Added channel 'usedPercent' for channel groups 'memory', 'swap' and '… (@cweitkamp)

Tesla

  • #2307 - Move Event Stream to a separate Thread to speed up processing… (@kgoderis)

VoiceRSS

  • #2189 - add support for AAC format (@lolodomo)
  • #2171 - add support for OGG format (@lolodomo)

WeMo

  • #3586 - Support for WeMo Coffee Maker

Yamaha

  • #2390 - add support for 5ch Stereo (@mclassen2)

Z-Way

  • #2211 - Update Z-Way library and add new device types (@pathec)

Basic UI

  • #3631 - fix update of page title
  • #3575 - fix refresh of charts
  • #3493 - Treat Switch on NumberItem not as ON/OFF Switch
  • #3403 - Avoid double event on slider change
  • #3368 - several fix for selection and switch with mappings
  • #3042 - restore SSE subscription after connection loss
  • #3039 - send ON/OFF events from colorpicker
  • #2932 - make sliders less broken in MS Edge

Classic UI

  • #3495 - fix dynamic widget visibility and dynamic update of the page title

Paper UI

  • #3656 - Ignore unknown parameter context
  • #3612 - Fix merging of configuration & default values

HABPanel

  • #180 - Consistent padding in kiosk mode
  • #179 - Charts: invalid image loading
  • #176 - Function.prototype.bind() polyfill (for older iOS Safari)
  • #175 - Color picker widget: handle NULL values
  • #173 - Transparent header in translucent theme with image background
  • #157 - Widget designer: wrong tip for icon config setting
  • #156 - Charts: incorrect date format on the first day of the month
  • #135 - Charts: don't initialize secondary axis if not enabled
  • #132 - Add Content-Security-Policy meta tag

AllPlay

  • #2308 - Update native AllJoyn library for linux x86 and x64 (@dominicdesu)
  • #2209 - Update library (fix for deadlock) and add input interface (@dominicdesu)

Astro

  • #3461 - fix NPE in case it's not really dark at night

Avmfritz

  • #1887 - Fixed NPE if temperature, powermeter or switch model is null (@cweitkamp)

Chromecast

  • #2129 - playback not working when existing track is paused (@abedwardsw)
  • #2062 - handle refresh / reconnect (@holmes)
  • #1799 - fix audio sink (when requesting multiple times) (@lolodomo)
  • #1882 - Added support for Audio groups (@mcguiresean)

DSCAlarm

  • #2313 - Various Fixes and Enhancements (@RSStephens)

Globalcache

  • #2198 - Fix for non-globalcache devices (@mhilbush)

Harmony

  • #2201 - Fixes issue with reconnects to Harmony Hubs (@digitaldan)
  • #2156 - Fix button command timeouts (@wborn)

Homematic

  • #2381 - Prevent ClassCastException in case of unexpectect message types (@MHerbst)
  • #2221 - NPE if a system variable is present in homegear (fixes #1437) (@falkena)
  • #2068 - Fixed NPE if datapoint name is null (@gerrieg)

Homekit

  • #2138 - Fix NPE which happens on Color light before value is set on item (@dsundberg)
  • #2052 - Fix to read minimum and maximum temperature from configuration (@WzDrg)

Hue

  • #3621 - handle authentication failures during scan gracefully

Kodi

  • #2303 - Fix audio sink (#2301) (@andreasreinhardt)
  • #2279 - Improvements in Kodi thing status handling (@cweitkamp)

Lutron

  • #2046 - Ignore "extra" GNET> prompts (@jeffsf)

MAX!

  • #1752 - Fix initiation when not in exclusive mode (@marcelrv)

Milight

  • #2385 - Prevent listing non Milight bridge devices in the discovery. (@davidgraeff)
  • #2338 - Fix brightness and colour temperature for V3 white bulbs (@MikeJMajor)

Network

  • #1780 - Corrected usage of native Linux ping utility (@davidgraeff)

Onkyo

  • #1800 - Fixed audiosink for TX-NR656 (@marcelrv)

openHAB Cloud

  • #2210 - Don't hardcode the use of https for X-Forwarded-Proto (@FlorianSW)

RFXCOM

  • #2366 - Make LWRF mood buttons work (@mjagdis)

RME/Oceanic

  • #1970 - Fix LF/CR handling in the SerialThingHandler (@kgoderis)
  • #1826 - Workaround for high CPU Load in RXTX/nrjavaserial lib (@kgoderis)

SilverCrest

  • #2094 - Fixed some NPE's (@jmvaz)

Systeminfo

  • #2230 - Added validation for pid to avoid DeviceNotFoundException's (@cweitkamp)

Z-Way

  • #1770 - Corrected roller shutter behaviour (@pathec)

The following add-ons have been newly introduced:

  • #5203 - isy Binding (@mitchmitchell)
  • #3083 - WR3223 Ventilation Controller Binding (@frami)
  • #5092 - Cisco Spark Action (#5090) (@tdeckers)

And these were successfully tested and added to the distro:

  • #5082 - Piface Binding
  • #5083 - ekey Binding
  • #5217 - MAX! CUL Binding
  • #5230 - IEC 62056-21 Meter Binding

CalDAV

  • #5186 - Allow the Unicode Line Separator character (@9037568)
  • #5117 - Various configuration fixes (@9037568)

Cups

  • #5060 - Upgrade cups binding to the newest cups4j library (@9037568)

Dropbox

  • #5080 - Enable use of generated access token (@9037568)

Ecotouch

  • #5181 - Add divider for analog values and additional temperature values (#5165) (@Digitalvitamin)

Epsonprojector

  • #5158 - Add additional ColorMode and AspectRatio values (from 5030UB projector) (@jaydonoghue)
  • #5137 - Improvements (@paulianttila)

Gcal

  • #5121 - Fix misspellings of calendar (@watou)

GPIO

  • #5176 - Update GPIOGenericBindingProvider.java (@jokercho)

Insteonplm

  • #5054 - add support for smoke bridge (@berndpfrommer)

Modbus

  • #5098 - transformation support (@ssalonen)

MQTT

  • #5065 - Allow longer Client ID values (@9037568)

Pushover

  • #5123 - Default Value Usage Fix (@CrackerStealth)
  • #5216 - Changed root-tag to 'response' and added warning if the Pushover response contains an info-tag (@cweitkamp)

Satel

  • #5162 - Support for troubles added (@druciak)

Serial

  • #5167 - Modified Serial binding for ON/OFF commands (@marekhalmo)

Swegon

  • #5142 - improvements (@paulianttila)

Telegram

  • #5141 - sendTelegram() now returns "false" if an exception is thrown. (@planetrenner-martin)

Weather

  • #5187 - Add feels like temperature for ForecastIO (@kabili207)
  • #5180 - Added converter mps -> km/h to OpenWeatherMap wind speed property (@cweitkamp)
  • #5045 - Allow Forecastio to request units other than SI (@9037568)

ZWave

  • #5148 - Added Fibaro FGS-213 (@RafalLukawiecki)
  • #5144 - Add TZWP-100 (@cdjackson)
  • #5130 - Update products.xml (@cristhiampaul)
  • #5126 - Database update: Fibaro Wall Plug (Z-Wave+) (@bodiroga)
  • #5053 - updates (@dmize)
  • #5048 - database update: McoHome CO2 monitor (@TheNetStriker)
  • #5044 - Add Qubino ZMNHUD (@xiboy)
  • #5043 - Support ZD2102 from Zipato (@xiboy)
  • #5057 - Added to device database, Schlage BE469 Touchscreen deadbolt lock (@mnoram)

CalDAV

  • #5153 - Avoid null pointer exceptions in the loadEvents() method (@9037568)
  • #5152 - Fix race condition causing NPE (@gedejong)

ComfoAir

  • #5049 - Optimize serial connection (@csowada)

Cul

  • #5095 - Fix formatting and synchronization issues (@9037568)

Cups

  • #5101 - Fix 'no printer for path' error (@9037568)

Dropbox

  • #5080 - Enable use of generated access token (@9037568)

DSCAlarm

  • #5108 - Bug Fix: DSC Alarm Command 060 Not Working (@RSStephens)

Fateplc

  • #5040 - Number item and value from discrete register (@slawekjaranowski)

FHT

  • #5070 - time update message (@bbesser)
  • #5037 - padding of temperature control hex string (@bbesser)

Fritzboxtr064

  • #5220 - Reset HTTP auth cache in case of connection errors (@tensberg)

GCal

  • #5039 - Ensure number updates and commands survive round trip (@watou)

GPIO

  • #5085 - Accept any object type in configuration (@watou)

IEC6205621meter

  • #5133 - Fix ArrayIndexOutOfBoundsException (@9037568)

Insteonplm

  • #5177 - fixed bug with start/stop manual change (@berndpfrommer)
  • #5169 - fixed bug introduced with PR #5054 (@berndpfrommer)

JDBC

  • #5041 - Update sqlite to latest version (@ramunasd)

Modbus

  • #5088 - Eventually close borrowed connections also when config changes (@ssalonen)

Serial

  • #5184 - OH2 Compatibility issue with RegexTransformation service (@marekhalmo)

SNMP

  • #5208 - memory leak fix (@sconwayaus)
  • #5031 - Fix some errors (@J-N-K)

Squeeze

  • #5114 - Fix playing time error (@9037568)

TCPBinding

  • #5113 - Prevent null pointer exception in UDPBinding (@9037568)

TinkerForge

  • #5091 - Exception during event dispatch - updating LCD 20x4 (@JamesDodds)

If you are working with an openHABian setup, the upgrade is quite easy. Regardless of if you are currently using the openHAB 2.0 stable release or one of the latest 2.1 SNAPSHOT builds, switching to openHAB 2.1.0 stable is done in just a few steps:

  1. Execute on the SSH command line: sudo openhabian-config
  2. Select the "Update" option
  3. Wait for the openHABian update to finish, reenter the openHABian configuration tool
  4. Select the "openHAB 2.1.0 stable" option

Make sure that openHAB is sourced from the latest location, has the correct GPG signing key and that your system meets the other prerequisites by following the instructions for your package manager in the in the docs.

APT

If the prerequisites are met, simply upgrade by using:

sudo apt-get update
sudo apt-get upgrade

Alternatively, you can force apt to install 2.1.0 and it's optional addons with:

sudo apt-get install openhab2=2.1.0-1

## optional addons for offline installation ##
sudo apt-get install openhab2-addons=2.1.0-1
sudo apt-get install openhab2-addons-legacy=2.1.0-1

If the prerequisites are met, simply upgrade using your systems prefered package manager (yum, dnf, etc.)

sudo yum update

Alternatively, you can force yum to install 2.1.0 and it's optional addons with:

sudo yum install openhab2-2.1.0

## optional addons for offline installation ##
sudo yum install openhab2-addons-2.1.0
sudo yum install openhab2-addons-legacy-2.1.0

Offical update scripts are available that let you update your 2.0 installation to version 2.1:

Unix + MacOS

  1. Change to your openHAB root directory (e.g. cd /opt/openhab2)

  2. Run the following command:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/openhab/openhab-distro/2.1.0/distributions/openhab/src/main/resources/bin/update)" -- 2.1.0

Read the installation instructions for more information.

Windows

There is no script available for Windows yet, so users will have to follow these manual steps for the update.

General Changes

  • Group Items without a base type no longer receive state updates. If you rely on such events (e.g. because you react on it in rules), you will need to add a type information, i.e. instead of Group MyLights, you should define Group:Switch MyLights. Here is some more technical background about it.

  • Configuration files are now validated by the runtime upon being loaded. If they contain fatal errors, they will be completely rejected, otherwise only warnings might be logged, while the file is used. So if some of your files are not longer loaded, please check the log file for errors and correct those.

The altitude configuration parameter has been removed as the altitude can now be specified as a third segment in the geolocation parameter. If you have specified your sun and moon through things-files, please update them accordingly.

Clone this wiki locally