This is the first monthly milestone build for the upcoming openHAB 5.0 release, which brings many fixes and improvements.
Note
⚠️ Important System Requirements for openHAB 5
openHAB 5 requires:
- Java 21 or higher
- 64-bit operating system
Please ensure your system meets these requirements before upgrading to openHAB 5.
New Add-ons
The following add-ons are newly introduced:
Add-on | Type | Issue |
---|---|---|
airparif | Binding | #17625 |
OpenAI Text-to-Speech | Voice | #17733 |
sbus | Binding | #18019 |
The following improvements were made:
Runtime
Type | Issue | Change |
---|---|---|
Enhancements | 4363 | Introduce dedicated persistence aliases |
4406 | Upgrade Karaf to 4.4.7, Xtext/Xtend 2.37.0 | |
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 | |
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 | |
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 | |
1711 | Enable HTTP/2 for HTTPS | |
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 |
Add-ons
Add-on | Type | Issue | Change |
---|---|---|---|
ahawastecollection | Bug Fixes | 17950 | Fix IllegalArgumentException for Christmas Tree collection
|
amazonechocontrol | Enhancements | 17935 | Import SmartHomeJ fork |
Bug Fixes | 17919 | Support QuantityType Color Temperature command | |
androidtv | Bug Fixes | 18263 | Resolve PhilipsTV Power State Issues |
astro | Enhancements | 18203 | Update real-time Moon Phase Age |
automower | Enhancements | 17545 | Implementation of complete automower API |
aWATTar | Enhancements | 17557 | include fees in calculation |
basicprofiles | Enhancements | 18117 | Support double quoted strings in state filter |
18121 | Fix regular comparison of Percent Quantity interpreted as $DELTA_PERCENT check | ||
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 | Bug Fixes | 18009 | Fix response processing for newer projectors |
bluetooth.bluez | Bug Fixes | 18181 | Fix NullPointerException
|
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 | ||
Bug Fixes | 17893 | Update location properties when initializing things | |
broadlinkthermostat | Bug Fixes | 17909 | Fix binding name |
deconz | Bug Fixes | 17942 | Support QuantityType Color Temperature command |
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 |
energidataservice | Enhancements | 18086 | Update tariff filter for Netselskabet Elværk |
18293 | Update tariff filter for FLOW Elnet | ||
enocean | Bug Fixes | 18034 | Fix NullPointerException
|
epsonprojector | Enhancements | 18006 | Add retrieval of source list |
freeathome | Bug Fixes | 17957 | Fix not updating values of room temperature devices |
18094 | Add missing ID's for Wind and Rain Alarms and Slat Positions | ||
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 | ||
gce | Bug Fixes | 17949 | Ensure ressources are freed |
govee | Bug Fixes | 17812 | Fix brightness vs. color synchronization |
grundfosalpha | Enhancements | 18187 | Add support for Alpha3 pump |
guntamatic | Enhancements | 17901 | Add channel groups |
haassohnpelletstove | Enhancements | 18212 | Improve connection handling |
hdpowerview | Bug Fixes | 18200 | Fix discovery to use serial number as representation property |
18236 | Fix bug in discovered Bridge label | ||
homekit | Bug Fixes | 18233 | fix unit conversions on step values for temperatures |
hue | Enhancements | 17905 | Recognise grouped_motion and smart_scene resources
|
Bug Fixes | 18261 | Fix support for dynamics on "..only" channels | |
huesync | Bug Fixes | 18100 | Fix lost api-token when device goes offline |
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 | ||
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 | ||
18274 | Fix missing links implementation | ||
18275 | Fix duplicate scene entry feature listeners | ||
18296 | Fix product data not updating first record | ||
ipcamera | Bug Fixes | 18155 | Fix Reolink Duo Floodlight whiteLED Channel With Timer Mode |
jellyfin | Enhancements | 18078 | Make configuration link clickable in Main UI |
jrubyscripting | Enhancements | 18252 | Update to JRuby 9.4.12.0 |
Bug Fixes | 17960 | Remove Compilable implementation | |
jsscripting | Enhancements | 17720 | Upgrade GraalJS from 22.0.0.2 to 24.1.1 |
18053 | Use OSGi-ified GraalVM dependencies | ||
juicenet | Enhancements | 18299 | Remove Juicenet binding due to drop of public API |
knx | Enhancements | 18004 | Allow color temperatures specified in mired |
lgtvserial | Enhancements | 18253 | Update documentation and fix labels/descriptions |
lgwebos | Enhancements | 18119 | Subscribe to Play/Pause state changes from the TV |
lifx | Enhancements | 18191 | Add support for new LIFX products |
linktap | Bug Fixes | 18090 | Improve connection handling |
linky | 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 |
luxtronikheatpump | Enhancements | 18133 | Adjust previously unknown channels with new information |
18254 | Add power consumption channel | ||
Enhancements | 18209 | Add action input labels and descriptions | |
mapdb | Enhancements | 17820 | Store and restore lastState, lastStateChange and lastChangeUpdate |
mercedesme | 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 | ||
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 | ||
mqtt | Bug Fixes | 18116 | Fix typos in action label |
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 | ||
Bug Fixes | 17933 | Fix components with an empty name | |
mybmw | Enhancements | 18235 | Improve authentication |
Bug Fixes | 18153 | Fix charging statistics URL | |
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
| |
openhabcloud | Bug Fixes | 17994 | Send the correct response status text |
persistence.jpa | Enhancements | 17990 | Upgrade Apache Derby to 10.17.1.0 |
pihole | Bug Fixes | 17967 | Fix enableBlocking action |
pipertts | Bug Fixes | 17993 | Fix library load on windows |
radoneye | Enhancements | 18125 | Add decay channel for HW v2 and simplify the code |
roku | Enhancements | 17925 | Check for ECP Limited Mode |
18059 | Add End Time and Media Progress channels | ||
shelly | Enhancements | 17869 | Add Shelly Plug S Gen3 |
18167 | Support for Shelly Plus 2PM Gen3 and Plus 2PM UL | ||
Bug Fixes | 17816 | Re-Add/Fix Shelly Plus UNI support | |
17947 | Support QuantityType Color Temperature command | ||
18103 | Fix NullPointerException
| ||
solarforecast | Enhancements | 18281 | reduce solcast API calls |
solarman | Bug Fixes | 18016 | Fix ability to add new channels in the Web UI |
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 |
surepetcare | Bug Fixes | 18105 | API change pet weight |
tapocontrol | Enhancements | 17927 | Add Smart Switches S210 and S220 |
Bug Fixes | 17944 | Support QuantityType Color Temperature command | |
tesla | Bug Fixes | 17983 | Fix NumberFormatException
|
tibber | Enhancements | 17916 | Add price_level to today_prices and tomorrow_prices |
tplinksmarthome | Bug Fixes | 17946 | Support QuantityType Color Temperature command |
upnpcontrol | Bug Fixes | 17991 | Ignore negative volume values |
velbus | Enhancements | 17926 | New functionality & Bug fix |
18287 | Add VMB4LEDPWM-20 OnOff command support | ||
VeSync | Enhancements | 17844 | Add support for wifi outlets |
whisper | Enhancements | 17921 | Add OpenAI API compatibility |
xmpp | Enhancements | 17938 | Add action for sending a group message |
xmppclient | Bug Fixes | 18289 | Host parameter should not be mandatory |
Zigbee | Enhancements | 892 | Add dimmer/switch mode for Legrand with Netatmo dimmers |
User Interfaces
UI | Type | Issue | Change |
---|---|---|---|
Main UI | Enhancements | 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 | ||
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 | ||
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 | ||
3026 | Log viewer: Align logger name left | ||
3028 | Add-on Store: Extend search to add-on descriptions | ||
3030 | Support history | ||
3034 | Link to New Item: Prefix with Thing's label | ||
3040 | Link Edit: Add dirty checking | ||
3042 | Script edit: Display conditions | ||
3049 | Condition Module Wizard: Add Interval condition to Time Conditions | ||
3051 | Script edit: Add support for new python add-on & Refactor automation-languages definition | ||
3057 | Page Settings: Add Copy and Remove Page buttons | ||
3060 | UID Input: Add Fix UID button to normalize UID input
| ||
3062 | Interactive SVG Canvas: Use percentage state for color state computing | ||
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 | ||