@kaikreuzer kaikreuzer released this Jun 28, 2017 · 136 commits to master since this release

Assets 2

This is the official release of openHAB 2.1.0.

The binaries are available on Bintray and via "Stable" on our APT repository.

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

New Features & Enhancements

  • #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

Bug Fixes

  • #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

2.x Add-ons

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

Enhancements on Existing 2.x Add-ons:

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

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)

Paper UI

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

AllPlay

Astro

  • #3725 - Background discovery for location changes

Feed

Freebox

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

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

Kodi

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

Oceanic

RFXCOM

Russound

Sonos

  • #2838 - Added Album cover art channel

Squeezebox

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

WeMo

  • #3586 - Support for WeMo Coffee Maker

Yamaha

Z-Way

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

Bug Fixes on Existing 2.x Add-ons:

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

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

Paper UI

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

AllPlay

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

DSCAlarm

Globalcache

Harmony

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

Lutron

MAX!

Milight

Network

Onkyo

openHAB Cloud

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

RFXCOM

RME/Oceanic

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

SilverCrest

Systeminfo

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

Z-Way

1.x Add-ons

The following add-ons have been newly introduced:

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

Enhancements on Existing 1.x Add-ons:

CalDAV

Cups

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

Dropbox

Ecotouch

Epsonprojector

Gcal

GPIO

Insteonplm

Modbus

MQTT

Pushover

Satel

Serial

Swegon

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)

Bug Fixes on Existing 1.x Add-ons:

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

Cups

Dropbox

DSCAlarm

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

Insteonplm

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

TCPBinding

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

TinkerForge

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

Upgrade Process

openHABian

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

Package-based Installations

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

RPM

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

Manual Installations

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

  1. Execute PowerShell with elevated rights (e.g. by right-clicking the start menu PowerShell entry and selecting 'Run as Administrator')
  2. Allow scripts to execute by running this command (confirm the security prompt):
PS > Set-ExecutionPolicy Bypass
  1. Navigate to your openHAB directory
  2. Download the script:
PS > Invoke-WebRequest -Uri https://raw.githubusercontent.com/openhab/openhab-distro/master/distributions/openhab/src/main/resources/bin/update.ps1 -OutFile update.ps1
  1. Run the script with this command (note the . at the beginning!):
PS > . .\update.ps1
  1. This will add a new cmdlet Update-openHAB to your system.
    You can use:
PS > man Update-openHAB -detailed

to get help on the available parameters.

  1. Run the update with no parameters to upgrade the distribution in the current directory to the current stable version.
PS > Update-openHAB
  1. (Optional) Restore the execution policy to the default setting with:
PS > Set-ExecutionPolicy Default

Known limitation: The script will not take care of addons (.jar or .kar files for offline
installation) within the addons folder, so these have to manually replaced by the new versions.

Alternatively to using this script, you can follow these manual steps for the update.

Breaking Changes that Require Manual Interaction after the Upgrade

General Changes

Astro Binding

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.