Download Latest Version openHAB 5.0.0 source code.tar.gz (331.4 kB)
Email in envelope

Get an email when there's a new version of openHAB Distribution

Home / 5.0.0
Name Modified Size InfoDownloads / Week
Parent folder
openhab-5.0.0.tar.gz 2025-07-21 115.2 MB
openhab-5.0.0.zip 2025-07-21 115.6 MB
openhab-addons-5.0.0.kar 2025-07-21 583.6 MB
openHAB 5.0.0 source code.tar.gz 2025-07-21 331.4 kB
openHAB 5.0.0 source code.zip 2025-07-21 399.3 kB
README.md 2025-07-21 104.9 kB
Totals: 6 Items   815.3 MB 3

This is the official release of openHAB 5.0.0.

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

New and Noteworthy

The openHAB 5.0 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.0 is backward compatible to openHAB 4.x 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.0 now requires Java 21, so in case you haven't yet upgraded, this is mandatory this time.

Relevant Changes

New Add-ons

The following add-ons are newly introduced:

Add-on Type Issue
AirParif Binding #17625
BambuLab Binding #18369
CasoKitchen Binding #18243
DIRIGERA Binding #17719
EcoFlow Binding #18525
Emby Binding #18607
Fronius Wattpilot Binding #18471
LG ThinQ Binding #12149
Listener Binding #18733
Matter Binding #18486
Meross Binding #18564
MQTT Awtrix3 Binding #18242
Ondilo Binding #18914
OpenAI Text-to-Speech Voice #17733
pythonscripting Automation #18499
Ring Binding #18668
Sbus Binding #18019
SenseEnergy Binding #18244
Tuya Binding #17937
Z-Wave JS Binding #18694

Runtime

The following improvements were made to the core and the distro: | Type | Issue | Change | |-|-|-| | | | | | Enhancements | 4351 | Add getLastStateChange, getLastStateUpdate, and getLastState to GenericItem | | | 4363 | Introduce dedicated persistence aliases | | | 4406 | Upgrade Karaf to 4.4.7, Xtext/Xtend 2.37.0 | | | 4461 | Persistence Extensions: Riemann Sums | | | 4463 | Persistence restore lastState and lastStateChange on startup | | | 4481 | IP addon finder mac address format tweak | | | 4484 | Another warning hunting session | | | 4486 | Some non null annotations | | | 4499 | Revert LinkedTransferQueue high CPU usage workaround | | | 4513 | Add provider script extension | | | 4515 | Support token authentication through header | | | 4522 | Remove deprecated DateTimeType methods toLocaleZone and toZone | | | 4526 | Start SPI Fly (OSGi service loader) early | | | 4540 | Change EventWebSocketAdapter adapter id to events | | | 4550 | Add topic filter for event WebSocket | | | 4551 | Remove calls to deprecated URL constructor | | | 4558 | Extends updateThing method warning message. | | | 4566 | Upgrade Jollyday to 1.4.0 | | | 4569 | New REST APIs to generate DSL syntax for items and things | | | 4570 | Update logger to provide history and improve performance | | | 4577 | Add logging to the StartLevelService | | | 4583 | Add IntervalConditionHandler | | | 4584 | Dependency upgrades: californium, cxf, junit, swagger | | | 4592 | Enhance SDDP discovery by adding toString() method to aid logging | | | 4606 | Add lastStateUpdate, lastStateChange to ItemStateUpdatedEvent/ItemStateChangedEvent | | | 4610 | Sitemap interpolation parameter for charts | | | 4613 | Log warnings when an Item's semantic structure is incorrect | | | 4615 | Semantic Tags: validate POINT/PROPERTY tags on Channel Types | | | 4616 | Add Airflow, App, Channel, and Mode Semantic Properties | | | 4617 | Semantic Tags: set EQUIPMENT tags on Things | | | 4620 | Upgrade Jollyday to 1.5.0 | | | 4626 | Generate valid tags in thing-description-1.0.0.xsd | | | 4628 | Upgrade XChart to 3.8.8 | | | 4632 | OAuth RFC-8628 Device Code Grant Flow | | | 4635 | Provide Karaf Session object inside OSGiConsole | | | 4638 | Fix Xtend warnings | | | 4639 | Upgrade dependencies and enable monitoring of ThreadPools | | | 4646 | Allow using '' and '?' as wildcards in Item state and command triggers | | | 4657 | Allow multiple default values to contain an escaped comma | | | 4658 | Upgrade glassfish hk2 to 3.1.1, upgrade units | | | 4667 | YAML configuration: add basic version management | | | 4681 | Persistence filters allow unquoted units | | | 4691 | YAML configuration: add support for things | | | 4694 | Semantic Tags: Added EQUIPMENT tags | | | 4695 | Semantic Tags: Added PROPERTY tags | | | 4700 | Sort SemanticTags.csv and group children under their parent tag | | | 4702 | Check for duplicate tags in SemanticTags.csv | | | 4704 | Add ValueCache.compute method | | | 4706 | Semantic Tags: Update system channel tags to match latest schema | | | 4708 | Semantic Tags: Tweaks to tags | | | 4713 | Semantic Tags: Overload Equipment tag setters for Things | | | 4718 | Regenerate rules from templates | | | 4719 | Allow ThingHandlers to dynamically register services | | | 4724 | Make expire support days, ISO8601 Duration and fully configurable through metadata configuration map | | | 4725 | Add synonyms for a few semantic tags | | | 4726 | Add semantic tag for coffee maker | | | 4728 | Shorten logging of timeseries updates | | | 4730 | Avoid injecting the state pattern in label if already… | | | 4732 | Add stack trace to logger DTO | | | 4734 | FileFormatResource: accept multiple ids in a single request | | | 4738 | Semantic tags: add zones, move battery | | | 4740 | Consider a bridge thing as bridge if it contains things | | | 4746 | Enable semantic tag description translations | | | 4747 | Yaml Model Repository: Include .yaml in log messages | | | 4749 | Yaml Model Repository: Remove elements no longer in model | | | 4750 | Semantic tags: Apply description texts for Point/Property/Equipment | | | 4753 | YAML things provider: create things even if binding is not yet installed | | | 4754 | Add Property.Info tag for media channel types | | | 4759 | YAML parser: filter unexpected part from the parse exception message | | | 4760 | Support sending Item command/state as JSON | | | 4761 | YAML things: adjustment of messages when checking a thing element | | | 4762 | UpgradeTool: Add Yaml configuration upgrader to convert tags list to map | | | 4776 | YAML configuration: add support for items/metadata/channel links | | | 4782 | Create API Token: add regex validation to html input | | | 4795 | YAML config: add "description" field to channel for things | | | 4796 | WatchService: use absolute path in processWatchEvent | | | 4798 | Yaml Model: restrict the watched folders to things, items, tags, and yaml; support both '.yaml' and '.yml' extensions | | | 4807 | YAML model repository: supports only version 1 with elements as map | | | 4824 | YAML model loading: WARN log when an element is not a container object | | | 4826 | Add timezone information to root resource | | | 4827 | Semantics health REST endpoint | | | 4830 | Tweak x-axis labels of charts | | | 4861 | Item REST endpoint include item parents | | | 4862 | Upgrade Jollyday to 1.5.4 | | | 4865 | Extend provider script extension for metadata & ItemChannelLinks | | | 4868 | Move expire's Duration parser to a separate utility class and support ms for milliseconds | | | 4873 | Allow extended unit names for days, hours, minutes, seconds, milliseconds and allow spaces before the unit in expire duration parser | | | 4874 | Add editable field to metadata | | | 4875 | Add SemverVersion type to be used by bindings | | | 4880 | WARN log when an object with same ID is added to a registry by a seco… | | | 4882 | Add property tag for lock state | | | 4885 | Remove duplicate synonyms/labels in semantic tags | | | 4888 | Log the link in the ScriptProfile execution error message | | | 4893 | Add logging to script actions/conditions pre-compilation | | | 1691 | Upgrade Karaf from 4.4.6 to 4.4.7 | | | 1711 | Enable HTTP/2 for HTTPS | | | 1720 | Resolve app.bndrun runbundles for Jollyday upgrade | | | 1746 | Create Maven "dev" profile | | Bug Fixes* | 4502 | Fix UI persistence item exclude config | | | 4516 | Enhance DateTimeType to parse ZonedDateTime with time-zone ID | | | 4524 | Clean up arguments after executing Script Transformation | | | 4525 | Add sharedCache and privateCache to file-based RulesDSL | | | 4528 | Fix config normalization in addon configuration | | | 4546 | HttpUtil: fix invalid URI | | | 4548 | Prevent infinite loop in CronAdjuster with invalid date combinations | | | 4552 | Ensure sitemap subscriptions are updated on Group Items | | | 4553 | Improve cron exception handling | | | 4556 | Avoid stack overflow - don't log a message within the log handler | | | 4561 | Fix QuantityType.toInvertibleUnit() to use system unit | | | 4563 | Fix group calculations to use GroupItem's system unit | | | 4571 | Fix comparing QuantityType with inverted dimensions | | | 4574 | Fix managed transformations retrieval | | | 4575 | Persistence extensions, calculate QuantityType sums in absolute values | | | 4591 | Rule Template installation fixes | | | 4596 | Call unregisterCommand instead of registerCommand | | | 4640 | Allow startlevel to increase past 80 when a bridge is disabled | | | 4650 | Fix i18n:generate-default-translations on add-on config other than bindings | | | 4679 | Fix timeseries restore init late initialization of listeners on GenericItem | | | 4686 | OAuth prevent concurrent token read / refresh | | | 4699 | OAuth RFC-8628 various post-fixes | | | 4712 | Fix UPNP support to handle embedded devices | | | 4733 | Tweak x-axis labels of charts | | | 4752 | Fix inconsistent payload field name for ItemStateUpdatedEvent lastUpdate -> lastStateUpdate | | | 4786 | Fix API to get file format when applied to a subset of elements | | | 4788 | Refactor to avoid possible null pointer dereference in YamlModelRepositoryImpl | | | 4823 | YAML config: fix user defined channels creation when binding loads late | | | 4845 | Fix calculate readOnly field in stateDescription for multiple linked channels | | | 4881 | Fix persistence threshold filter with UoM | | | 4896 | Fix NPE in FolderObserver | | | 4897 | Fix ready marker not set for model when folder is missing | | | 4899 | Yaml Model Repository: skip non-existent paths during the initial scan instead of logging a warning | | | 4905 | Restrict CORS logging to a single time | | | 4907 | Prevent file system access for WatchService DELETE events in FolderObserver | | | 4912 | Fix translations for system-channel-type electric:energy |

User Interfaces

UI Type Issue Change
Basic UI Enhancements 3147 Add a setting to render buttons with rounded corners
3183 Reload the chart with higher dimensions when zooming
3279 Add chart option interpolation
Bug Fixes 3143 Shrink labels before values
3148 Remove top/bottom margins in buttons-multiline
3182 Enable dynamic icons for Chart element
3237 Fix multiline buttons to optimize width when set to visible
LogViewer Enhancements 3030 Support history
Main UI Enhancements 2893 Riemann sum persistence extension and js tern definitions
2904 Sitemap editor: Add drag & drop
2907 Refactor websocket code to $oh namespace & Pass access token through header
2915 Import treeview items locally & Clean-up sitemap page components
2942 Things list: Do not listen to InboxUpdatedEvents
2946 Enable additional chart types for oh-data-series
2948 Interactive SVG canvas: Add String Type support
2953 Page: Add ability to edit current tab of tabbed page
2968 Add level icons to log viewer
2970 Model editor: Add drag & drop
2973 Add Inbox approve menu to add Thing of binding page
2981 Developer tools: Add WS connection test
2983 Tag Input: Prevent user from adding a semantic tag
2993 WS client: Add convenience method to connect to the event WebSocket
2996 Thing details: Make link in Thing status description clickable
2997 Event WS client: Filter by topic instead of type
3000 Thing Details: broaden the criteria for hyperlinking thing status description
3001 Settings menu: Always show things count even when inbox is not empty
3003 Thing details: Add "Install Binding" button for HANDLER_MISSING_ERROR
3004 Item Details: Add a link to search for the item in the developer bar
3005 Developer Dock: Add tooltips to nav buttons
3008 Rule edit: Add descriptions to triggers, actions & conditions sections
3009 Thing Add: Validate Thing ID before saving
3010 Item Add: Navigate to the new Item once added
3011 Log viewer: Fixed column width for timestamp, level & logger name
3014 Thing Add: Navigate to the new Thing once added
3015 Addons Store: Search the add-on id and show search term before loading addons
3020 Things List: Add multiple search, select all & Inbox: Go to newly approved Thing(s)
3021 Inbox: Add Copy DSL Definition (to clipboard) button
3026 Log viewer: Align logger name left
3028 Add-on Store: Extend search to add-on descriptions
3034 Link to New Item: Prefix with Thing's label
3039 Widget config/code editing: Add live update, dirty checking, make popups movable
3040 Link Edit: Add dirty checking
3042 Script edit: Display conditions
3044 Tabbed Page: Support Iconify and openHAB icons for tabs
3047 Location picker: Set default to system location, otherwise set to worldwide zoom level
3049 Condition Module Wizard: Add Interval condition to Time Conditions
3050 oh-input: Fix editing a number item with unit & Several enhancements
3051 Script edit: Add support for new python add-on & Refactor automation-languages definition
3056 Layout edit: Move page settings to bottom of screen in edit mode
3057 Page Settings: Add Copy and Remove Page buttons
3058 Use a more specific browser title for each page
3060 UID Input: Add Fix UID button to normalize UID input
3062 Interactive SVG Canvas: Use percentage state for color state computing
3069 Sitemap editor: Add chart interpolation parameter
3070 Persistence edit: Support configuring aliases
3078 blockly: set value to key of dictionary
3081 Add Alt-Shift-M shortcut key to toggle menu when unpinned
3084 Item details & Items list: Add Copy DSL Definition button
3085 Developer Tools: Add Copy DSL Definition for Items and Things
3086 Thing Details: Add Copy DSL Definition button
3089 Model Item Details: View/Hide Details instead of Edit for uneditable Items
3090 Sitemap editor: Check for empty frames
3092 Parameter text: Improve support for multiple text values
3098 Script edit: Automatically update GraalJS mime type when opening script
3099 i18n: Add support for loading locales from multiple scopes
3101 Location card: Support Lightbulb & LightStripes equipment for lights status badge
3110 Developer sidebar: Add ability to search and pin widgets
3112 Addon Card: Give title more room to avoid overflow
3113 Add-on card: Add tooltip to label
3124 Create equipment from model: Use semanticEquipmentTag of Thing
3126 Thing & Channel pickers: Add Thing location/Channel description
3127 Don't use virtual lists where not necessary
3128 Help sidebar: Add log viewer docs
3129 Add Matter metadata
3130 Add Copy Thing YAML file definition & Refactor copy file definition code
3136 oh-chart-component: Register & Use configured locale for Echarts
3137 Upgrade (Vue) Echarts
3144 Items List: Add select all / deselect all
3145 Inbox List: Add select all / deselect all
3149 Item edit: Relabel category to icon
3152 Align search behaviour in case of nothing found
3156 Script Editor: Add shortcut key Shift+Cmd+K/Shift+Ctrl+K to delete the current line
3158 Thing details: Show thing firmware status
3160 Log viewer: Add log details popup
3162 Thing details: Add dialog view for properties with overflow key/values
3163 Copy File Definition: Process multiple objects with single api request
3164 Developer Sidebar: make pinned objects persistent
3165 Add semantic tags maintenance page
3168 Addon Store: Add Python Scripting to featured automations
3169 Add mime type & code snippet for PY transformation
3170 Left Menu: Enable shortcut also when pinned but hidden
3172 Log Viewer: Add next/prev to log details popup and make it movable
3175 Add Widget: Sort Personal Widgets
3177 Log Viewer: Add text mode option
3178 Use treeview for semantics picker
3179 Charts: Add oh-state-series to render state transitions over time
3184 Sitemap editor: Small fixes & Add duplicate element functionality
3192 Make Vue clipboard plugin available globally
3195 Widget actions: Add aggregation type parameter for analyzer action
3197 Regenerate rule templates
3200 Add to model from thing, allow picking existing items and groups
3202 Add semantic model warnings to health UI
3209 Add "rule enable" block
3226 Make Main UI log levels configurable
3242 Support linking switch items to dimmer channels
3245 Location card: Various improvements and fixes
3250 Item metadata: Use editable field of REST response
Bug Fixes 2928 Fix scripting add-on availability check for old JS Scripting MIME type
2931 oh-card: Fix action & tap-hold action not working
2932 oh-clock-card: Remove (broken) background property in favour of style config
2933 Widget expressions: Fix screen object not properly initialized & updated
2938 Fix enabled profiles in link editor appear disabled
2941 Link add/edit: Fix profile selection
2949 Don't subscribe to Item events to reload model
2950 Thing details: Fix Z-Wave network map shown if not Z-Wave binding
2951 Thing details: Show error message when modifying disabled Thing
2952 Widget mixin: Fix JS error when using both trendline & stylesheet
2958 Allow item names to start with an underscore
2959 Layout pages: Safe area fixes & related code improvements
2964 Model tabs: Fix left/right margin to small on mobile
2965 Widget expressions: Fix handling of Item name being undefined & Align behaviour for @ and @@ shorthands in that case
2969 Fix Schedule page shows UTC instead of local timezone
2976 WS client: Remove trailing = from base64-encoded access token
2982 Tag Input: Fix automatic add on blur
2984 Thing Copy: Fix channel uid of copied Thing
2991 Chart page: Fix wrong height inside popups, popovers & sheets on iOS
2992 Chart page: Fix wrong height and top position in sheets
3022 oh-slider: Fix handing of steps with many decimals when rounding state values
3024 Page view: Fix title sometimes not centered & Fix Vue warn
3027 Channel Settings: Make long Channel UID fully visible
3031 Tag Input: Fix enter key on Android
3033 Layout Editor: Fix invisible bottom part of the screen
3036 Canvas Layout: Fix embedding SVG errors
3043 Fix oh-icon icon name type in widget def & docs
3045 Item Detail: Fix search in developer sidebar
3046 oh-image-card: Fix inconsistent image size when action is defined
3048 Sitemap editor: fix icon parsing error
3053 Addons Store: Show tab bar when left panel is hidden
3055 Sitemap editor: fix negative number parameters
3059 Thing Validation: Mustn't start with a dash, include dash in error message
3068 oh-label-cell: Fix issue with setting badge colour
3100 Script edit: Fix minor styling issue in script details
3105 Persistence edit: Fix multiple selection
3114 Config sheet: Fix loading of multi-line default values
3118 Persistence edit: Add missing dirty checking on edit
3119 oh-card: Indicate that card is clickable if action is configured
3131 Widgets: Fix check for action not checking actionPropsParameterGroup
3132 oh-icon: Fix action not working for f7 & iconify icons
3133 Link add/edit: Fix link Dimmer/Switch Items to Color channel
3134 Link add/edit: Fix link String Items to any channel
3135 Log viewer: Fix copy to clipboard not working
3138 Widget order: Fix string length considered, instead parse integer
3141 Link add/edit: Fix config-sheet not properly re-rendered on profile type change
3153 Layout edit: Fix details chevron up icon/link missing
3159 Sidebar Search: Fix rules/scenes/scripts search result count
3174 Rule Module Popup: Hide Save link on inline script language selection
3193 Fix Python syntax highlighting
3194 Sitemap editor: Various fixes
3199 Model editor: Drag and Drop fixes
3213 oh-colorpicker: Fix sliders not initialized in widget
3223 Model treeview: Fixes for drag and drop
3239 Location card: Fix measurement/status badges
3241 Fix Matter metadata configuration options for group members
3249 Item metadata: Fix metadata from uneditable Items is editable
3254 Use versioned branch for add-on & sidebar docs
3256 oh-slider-item: Respect ignoreDisplayState config & Improve docs
3257 oh-slider: Fix display state with decimal comma parsed to integer
3263 Transformations List: Fix incorrect counter title
3264 Transformation Edit: Fix missing documentation link
3266 Config description: Fix external links not opening correctly
3269 Semantic tags maintenance: Fix tooltip icon hardly visible in light mode
Blockly Enhancements 3166 Add previous state item fields
3082 oh_taggeditems block: Fix multiple tags in vars & Add array support
Bug Fixes 3210 Fix typed var not working for dictionary
3234 Fix blockly persistence code generation

Add-ons

Add-on Type Issue Change
ahawastecollection Bug Fixes 17950 Fix IllegalArgumentException for Christmas Tree collection
airparif Bug Fixes 18974 Fix duplicate channel
amazonechocontrol Enhancements 17935 Import SmartHomeJ fork
Bug Fixes 17919 Support QuantityType Color Temperature command
amberelectric Enhancements 18716 Add support for forecasts, add site data to Thing properties
18776 Add estimate channel and improve polling strategy for more accurate pricing
Bug Fixes 18727 Fix nem-time channel
androidtv Bug Fixes 18263 Resolve PhilipsTV Power State Issues
astro Enhancements 18203 Update real-time Moon Phase Age
18540 Add semantic tags
asuswrt Bug Fixes 18509 Fix reconnectJob not trying to reconnect
18813 Fix reconnect when offline
automower Enhancements 17545 Implementation of complete automower API
avmfritz Enhancements 18647 Support new devices
18909 Add support for Smart Energy 250
Bug Fixes 18624 Support alias product names
aWATTar Enhancements 17557 include fees in calculation
bambulab Bug Fixes 18904 Fix bugs in actions and tray channels
basicprofiles Enhancements 18117 Support double quoted strings in state filter
18121 Fix regular comparison of Percent Quantity interpreted as $DELTA_PERCENT check
18301 Add Inactivity profile
Bug Fixes 17997 Fix delta state filter handling of negative values
18088 Fix handling of multiple $DELTA conditions
18089 Fix division-by-zero error in $DELTA_PERCENT state filter
18127 Convert to relative unit in State Filter's Delta check
18144 Fix StateFilterProfile to use linked Item system unit
benqprojector Enhancements 18531 Add semantic tags
Bug Fixes 18009 Fix response processing for newer projectors
bluetooth.bluegiga Bug Fixes 18578 Fix NoSuchElementException during initialization
bluetooth.bluez Bug Fixes 18181 Fix NullPointerException
bluetooth.hdpowerview Enhancements 18533 Add semantic tags
18565 Set equipment tags dynamically
bondhome Bug Fixes 17924 Catch null host exception in discovery service
boschshc Enhancements 18194 Provide alarm channel for smoke detectors
18201 Add support for Door/Window Contact II Plus
18391 Use MAC address as default bridge thing ID
Bug Fixes 17893 Update location properties when initializing things
broadlink Bug Fixes 18856 Fixes RM3 Mini not working correctly with newer firmware
broadlinkthermostat Bug Fixes 17909 Fix binding name
daikin Enhancements 18315 Add semantic tags to channels
18535 Add semantic equipment tag
danfossairunit Enhancements 18324 Add semantic tags
18384 Improve time zone handling
18398 Add defrost status channel
18414 Use serial number as valid Thing ID in discovery
18470 Provide additional properties
18504 Add semantic equipment tag
18582 Add operation channels
Bug Fixes 18454 Ensure immediate channel update after item linking
deconz Enhancements 18482 Cross update color & color temperature channels
18515 Add semantic tags
Bug Fixes 17942 Support QuantityType Color Temperature command
18823 Fix for color item state not correct
digiplex Bug Fixes 18035 Handle erroneous responses and restart the bridge
dscalarm Bug Fixes 18056 Fix update of channel zone_bypass_mode
easee Enhancements 18027 Speedup command processing
Bug Fixes 18168 Adjust configuration to new API limits
ecobee Bug Fixes 18113 Fix setting vacation hold temperatures and ignore unrealistic actual temperature
ecovacs Bug Fixes 18650 Fix spot area cleaning for X2 and newer
electroluxappliance Enhancements 18832 Addition of AEG 6000 Portable Air Con support
18934 Portable Air Conditioner - Filter state addition
emotiva Bug Fixes 18437 Tag group handler and bugfixes.
18469 Fix keep alive when adding devices manually
energidataservice Enhancements 18086 Update tariff filter for Netselskabet Elværk
18293 Update tariff filter for FLOW Elnet
18496 Add tariff filter for Forsyning Elnet
18695 Add support for day-ahead dataset with 15-minute resolution
Bug Fixes 18583 Fix DAY_AHEAD_AVAILABLE event
18588 Fix NullPointerException
enocean Enhancements 17250 Eltako FJ62 support
Bug Fixes 18034 Fix NullPointerException
18594 Fix rollershutter open completely
enphase Enhancements 18530 Fix for reading production values for newer enphase software versions.
epsonprojector Enhancements 18006 Add retrieval of source list
18532 Add semantic tags
evcc Bug Fixes 18410 Add support for grid power due to changes in evcc api since 0.133.0
18442 Fix handling vehicle names with special chars
exec Bug Fixes 18835 Fix 'run' channel state not writable
fenecon Enhancements 18613 Provide additional data such as the temperature on the inverter
flume Bug Fixes 18696 Adapt to new restrictions in Flume API
18810 Fixed usage alert not firing
Folderwatcher Enhancements 14926 Add Azure blob storage containers monitoring support
freeathome Enhancements 18631 Add Wireless Blind Actuator support, Improve connection handling
Bug Fixes 17957 Fix not updating values of room temperature devices
18094 Add missing ID's for Wind and Rain Alarms and Slat Positions
frenchgovtenergydata Enhancements 18732 Add support for tempo tariff
fronius Enhancements 18080 Support setting backup reserved battery capacity
18130 Fix invalid credentials lead to unexpected exception
18131 Verify battery control time of use successfully set
18536 Add semantic equipment tag
18846 Add Thing actions to prevent battery from charging & Refactorings
Bug Fixes 18375 Fix bridge config update not properly handled
18872 Fix battery control not working for firmware >= 1.36.x
18907 Fix unhandled exception on jsonParse for inverters that don't support version info api
18979 Make protocol scheme configurable
froniuswattpilot Enhancements 18819 Improve dispose behaviour & Upgrade wattpilot4j
gardena Enhancements 18522 Add semantic tags
gce Bug Fixes 17949 Ensure ressources are freed
goecharger Enhancements 18781 Add cloud API support
18808 Fix warnings and some minor refactoring
govee Enhancements 18517 Add semantic tags
Bug Fixes 17812 Fix brightness vs. color synchronization
gree Enhancements 18360 Fix ignored refreshInterval setting and add encryption type
groovyscripting Enhancements 18636 Upgrade Groovy to 4.0.26
18806 Update Groovy to 4.0.27
growatt Enhancements 18516 Add semantic tags
18520 Add unit hint on frequency channel
grundfosalpha Enhancements 18187 Add support for Alpha3 pump
guntamatic Enhancements 17901 Add channel groups
haassohnpelletstove Enhancements 18212 Improve connection handling
harmonyhub Enhancements 18541 Add semantic tags
hdpowerview Enhancements 18510 Add semantic tags
Bug Fixes 18200 Fix discovery to use serial number as representation property
18236 Fix bug in discovered Bridge label
homeconnect Enhancements 18545 Add semantic tags
18634 Add power state support for the washing machines
homekit Bug Fixes 18233 Fix unit conversions on step values for temperatures
18329 Sort optional characteristics before adding them to the service
homematic Bug Fixes 18570 Fix HM-IP long press button handling
18756 Convert pressure value from the CCU correctly to QuantityType
18886 Improve error message when command sending fails
homewizard Enhancements 18099 Add support for kWh meter, Plug-in Battery and API v2.
hpprinter Enhancements 18547 Add semantic tags
hue Enhancements 17905 Recognise grouped_motion and smart_scene resources
18341 Add semantic tags
Bug Fixes 18261 Fix support for dynamics on "..only" channels
huesync Bug Fixes 18100 Fix lost api-token when device goes offline
18508 Fix resolving language resource string for an Exception
icalendar Enhancements 18542 Add semantic tags
insteon Enhancements 17922 Use shared jetty http client
17958 Add modem database backup restore console commands
17987 Add led brightness on level channel parameter
18048 Add debug monitoring support for modem and x10 devices
18051 Add device refresh all command parameter
18095 Add modem list features and product data console commands
18272 Refactor transport message field type
18294 Add ezx10rf x10 transceiver support
18295 Truncate debug log files when starting monitor
18465 Improve modem db default controller group support
18697 Improve message transport control flow
18698 Rebuild all channels during thing initialization
18706 Set device type for usb adapter as plm network bridge
18891 Refactor static copy factory methods to instance methods
18892 Refactor device request scheduled delay
Bug Fixes 17904 Convert legacy threads to use scheduler service
17977 Fix led command stack overflow error
17981 Fix legacy backward compatibility
18002 Fix motion sensor channels battery-level and light-level
18031 Fix x10 device message handling
18049 Fix legacy all link broadcast message not processed
18050 Fix scene channel state updates
18075 Fix imeter solo product first record location
18087 Fix device request failure handling
18135 Remove iolinc event button feature
18136 Limit device request failure condition
18147 Use separate pool for long running threads
18271 Fix icon products first record config
18273 Fix iolinc device support
18274 Fix missing links implementation
18275 Fix duplicate scene entry feature listeners
18296 Fix product data not updating first record
18464 Fix scene channels not responding after modem db reload
18893 Fix intermittent device offline status
18894 Fix thermostat system mode status mapping
ipcamera Enhancements 18337 Add reboot action for Reolink ipcamera
Bug Fixes 18155 Fix Reolink Duo Floodlight whiteLED Channel With Timer Mode
18312 Fix event streams crash when no source is specified.
18338 Fixed missing break and incorrect default logic in Reolink handler
18736 Fix Reolink battery camera streams do not auto restart.
18833 Fix Reolink needs space to fix compatibility with some cameras.
18859 Split the pollImage channel into two separate channels to allow more flexibility
jablotron Bug Fixes 18436 Fix JSON response parsing
jdbc Enhancements 18472 Upgrade Yank to 3.5.0
18474 Upgrade MySQL Connector/J to 9.2.0
Bug Fixes 18407 SQLite: Fix format when persisting item with timestamp
jellyfin Enhancements 18078 Make configuration link clickable in Main UI
jrubyscripting Enhancements 18374 Add JRuby REPL and other utilities inside karaf console
18397 Add "dummy" openHAB gem to environment
18404 Support using Gemfile with Bundler
18667 Update to JRuby 10.0.0.1
Bug Fixes 17960 Remove Compilable implementation
18394 Disallow Process.exec
18529 Move console instance check from Java to Ruby code
jsscripting Enhancements 17720 Upgrade GraalJS from 22.0.0.2 to 24.1.1
18053 Use OSGi-ified GraalVM dependencies
18421 Upgrade GraalJS to 24.2.0
18703 Upgrade openhab-js to 5.11.1
18795 [pythonscripting] Use fully OSGI-ified Graal dependencies
jsscriptingnashorn Enhancements 18635 Upgrade Nashorn to 15.6
juicenet Enhancements 18299 Remove Juicenet binding due to drop of public API
kaleidescape Enhancements 18550 Add semantic tags and format time channels
keba Enhancements 18310 Implement thing action to set display text
knx Enhancements 18004 Allow color temperatures specified in mired
18333 Upgrade Calimero to 2.6-rc2
18858 Upgrade Calimero to 2.6
Bug Fixes 18690 Ignore value NaN for DPT 9 and DPT 14
lgtvserial Enhancements 18253 Update documentation and fix labels/descriptions
18559 Make refresh interval configurable
Bug Fixes 18643 Fix inverted Volume Mute switch
lgwebos Enhancements 18119 Subscribe to Play/Pause state changes from the TV
18314 Add semantic tag to Channel and Application channels
18534 Add semantic equipment tag
lifx Enhancements 18191 Add support for new LIFX products
linktap Enhancements 18679 Add communication timeout configuration parameter
Bug Fixes 18090 Improve connection handling
Linky Enhancements 16355 Make use of DataConnect Enedis API
18940 Add semantic equipment tag
Bug Fixes 17945 Fixes for change in Enedis API on 2024 December 20
livisismarthome Enhancements 16969 Add support for rebooting the smart home controller
lutron Enhancements 18107 Add Diva Smart Switch to Lutron LEAP autodiscovery
18484 Provides device location and names during discovery
luxtronikheatpump Enhancements 18133 Adjust previously unknown channels with new information
18254 Add power consumption channel
18331 Enable Utility Lock 2 channel (EVU2)
mail Enhancements 18209 Add action input labels and descriptions
mapdb Enhancements 17820 Store and restore lastState, lastStateChange and lastChangeUpdate
matter Enhancements 18885 Bridge transaction support, matter.js upgrade
mercedesme Enhancements 18332 Improve Units of Measure support
18342 New authorization process
Bug Fixes 18003 Fix initial update of Thing properties
18115 Add missing status parameter for web socket error
18208 bugfix auth problem causing http 412 error
18458 Bugfix message decoding
miele Enhancements 18538 Add semantic equipment tags
mielecloud Bug Fixes 18264 Fix OAuth service handle
miio Enhancements 17680 Add support for Smart Air Purifier 4 Lite zhimi.airp.rmb1
17902 Add support for Xiaomi Robot Vacuum X20+
misc Enhancements 17725 Simplify DateTimeType handling
18175 Provide unit hints for rpm channels
18549 Bindings A thru F: Add equipment tags
18556 Add equipment tags
18557 Bindings G thru L: Add equipment tags
18558 Bindings M thru R: Add equipment tags
18563 Bindings S thru Z: Add equipment tags
18585 Add Point and Property tags to addons
18616 Python transform shortcut
18815 Apply Precipitation tag
18889 Retrofit property tags lock state and open level
Bug Fixes 18824 Fix unresolved property values in feature.xml files.
modbus.kermi Bug Fixes 18855 Add bundle to Modbus feature
modbus.sunspec Bug Fixes 18370 Fix acc32 and uint32
mqtt Bug Fixes 18116 Fix typos in action label
mqtt.awtrixlight Enhancements 18658 Add LWT support and improve ThingStatus handling
mqtt.generic Bug Fixes 17929 Create the proper item type for channels with units
17980 Fix ClassCastException when receiving ON/OFF on a dimmer channel
mqtt.homeassistant Enhancements 17895 Implement regex_findall and regex_findall_index Jinja filters
17908 Remove newStyleChannels temporary back-compat
18239 Only subscribe to topics for linked channels
18262 Use a single channel for all scenes on a device
18383 Use default strings for all commands and states
18524 Use a thing action for updates, instead of a config action
18857 Use GraalPy and import actual Home Assistant templating code
Bug Fixes 17933 Fix components with an empty name
18467 Fix Fan Only i18n key
18584 Clear internal data when stopping
18601 Use GraalPy and import actual Home Assistant templating code
18623 Import Home Assistant Python validations for config parsing
18957 Fix GPS Accuracy channel type
18959 add none as an implicit preset for Climate
18971 send GraalPy logging to standard openHAB logging
mybmw Enhancements 18235 Improve authentication
Bug Fixes 18153 Fix charging statistics URL
neohub Enhancements 18511 Add semantic tags
netatmo Enhancements 18079 Make configuration link clickable in Main UI
Bug Fixes 16489 Improve handling of maximum usage reached and HTTP code 429
network Enhancements 18083 Make icmp ping and arp ping optional by presence thing
Bug Fixes 17971 Fix last-seen channel being set to UNDEF at startup
nikohomecontrol Enhancements 18848 Add relay, peakmode and solarmode device types
ntp Enhancements 18543 Add semantic tags
nuvo Enhancements 18575 Format Track time channels
omnilink Bug Fixes 18447 Update system time channel after setting time
openhabcloud Bug Fixes 17994 Send the correct response status text
openthermgateway Enhancements 18518 Add semantic tags
openweathermap Enhancements 18548 Add semantic tags
Bug Fixes 18597 Fix visibility channels
oppo Enhancements 18554 Add semantic tags and format time display channel
orbitbhyve Bug Fixes 18803 Remove obsolete redirects setting
panasonicbdp Enhancements 18551 Add semantic tags and format time display channels
persistence.jpa Enhancements 17990 Upgrade Apache Derby to 10.17.1.0
pidcontroller Bug Fixes 18617 Fix incorrect addon id
pihole Bug Fixes 17967 Fix enableBlocking action
pipertts Bug Fixes 17993 Fix library load on windows
plugwiseha Enhancements 18325 Use system channel types
pushsafer Enhancements 14578 Add latest parameter answeroptions and answerforce
radiothermostat Enhancements 18386 Add semantic tags to channels
radoneye Enhancements 18125 Add decay channel for HW v2 and simplify the code
ring Enhancements 18767 Refactor discovery and allow multiple accounts
18778 Further code improvements and enhancements
roku Enhancements 17925 Check for ECP Limited Mode
18059 Add End Time and Media Progress channels
18387 Add semantic tag to Active App and Active Channel channels
18552 Add semantic tags and format time channels
rotel Bug Fixes 18966 Fix search of key for ASCII mode
rrd4j Bug Fixes 18789 Bugfix descending order
saicismart Enhancements 18602 Remove binding due to significant server API changes
satel Enhancements 18491 Add event log details for event description 10
Bug Fixes 18192 Fix event log partition keypad decoding
18328 Refactor and fix bugs in event log reading
18444 Fix Discovery of roller shutter
sbus Enhancements 18490 Add support for STOP command
18747 Add support for Contact Sensor and (white) in RGBW channels
senseenergy Enhancements 18463 Address reconnect issues on failure
shelly Enhancements 17869 Add Shelly Plug S Gen3
18167 Support for Shelly Plus 2PM Gen3 and Plus 2PM UL
18174 Add support for Shelly BLU Gateway Gen3
18309 Improve smoke sensor wake-up period handling
18611 Add support for Pro 1CB
18681 Add support for various Gen4 devices
18782 Add support for Gen4 devices
18814 Add support for Shelly Plug S Gen3, Outdoor Plug S Gen3, AZ Plug
18937 Add Shelly Plus 1L, Plus 2L, Plus EM, Plus 3EM-63, Plus Shutter
Bug Fixes 17816 Re-Add/Fix Shelly Plus UNI support
17947 Support QuantityType Color Temperature command
18103 Fix NullPointerException
18498 Fix BLU package cycle fix
18724  Fix for Shelly Pro 1CB
18775 Fix support for Shelly Plug US
18790 Fix Shelly Plus 2PM discovery in Roller/Cover mode
18797 Work around firmware 1.6.x/1.7beta bugs
18882 Fix discovery of Shelly Pro 2 relays
18901 Fix IllegalArgumentException during mDNS discovery
18902  Fix Shelly Pro 4PM discovery, thing init for unknown thing
18922 Do not set connect timeout for shared HttpClient
18931 Fix Shelly Pro 2 initialization
18941  Fix Plus UNI
18964 Fix NullPointerException during discovery
siemensrds Enhancements 18514 Add semantic tags
Bug Fixes 18519 Allow special characters in login credentials
solarforecast Enhancements 18281 reduce solcast API calls
18546 Add semantic tags
solarman Bug Fixes 18016 Fix ability to add new channels in the Web UI
somfytahoma Enhancements 18774 pure local mode if token provided
Bug Fixes 18323 Fix getting last history event
18419 Fix exception when invalid event history response received
18970 Fix invalid event listener after token renewal
sonnen Enhancements 18213 Add support to actively charge the battery from grid
speedtest Bug Fixes 18066 Fix speedtest thing going offline when image not available
spotify Enhancements 18745 Add UoM to time-related channels, add i18n
squeezebox Enhancements 18344 Add I18N support for Thing status descriptions
Bug Fixes 18347 Fix properties for manually configured Things
surepetcare Bug Fixes 18105 API change pet weight
tacmi Enhancements 14119 Support JSON-Api
tado Enhancements 18354 OAuth RFC-8628 authentication
18412 Add geofencingEnabled channel
18481 Support multiple homes & accounts, and bug fixes
18512 Add semantic tags
18691 Configuration and code clean up
tapocontrol Enhancements 17927 Add Smart Switches S210 and S220
18343  Accept more commands on dimmer/color channels
Bug Fixes 17944 Support QuantityType Color Temperature command
tasmotaplug Enhancements 18553 Add semantic tags
telegram Enhancements 17801 Add action that supports various options
tesla Bug Fixes 17983 Fix NumberFormatException
teslapowerwall Bug Fixes 18728 Fix degradation being based on a single powerwall
18817 Fix error with JSON parsing
Teslascope Enhancements 18438 Adapt binding for Teslascope v5 changes
18612 Provide additional functionality
18765 Introduce Account Handler Bridge and Vehicle Discovery
tibber Enhancements 17916 Add price_level to today_prices and tomorrow_prices
18726 Rework binding (channel groups, UoM, Thing actions and more)
tivo Enhancements 18388 Add semantic tag to channelSet and channelForce channels
tplinksmarthome Bug Fixes 17946 Support QuantityType Color Temperature command
tr064 Bug Fixes 18976 Fix channel type
transform.vat Enhancements 18742 Update rates
tuya Enhancements 18645 Add support for PAUTIX HH-1201K3E WiFi/Bluetooth LED Controller
18653 Fix to allow for Channels whose DPs have string values
18654 Get channel labels from schema label or map from schema code
18655 Handle RefreshType requests on Channels
18657 Order Channels using DP order in schemas
18704 Prettify the labels used for command options
18707 Add support for protocol version 3.5
18710 Add support for quantities
Bug Fixes 18651 Use both DP_REFRESH (only for known DPs) and DP_QUERY
18652 Fix typo, regen translations
18828 Allow refresh commands for offline Things
unifi Enhancements 18335 Add network thing
18349 Make request timeout configurable
upnpcontrol Enhancements 18544 Add semantic tags
18721 Discover child devices
Bug Fixes 17965 Fix IllegalArgumentException when downloading album art
17976 Send periodic keep alive
17991 Ignore negative volume values
velbus Enhancements 17926 New functionality & Bug fix
18287 Add VMB4LEDPWM-20 OnOff command support
Bug Fixes 18365 Fix support for VMB8IN-20
velux Enhancements 18513 Add semantic tags
venstarthermostat Enhancements 18408 Add semantic tags to channels
VeSync Enhancements 17844 Add support for wifi outlets
vizio Enhancements 18389 Add semantic tag to Active App channel
wemo Enhancements 18571 Refactor HTTP handling and improve port probing reliability
whisper Enhancements 17921 Add OpenAI API compatibility
wled Bug Fixes 18393 Improve brightness and RGBW segment handling
wundergroundupdatereceiver Bug Fixes 18415 Fix parsing of dateutc query parameter
xmpp Enhancements 17938 Add action for sending a group message
xmppclient Bug Fixes 18289 Host parameter should not be mandatory
Zigbee Enhancements 850 Add support for PM2.5 channel
870 Add reporting configuration for temperature and humidity channels
892 Add dimmer/switch mode for Legrand with Netatmo dimmers
910 Add configuration for Ultrasonic Occupancy Sensor
Bug Fixes 905 Fix multipliers in current and voltage converters

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 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 OS 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 if you don't know 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 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 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

reinstall your OS to 64 bit

If you have 64 bit capable ARM hardware and want to run openHAB 5, you will need to reinstall your system with a 64 bit OS.

Cross-check with the HW docs section. Use another SD card to have your working one available as a fallback if things should go wrong. You should be installing latest openHABian as provided when using the Raspi imager. Select your image from the 'Other specific-purpose OS -> Home assistants and home automation -> openHAB' menu and make sure to choose the 64 bit image.

While installation is ongoing, export ("backup") your working config using menu option 50 and copy it over to your PC (your openHABian box will provide a Windows share to access it). See these instructions how to automatically re-import it during installation process.

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:

:::sh
sudo apt-get update
sudo apt-get upgrade

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

:::sh
sudo apt-get install openhab=5.0.0-1

## optional add-ons for offline installation ##
sudo apt-get install openhab-addons=5.0.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.)

:::sh
sudo yum update

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

:::sh
sudo yum install openhab-5.0.0-1

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

Manual Installations

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

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.0.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.0.0

Breaking Changes that Require Manual Interaction after the Upgrade

Changes in Core

  • Persistence alias functionality has been improved, allowing defining aliases across strategies and filter criteria for a persistence service. Previous persistence configurations using aliases need to be reconfigured.
  • Semantic Tags: Some Point tags reclassified as Properties; list of Point / Property / Equipment tags increased (so custom tags may now be semantic); tag validation is stricter. You may see validation warnings in the log, Items moved to another place in the UI, or other unexpected behavior.

Changes in Add-ons

ElectroluxAir Binding
  • The binding has been removed since the Electrolux Delta API has been discontinued.
Automower Binding
  • Implementation of complete automower API causes several channels to be removed, changed or added. New channels will need to be linked, existing items need to be adjusted.
Guntamatic Binding
  • The Binding now uses channel groups and the dynamic status channels now have an index prefix to allow multiple channels with the same description. Existing Items will need to be adjusted.
Juicenet Binding
Jython Automation
  • Transformation service name is renamed from "PY" to "JYTHONPY". "PY" is now used for transformations of the new Python Automation add-on.
Linky Binding
  • The Linky binding was refactored to add new functionalities. You now need a bridge device for the Linky binding to work. See Readme.md for detailed upgrade instructions.
MQTT Binding (Home Assistant)
  • Thing types and channel IDs for things created prior to 4.3.0 have been significantly restructured and simplified. Items will need to be re-linked. Delete and re-create your Things to also have a simplified Thing Type ID in your Thing IDs.
  • All scene components on a device are now exposed as a single String channel, with the scene name or object ID as its value. Existing Items and rules will need to be re-worked.
  • Devices that use custom payloads or states now have that abstracted, so users should only use the default payloads. Rules and UIs may need to be updated for some devices.
Shelly Binding
  • Thing type shellypro2-relay was renamed to shellypro2. Delete the existing thing and re-discover the device.
Teslascope Binding
  • The Teslascope binding was refactored in order to support discovery. You now need a bridge device for the Teslascope binding to work.
Tibber Binding
  • All channels have been renamed and restructured into groups. All items will need to be relinked to the new channel IDs.
Source: README.md, updated 2025-07-21