github openhab/openhab-distro 5.1.0
openHAB 5.1.0

12 hours ago

This is the official release of openHAB 5.1.0.

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

New and Noteworthy

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

Please also note our release blog post, which describes the major new features in depth.

openHAB 5.1 is backward compatible to openHAB 5.0 setups, though there are a few exceptions where manual action is required to adapt an existing setup, so please carefully check the section on breaking changes. It is especially important to know that openHAB 5.x requires Java 21, so in case you are coming from a 4.x installation and haven't yet upgraded, this is mandatory.

Quick links:

  • Notes about new add-ons
  • Notes about the core runtime
  • Notes about the UIs
  • Notes about the add-ons
  • Upgrade Process for openHABian, APT, RPM, Manual Installations
  • Breaking Changes that require manual interaction after the upgrade.

Relevant Changes

New Add-ons

The following add-ons are newly introduced:

Add-on Type Issue
HomeKit Binding #19340
Lambda Heat Pump Binding #19378
Midea AC Binding #17749
Modbus FoxInverter Binding #19637
MSpa Binding #18746
Roborock Binding #19117
Sedif Binding #18718
SomfyCUL Binding #19207
UniFi Protect Binding #19411
Viessmann Binding #19123

Runtime

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

Type Issue Change
Enhancements 4032 Add pcm audio websocket with dialog support
4682 Persistence no default strategies and persistence configuration health check
4793 New API for conversion between file format and JSON
4910 Add tests for rules and rule templates JSON parsers
4913 Apply default semantic tags from linked channels to items
4919 AbstractScriptModuleHandler: Remove prefixes from ctx keys when setting execution context
4929 Marketplace fixes
4932 Upgrade Karaf from 4.4.7 to 4.4.8
4937 Add ItemChannelLinkRegistry to DefaultScriptScopeProvider
4942 Update Jackson to 2.19.2
4943 Add jackson-datatype-jdk8 bundle to Jackson feature
4948 Apply timeout logging to scheduled executor service
4961 Add new HTTP actions for images
4967 Persistence extensions query optimization
4969 Apply blocked task logging to scheduled executor service
4983 Make REST endpoints accept more logger name characters
4990 Pass event source to profiles
5006 Fix network interface configuration option enumeration
5028 Details error message in log when, in an UI transformation, a script is the error cause.
5030 MQTT transport: add cleanSession/cleanStart parameter
5032 Isolate discovery result registrations from binding threads
5040 Add item overloads for providing source
5041 Allow passing source when sending commands via REST API
5051 Make TimerImpl thread-safe
5054 AbstractScriptModuleHandler: Inject module type ID into context
5064 Refactor BusEvent to ScriptExtension
5072 Same thread executor
5073 Set event source for updates and commands from bindings according to new standards
5074 Very minor rulesupport fixes
5077 Script DSL: accept Collection Literals
5079 Send source for console commands to items
5080 Include source with item event descriptions when present
5081 Pass event sources through item state update/change events
5082 Set event source for restoring item states from persistence
5083 Allow cross-binding bridges
5092 Refactor Windows USB discovery
5094 Do not require Strategies{} in persistence/ files
5095 Support UPnP namespaces
5100 Add AbstractThingHandlerDiscoveryService constructor for tests to use
5106 make FilterCriteria.Operator.getSymbol public
5110 Added dimension for price per volume and related currency units
5119 Added support for TimeSeries on Offset-Profile
5122 Populate source when sending Item events via BusEvent
5131 Allow source from header in REST API
5140 Added semantic property for Prices
5142 Lower the log level for useTags
5153 Changes prefix for isolated models
5164 Add a couple more methods
5178 Add HomeAssistantAddonUpgrader to upgradetool
5180 Add HomieAddonUpgrader to upgradetool
Bug Fixes 4917 Map chart interpolation parameter into sitemap JSON response
4922 AbstractScriptModuleHandler: Recompile scripts on dependency change
4928 DSL Items Parser: Fix incorrect parsing of keywords encountered in the wrong context
4971 Fix script engine missing error during startup
4974 Fix ActionHandler nullness annotation
4978 Fix version number in YAML examples
4996 Fix USB discovery on Windows in case there is no USB port
5001 Skip pre-compilation if rule engine not yet started
5010 Fix YAML loading to handle elements in file original order
5015 RulesDSL: Fix DateTimeItem trigger's offset
5018 Persistence extensions: fix potential infinite loop
5020 Fix enabling/disabling of addons suggestors at OH startup
5050 Semantics file correction
5062 ScriptTransformationService: Implement missing script dependency tracking
5063 ScriptTransformationService: Handle engine removal through ScriptEngineManager
5065 Fix check of syntax for item names
5076 Fix event handling for embeded devices
5090 IP add-on finder: resolve source IP before broadcast scan
5098 Script DSL: do implicit import java.time.temporal.ChronoUnit;
5104 REST API: Change error code 500 to 400
5132 Make ConfigDescriptionParameter.stepsize serialize to "step"
5144 Add missing 400 response documentation to REST API endpoints
5151 Eliminate double localization of discovery results
5154 Consider item pattern formatter even without label
5165 Refactor websocket concurrency handling
5181 Handles properly channels with group
5194 EnrichedSemanticTagDTO members not listed in openapi spec
5196 Perform simple escaping when building event sources
5197 Fix minor copy-pasted text inconsistencies and typos
5201 Upgrade JUPnP to 3.0.4
5212 Persistence upgrader: Create default persistence settings if no configuration so far
5213 Persistence upgrader: Fix unmanaged config not respected
5214 Fix /links/orphans API (return of the result)
Enhancements 1779 Upgrade Karaf from 4.4.7 to 4.4.8
1785 Increase default max size for thingHandler thread pool
1808 Add currency UoM configuration to runtime.cfg
Bug Fixes 1782 The addons file is never installed during an update (Windows) #1780
1847 update script: Apply file ownership for files created by upgradetool

User Interfaces

UI Type Issue Change
Basic UI Enhancements 3281 Adjust prefs label/description related to icons
3466 Set source for commands
3514 New rendering of switch widget for UNDEF or NULL
3518 New NULL or UNDEF rendering for Slider, Colorpicker and Colortemperaturepicker
Bug Fixes 3331 Recalculate widths for multiline buttons in dynamic Frames
HABot Enhancements 3316 Add support for configurable HumanLanguageInterpreter (HLI) in HABot
3467 Add source to commands
Main UI Enhancements 3123 Persistence strategies not automatically applied
3180 Thing and Item Details: Use core's file-format service to display code in YAML and DSL
3216 Rules List: add select/deselect all
3227 Visualize semantic model tree in item details screen
3288 Pin icons: Make "pinned" state icon solid and "unpinned" state outlined
3289 Developer Sidebar: Support advanced search syntax
3304 Upgrade Karaf from 4.4.7 to 4.4.8
3308 Rules, Items, Things Lists: allow filtering by editability, item type, thing status
3310 Rule Edit: Collapse list of templates in an accordion
3315 Semantic Tags Editor: Add a lock icon on non-editable tag
3318 Developer Sidebar: Add "Saved Pins" to save and reload a set of pinned objects
3322 oh-sipclient: Add config for authorization user
3336 Charts: Add support for selecting markers & Add current time marker
3337 Charts: Add support for mixed past/future charts
3350 Initial port to Vue3, vite, Framework7 v7.1.5, pinia stores, codemirror 6, vue-i18n v11, ...
3359 Add logic block to AND/OR multiple conditions
3368 Video widget enhancements
3376 change event attributes, add return block
3398 Upgrade to Blockly v11 and respective plugin versions
3404 Transformations list: Persist & restore last search query
3414 Refactor $oh WS and SSE APIs to TypeScript
3417 oh-input: Select a default input type based on Item type
3420 Refactor variable-mixin to be imported module vs. mixin
3427 Widget variables: Enhance TS code
3436 Make action modal dialogues more condensed
3437 Link edit: Fix missing save button & Refactor to use oh-nav-content
3450 Widget expressions: Add access to global i18n translations
3452 Implement backwards compatibility for f7-swiper usage in widgets
3460 Various enhancements & fixes to config parameters
3462 Refactor widget-expression-mixin to TS composable
3465 Semantics store: Performance optimizations for setSemantics()
3468 Send source with item commands
3471 Config params: Accept either "step" or "stepsize"
3476 Model: Show non semantic children in model tree
3482 Add script to generate TS definitions for oh- components
3483 Analyzer: Refactor to TypeScript and add oh-state-series support
3487 Item picker: Implement filtering by type, groupType, tags
3494 Improve page & widget type definitions
3496 Add thing link to link editor
3499 glance-helpers.js: Minor performance & code enhancements
3503 Refactor config sheet advanced toggle
3504 Use nb locale for dayjs if no locale is setup
3505 Set default value for chart future parameter
3519 Add thing: Add ignore & remove from inbox buttons
3520 Update openhab-js tern-defs for v5.16.0
3523 oh-toggle: Display UNDEF/NULL states distinctively
3526 Re-add service worker after Vue 3 uprade
3527 About page: Link Main UI commit to GitHub
3531 Update Google Assistant Metadata Definition
3554 Sitemap default icon for input widget
3564 Item picker: Refine group filter and add semantic filter
3577 Refactor $oh.media to TypeScript and use fetch()
3579 Compact F7 tables on Aurora
Bug Fixes 3298 Sitemap edit: Fix quotes for icon value not allowed
3299 Sitemap edit: Fix validation errors for valid buttongrid
3300 Sitemap edit: Fix save button not working due to JSON error
3306 Sitemap parser: Further fixes for icon rules
3307 Semantic tags page: Fix page refresh & delete synonym bugs
3309 Copy File Definition: Work around the security error in Safari
3311 Addon Config: Fix dirty checking
3313 Developer Sidebar: Add rule.trigger.configuration.groupName to the search
3320 Sitemap editor: fix missing row parameter
3321 Fix ECharts animation regression
3339 Sitemap editor: Fix sitemap save
3344 Location card light badge and sub-equipment
3361 fix zdt copy_of nano handling
3366 Fix "Select All" in channel-list.vue
3390 oh-category-axis: Use user defined axis name if set, otherwise use a default name
3403 Fix f7-list-input has y overflow due to added padding
3407 Better clarity for rule-edit alert dialog when missing label or id (issue #3379)
3409 oh-state-series: Fix issues with fixed time duration charts
3410 Semantic Tags Editor: Don't allow dashes in tag names
3413 Developer Tools: Fix reactivity issues for SSE/WS test where entries stayed
3415 Semantic Tags Editor: Require tag names to be capitalized
3424 Add-ons store: Fix "Show 0 More" button is shown
3425 oh-nav-content: Fix back navigation navigates to subpage
3428 Fix padding in list accordion & widget config popup
3440 oh-repeater: Fix range step and stop
3444 oh-slider: Protect against posting errant slider updates
3448 Various CSS fixes
3451 Fix F7Router issues with browser history
3453 Fix oh-knob not working with Vue 3
3454 Script edit: Fix wrong alert message on script create & label missing
3461 generic-widget-component: Don't inherit attributes
3463 Tabbed page edit: Fix dropdown menu concealed
3464 Fix stylesheets not being applied from widget definitions
3470 oh-knob: Fix state not rendered
3473 Swagger UI: Hide faulty download button & Upgrade to new version
3474 Fix missing f7router occurences & Remove logging from computed value
3495 Link channel -> Item: Include channel group label in new item name
3498 Smart select popup: Fix scrollbar hidden behind "header"
3500 Thing details: Only show unlink buttons when thing has linked items
3501 States store: Performance improvements for pages with many Items
3507 Widget editor: Remove left/right padding
3521 Fix back navigation/initial load/reload displays wrong page
3522 Increase delay for "Communication failure" toast to 5 secs
3524 Things page: Display channel group descriptions
3528 Widget expressions: Fix invalid screen.viewArea dimensions in modals
3530 Fix developer-dock title width too narrow
3536 Remove manual service worker registration
3539 oh-grid-layout: Fix grid widget sizing issues
3540 Redirect /overview to /overview/
3541 Fix oh-grid-item configuration not possible & Page save error
3542 Model page: Various style fixes
3543 oh-popup, oh-popover & oh-sheet: Several fixes
3544 Charts: Fix duplicate REST requests
3545 Fix other apps title too narrow
3546 oh-grid-item: Fix wrong configure/YAML popups opened
3547 Layout edit: Fix onPageBeforeOut clean-ups not performed in some cases
3548 oh-popover: Fix incorrect popover positioning
3549 oh-layout-page: Fix stylesheet not working
3552 Thing page: Fix channels cannot be added or edited
3553 oh-cell: Fix expanded cell is hidden below other widgets
3555 oh-context: Properly inherit attributes
3560 Rule edit: Fix condition wizard issues
3566 Adjusted comment text style to black to be visible on yellow background
3568 Thing details: Code tab fixes
3571 parameter-options: Fix issues due to type-mismatch for INTEGER/DECIMAL
3574 Fix back navigation issues for Thing add pages
3578 Analyzer/Charts: Fix week starting on Sunday starts on Monday
3584 Setup wizard: Fix location picker not opening
3585 Fix developer searchbar & item picker search not focused
3587 Charts: Add missing number format localization
3589 Follow-up fixes and enhancements for #3123
3595 Fix stylesheet not working for layout grid items
3596 useStatesStore: Don't request constructor prop from SSE
3598 Analyzer: Fix controls cannot be reopened
3601 oh-state-series: Fix incorrect end time calculation
3602 Developer -> Widgets: Fix tags not shown anymore
3603 oh-toggle: Fix regression for Dimmer items
3605 Analyzer: Fix controls not closed when analyzer closed
3606 Model cards: Fix back navigation from analyzer
3608 Fix back button issue
3610 Blockly: Fix ReferenceError due to non-existing input
3611 Fix issues with addons-setup-wizard
3612 oh-plan-page: Make marker tooltips non interactive
3614 config-parameter: Fix showPassword icon does not show up
3615 Analyzer: Fix style leak & Reduce vertical block margin
3616 oh-map-marker: Display default icon if nothing set
3620 Analyzer: Fix Vue render error on Item change
3625 Only show the clipboard copy confirmation when necessary
3632 Config parameter: Fix password cannot be displayed if read-only
3634 useRuntimeStore: Fix docSrcUrl computation for RC versions
3635 Vite: Emit static assets to dedicated dirs & cache in service worker
3636 Thing details: Display channels tab after going back from channels
3637 Script/Code editor: Fix search panel closes on click
3639 Things Inbox: Fix JS issues including missing f7router
3640 Add-on details: Fix invalid back navigation

Add-ons

Add-on Type Issue Change
ahawastecollection Bug Fixes 19833 Fix typo in channel id lightweight
airq Enhancements 19446 Add support for mold and virus index
airquality Enhancements 19472 Switch API access from http to https
allplay Enhancements 19366 Remove binding
amazonechocontrol Bug Fixes 19182 Adapt to changed API
19212 Fix IllegalArgumentException for devices with humidity
19690 Fix authentication
19721 Fix IllegalStateException by removing JSON object
amberelectric Bug Fixes 19139 Fix Controlled Load Price
androiddebugbridge Bug Fixes 19660 Fix IllegalStateException
anthem Bug Fixes 19082 Fix duplicate channel
astro Enhancements 19310 Various refactoring/fixes
automower Enhancements 18630 Status update via Husqvarna WebSocket API
19268 Implement individual Things for configuration dependent items
avmfritz Enhancements 19488 Added ThingActions for power meter device to enable/disable high polling
19513 Add support for groups of blinds
Bug Fixes 19118 Fix boost and window open modes
19594 Fix parsing of EnergyStats response
bambulab Enhancements 18896 Add action and script to retrieve cloud token
19707 Add support for H series
Bug Fixes 19374 Enable camera only for local mode
bluetooth.bluez Enhancements 19074 Upgrade bluez-dbus to 0.3.2
19392 Enable lazy scan via thing configuration
Bug Fixes 19071 Fix missing data in bindings due to event routing issue
bluetooth.listener Bug Fixes 19499 Add binding
bluetooth.ruuvitag Enhancements 19638 Ruuvi Air support
boschindego Enhancements 19545 Add support for multiple accounts / bridges
boschshc Enhancements 19326 Add support for presence simulation
comfoair Enhancements 19258 Improve updater logic to reduce serial communication
Bug Fixes 19257 Fix temperature command precision
denonmarantz Bug Fixes 19022 Fix zone 3 input source update
dscalarm Enhancements 19647 Add low battery indication for wireless zones
ecoflow Bug Fixes 19241 Fix labeling of 'supply priority' enum values
19632 Fix missing updates for PowerStream channels
19655 Fix PV input channel definition for Delta 2
ecotouch Bug Fixes 19503 Fix initial install of binding ecotouch
ecovacs Enhancements 17162 Add Deebot T30 (PRO) OMNI and support Scenario Cleaning
19745 Update supported device list
19750 Add support for Deebot X8
Bug Fixes 18986 Fix bundle installation by upgrading dependency
electroluxappliance Bug Fixes 19021 Improve JWT handling
emby Bug Fixes 19752 Fix WebSocket buffer overflow for large session payloads
energidataservice Enhancements 19433 Update tariff filter for Cerius
19748 Remove binding configuration
Bug Fixes 19623 Fix calculations for quarter-hourly spot prices
enocean Enhancements 17450 D2-01-0C implement support for pilot wire mode
Bug Fixes 19573 D2-50 change units of supply and exhaust air fan flow rate
entsoe Enhancements 19676 Quarterly-hour prices
evcc Enhancements 18946 Rework the binding, add missing datapoints and make it future ready
19134 Support for evcc 0.207.1
19228 Add channels for grid currents, grid energy and charging currents.
19677 Refactor state resolution, improve command handling, and migrate startup → startupCompleted
exec Bug Fixes 19152 Prevent deadlock
fenecon Enhancements 19442 Change default port to 80
folderwatcher Bug Fixes 19663 Fix parameter typo in containerPath
freebox Enhancements 19000 Remove binding
freeboxos Enhancements 19669 Add VPN Server monitoring
Bug Fixes 19355 Fix synchronization problems
19814 Add IPSec VPN server
frenchgovtenergydata Bug Fixes 19424 Fix IllegalArgumentException for thing type tempo
fronius Enhancements 19254 Add actions to force battery discharging
19262 Use Solar API for getting serial number
19352 Expose BatteryControl::addSchedule as Thing action
19367 Thing Actions: Add string overrides for actions requiring enum
Bug Fixes 19344 Fix config API authentication for firmware >= 1.38.6
19349 Fix battery control actions unavailable if FW < 1.36.x
froniuswattpilot Enhancements 19256 Add channels to control surplus SoC & boost charging
19718 Attempt reconnection periodically & Upgrade wattpilot4j
groheondus Enhancements 19160 Adapt to API changes
groovyscripting Enhancements 19511 Upgrade Groovy to 4.0.29
guntamatic Bug Fixes 19557 Fix spelling error in interuption channels
hdanywhere Bug Fixes 19804 Deduplicate channel type
heos Bug Fixes 19438 Fix login failure when password contains special characters
19457 Fix bridge player channels
homeassistant Enhancements 19201 Improve discovery performance
19496 Split Home Assistant from MQTT binding
19518 Upgrade to Graal 25
19701 More fully implement none and default payload sentinels
19722 Update Home Assistant Python code to 2025.11.3
19767 Move binding to configuration to the proper place
Bug Fixes 19249 Fix python packages path on Windows
19491 Fix re-connection after connection loss
19681 Fix channel definitions within groups
homekit Enhancements 19479 Send a source with all commands to items
homematic Bug Fixes 19141 Fix premature end of discovery
19284 Adjust warning if current value is out of range
homewizard Enhancements 19389 Add batteries channels to p1 meter
19672 Add channel tariff to HWE-P1
19765 Update batteries channels to latest api version
Bug Fixes 19829 Fixed setting mode 'standby' for batteries not supporting the latest api version
homie Enhancements 19700 Split Homie from MQTT Binding
http Enhancements 17271 autorefesh after sending command to update…
19519 Replace deprecated URL constructor
hue Bug Fixes 19401 Add workaround for Bridge v3 certificate issue
hueemulation Bug Fixes 19484 Fix IllegalArgumentException
19589 Fix NullPointerExceptions
icloud Enhancements 19832 Implement SRP authentication algorithm
ipcamera Enhancements 18996 Add missing ONVIF event topics for TP Link Tapo cameras
Bug Fixes 19095 Fix Reolink needs changes to JSON formatting to work in newer firmwares
19514 Change Absolute URLs to Relative so items can be used with HTTPS easier.
jdbc Enhancements 19172 Update dependencies
jpa Enhancements 19581 Support state filter when querying
jrubyscripting Enhancements 19151 Upgrade to JRuby 10.0.2.0
jsscripting Enhancements 19019 Wrap UI scripts, make dependency tracking configurable & config refactorings
19130 Extend auto-injection configuration with transformations & Update default
19260 Automatically convert event data in UI-based scripts from Java to JS types
19429 Make event object conversion work independent of wrapper
19443 Wrapper: Always enable for actions, configurable for conditions
19567 Upgrade to Graal 25
19702 Rework logger names used for script logging (e.g. console)
19740 Upgrade to openhab-js 5.16.1
Bug Fixes 18226 Fix memory leak caused by GraalJSScriptEngine not closed properly
19528 Fix injectionEnabledV2 allowed max is less then default
19633 Fix wrong default value for injectionEnabledV2 parameter
19642 Fix setTimeout/setInterval fails if delay not provided
19703 Fix bugs related to event obj conversion & script wrapping
jsscripting, pythonscripting, homeassistant Bug Fixes 19684 Set GraalVM cache path
knx Enhancements 18256 Upgrade to Calimero 3.0-M1
19031 Refine default semantic tags
Bug Fixes 19839 Prevent reconfiguration of Things during device discovery
lgwebos Enhancements 19024 Add support for wakeonlan in docker
lifx Bug Fixes 19788 Eliminate log warnings for fixed color temperature lights
linky Enhancements 19147 Add support for reading index instead of basic value
Bug Fixes 19142 Fix userInfo url changes
19289 Fix new url schema for getMeasures() related to September Enedis changes to WebAPI
19540 Fix tempo-info-tomorrow label
lutron Bug Fixes 18975 Fix comparison bug
matter Enhancements 19480 Send a source with all commands to items
19495 Bumps matter.js to latest v15
19595 Door state support for door lock.
19699 Support Switchbot Candle Warmer
19762 Door Lock Pin Code Support
Bug Fixes 19112 General Updates
19238 Fix label regression in bridge
19293 Fix bridge fan mode configuration
19644 Remove pattern from state options
19653 Fix for sending STOP to Rollershutter Items
19844 Prevent adding an OnOff switch to a Fan when not intended
mercedesme Enhancements 18984 Improve WebSocket implementation
19243 Add channel energy to max soc
Bug Fixes 19099 Improve HTTP 429 handling and implement new authorization flow
19272 Bugfix charge program selection
19548 Fix radius-hybrid channel type
meross Enhancements 19322 Local commands and add garage door openers
Bug Fixes 19536 Fix cloud fallback not being called
metofficedatahub Bug Fixes 19627 2025 API Key adjustments
miele Enhancements 19516 Add auto-detection of network interface for multicast events
miio Enhancements 19558 Add support for 2 yeelights
misc Enhancements 19357 Add instructions for AI coding agents
Bug Fixes 19133 Make dedicated thread pools for Exec and Chromecast bindings
modbus.e3dc Enhancements 19763 Add performance ratio channels
modbus.stiebeleltron Enhancements 17962 Extended support for WPMs and more channels
modbus.sungrow Enhancements 19186 Add configuration option for read retries
monopriceaudio Enhancements 19775 Add support for 8 zone model
mqtt.awtrix3 Enhancements 19466 Parse font tags for multi-colored app texts
19474 Allow blink/fade colored text and make text effects more user friendly
mqtt.ruuvigateway Enhancements 19730 Support for Ruuvi Air
mybmw Bug Fixes 19336 Fix user agent string for stable connection
neeo Bug Fixes 19458 Fix unregistering of all mDNS services
netatmo Enhancements 19422 Add unitHint for ChannelType definitions with ItemType 'Number:Dimensionless'
network Bug Fixes 17972 Fix discovery performance causing a slow openHAB start
19398 Fix case where state no longer updates
nikohomecontrol Enhancements 19477 Add electricity meters and car chargers
ojelectronics Bug Fixes 19555 Fix itemtype for date channels
ondilo Enhancements 18978 Add new Channels and Properties
19455 Handle command REFRESH
openaitts Enhancements 19122 Add new voices, model and configuration
opengarage Enhancements 19361 Fix warnings, use gson to parse json to simplify code
openhabcloud Enhancements 19535 Set event source for commands
Bug Fixes 19652 Handle source sent via header
OpenWeatherMap Enhancements 19423 Add unitHint for ChannelType definitions with ItemType 'Number:Dimensionless'
openwebnet Bug Fixes 18980 Fix NullPointerException
orbitbhyve Bug Fixes 19056 Fix inability to set rain delay
pihole Enhancements 19350 Integration of API v6
Bug Fixes 19618 NPE when getting session.sid
plclogo Enhancements 19096 Complete diagnostic channel Implementation
plex Bug Fixes 18997 Improve support for hostname as server configuration
pythonscripting Enhancements 19190 current marketplace version of pythonscripting next
19568 Upgrade to Graal 25
19622 fix native modules on graal 25.0.x
19793 Update helperlib.version to 1.0.15
rfxcom Enhancements 19286 Add additional FirmwareType's
ring Bug Fixes 19102 Fix for passwords with special characters
19409 Fix HttpResponseException: HTTP protocol violation
rollershutterposition Enhancements 18932 Enhance position synchronization and emulation in handlers
rrd4j Bug Fixes 19855 Fix RRD4J console commands
sagercaster Enhancements 19574 Simplify Thing configuration
samsungtv Bug Fixes 19083 media input and token fix
sbus Enhancements 19288 Add support for Lux & Motion sensors
19404 Fix bridge, lux & motion sensors
senechome Bug Fixes 19566 Fix channel item type and configuration id
sensorcommunity Enhancements 19716 Make use of UNDEF default cache values
serial Enhancements 16205 Add TCP and binary protocol support
shelly Enhancements 18686 Add initial support for Shelly Dimmer Gen3
18952  Add support for Shelly Pro 3EM-3CT63 and Pro 3EM-400
19093 Refactor device definitions
19097 Add support for BLU Wallswitch 4, RC Button 4, Remote, Tough ZB, H&T ZB, BLU Distance
19137 Improve discovery for Pro 1 UL and Pro 1PM UL
19170 Refactor BLU support
19242 Improve Shelly Manager for offline devices
19363 Improve debug logging for WebSocket exceptions
Bug Fixes 18943 Use thing type shellyplusht for Shelly Plus HT Gen3
19177 Fix support for Shelly AZ Plug, device model S3PL-10112EU
19231 Fix overwriting of scripts
19331 Fix websocket error when receiving relay status
19643  Fix Shelly Manager on non-relay Gen1 OTA upload
siemenshvac Bug Fixes 19512 Fix sanetization of channel type UID
sleepiq Bug Fixes 19630 Force relogin on ExecutionException
smartmeter Enhancements 19146 Implement AbstractStorageBasedTypeProvider
smhi Enhancements 19689 Update SMHI Binding to support TimeSeries and migrate to new API
solarforecast Enhancements 18804 Forecast solar adjustment and json-channel removal
solarman Enhancements 19420 Enable write registers
somfytahoma Enhancements 19038 Make token refreshing independent on event polling frequency
sonos Enhancements 19103 Ignore Sonos Boost and any Sub including Sonos Sub 4
19162 Add support for Sonos Arc Ultra
19168 Enhance logging for playback of notifications
souliss Bug Fixes 19597 Fix channel metadata
sunsynk Enhancements 19506 Add support for solar strings, fix for battery status and misc improvements
Bug Fixes 19656 Adapt to new authentication requirements
19741 Adapt to user logon requires a nonce and sign.
surepetcare Enhancements 18114 Add support for waterstation Felaqua
Bug Fixes 19106 Fix hubRssi NullPointerException
tado Enhancements 19596 Add tadoApiUrl configuration parameter
tasmotaplug Enhancements 19161 Add PulseTime channels
19271 Add request timeout
telegram Enhancements 19522 Add support for MarkdownV2
19523 Add support for sendMediaGroup action
19592 Add support for disabling long polling
tesla Bug Fixes 19662 Fix IllegalStateException when optional fields driveState or chargeState are missing
teslascope Enhancements 19358 Fix warnings
tibber Enhancements 19124 Add support for power consumption and production in one channel
19194 Add energy price and taxes
19280 Tibber pulse hardware support for non tibber customers
19312 Add support for quarter-hourly prices
19598 Trigger event when day-ahead prices are available
Bug Fixes 19111 Add support for average channel
transform.basicprofiles Enhancements 19696 Add support for time series to Round Profile
transform.scale Enhancements 19639 Add support for time series
tuya Enhancements 18829 Improve connection handling
18949 Use dynamic providers to make channels, command and options translateable
19233 Add Singapore Data Centre
19530 Things should be online/waiting as soon as we know the IP
upnpcontrol Enhancements 19485 Missing TrackMetaData keys in onValueReceived switch case
Bug Fixes 19613 Prevent excessive m-search traffic
velbus Bug Fixes 19803 Add missing channel 80 and fix label
wiz Bug Fixes 19321 Fix bugs for improved stability and consistency
xmppclient Bug Fixes 18983 Fix bundle installation by upgrading dependency
Yamaha MusicCast Enhancements 19798 Set DAB and FM tuner presets
zwavejs Enhancements 19191 Add RollerShutter support
19328 Add notification channel
19688 Add unit mappings
Bug Fixes 19003 Fix humidity unit detection
19036 Fix Channel configuration overwrite
19196 Increase default message size
19325 Add unit conversion
19500 Fix NullPointerException with ZUI 11.5.2
19620 Allow Longe Range node id's

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,

check for compatibility

openHABian will refuse to install or upgrade to openHAB 5.1 when it detects a 32 bit operating system.
This is because openHAB needs Java 21 but as of today, there is no JVM 21 package available known to work on 32 bit ARM platforms.
Note: this is not about the processor type but about 32/64 bitness of the operating system.
There have been both types of openHABian images for Raspberries and many of you users will still be on the 32 bit OS.
Check the output of getconf LONG_BIT to see what you're on.

If you are on 64 bit, proceed to

upgrade

  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 on Raspberry, it's optional but recommended to create an image copy of your SD card using menu option 54.
  4. Switching to openHAB 5.0.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 5.0, select the first entry in menu option 41 (“Release”).

If you are still on 32 bit OS, you can stay with your current openHAB 4 setup or do the upgrade to 64 bit as described in the openHAB 5.0.0 Release Notes.

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

sudo apt-get install openhab=5.1.0-1

## optional add-ons for offline installation ##
sudo apt-get install openhab-addons=5.1.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 5.1.0 and its optional add-ons with:

sudo yum install openhab-5.1.0-1

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

Manual Installations

Official update scripts are available that let you update your 5.0 installation to version 5.1:

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 5.1.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 5.1.0

Breaking Changes that Require Manual Interaction after the Upgrade

Changes in Core

  • Persistence default strategies are removed and not applied automatically anymore. Managed persistence configurations are updated automatically. If you have a file based configuration with an existing .persist file, you may have to update your configuration: remove "default" from Strategies and make sure all Items definitions have a strategy defined.

Changes in Add-ons

AhaWasteCollection Binding
  • A typo was corrected in the lightweight channel id, you may need to correct your configuration.
Allplay Binding
  • Due to limited usage and increasing maintenance issues, this binding has been removed.
Automower Binding
  • Restructured to modular things with auto-discovery of datapoints. New things and channels will need to be linked, existing items need to be adjusted.
evcc Binding
  • Restructured to modular things with auto-discovery of datapoints. You must reconfigure settings, recreate Things, and adjust Items as previous configurations are incompatible.
Folderwatcher Binding
  • A typo was corrected in the AzureBlob thing parameter containerPath. You may need to reconfigure this parameter.
Freebox Binding
  • The binding has been removed from the distribution. You should consider migrating to the FreeboxOS binding.
Guntamatic Binding
  • Channel ID spelling errors (such as 079-interuption-0 and 080-interuption-1) have been corrected. You may need to update items linked to these channels.
Home Assistant Binding
  • The binding has been split from the main MQTT binding, and will not be auto-installed. If you use this binding, it will need to be manually re-installed. You may also need to re-configure the binding if discovery settings have been customized.
Homie Binding
  • The binding has been split from the main MQTT binding, and will not be auto-installed. If you use this binding, it will need to be manually re-installed.
JavaScript Automation
  • The event object in UI-based environments has been aligned with the file-based event object. Properties are now pure JavaScript types and property names have changed. Blockly users need to resave their scripts.
  • Automatic injection of the openHAB JavaScript library now allows for more fine-grained control. It is recommended to manually import required namespaces from the openhab library in file-based scripts and transformations and disable automatic injection for file-based scripts and transformations.
KNX Binding
  • Using secure tunnel or secure router with autodiscovered Gateway Things may cause configuration loss on restart. To recover: delete the IP Gateway Thing from the Inbox and restart. The Gateway will be rediscovered automatically. Note: Routers may appear as both tunneling and routing devices; choose the appropriate type from the Inbox. File-based configurations are not affected.
PythonScripting Automation
  • Python "openhab.Timer" removed. Can be replaced with default Threading or Timer implementation.
  • Changed parameter of "openhab.Registry.addItem"
  • Replace "NotInitialisedException" with "NotFoundException" in "openhab.Registry.getItem, "openhab.Registry.removeItem", "openhab.Registry.getThing", "openhab.Registry.getChannel"
  • "openhab.Registry.getItemMetadata", "openhab.Registry.setItemMetadata" and "openhab.Registry.removeItemMetadata" replaced by ".getMetadata().get", ".getMetadata().set" and ".getMetadata().remove"
  • "openhab.Registry.safeItemName" move to "openhab.Item.buildSafeName"
Shelly Binding
  • Thing type shellyplushtg3 was renamed to shellyplusht. Delete the existing things and re-discover the devices.
SMHI Binding
  • Due to updates to SMHI's API, the channel ids have changed. Measures have been taken to ensure backwards compatibility, but to avoid future issues all items need to be relinked to the new channels.

Don't miss a new openhab-distro release

NewReleases is sending notifications on new releases.