Skip to content
Choose a tag to compare

openHAB 2.5.0

Choose a tag to compare

This is the official release of openHAB 2.5.0.

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

New and Noteworthy

The openHAB 2.5 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.

Quick links:

Relevant Changes

New Add-ons

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

Add-on Type Issue
Ambient Weather Binding #4475
Binary To JSON Transformation #5348
Buienradar Binding #5131
Daikin Binding #3044
Dark Sky Binding #5097
Denon HEOS Binding #2886
Digiplex/EVO Binding #4527
Doorbird Binding #5857
DwdUnwetter Binding #4506
Elero Transmitter Stick Binding #2659
EnturNo Binding #5418
Foobot Binding #6036
HPPrinter Binding #5931
Hydrawise Binding #5877
iAquaLink Binding #5814
IHC / ELKO Binding #3708
Jinja Transformation #4943
LG HomBot Binding #4181
Linux Input Binding #4629
Mail Binding #4989
MELCloud Binding #6059
Millheat Binding #5077
Nanoleaf Binding #4783
NeoHub Binding #5952
Network UPS Tools Binding #6192
Nikobus Binding #6021
Omnik Inverter Binding #4061
OpenGarage Binding #5911
Paradox Alarm System binding Binding #4762
Pixometer Binding #4162
PJLink Binding #3834
Polly Text-to-Speech Voice #3222
Pushbullet Binding #5668
Rotel Binding #5805
Ruuvi Tag Binding #4913
Shelly Binding #6320
Siemens RDS Binding #5739
Sinope Binding #3099
SNMP Binding #5591
SonyProjector Binding #4842
Spotify Binding #2295
Telegram Binding #5677
The Weather Company Binding #5780
Vektiva Binding #4626
VolvoOnCall Binding #3740
XmlTV Binding #3688
XMPPClient Binding #5433


Type Issue Change
New Feature 506 Added Ephemeris service
611 Binary to JSON converter initial contribution
Enhancements 6777 Added min, max and step parameters for slider widget
6810 Added support of unit "Deutsche Haerte (°dH)"
6864 Update children of disabled bridge to UNINITIALIZED/BRIDGE_UNINITIALIZED
588 Added units mm/h, in/h and MW/h
617 Added standard gravity and dBm Units
695 Added units kvarh and kvar
747 Added profiles to control Player Items via default system triggers
759 Added profiles to control Rollershutter Items via default system triggers
771 Added i18n feature for dynamic command descriptions
785 Added i18n feature for profiles
793 Added printf for console
862 Small improvements of hexutils API and implementation
911 Added 'ThingStatusTrigger' for NGRE
915 Added EphemerisConditions for NGRE
945 Added new methods toZone and toLocaleZone to DateTimeType
973 New implicit variable newState
1009 Selection widget as default widget for Number or String items with options
1017 Added Voice / TTS API
1020 Added new Audio API
1032 Use Mapview element by default for a Location Item
1131 Added system profile for a rawbutton on-off switch
1172 Added console command extension for serial inspection
1182 Added German translations for profiles
1186 Added links for (available) docs of all Add-Ons
1214 Removed access to 'BundleContext' from 'BaseThingHandler'
1228 Added Norwegian translation
1247 Reduce logging level in 'FeatureInstaller' when uninstalling a binding
Bug Fixes 493 Keep persisted disabled status when thing is removed
996 Fix gamma correction in HSBType for color conversion from sRGB to CIE XYZ and back
1052 Allow colons in SSE topics filter
1159 Fixed cron parsing for Day-Of-Week sub-expression
1162 Fix the created cron to run only once at the trigger minute
1203 PeriodicReconnectStrategy: Fixed fields initialization
1243 Set 'UNINITIALIZED' -> 'HANDLER_MISSING_ERROR' after enabling a thing and handler / factory is missing
1248 Fixed check which allows QoS 3
Enhancements 996 Upgrade to Karaf 4.2.7

2.x Add-ons

Add-on Type Issue Change
airquality Enhancements 5812 Add sulfur dioxide level channel
amazondashbutton Enhancements 4480 Changed trigger channel type to 'system.rawbutton' to allow the usage of the 'rawbutton-toggle-switch' profile
amazonechocontrol Enhancements 4600 Add new channels for alarms, timer and reminders, Add SSML support for TTS, bugfixes
5590 Add support for announcement on echo show and echo spot and some other small features
6097 Announcement volume
6125 Send message (Green light on echo device)
Bug Fixes 5830 Bugfix for announcement channel
ambientweather Bug Fixes 6582 Attempt to reconnect to service
astro Bug Fixes 5692 Fixed handling of division by 0 for new moon
5720 Fix undefined state around SUN_RISE and SUN_SET events
avmfritz Enhancements 4240 Added support for templates
4433 Changed trigger channel type to 'system.rawbutton'
6352 Added 'TlsTrustManagerProvider' / 'TrustAllTrustMananger' for hostname ''
Bug Fixes 5346 Reset session id before trying to reconnect
5646 Fixed flapping ONLINE/OFFLINE status of FRITZ!Powerline 546E device in standalone mode
bluetooth Enhancements 4925 Some small bluetooth improvements
bosesoundtouch Bug Fixes 4665 Fixed an issue with asynchronous websocket requests
chromecast Enhancements 4742 Added handling for INCREASE/DECREASE commands on volume channel
4860 Added dedicated channel to stop playback
4894 Use device ID as representational property
deconz Enhancements 4406 Added THING_TYPE_SWITCH as supported Thing and correct temperature calculation
4441 Add support for humidity sensor and additional button channel
4545 Added util channels (e.g. 'battery')
4566 Adding sensors for pressure and consumption, fixing unit of Power
4596 Added Water Leakage Sensor, Added checks for optional Channels
4921 Added background discovery service
5071 Added support for ZHAAlarm sensors and optional channel 'tampered'
5225 Added support for ZHAVibration sensors
5899 Added properties for sensors
6118 Several bugfixes and improvements
Bug Fixes 5654 Changed scheduler policy to fix OutOfMemoryError
dsmr Enhancements 5273 Added support for the Luxembourgian Smart Meter "Smarty"
6378 Integer parsing errors should be catched
Bug Fixes 4499 Fix ACE4000 meter detection
embeddedbroker Bug Fixes 6238 Bump moquette and fix corrupt database
enocean Enhancements 4765 Add metadata channels for rssi, repeatcount and last received timestamp
5055 Add support for Hora SmartDrive MX
5248 Add two new channel config parameters "eltakoDimmer" and "storeValue"
5666 Added Eltako FPE1 and FPE2 contact sensors
5703 Improve incoming message handling for Eltako rollershutters
5741 Support EEP A5-13 for environmental sensors
6065 Add enocean A5-14-0A profile
6155 Implement EEP D2-03-0A
Bug Fixes 4641 Bugfix for ToggleButton listeners of ClassicDevice
5665 Fix A5-38-08 Dimmer reset to 0
5705 Enable discovery of occupancy sensors using EEP A5-07-03
freebox Enhancements 4470 Handle transparently the SSL certificate
googletts Bug Fixes 5123 Added additional null check to prevent NPE
groheondus Enhancements 5218 Add a way to login with a refresh token
harmonyhub Enhancements 4972 Better error handling, add channels to send button events to current activity
homekit Enhancements 5581 Feature upgrade, bugfixes
Bug Fixes 5647 NPE protection
6223 Upgrade HAP to 1.2.0
hue Enhancements 6744 Added support for Hue Tap Switch
4660 Add support for TransitionTime
4728 Added configuration for port
5846 Add support for CLIP Sensors
6240 Fixed deprecated bridge discovery endpoint
Bug Fixes 5009 Fix brightness values by not setting the transition time for ON/OFF commands
6094 Fix assignment of serial number property
hueemulation Bug Fixes 6402 Fix Amazon Echo device discovery
innogysmarthome Enhancements 6389 New version for innogy-API 1.1
keba Enhancements 5595 Add setenergy command
Bug Fixes 5393 Ignore values if the curr hw commands sends 0
knx Bug Fixes 5695 Improve connection handling on reconnect
kodi Enhancements 4241 Store / cache image files in a local folder
5510 New features: Audio and Subtitle and IMDB ID
5988 Extend Kodi binding regarding profiles and notifications
6014 added support for resuming a video at a given position
kostalinverter Enhancements 4632 Add support for 3rd generation: PIKO IQ & PLENTICORE plus
lgwebos Enhancements 6060 Removal of connectsdk library and its dependencies
Bug Fixes 6585 Properly handle optional SessionID in response
lifx Enhancements 5405 Add light to unacknowledged message warnings
6180 Add support for LIFX Tile and Tile Effects
6384 Add support for LIFX Candle
Bug Fixes 5220 Fix discovery possibly blocked after exception
loxone Enhancements 6175 Implemented Intelligent Room Controller and Meter
lutron Enhancements 4983 Add new model support and button hold fix to keypad handler
4997 Add new output device types to RA2 auto-discovery code
5781 Add support for HomeWorks QS International seeTouch keypads
5782 Add support for HomeWorks QS IO Interface (QSE-IO)
5840 Add support for GRAFIK Eye in RadioRA 2/HomeWorks QS
5874 Fixes and discovery service enhancements
6168 Add discovery of keypad models
6278 Add support for venetian blinds
6324 Add support for Palladiom keypads
6393 Add support for QS Wallbox Closure Interface
Bug Fixes 5541 Fix for keypad/VCRX CCI channels
5968 Fix for stack trace in log from malformed responses
6019 Fix malformed responses from Caseta by removing prompt string
6047 Add delay parameter for command rate throttling
6139 Fix shade handler position update after Up/Down command
marytts Enhancements 6482 Upgrade to MaryTTS 5.2 and use Maven dependencies
miele Bug Fixes 6325 Fixed bridge status handling upon initialization
mihome Enhancements 4512 Added Support for Xiaomi Aqara Smart Wall Socket (86plug)
miio Enhancements 5562 Add fan/mob levels for vacuumers
5673 Add support for Roborock S6
6516 Add support for Roborock S5max
modbus Enhancements 5246 Added discovery service
Bug Fixes 6205 Fixes swapped flowControl options text
mqtt Enhancements 6695 Rollershutter STOP command, outgoing transform, chained incoming transformations
6833 Updated thing-types to fix clientId
6246 Add QoS to channel config
Bug Fixes 5472 Fix channelType creation when channels are restored
5868 Fix subscription issues
5885 Fix Homie discovery (name)
5894 Apply transformation before output formatter
5983 Use UID-encoder/decoder for Homie channel/device-mapping
6202 Adjust XML to config, remove retain config option for connection
6239 Fix incoming transformation in case of failure
6244 Make rollershutter symmetric
netatmo Enhancements 5809 Recompute VPN URL
network Enhancements 5563 Changing 'latency' channel to be UoM Number:Time
5626 Add speedtest thing
nibeheatpump Enhancements 5015 Channel update logic, to and from modbus data conversion fixes
nibeuplink Enhancements 4977 Extended available channels for different models
nikohomecontrol Enhancements 4226 Implement Niko Home Control II
onewire Enhancements 4917 Add support for BAE091x
Bug Fixes 6712 Fixed things staying in INTIALIZING status
6725 Fixed digitalio write
onkyo Enhancements 4465 Add support for Onkyo TX-NR676
4501 Add support for Onkyo TX-NR686
4561 Add support for Onkyo TX-NR474
4565 Add support for Onkyo TX-NR636
4955 Thing action to send raw eISCP commands
5029 Add support for Onkyo TX-NR545
5116 Add support for Onkyo HT-RC560
5147 Update Input channels to get available Inputs and Names from device
5710 Add support for Onkyo TX-NR3007
OpenWeatherMap Enhancements 6733 Added support for UV Index API
5070 Consider "1h" property for precipitation
5853 Add visibility channel
Bug Fixes 5630 Prevent 'IndexOutOfBoundsException'
6119 Fixed language code for Swedish: 'sw' -> 'se'
6315 Fix weather updates stop after IllegalStateException
OWM Enhancements 4741 Added min and max temperature channels for hourly forecast
pentair Enhancements 4463 Support for Feature circuits 1-8
plclogo Bug Fixes 5121 Fix some timing issues in Pulse thing
plugwise Bug Fixes 4424 Fix stability issues and some code improvements
powermax Enhancements 4856 Disable RFC2217 in favor of IP connection thing type
regoheatpump Bug Fixes 6106 Fix using unsigned 16 bit value for operational hours
rfxcom Enhancements 5795 Added support for string-commands for Lighting-5 & Lighting-1
6025 Fan support
6262 Extend fan support
samsungtv Enhancements 4169 Added websocket support for remote controller (2016+ models)
satel Enhancements 4556 Added event log support
5836 Added channels for troubles in wireless devices
6016 Added support for ATD-100 temperature sensor
somfytahoma Enhancements 4993 Added support for Gate thing
5811 Added support for ElectricitySensor, Dock and Siren
6161 Added support for the Curtain thing
Bug Fixes 5700 Added recovery from "too many requests" error
Sonos Enhancements 6719 Added support for Sonos Beam and Sonos Playbase
squeezebox Enhancements 5079 Add callback url and fix SAT issues
tado Enhancements 6057 Channels added: Battery Low Alarm, A/C Power, Open Window Detected
tplinksmarthome Enhancements 5057 Added led channel to HS2xx switches
5716 Added support for power outlets HS107, HS300, KP200, KP400
6020 Several enhancements
tradfri Bug Fixes 6506 Fix color bulb discovery issue
transform Enhancements 6834 Introducing default value when key not found in map transformation
unifi Enhancements 4845 Added feature to be able to block and unblock clients
valloxmv Enhancements 5075 Added channels regarding filter change date
wemo Bug Fixes 6253 Fix devices change ports without notification
wifiled Bug Fixes 6565 Fixed discovery feature
yamahareceiver Bug Fixes 6182 Thing remains offline after device comes back online
yeelight Enhancements 4453 Add basic support for yeelight desklamp
4573 Run discovery on all networks
5040 Added command channel
Bug Fixes 4973 Fix UI not updating from status for Color bulb
Zigbee Enhancements 318 Handle OnOff command in level converter same as switch converter
319 Improved handling of OTA initialisation
345 Refresh devices when they announce themselves
347 Add option for Ember child aging
349 Provide configuration option for mesh update period
350 Added GE Tapt Switch to supported device
352 Make dim buttons of the Philips Dimmer Switch usable.
367 Make ColorColor Channel consistent with SwitchLevel behaviour (ON/OFF commands)
369 Add Xiaomi Lumi motion sensor
372 Add support for IAS warning devices
379 Add static definition for Xiaomi Wireless 2-Button Switch
401 Set thing status to offline/gone if there is no node for a thing
408 add support for xiaomi wireless mini switch
464 Read multiple attributes at once during discovery
468 Illuminance configuration improvements
481 Handle OnWithTimedOffCommand
482 Update to Z-Smart Systems framework 1.2.3
485 Add configuration handler for OnOffSwitch
486 Add initial fan control converter
488 Update Ember NCP commands to add EmberConsoleNcpScanCommand
489 Add OnOff Toggle server command handler
493 Add support for level control server
494 Add definition for Xiaomi WLeak AQ1
495 Eliminate the initial delay with move commands
500 Add support for IncreaseDecreaseType in LevelControl
505 Update handling of toggle state in LevelControl converter
518 Add zigbee_networksize to Ember dongle
Bug Fixes 356 Fix bug request active power
360 Fixed handling of IAS Zone Refresh
405 Make interface WarningTypeCommandDescriptionProvider and related enums API
433 Fix initialisation of level control converter
469 Fix illuminance conversion
484 Fix bug setting level control reporting configuration
490 Fix reporting configuration
496 Fix errors in ZigBeeConverterFanControl.initializeDevice
ZWave Enhancements 1092 Force associations in specific circumstances
1135 Add start stop channel for Aeotec swipe
1149 Add support for multilevel switch report V4
1152 Convert ZWave binding to use ESH SerialPort classes
1155 Don't request manufacturer data if it is already known
1172 Add verify flag to hard reset option
1179 Update for Meter CC V3
1200 Use S0 when S2 is announced
Bug Fixes 1183 Fix for PROTECTION_SET V2 (#1182)
1219 Ensure max polling period is consistent with configuration

1.x Legacy Add-ons

Add-on Type Issue Change
anel Enhancements 5828 Added Masking of passwords in log entries
CalDAV-Personal Enhancements 5819 Make the calendar update even if the event is 'before now'
Comfoair Enhancements 5773 Expanded binding with new commands
cul Bug Fixes 5851 Fix 2s blocking problem after sending FS20 message
dynamodb Enhancements 5826 Performance optimizations
fatekplc Enhancements 5877 Added serial port support
fritzboxtr064 Enhancements 5831 Added reboot action
5910 Added uptime
gpio Bug Fixes 5730 Fixed debounce Item state out of sync
http Bug Fixes 5718 Fixed NPE while executing background thread
InsteonPLM Enhancements 5775 Added OnLevel feature to Insteon PLM 2477D dimmer
jdbc Bug Fixes 5820 Fixed sqltype.table* options
novelanheatpump Enhancements 5883 Added output signals and additional state variables
oem Enhancements 5684 Added throttle support
pilight Enhancements 5769 Added pilight feature
pushover Enhancements 5846 Added HTML and Monospace formatting option
serial Bug Fixes 5891 Fixed bug where serial commands in rapid succession were not recognized
swegon Enhancements 5685 Added throttle support
tcp Enhancements 5849 Unescape UDP preAmble and postAmple like for TCP
Telegram Enhancements 5765 Support for formatted messages
ucprelayboard Enhancements 5754 Correct feature name
Velux Enhancements 5690 Add support for KLF200 firmware v2
Bug Fixes 5833 Various bug fixes and enhancements
5843 Fixed race condition during startup and smooth change of actuator positions
Weather Enhancements 5702 Remove the Yahoo weather provider
5750 Add support for APIXU and Weatherbit as weather provider

Upgrade Process


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

  1. Connect to the SSH command line and execute: 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.5.0 stable" option

Package-based Installations

For package based installations, you may be asked to replace some configuration files in /var/lib/openhab2. For best results select yes at each of these prompts. Old configurations can be found in the same place, but with dpkg-old appended to it.


Make sure that openHAB is sourced from the latest location, has the correct GPG signing key and that your system can download .deb packages via HTTPS by following the instructions for a stable installation in the docs.

If the above is correct, simply upgrade by using:

sudo apt-get update
sudo apt-get upgrade

Alternatively, you can force apt to install 2.5.0 and its optional add-ons with:

sudo apt-get install openhab2=2.5.0-1

## optional add-ons for offline installation ##
sudo apt-get install openhab2-addons=2.5.0-1
sudo apt-get install openhab2-addons-legacy=2.5.0-1


openHAB is also distributed in RPM packages. To use them, make sure that openHAB is sourced from the latest location, and has the correct GPG signing key for verification by following the stable installation instructions outlined in the docs.

If the above is correct, then simply upgrade using your systems package manager (yum, dnf, etc.)

sudo yum update

Alternatively, you can force apt to install 2.5.0 and its optional add-ons with:

sudo yum install openhab2-2.5.0

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

Manual Installations

Official update scripts are available that let you update your 2.4 installation to version 2.5:


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

  2. Now simply run the command:

sudo ./runtime/bin/update 2.5.0

Breaking Changes that Require Manual Interaction after the Upgrade


This add-on is now part of the UIs. When previously installed using a UI, uninstall the REST Docs before updating and reinstall it after the update to prevent errors. When installing it using textual configuration, update services/addons.cfg by removing restdocs from misc and add it to ui instead.

Textual Configuration

All add-ons (including UIs) now use the openHAB configuration namespace.
Because the openHAB namespace is the default namespace, update the add-on configuration files in the services directory by removing the namespace from the keys.
For example replace org.eclipse.smarthome.basicui:defaultSitemap=demo in services/basicui.cfg with defaultSitemap=demo .

Scripted Automation (JSR223)

All Java classes in the org.eclipse.smarthome.automation package have been moved to the org.openhab.core.automation package.
When scripted automation has imports referencing these packages, they need to be updated.
The latest helper libraries have been updated to check which libraries are available, so that they are also backwards compatible with previous openHAB versions.

Next Generation Rule Engine

Rules created through Paper UI, REST API and directly in JSON files will be have the DTO modified by the upgrade script. If the upgrade script is not used, openHAB will need to be shutdown and all references to org.eclipse.smarthome.automation.dto.RuleDTO need to be changed to org.openhab.core.automation.dto.RuleDTO in $OPENHAB_USERDATA/jsondb/automation_rules.json, $OPENHAB_USERDATA/jsondb/automation_rules_disabled.json and in any backups of these files in $OPENHAB_USERDATA/jsondb/backup/.

Legacy Add-ons

The following openHAB 1.x add-ons have been replaced by openHAB 2.x add-ons and are now part of the legacy add-ons:

  • Denon Binding
  • IHC Binding
  • KM200 Binding
  • Mail Action
  • Neohub Binding
  • Network UPS Tools Binding
  • Pushbullet Action
  • SNMP Binding
  • XMPP Action

To continue using legacy add-ons, enable "Include Legacy 1.x Bindings" in the UI system configuration.
When using file based configuration add legacy = true to addons.cfg.

Discontinued Add-ons

Azure IoT

Due to changes in the Azure API, this add-on is no longer working and has been removed. Persistence Service

The service has been discontinued, therefore there is no longer any use of this openHAB persistence service. It has thus be removed from the distribution.

Breaking Changes in Add-ons

DarkSky Binding

The item type of 'rain' and 'snow' channels have been changed to 'Number:Speed'.

EnOcean Binding

Channel 'receivingState' has been removed, because this was a string containing many information. For this, there are three new channels: 'rssi', 'repeatCount' and 'lastReceived'.


Some tags have been renamed. Old names will not be supported in future versions. Please check documentation.

LGWebOS Binding

The binding parameter 'localIP' has been removed. The binding now uses system defaults for network communication. The thing type parameter 'deviceId' is no longer a parameter, but a property. Parameters 'host' and 'key' have been added.

MQTT Binding

Homie channel names may have changed if special characters are used for MQTT topic names.

OneWire Binding

The thing types ms-th and ms-tv have been marked deprecated and will be updated to ms-tx automatically.
The thing types counter2, digitalio, digitalio2, digitalio8, ibutton, temperature have been marked deprecated and will be updated to basic automatically.

Please note that auto-upgraded things keep their thing UID including the deprecated thing type.

Manually (via textual configuration) defined things need to be changed to ms-tx or basic respectively.

Deprecated thing types will be removed with the next official release.

OpenSprinkler Binding

The stationXX channels have been removed and replaced by a bridge/thing combination. See documentation for further information.

OpenSprinkler Binding

The Pi interface was removed, as it does not provide all of the features of the binding anymore. Please use the HTTP interface instead.

senseBox Binding

The senseBox binding is now using Units of Measurements, and the channel name for Illuminance has changed. The Items must be reconfigured.

Somfytahoma Binding

The following channels have been renamed: 'cyclic_button_state' to 'cyclic_button', 'battery_status_state' to 'battery_status' and 'lighting_led_pod_mod_state' to 'lighting_led_pod_mode'.

Systeminfo Binding

The 'cpu#load' channel has been removed because the OSHI library no longer provides this information.

TP-Link Smart Home Binding

The energy and rssi channels are now using Units of Measurements. Items must be adapted and the things must be recreated.

Tesla Binding

The binding has been heavily refactored. It is required to delete old Tesla Things and set them up from scratch.

Vitotronic Binding

The following channels have been renamed: 'outsite_temp' to 'outside_temp', 'pelletburner:power' to 'pelletburner:powerlevel', 'party_temp' to 'party_temp_setpoint' and 'save_temp' to 'save_temp_setpoint'