Skip to content

openHAB 4.2.0

Compare
Choose a tag to compare
@kaikreuzer kaikreuzer released this 08 Jul 00:18
· 6 commits to main since this release

This is the official release of openHAB 4.2.0.

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

New and Noteworthy

The openHAB 4.2 release is a feature release that 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.

openHAB 4.2 is backward compatible to openHAB 4.x setups - there are only a few exceptions where manual action is required to adapt an existing setup, so please carefully check the section on breaking changes.

Quick links:

Relevant Changes

New Add-ons

The following add-ons are newly introduced:

Add-on Type Issue
ABB/Busch-free@home Smart Home binding Binding #13703
AirGradient Binding #16584
Amber Electric Binding #16850
ArgoClima Binding #15481
Basic Profiles Transformation #16754
DolbyCP Binding #16216
Emotiva Binding #16499
Ephemeris Binding #16628
Freecurrency Binding #16194
French Government Energy Data Binding #16713
GridBox Binding #16664
Growatt Binding #15120
IoTaWatt Binding #16491
MfFan Binding #16786
Panasonic Blu-ray Player Binding #16122
PegelOnline Binding #16831
Piper Text-to-Speech Voice #15965
Radio Browser Binding #16392
SAICiSMART Binding #15894
Salus Binding #16065
SiemensHVAC Binding #14263
SolarForecast Binding #13308
Sungrow Binding #15130
TeslaPowerwall Binding #16876
Whisper Speech-to-Text Voice #15166

Runtime

The following improvements were made to the core and the distro:

Type Issue Change
Enhancements 3652 Allow subscriptions for complete sitemaps (not limited to a single page)
3736 Return units in persistence extension commands and support future persisted states
3878 Adding UV Index system channel
3890 Introduce an optional thread pool for DSL rules and events
3922 Add-on suggestion finder for USB devices
3934 UsbSerialDiscovery service based on Windows registry
3943 Minor extension to generic ip discovery
3957 Refactor ThingHandlerService to an OSGi component prototype
3960 Add piped audio stream and fix raw PCM streams format
3968 Remove unnecessary parenthesis from lambdas
3969 Remove unnecessary boxing
3971 Simplify boolean expressions
3972 Replace lambdas with method references
3973 Use String.join instead of Collectors.joining
3975 More code cleanups
3981 Add network-interface context
3994 Replace or remove assert statements
3995 Fix assertEquals order
3996 Simplify assertions
3997 Remove redundant array creation for calling varargs methods
3999 Use isEmpty instead of 0 comparisons
4000 Remove redundant modifiers
4001 Use diamond operator
4002 Use static inner classes
4003 Iterate using Map entries
4004 Fix JavaDoc issues
4006 Simplify adding elements to Collections
4009 Remove unnecessary semicolons
4010 Use protected modifier with constructor of abstract classes
4013 IpAddonFinder: Skip installed addons
4015 Upgrade to JmDNS 3.5.9
4019 Improve marketplace add-on handling
4020 Simplify Map operations using computeIfAbsent
4021 Some more code cleanup
4023 Replace Markdown backticks with JavaDoc code tags
4024 Improve YAML model repository
4026 Refactor java.util.Date usages to java.time.Instant
4033 Upgrade Jollyday to 0.23.2
4036 Add IP broadcast add-on finder for suggestions
4041 Fix several compiler warnings
4054 Add useful logs in SitemapResource for REST API calls
4057 Add console commands to manage add-ons
4058 Script profile: Separate toHandlerScript for commands and states
4063 Add inbox console command completion
4064 Use precompiled regular expressions to validate the segments of a UID
4065 Fix warnings
4067 Use the ChannelUID to retrieve the Channel from a Thing
4069 Add dimension for emission intensity
4084 Add releaseOnly parameter to Slider sitemap element
4092 Expose Jetty EndPoint in http requests
4093 Include StartLevelEvent in start level triggers
4098 Upgrade jUPnP to 3.0.0
4099 refactored the Stream2JSONInputStream to simplify the logic
4106 unitSymbol response for GroupItem
4107 Add caching for add-on resource
4108 Allow skipping ignored things in inbox
4115 Add REST call to get orphan links
4117 Upgrade tool: Add upgrade task for script profile changes
4123 Add numericState and unit to StateDTO
4124 ColorUtil bug fixes and improvements
4133 Upgrade to Karaf 4.4.5 and Xtext 2.34
4136 stream json without starting a new thread
4137 REST response default persistence strategy when no persistence configuration
4148 Allow empty script for script action & script condition
4149 Improve description of hysteresis bounds
4164 Add abbreviate method to StringUtils
4165 Move to JUPnP v3.0.1
4170 Provide unit hint for system channel type atmospheric-humidity
4172 Extend chart periods to cover past and future
4175 Set a default presentation pattern for String/Number/Datetime items
4177 Do not create new BigDecimals if a given object is already BigDecimal
4178 Upgrade Jollyday to 0.27.0
4181 Upgrade Karaf from 4.4.5 to 4.4.6
4183 Extend sitemap syntax for switch to support press & release buttons
4185 GsonBuilder: Explicitly set date format
4187 Reduce SAT warnings
4190 Use flatMap to simplify map operations
4191 More instanceof pattern matching
4192 Improve logging in ScriptConditionHandler
4193 SseItemStatesEvent displayState: priority to transform over options
4194 improve building the ItemHistoryDTO
4198 Reuse existing BigDecimals in rules while converting types
4200 TestPersistenceService w/ paging
4202 Add console commands to troubleshoot audio sources and speech-to-text services
4204 Support press and release buttons in sitemap generator
4213 Persistence extensions: allow null serviceId
4214 Prevent potential incorrect cache lookup due to hash collisions
4216 Add support for marketplace transformations
4217 Improve thing description XSD
4223 Buttongrid as container for new Button elements
4232 String translations for IP add-on finder
4237 New SDDP service for addon discovery and thing discovery
4244 Upgrade Jollyday to 0.28.1
4245 Change icon for channel type system.mute
4252 Add .xsd to .gitattributes
4255 Use a fast path to avoid pattern matching
4259 Persistence extensions, add lastChange and nextChange
4263 Add support for SDDP IDENTIFY packets
4264 Upgrade Xtext to 2.35.0
4268 PersistenceExtensions: Support state as string for persist method
4273 RulesDSL: add triggeringGroup and triggeringGroupName to rule context
4278 Avoid text concatenation on speech recognition errors
4279 Extend Stringutils with padRight
4281 Add hlis argument to interpret command
1628 Clear marketplace cache during upgrade
1633 Add suggestion finder parameters to addons.cfg
Bug Fixes 3847 reduce log level when modbus slave returns DEVICE_BUSY exception
3961 Fix duplicate UIDs in remote add-on services
3964 Fix month, week, day not supported
3966 Fix NPE in GroupStateTriggerHandler and GroupCommandTriggerHandler
3970 Add no-cache directive to cached REST responses
3978 Consider network settings to avoid creating unexpected JmDNS instances
3980 Fix parsing of button (buttongrid element built with MainUI)
3989 Respond with 404 if add-on is missing in add-on service
3991 Fix build number reporting at startup
3993 Fix syntax warning for empty rule condition in managed sitemap provider
4007 Fix SerialPort.getFlowControlMode() infinite recursion
4008 Fix String.format argument mismatches
4012 Fix openhab-core-auth-oauth2client feature installation
4016 Fix CurrencyUnit
4029 Fix Instant serialization/deserialization regression
4034 Fix wrong class name logged in LocaleServiceImpl
4038 Fix NPE in UpnpIOServiceImpl
4040 Fix logging in ChannelCommandDescriptionProvider
4043 Fix config parsing and version handling in RemoteAddonServices
4061 AddonFinderProcess fixes
4068 Remove state description when loading an item with a removed pattern
4075 Fix reloading channel config changes in .items file
4076 Fix change detection for textual things
4086 Fix CME in ReadyService
4088 Fix the recursive group membership check
4089 Fix forecast for externally changed data
4097 Call, Contact, Image items: Don't create command descr from state descr
4116 Audio parsing : Fix byte / bit confusion
4119 Enable filters for cacheable items list
4128 Upgrade Tool: Fix NPE
4129 Set doctype for auth page
4141 Update bitrate calc
4150 Fix exception wrapping
4160 TokenResource: Set SameSite attribute for session id cookie
4162 Avoid memory leak on script loading failure
4182 Fix marketplace showing incompatible add-ons by default
4188 Use FeatureInstaller for suggestion finder installation
4199 Fix inital loading and improve code for YAML model
4203 Make input formatting for transformations consistent everywhere
4205 Use option label when formatting the option label with the provided pattern fails
4206 Fix initial suggestion finder installation
4209 Fix suggestion finder installation
4212 Persistence extension, re-add deprecated evolutionRate method variants
4219 Fix textual things not updating on the first change
4224 Fix resolver errors during bundle add-on installation
4226 Do not try to convert item state into OnOffType for Switch widget if item has options
4233 Align I18nProviderImpl and thing description XSD
4235 Fix exception in WindowsUsbSerialDiscovery
4240 Fix a wrongly failing validation rule for sitemap
4242 Fix brightness in generic ColorChannelHandler
4247 Fix a deadlock in the PoolBasedSequentialScheduledExecutorService
4257 Fix persistence extensions for group items and number dimension items with different units
4267 Fix persist with date method
4284 Fix parsing of mac address in SDDP Discovery
4288 Ensure the PoolBasedSequentialScheduledExecutorService does keep a minimum size
4291 YAML files: ignore files inside automation sub-folder
4298 Fix TimeSeries policy REPLACE not being applied
4299 Fix AccessDeniedException in YamlModelRepository
1663 Remove unused audit.log
1665 Fix demo setup for dev (Basic UI + transform)

User Interfaces

UI Type Issue Change
Basic UI Enhancements 2243 Move most of app settings to per-device (browser) settings
2247 Enhance the description of the "Inline SVG" setting
2282 Close EventSource when leaving
2344 Create header row only when needed
2492 All buttons forced on one line for a Player item
2521 Adjust user-defined colors to theme for better contrast
2524 Add predefined periods in future for chart
2534 Add special handling for "none" icon
2535 Fix slider behaviour and implement two different modes
2536 Implement press & release button
2573 New Button element as child of Buttongrid
2579 Switch with buttons: value displayed if pattern on widget
2580 Switch between several Button elements at a place in the grid
Bug Fixes 2232 icon.png minimal fix
2234 Fix closing h4 tag in sitemap list page
2238 Fix image element being link to a sub page
2257 Adjust the SVG icon in buttons to the current theme
2260 Fix Buttongrid alignment on desktop
2269 Update the content of the default cfg file
2280 Fix SSE reconnection to the current page
2284 Replace non printable characters
2341 Show buttons on several lines when not enough place
2538 Fix update of buttons (switch element)
2649 Fix iconify parameter description
Main UI Enhancements 2105 Add a "Add from template" page for the semantic model
2229 Add a new settings menu for persistence
2246 Improve network-interface context support
2248 Settings pages: Fix x-overflow and large spaces on phone screens & Change icon for persistence config
2253 Help sidebar: Move docs to docs repo & Integrate them into the UI
2267 Upgrade from webpack v4 to v5
2270 oh-colorpicker: Replace defaultColor option with an actual default color
2273 Update descriptions in the settings menu
2288 Change the default navbar style from orange to light for light theme
2294 Lazy load the developer dock
2296 Update alexa range value attribute parameters
2305 oh-block: Allow setting style properties
2310 Upgrade Blockly from v9.2.0 to v10.4.2
2312 Provide meaningful list of units in item form
2313 Config sheet: Show advanced params if not default or not empty
2315 Add renderer switching
2317 Add tooltips to the show block/code buttons
2320 Model picker popup: Add "Show name" and "Show tags" options
2322 Script editor: Add commenting/uncommenting with Ctrl-/ and Cmd-/
2326 item-form: Various (layout) improvements & Refactor tag-input
2331 Sidebar help: Add script editor docs
2336 Label and style all UID elements consistently
2340 Allow custom page icons
2347 Remove padding in list grouping toolbar
2348 Accept double click to pick an Item in model picker popup
2349 Remember checkbox settings in model picker popup
2352 Rule edit: Remove redundant module title prefix
2355 Model page: Remember checkbox settings
2362 Rule & Script editor: Various improvements
2369 Add a global component developer-dock-icon
2371 Persistence edit: Make page title dynamic & Fix delete back navigation
2372 Developer sidebar: Add clipboard icons
2377 Rule edit: Generate suggested trigger title only when none is available
2381 Add-on Store: add sub menu items and various improvements
2387 Model Treeview: Remember the expanded state
2390 Sitemap editor: Add slider releaseOnly parameter support
2391 Persistence edit: Change empty-state-placeholder icon
2400 Only load ignored inbox items in inbox view
2402 Add support for SVG add-on logos
2405 Only align smart-select on wider screens
2406 Add-on store: Title and searchbar focus tweaks
2410 Show lock icon in the item details members list
2411 Provide HTTP request block
2412 Rule module popup: add dirty checking
2415 Blockly Editor: combine renderer selection and show item label icons
2419 Add multi-select feature
2420 Add UI for health checks (broken links)
2421 Update alexa networking integration
2424 Help sidebar: Add blockly help page
2425 Location card: Swap status & measurement badges to avoid layout shift
2428 Item picker: Disable picker & hide chevron if not yet ready
2431 Setup wizard: Add separate step for persistence
2432 Remove Cordova from Main UI
2441 Widget expressions: Add # as a shorthand for item.numericState
2450 Upgrade echarts and vue-echarts & Add fallback for visualMap when using heatmap
2451 Improve Item name validation
2465 Add undefined block
2485 Save stateDescriptionPattern from channel type for UoM Items & Save UoM metadata when adding from model
2487 Link Item to channel: Include error message on name validation failure
2488 Upgrade several dependencies
2489 Upgrade Vue from 2.6.12 to 2.7.16
2495 Item edit: Validate name on load
2499 Things list: Only show "no location" optionally for sort-by location
2509 Charts config: Add gauge and pie chart types
2512 Things (inbox) list: Improve condition for reversed checkbox style
2517 Allow for compiling with Java 21
2529 Allow future periods in sitemap configuration
2533 Add oh-context component
2539 Things list: Always show the inbox
2541 Persistence edit: Add support for selecting all Items
2543 Metadata: Add link_to_more as well-known namespace
2545 Charts: Add option to extend initial period to future & Refactor prop defs
2553 Sitemap editor: Add press release button support
2555 Add-on logo component: Make lazy loading optional
2556 Setup wizard: Refactor add-on selection & Add descriptions for JS Scripting & Astro
2562 Add more thing blocks
2564 Adjust persistence blocks to breaking changes
2565 Setup wizard: Add primary IP config
2568 Setup wizard: Improve suggestions refresh on network change
2575 Add timer context
2581 Add typed vars
2582 Add-on store: Add connection and country filter
2585 Provide on/off icons for soundvolume_mute
2591 Tabbed pages: Show config in code tab & Enable expressions for title and icon
2592 Tabbed pages: Add optional badges and badge color to tabbar
2596 Persistence: Enhance existing blocks & add blocks to cover all available actions
2614 Thing view: Add support for HTML-formatting of channel descriptions
2622 Expose UI command handling to native wrappers
2624 Things list: Reload on ThingUpdatedEvent
2628 Rename rule/scene/script name to label for consistency
2629 Setup wizard: Add InMemory persistence to recommended add-ons
2635 oh-sipclient: Add auto answer & auto dial features
Bug Fixes 2096 Fix oh-stepper sends command on Item state update due to rounding
2245 Fix Quickstart-Button shown for non-admin users
2276 Rule/Script edit: Fix not editable not properly handled & Always show tags
2277 Thing edit: Hide clear button for location if not editable or not ready
2289 Settings page: Fix add-on settings header displayed when no add-ons installed
2291 Home page: Hide tab bar if all model tabs are hidden
2295 Transformation edit: Fix copy UID doesn't work
2300 Fix regressions caused by wrong YAML library usage
2301 Widget expressions: (Partly) Fix handling of Item name being undefined
2302 Fix UoM metadata not stored when Item created from link
2304 Home edit: Fix model card settings drop-down not accessible
2306 Fix persistence block ZDT disconnection
2307 Fix incorrect field names
2308 Fix typos in transformation block tooltip
2309 Fix console warnings when switching to Math
2311 Set output type of oh_check_undefined_value to boolean
2314 Addon config page: Use dirty mixin & Add Ctrl-S shortcut
2316 Fix warning when show code button is clicked twice
2318 Rule/script: Fix fields not editable in create mode or for Blockly
2319 Disable Item editor fields for unmanaged items
2321 Fix code editor's Ruby detection
2325 Item edit: Fix semantic class cleared when property set to None
2328 Item details: Fix group member selection allows to select unmanaged Items
2329 Thing page: Fix dirty checks & Fix not-editable handling
2332 Settings page: Fix loading takes very long
2338 Fix sidebar search scene and script integration
2339 Fixes & Improvements to persistence edit, channel details & doc links logic
2350 Rule edit: Fix undefined currentSection error in trigger-module-wizard
2364 Fix alexa thermostat attribute parameters
2367 Fix rule module editor popup for blockly
2368 Help sidebar docs: Fix external anchors & Script editor RegEx
2373 Help sidebar: Fix wrong section in developer tools
2374 Script & Item edit: Add/Fix dirty handling
2375 Item edit: Fix code tab not working properly
2380 Update links to the add-ons store
2385 Add-on list: Top align the install buttons
2399 Persistence edit: Fix dirty for new persistence & Improve const handling
2409 Settings menu: Fix search bar to include system and addons settings
2414 Overview tab: Fix javascript error
2422 Fix UID copy for not editable channels and transformations
2423 Help sidebar: Reduce list indentation
2426 oh-player-controls: Hide default tooltip
2440 Add-on logo: Fix jdbc logos not loading & list-item logo distorted
2452 Item details: Fix editing groups with uneditable members & Sort members
2453 Item list & details: Hide group type if not set
2470 Fix dirty warning shown on delete
2472 Thing inbox: Fix "show ignored" checkbox not checkable on small screens
2473 Item edit: Check for type change & Fix dimension/unit change checks
2474 Item edit: Fix state description not saved for existing Item
2475 Thing edit: Fix changing ID shows wrong value & Always show UID
2476 Fix missing event property causes JS error
2496 Fix multilineedit rendering issue
2497 Rule edit: Always create script field for script action/condition
2500 Sitemap edit: Fix attribute-details styling applies globally
2508 Script edit: Fix dirty handling
2511 Analyzer: Fix analyzer not initially visible on iOS 17.4
2513 Chart calendar axis: Don't override user-defined dayLabel and monthName settings
2514 Downgrade vue-fragment as the upgrade broke oh-repeater in some circumstances
2515 Things list: Fix broken list index after Thing removal
2526 Thing details: Fix code tab not editable
2540 SSE Item State Tracking: Avoid requesting ob and __v_isRef
2542 Script edit: Fix script creation fails due to exception
2548 Charts: Fix initial period wrongly calculated for future charts
2554 Sitemap editor: Fix buttongrid editor
2558 Setup wizard: Fix server-set region and location not shown on later wizard launch
2559 Setup wizard: Fix already set i18n settings not respected
2567 Item parser: Add missing group item aggregation functions
2587 Fix event block code generation
2588 Fix Thing "is enabled" code generation
2599 Widget expressions: Ensure correct context & props are passed on recursion
2600 Add-on store: Fix region is null error
2609 Sitemap editor: Fix issues with AND, buttongrid and numeric commands
2610 Fix Main UI dark mode scrollbars in Chrome
2611 Sitemap edit: Fix column width wrongly applied
2620 Rule module popup: Fix margin issues and improve styling
2623 Rules list: Improve performance of rule status tracking
2626 Fix value mapped to NULL not shown in list label item
2630 Cron expression builder: Set day 1 as Sunday
2631 Analyzer: Fix silent failure if no items are set
2632 Group item form: Add missing COUNT aggregation function
2633 oh-input: Fix select with options & setting style not working
2634 oh-input: Allow overwriting calendarParams defaults for datepicker
2638 Do not request icon with state for Image Items
2640 Developer sidebar: Fix script and scene "unpin all" links

Add-ons

Add-on Type Issue Change
airgradient Enhancements 16851 Support configuration of devices for firmware v3.1.1 and later
airq Enhancements 16694 Improve error handling
16696 Add Hydrogen Sulfide (H₂S)
16698 Add health/performance channels in percent, add UoM, refine unit hints and state patterns, make item labels consistent
amazonechocontrol Bug Fixes 16152 Fix Servlet exceptions due to non-unique names
amplipi Enhancements 16171 Add new power channel to zones and groups
androidtv Enhancements 15352 Add PhilipsTV protocol to AndroidTV
Bug Fixes 16191 Resolve protocol failures and update TCP port naming
16264 Fix discovery issues
16290 Fix missing default shieldtv applications
asuswrt Enhancements 16084 Support router discovery and add-on suggestion using UPnP
atlona Enhancements 16832 Replace discovery service with core SDDP discovery
Audio Enhancements 16111 Fix PCM format and use PipedAudioStream in sources
awattar Enhancements 16871 Add tests and improve code
benqprojector Enhancements 16848 Add SDDP discovery and missing menu options
bluetooth.airthings Enhancements 16879  Add support for Airthings Wave Radon
bluetooth.bluez Bug Fixes 16167 Workaround exception on disconnect
bluetooth.generic Enhancements 16209 Upgrade to latest gatt parser library
boschindego Enhancements 16644 Bypass WAF by using app user-agent
Bug Fixes 16232 Fix removal of discovery results
boschshc Enhancements 15060 Add command to list SHC device mappings
16028 Add user defined states
16093 Support for Door/Window Contact II
16274 Add support for Universal Switch I + II
16357 Add support for Smoke Detector II
16400 Add support for Light/Shutter Control II
16501 Add support for Dimmer
16770 Support for Smart Water Alarm
Bug Fixes 16002 Handle invalid long poll responses gracefully
16161 Fix options for channels with Switch items
16211 Cache mDNS-based bridge discovery results
16342 fix wrong config description references
bosesoundtouch Bug Fixes 16898 Fix parsing of metadata fields
chatgpt Bug Fixes 16131 Fix ConfigOptionProvider
chromecast Enhancements 16186 Update protobuf from 2.6.0 to protobuf-javalite 3.25.1
danfossairunit Enhancements 16277 Add support for suggestion finder
deconz Bug Fixes 16769 Fix color conversion
denonmarantz Enhancements 16692 Improve discovery
16748 Add HTTP protocol support for newer receivers
16759 Add UoM support for volume dB channels
16800 Provide channels icons and semantic tags
Bug Fixes 16689 Interrupt running job on handler disposal
digitalstrom Bug Fixes 16352 Fix initialization of temperature control devices
dmx Bug Fixes 16281 Improve exception handling in refresh job
doorbird Enhancements 16297 Add support for version 2 encryption scheme
dsmr Enhancements 15038 Add support for capacity tariff for Belgium
Bug Fixes 16739 Fix delivery demand labels
dynamodb Enhancements 16693 Optimize consumed read capacity
ecobee Enhancements 16613 Improve handling of error code 14
Bug Fixes 16442 Fix NullPointerException in BridgeHandler
16467 Fix for error code 14 (token expired)
ecotouch Enhancements 16446 Add water and heating power limit channels
16815 Add Warmwater Hysteresis
ecovacs Enhancements 16487 Add support for DEEBOT X2 Omni
16524 Add support for new API for fetching cleaning logs
16952 Add DEEBOT T20e to supported device list
Bug Fixes 16466 Handle invalid JSON responses properly
elerotransmitterstick Enhancements 16229 Support suggestion finder
emotiva Bug Fixes 16891 Remove discovery-methods because of missing listen port support in scanBroadcast
energidataservice Enhancements 16190 Remove obsoleted advanced channel hourly-prices
16283 Update tariff filter for NOE Net
16317 Update tariff filter for Ikast El Net
16330 Add CO₂ emission channels
16634 Update tariff filter for Radius
16648 Log warning when spot prices are unavailable
16651 Improve error handling for action calculatePrice
16656 Introduce console command for history persistence
16704 Introduce a trigger channel to announce the availability of day-ahead prices
Bug Fixes 16217 Increase robustness of UoM price updates by using currency code rather than symbol
16222 Reduce redundant persistence of tariffs
16649 Restrict CO₂ emission datasets to price area DK1/DK2
16653 Adjust retry policy for extended spot price unavailability
16654 Fix tariff time series when spot prices are unavailable
enocean Enhancements 16089 Addon suggestion finder xml
epsonprojector Enhancements 16438 Add A/V standby power status
16794 Support SDDP addon suggestion finder
16802 Add SDDP discovery
evcc Enhancements 16114 Adjust to evcc version 0.123.1
16378 Add support of heating devices and three new channels
16660 Adjust to evcc 0.125.0 API changes
Bug Fixes 16428 Fix capacity and vehicleName channels, Add current Vehicle/HeatingDevice per Loadpoint
fineoffsetweatherstation Enhancements 16461 Implement new Measurand free-heap-size
freeboxos Bug Fixes 16700 Handle null WifiInformation in Access Point Manager
16792 FreeboxOsIconProvider should only provide icons for its own icon set
govee Enhancements 16109 Addon info for suggestions
growatt Enhancements 16319 Suggest addon to be installed
Bug Fixes 16377 Correct battery display channel unit from 'one' to 'volt'
16986 Annotate ThingActions implementation as a Component
harmonyhub Bug Fixes 16646 Fix NumberFormatException when selecting hue scene
haywardomnilogic Enhancements 15478 Add support for ColorLogic V2 Lights, Update Chlor Enable, Alert, Error, Status
Bug Fixes 16733 Fix chlorinator units. Continuation of PR#15478
16820 Fix chlorinator bug
hdpowerview Enhancements 16790 Support SDDP addon suggestion finder
16853 Improve SDDP discovery
16865 Improve Gen 1/2 discovery label
homematic Enhancements 16196 Add Authentication
http Enhancements 16282 Improve binding
Bug Fixes 16288 Fix refresh time check and calculation
hue Enhancements 16538 Shrink step size for increase/decrease commands
16902 Retry once on timeout for GET requests to the bridge (API v1)
16905 Add semantic tags for advanced light channels (API v2)
Bug Fixes 16356 Fix NullPointerException (API v1)
16436 Improve color setting (API v2)
16619 Fix potential NullPointerException when new battery devices are added to bridge (API v2)
16714 Fix migration of API v1 legacy data to new v2 things
hydrawise Bug Fixes 16221 Handle API auth changes
16280 Small fix when retrying token
icloud Bug Fixes 16846 Use device.Id instead of device.DiscoveryId to fix playsound
influxdb Enhancements 16151 Add compatibility with InfluxDB Cloud Serverless
Bug Fixes 16234 Fix exception handling for InfluxDB 1.x
inmemory Enhancements 16496 Default persistence strategy Forecast
Bug Fixes 16185 Add filterCritera ordering
16563 Fix boundaries for queries
insteon Enhancements 16075 Mask password when logged
intesis Enhancements 16476 Improve session handling
Bug Fixes 16620 Fix blocking calls in initialize/dispose
ipcamera Enhancements 16081 Remove channels and stop checking IO status when camera does not support IO
16090 Addon info for suggestions
16144 Add white LED controls for Dahua and also Email and Push for Reolink with v20 command support
16332 Improve online/offline detection for ONVIF cameras
16775 Add new AI object detection alarms for Foscam cameras
Bug Fixes 16663 Fix Reolink Duo Floodlight whiteLED Channel
16777 Fix ONVIF alarms streams may stop and not restart on some cameras.
ism8 Enhancements 14206 Add UoM support
jablotron Bug Fixes 16743 Migrate to v2.2 API
jdbc Enhancements 16132 Upgrade MySQL Connector/J to 8.2.0
Bug Fixes 16444 Upgrade PostgreSQL JDBC driver to 42.4.4
16604 Provide better MySQL datatype for DateTimeType
16680 Reduce the default character limit for VARCHAR columns in MySQL
16845 Fix state and timestamp being discarded on store with alias
jeelink Enhancements 16725 Add support for emt7110 energy meter
jellyfin Enhancements 16917 Add support for 10.9.x Jellyfin Servers
jinja Bug Fixes 16347 disable failOnUnknownTokens
jpa Enhancements 15978 Do not log failure to persist item with duplicate timestamp as error
Bug Fixes 16977 Fix return value for UoM items
jrubyscripting Enhancements 16439 Upgrade to JRuby 9.4.6.0
jsonpath Enhancements 16365 Upgrade dependencies and some cleanup
jsscripting Enhancements 16445 Improve logging on JS error
16985 Upgrade to openhab-js 5.3.1
Bug Fixes 16106 Fix JS Quantity to Java QuantityType conversion
16112 Upgrade openhab-js to 4.7.3
16497 Fix multi-thread access requested by logger initialization
16578 Fix memory leak on script execution failure
jythonscripting Enhancements 16465 Upgrade to Jython 2.7.3
16508 Refactor, improve and simplify
Bug Fixes 16527 Fix addon id
kaleidescape Enhancements 16720 Add Buttongrid example and command channel
keba Enhancements 16474 Add support for additional x-series wallboxes
knx Enhancements 16078 Add support for RGBW represented by HSBType
16094 Allow receiving DPT 235.001
16238 DPT 1 to support Switch and Contact
16588 Upgrade Calimero to 2.6-rc1
Bug Fixes 16263 postUpdate for contact-control sends to bus
16337 Correctly support state sub-types for DPTs
16364 Fix dimmer channels
16395 Fix scale when sending DPT 7.002 or DPT 7.003
16421 Fix KNX dimmer channels
16453 Fix DPT 6.020 and 8.010
16481 Fix DPT 243.600 and 249.600 when time>=1000s
lgwebos Bug Fixes 16399 Increase limit to 5MB for Websocket text message
lifx Enhancements 16618 Add support for new LIFX products
linky Bug Fixes 16586 Resurrect the binding
livisismarthome Enhancements 16914 Add support for the indoor siren device
lutron Enhancements 16550 Implement button press notifications for Picos from LEAP
luxtronik Enhancements 16218 Add channel for fixed heating return temperature
mail Bug Fixes 16580 Fix content processing
16587 Fix sending HTML mails
mapdb Bug Fixes 16567 Fix missing service pid
16657 Explicitly set date format for serialization
meater Bug Fixes 16994 Fix broken cloud communication
melcloud Bug Fixes 16422 Adjust to new API limits
MercedesMe Enhancements 15628 Switch to Mercedes App SDK
16897 Refactor code and fix test
Bug Fixes 16962 bugfix websocket exception after sending command
Meteostick Enhancements 16270 Add windvane calibration
miele Enhancements 16250 Improve discovery result labels
16463 Add information/failure channels
16514 Add laundry weight channel for washing machine
16621 Provide unit hint for water consumption channel
Bug Fixes 16521 Fix sticky appliance ID
miio Enhancements 16381 Add support for Xiaomi Smart Plug 2 cuco.plug.v2eur
16383 Add support for Mijia Omni Robot Vacuum-Mop
16608 Add Roborock S7/S7MaxV mop mode
16659 Add Yeelight W3 RGB
Bug Fixes 16380 Fix date parsing issue last cleaning details
16384 Fix sending empty command for feature channels
16388 Fix last cleaning details wrong start and end missing issue
milight Bug Fixes 16157 Fix for failing to increase animation speed
misc Enhancements 16107 Adapt to core changes (ThingHandlerService)
16202 Remove openhab-transport-http feature dependencies
16204 Remove redundant feature dependencies
16458 Bump Kotlin, okhttp, okio, and java-telegram-bot-api libraries
16594 Allow for compiling with Java 21
16614 Provide unit hints for humidity/noise/volume channels
16798 Upgrade Jollyday to 0.28.1
modbus.sungrow Bug Fixes 16557 Add missing sungrow bundle
mongodb Enhancements 16333 Upgrade DB driver, add more type handlings, fix QuantityType handling
Bug Fixes 16568 Fix missing service pid
16978 Fix handling of GroupItems on restore
MPD Bug Fixes 16299 Fixed loosing pending commands on broken idle connection
mqtt Enhancements 16245 recognize -NaN as UNDEF as well
16307 Treat incoming empty string as NULL for most types
16641 Treat incoming empty string as NULL for enum
16782 Add additional details in ChannelStateTransformation logging
Bug Fixes 16639 Fix UnDefType comparison in PercentageValue
16857 Fix certificate pinning
16866 Fix state description
mqtt.espmilighthub Bug Fixes 16127 Fix upgrade instructions
mqtt.generic Enhancements 16051 Expose more advanced rollshutter config options
Bug Fixes 16345 default STOP to null for rollershutter channel
mqtt.homeassistant Enhancements 16052 Improve support for Lock component
16143 Trigger HA devices to update discovery information
16246 update config abbreviations
mqtt.homie Enhancements 15893 build a per-thing thing type
mybmw Enhancements 16418 Improve data refresh handling
16937 Add stop charging command
Bug Fixes 16643 Fix images not loading anymore
16687 Revert fix images not loading anymore
neohub Bug Fixes 16312 Improved Web-Socket Communications
netatmo Enhancements 16562 Add a buffer to lower Home API requests
16571 Enhance bridge status reporting
16572 Weather cache must be synchronized
16589 Lower Home API request quantity
Bug Fixes 16026 Enable home being both energy and security
16492 Fix erroneous local URL handling
16520 Fix account bridge staying offline
16530 Thing properties were no more provided
16543 Don't read of Energy data for Security area
16546 Bring back auto refresh for Weather Station and HomeCoach
16548 Home child things won't go online
16573 Fix ClassCastException
16574 Enhance RefreshCapability
16640 IllegalArgumentException for DoorTags
16679 Fix Live Picture not always available
16681 Presence sub events were not updated
16684 Correction of Last-Event group
16703 Fix error introduced in #16681
network Enhancements 16145 Add parameter for limiting network interfaces to fix performance issues
16259 Add configuration parameter for using iOS wake-up
Bug Fixes 16315 Improve threading
16636 Fix NumberFormatException for ping when locale has comma as decimal separator
nibeheatpump Bug Fixes 14072 Fix serial params
nikohomecontrol Enhancements 12893 Energy meters and access control
16834 Alarm systems
nuvo Enhancements 16068 Display album art from MPS4
16443 Add source menu channel
ojelectronics Bug Fixes 16159 Adjust setpoint command handling
onkyo Enhancements 14316 Add channel for changing the Audyssey EQ Mode
openhabcloud Enhancements 16938 Enhanced Notification Actions
16979 Support hiding notifications and tags
openweathermap Enhancements 16350 Add daily moon channels to OneCall Thing
16369 Remove "Current UV Index and Forecast" Thing for discontinued service
openwebnet Enhancements 15921 Add support for lights general/area/group events and Things
16376 Replace gnu.io dependency with serial transport
16605 Thermo: added support for HOLIDAY/VACATION central unit modes
16652 Thermo: new channels and README updates
16691 Add actions to send generic OWN messages
Bug Fixes 16534 Thermo: Fixed handling of mode=AUTO for bus_thermo_zone
16626 Thermo: fix update zone setPoint when local offset is in use
orbitbhyve Bug Fixes 16525 Handle null location attribute in devices json
16630 Fix handling of multiple sprinkler controllers
panasonicbdp Bug Fixes 16425 Fix suggestion finder
persistence.jpa Enhancements 16591 Upgrade openjpa and derby
PiperTTS Enhancements 16755 Reduce bundle size
PJLink Bug Fixes 16119 Fix RejectedExecutionException on discovery
PJLinkDevice Enhancements 16504 audio/video mute
plex Enhancements 16343 Add ratingKey channels
pollytts Bug Fixes 16153 Update AWS Java SDK
pulseaudio Enhancements 16254 Declare pulseaudio module per audio stream
pushover Bug Fixes 16212 Fix thing action backwards compatibility
radiothermostat Enhancements 16768 Add discovery-methods
Renault Bug Fixes 16675 Fix retrieval of cockpit/odometer information
roku Enhancements 16210 Improve TV discovery model name and add timeout
16424 Add suggestion finder methods
rotel Enhancements 16486 Support added for model RX-1052
rrd4j Enhancements 16360 Improve querying the RRD4jPersistenceService
16379 Reuse the state for identical values
Bug Fixes 16569 Fix missing service pid
salus Enhancements 16807 Add support for AWS
16840 Replace AWS dependency by light weight alternative
samsungtv Enhancements 11895 Frame TV Fixes, Improvements and New Channels
Bug Fixes 16787 Fix IllegalStateException on sourceName command
senechome Enhancements 16842 Add additional states
Bug Fixes 16611 Add request timeout
shelly Enhancements 16303  Improve logging on WebSocket connection problems
16304 Make blu gw script more robust on startup
16306 Add check and ThingStatus for local IP issue (APIPA)
16335  Add support for Shelly Plus Mini Gen 3 series of devices, Shelly Plus UNI
16336 New channel group ncurrent for 3EM
16413 Support for Shelly BLU H&T
16419  Add support for Range Extender feature
16625 Add support for Shelly Plus HT Gen3
16744 Enable use of analog input with Shelly Plus Add-on
Bug Fixes 16150 Fix WebSocketServerFactory ClassNotFoundException
16240 Fix stack overflow, sensor init on wakeup and wrong temp channel for Plus 1
16371 Fix blu gateway script to prevent crash
16391 Re-adding Shelly Plus10V to list of supported things
16426 Fix missing head start tag in manager web ui
16547 Use macaddress as a fallback name
16566 Enable accumulated channels for Shelly Pro 3EM
16746 Various small fixes for BLU HT, Range Extender, Plus 10V, TRV set temp
17009 Fix Gen1 initialization when thing is defined in .things
siemensrds Enhancements 16616 Remove r.H. from humidity state description pattern
smaenergymeter Bug Fixes 11718 Fix handling of broadcast frames
16841 Make sure that energy meter packets are not queued up.
smartmeter Bug Fixes 16183 Prevent NumberFormatException
snmp Enhancements 16803 SNMP v3 fixes and improvements
Bug Fixes 16801 Upgrade SNMP4J and fix AUTH_NO_PRIV
solarforecast Bug Fixes 16818 Fix default damp factor
16819 wait 1 hour after http 429 error
solarmax Bug Fixes 16397 Add right unit and precsision to current power channel
solax Enhancements 16124 Add cloud connection support
16248 Add support for Solax X3MIC / G2 inverter and workmode channel
16412 Add support for x1 mini inverter local connection
somfytahoma Bug Fixes 16751 Add gateway discovery fallback when LAN mode is not working
sonos Enhancements 16261 Add TrueHD 7.1
Bug Fixes 15708 Fix warnings and fix parsing of room name
16141 Prevent logging unsupported device
sonyprojector Enhancements 16849 Add discovery through SDDP
Bug Fixes 16972 Fix decoding of mac address
16976 Fix edge case in mac address decoding
squeezebox Bug Fixes 16368 Fix notification sometimes playing last playlist item first
systeminfo Enhancements 16012 Add CPU frequency channels
16197 Bump OSHI to 6.4.8
16821 Bump OSHI to 6.5.0
16838 Reduce code complexity as well garbage collection
Bug Fixes 16971 Fix startup of existing thing type config
tado Enhancements 16531 Change humidity and heatingPower channels to QuantityType
16836 Remove dependency on Swagger CodeGen
16861 Add mDNS discovery
Bug Fixes 16793 Revert #16686
tapocontrol Enhancements 15725 Add klap-protocol to support multiple new devices
Bug Fixes 16822 Fix cloud connection error
tasmotaplug Enhancements 16494 Add energy monitor channels
telegram Enhancements 16631 Add action method to remove a Query
teleinfo Enhancements 16328 Enable background discovery
tellstick Enhancements 16228 Add support for suggestion finder
Bug Fixes 16220 Adopt new API url
16882 Fix NullPointerException
tesla Bug Fixes 16331 Adapt calls to new products API endpoint
tibber Enhancements 16275 Add time series support for Tibber prices
16623 Add two channels: consumption and production for current hour
tivo Enhancements 16706 Add missing irCommand state options
tr064 Enhancements 16650 Enable fourth WiFi channel and improvements
transformation Enhancements 16160 [exec] allow spaces in parameters by enclosing in single quotes
upnpcontrol Bug Fixes 16597 Catch IAE when Album Art URI is invalid
velbus Enhancements 15661 New functionality and bug fix
verisure Bug Fixes 16868 Fix NullPointerException
16984 Fix logging statement
vizio Bug Fixes 16291 Prevent thing status from bouncing offline
voice Enhancements 16922 Allow speech-to-text services to emit empty error events
Bug Fixes 16464 Fix google and watson speech-to-text services PCM format support
volumio Bug Fixes 16828 Fix some commands not working
16925 Adjust thing/channels label and description
wled Bug Fixes 16146 Fix Playlist and Preset detection when missing bri values
yamahamusiccast Enhancements 16231 Add discovery information
yamahareceiver Bug Fixes 16278 Fix ChannelTypeProvider
Zigbee Enhancements 819 Addon suggestion finder xml
833 Bumped zsmartsystems.version to 1.4.14
835 Add Slzb06m Network Coordinator Handler
838 Add console commands on/off/level/color
839 Reduce logging in converter attribute update callback
841 Default color commands to HSB if discovery fails
Bug Fixes 836 Fix inconsistent blank and invisible character processing of discovery properties
ZWave Enhancements 1908 Addon suggestion finder xml

Upgrade Process

Backup your configuration

If you are on openHABian, sudo openhabian-config menu option 50 will do for you,
else use sudo openhab-cli backup. Get the resulting file from $OPENHAB_USERDATA/backups, $OPENHAB_USERDATA is accessible as a Samba share. Using SSH it is /var/lib/openhab/ on your system.

If you run a Raspberry, get another SD card (an "Endurance" labelled one) and create a mirror copy.
openhabian-config menu option 54 will do for you on the live system, else there's tools such as dd or WinDiskImager.
Should you ever need to revert to your old openHAB system or to redo the upgrade process, simply change SD cards and start over from where you had started.

openHABian

If you are working with an openHABian setup,

  1. Use SSH to connect to the command line and run sudo openhabian-config.
  2. When being asked, answer that you want to update openHABian (note that’s not about openHAB itself).
  3. If needed check which version you run via menu option 00.
  4. If on Raspberry, create an image copy of your SD card using menu option 54.
  5. Switching to openHAB 4.2.0 release depends on what version you’re upgrading from:

    a) If you have been running a 4.x release version, select menu entry 03 “Install or upgrade to latest openHAB” option.

    b) If you have been running a snapshot or milestone release of 4.2, select the first entry in menu option 41 (“Release”).

Package-based Installations

APT (Debian / Ubuntu and derivatives)

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 4.2.0 and its optional add-ons with:

sudo apt-get install openhab=4.2.0-1

## optional add-ons for offline installation ##
sudo apt-get install openhab-addons=4.2.0-1

RPM

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 4.2.0 and its optional add-ons with:

sudo yum install openhab-4.2.0-1

## optional add-ons for offline installation ##
sudo yum install openhab-addons-4.2.0-1

Manual Installations

Official update scripts are available that let you update your 4.x installation to version 4.2:

Linux/macOS

  1. Change to your openHAB root directory (e.g. cd /opt/openhab)
  2. Create a backup by calling sudo ./runtime/bin/backup.
  3. Run the update command:
sudo ./runtime/bin/update 4.2.0

Windows

  1. Make a backup of your openHAB installation folder.
  2. Run PowerShell as administrator and change to your openHAB root directory (e.g. cd C:\openHAB)
  3. Run the update command:
. .\runtime\bin\update.ps1
Update-openHAB -OHVersion 4.2.0

Breaking Changes that Require Manual Interaction after the Upgrade

Changes in Add-ons

AndroidTV Binding
  • The thing configuration of 'port' has been renamed and split to 'googletvPort' and 'shieldtvPort'
Energi Data Service Binding
  • Thing action calculatePrice now returns 'null' if price data is missing within the requested period. Rules may need to be adjusted.
evcc Binding
  • Update to evcc API version 0.123.1 results in several new or updated channels. Existing Items will need to be adjusted.
ISM8 Binding
  • Most channels have changed and are now using Units of Measurements. Items must be adapted and the things must be recreated.
JavaScript Scripting Automation
  • The 'Item' suffix has been removed from Item.type, i.e. 'SwitchItem' becomes 'Switch'.
  • The 'Item.history' API has been replaced by 'Item.persistence', which mostly provides the same functionality, but some return types changed and 'historicState' has been renamed to 'persistedState'. Blockly users should search for '.history' using the developer sidebar and re-save all scripts that contain this search query.
  • Deprecated methods 'actions.ScriptExecution.createTimerWithArgument' (use 'createTimer'), 'cache.get', 'cache.put', 'cache.remove' & 'cache.exists' (use the private or shared cache) and fields 'state' (use 'receivedState') & 'receivedTrigger' (use 'receivedEvent') have been removed from the event object.

Please read the release community post to learn learn about adjusting your scripts & rules to the breaking changes.

Jython Scripting
  • Default python lib path changed from "/automation/lib/python" to "/automation/jython/lib" and default python script path changed from "automation/jsr223" to "automation/jython". Just move your python scripts and libraries to new locations. The path "automation/jsr223" is still working, because it is used as a deprecated path for all automation add-ons.
MercedesMe Binding
  • Public API from Mercedes was switched off. Now binding is using Smartphone API. Bridges and things cannot be reused and needs to be recreated with the updated binding.
OpenWeatherMap Binding
  • One Call API version 2.5 is to be shut down in June 2024. Read the binding's documentation for the migration process.
Persistence Extensions
  • "historicState" and evolutionRate" have been deprecated and replaced by "persistedState" and "evolutionRateSince". They will be removed in a future version. Methods may now return QuantityType instead of DecimalType. In Rules DSL, if you wish to do calculations without units, you may have to cast the results of the method to DecimalType explicitly. See documentation for details.
SMA Energy Meter
  • The Thing configuration has changed and now also requires the parameter "serialNumber".
Transformations
  • NULL and UNDEF item states are now passed to any defined transformation.
Transformations-MAP
  • "-" entry defined in a MAP file is no more used by sitemap UIs when the item state is NULL or UNDEF. You can now define "NULL" and "UNDEF" entries to map these 2 particular states or rely as before on the definition of a default mapping to map anything that has no entry in your file including NULL and UNDEF.