This is the official release of openHAB 5.2.0.
The binaries are available on our download page and via "Stable" on our APT repository.
New and Noteworthy
The openHAB 5.2 release is a feature release that contains many new features, enhancements and bug fixes, both for the core runtime and for many add-ons. You can find the most relevant ones listed in detail below.
Please also note our release blog post, which describes the major new features in depth.
openHAB 5.2 is backward compatible to openHAB 5.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.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 |
|---|---|---|
| Atmo France | Binding | #20365 |
| Bluelink (Hyundai/Kia/Genesis) | Binding | #19823 |
| DahuaDoor | Binding | #20172 |
| DD-WRT | Binding | #20505 |
| Energy Forecast | Binding | #20325 |
| Geocoding Profile | Transformation | #19921 |
| Google Gemini | Binding | #20922 |
| Home Connect Direct | Binding | #20653 |
| LinkPlay | Binding | #19554 |
| mcp | IO | #20636 |
| Ntfy | Binding | #20560 |
| Pirate Weather | Binding | #18877 |
| RemehaHeating | Binding | #19494 |
| TimescaleDB | Persistence | #20412 |
| transform.math | Transformation | #20164 |
| Twilio | Binding | #20487 |
| unifiaccess | Binding | #19412 |
| WorxLandroid | Binding | #16893 |
| yamlcomposer | IO | #20305 |
Runtime
The following improvements were made to the core and the distro:
| Type | Issue | Change |
|---|---|---|
| Enhancements | 4633 | Rule file provider |
| 4951 | Persistence extensions: preserve item unit in results | |
| 4995 | State machine to model lights in Thing handlers | |
| 5004 | Implement a core sitemap registry | |
| 5043 | ChannelTransformation: log exact syntax errors in transformations | |
| 5069 | Make RuleManager.runNow() run in the dedicated rule thread | |
| 5101 | use Instant instead of ZonedDateTime in Riemann sum methods | |
| 5116 | Add support for RegEx expressions in event WebSocket topic filter | |
| 5203 | Enhancements and corrections in openapi spec | |
| 5217 | Persistence health check for configuration from multiple providers | |
| 5231 | Support conditions related to the ThingStatus | |
| 5232 | core/resources: Use geographic coordinates with precision 1 meter | |
| 5235 | Add time zone support for ZonedDateTime action inputs | |
| 5236 | Adjust REST HTTP response status codes | |
| 5250 | Add support for short-form metadata namespace in Item Yaml config | |
| 5252 | Add support for short-form expire property in Item Yaml config | |
| 5254 | Karaf features: Update supported schema versions | |
| 5280 | Add INFO log for config TEXT param value not parsed a… | |
| 5282 | Log warning on Thing config errors | |
| 5283 | Allow empty or null metadata values via the REST API | |
| 5295 | API /file-format/parse: do not extend thing/channel config | |
| 5303 | Optimize ZonedDateTime.now().toInstant()
| |
| 5305 | Do not generate thing label if same as in thing type | |
| 5308 | Updated item and persistent REST services to use itemName vs. itemname. | |
| 5313 | Add support for short-form syntax in YAML Semantic Tags | |
| 5316 | Add StateOfCharge Semantic Tag Property | |
| 5325 | Decouple session & API token management from ManagedUser implementation & JaasAuthenticationProvider fixes | |
| 5327 | Add dimension for calorific value and related unit | |
| 5328 | UserRegistryImpl: Allow registering additional ManagedProviders & Allow field access for subclasses of GenericUser | |
| 5332 | Allow "configuration" in syntax as alternative to "config" | |
| 5333 | Add utility method to cast profile configurations to specific classes | |
| 5341 | Enhance removedModel method in all providers | |
| 5342 | Validate ThingUID part during ChannelUID construction | |
| 5349 | DSL: implicit RiemannType import | |
| 5352 | Support 'keywords' field in addon.xml schema | |
| 5355 | Add extra fields support to oAuth AccessTokenResponse | |
| 5361 | Clean retry queue when a thing is updated/removed in YAML thing provider | |
| 5372 | Schema update for configuration description | |
| 5379 | UpgradeTool add semantics upgrader and OH version | |
| 5390 | Item metadata REST endpoints: don't allow adding or removing semantics | |
| 5398 | Textual Rules: allow XBase between then … end | |
| 5400 | PersistenceResource: Update OpenAPI annotation itemname => itemName | |
| 5404 | Corrections in the annotations for several REST api calls | |
| 5416 | Check valid properties for channel | |
| 5418 | Add RadiationDoseRate dimension | |
| 5429 | Check channel profile value + add line number to validation errors in DSL item provider | |
| 5432 | Add support for HTTP401 in OAuth connector | |
| 5433 | Add line number to validation errors/warnings in DSL thing provider | |
| 5440 | Add time of day trigger to DSL Rule file syntax | |
| 5442 | Add tags to DSL Rule file syntax | |
| 5449 | Add optional rule UID to DSL Rule file syntax | |
| 5453 | Add conditions to DSL Rule file syntax | |
| 5457 | core.model.thing: switch serializer.Sequencer classes from Xtend to Java | |
| 5458 | Fix config deserialization for records | |
| 5459 | Sitemap DSL serialization and parsing | |
| 5462 | Allow rule with no trigger in DSL Rule file format | |
| 5463 | Fix how is called withTags in DSL Rule file provider | |
| 5464 | Add cancel button, fix font in form & use SVG logo with dark/light variants for authorize page | |
| 5466 | Accept any number of sub-widgets in a sitemap frame/page | |
| 5467 | Rule UID syntax validation | |
| 5477 | Introduce webhook service | |
| 5478 | core.model/*.mwe2: Do not generate serializer stubs | |
| 5481 | Add extra commands/abilities to DSL scripts/rules | |
| 5482 | Sitemap YAML serialization and parsing | |
| 5484 | DSL Scripts and Rules: allow usage of org.openhab.core.automation.RuleManager | |
| 5493 | Add file-based YAML support for UI pages and widgets | |
| 5503 | Generate{Persistence,Rule,Script}.mwe2: do not generate Validator.xtend stubs | |
| 5506 | Generate{Rule,Script}.mwe2: do not create ScopeProvider.xtend stubs | |
| 5508 | Generate{Item,Persistence,Sitemap,Thing}.mwe2: do not create Generator.xtend | |
| 5510 | Upgrade Karaf to 4.4.11 | |
| 5512 | Add wildcard support for ChannelEventTriggerHandler | |
| 5514 | Prune orphaned entries in automation_rules_disabled.json on start up | |
| 5518 | PersistenceResource: Support transforming states to display states | |
| 5526 | Allow empty sitemap in DSL | |
| 5530 | Deprecate defining buttons as properties of a Butongrid widget | |
| 5531 | Allow multiple sitemaps in a DSL file | |
| 5533 | Serialize row/column as first properties of a Button widget (DSL site… | |
| 5539 | Reduce log level for loading/unloading isolated models | |
| 5544 | Update GenericEventTrigger label and requirements | |
| 5556 | Add parameter on Hysteresis Profile to exclude current Item State from calculation | |
| 5568 | Add support for env var resolution in Thing configuration | |
| 5572 | Rule and RuleTemplate file format conversion | |
| 5573 | Add semantic tags to conversion REST API | |
| 5590 | Support "new YAML" on the marketplace for rule templates, widgets and block libraries | |
| 5594 | Enhance error/warning messages for DSL sitemaps | |
| 5603 | Reference ReadyService in SitemapRegistry | |
| 5605 | Create ready markers for YAML providers | |
| 5614 | Disable Graal language cache | |
| 5620 | Add conversations & LLM tools support | |
| 5622 | MAC address resolver component | |
| 5625 | Add additional rules to the StandardInterpreter | |
| 5626 | Implement permissions for Item access from HLIs | |
| 5627 | Include rule UID in log message when rule execution fails | |
| 5633 | Implement LLM tools get state & send command for Items | |
| 5635 | Enable asynchronous execution of rules and lock engine lock when loading scripts | |
| 5636 | Add created & lastUpdated timestamps to Conversation | |
| 5637 | Add a LLMToolCall record to serialize calls and store into conversation | |
| 5638 | ConfigUtil: Add method to apply defaults from ConfigDescription to configuration Map<String, Object>
| |
| 5640 | Add Celsius, Fahrenheit and other UoM single glyph aliases | |
| 5641 | Add configurable system prompt & Config refactorings | |
| 5643 | Provide the semantic model + non-semantic items as context to LLM HLIs | |
| 5645 | Add REST endpoint & console command to list conversations | |
| 5654 | Add REST endpoint to get LLM tools | |
| 5655 | Put locations first in semantic tags code | |
| 5657 | Save Startlevel to a file
| |
| 5665 | Delay refresh of DSL scripts until start level 20 is reached | |
| 5673 | ItemCommandLLMTool: Improve tool description | |
| 5678 | LLMItemSerializer: Serialize to a token-optimized format instead of YAML | |
| Bug Fixes | 5086 | Textual Rules: evaluate global variables in the context of previous variables |
| 5161 | Improvements config.serial bundle: Add JavaDoc & fix concurrency bug | |
| 5184 | add metric area/volume units | |
| 5216 | Add missing media type for output of /links/orphans API | |
| 5225 | Switch to using asynchronous send with Jetty websockets | |
| 5226 | Fix UIResource GET endpoints require no auth if implicit user role disabled | |
| 5241 | Use quotes for numbers stored as strings when generating YAML | |
| 5242 | Normalize thing/channel config in response of /file-format/parse API | |
| 5244 | Allow cross-binding bridges when generating code for a thing | |
| 5248 | Add special handling to thing/channel config param of… | |
| 5257 | IconServlet: Suppress error logging when client disconnected while sending response | |
| 5272 | Fix StartlevelTrigger triggers twice during startup & Passes wrong startlevel as payload | |
| 5273 | Set config descriptions for SimpleRule & Improve null handling | |
| 5296 | Fix Instant deserialization for action inputs
| |
| 5304 | Fix LogDTO.compareTo to avoid overflow and contract violation
| |
| 5310 | Fix time zone for java.util.Date action inputs
| |
| 5334 | DSL Rule - allow using org.openhab.core.persistence.extensions.PersistenceExtensions.RiemannType.TRAPEZOIDAL
| |
| 5336 | Persistence item info REST endpoint bug fixes and enhancements | |
| 5348 | Only consider fully qualified discovery results | |
| 5351 | Restore model validation not to fail on diagnostic errors for rules and scripts | |
| 5376 | Fix community marketplace discourse parsing | |
| 5392 | Persistence group exclusion also exclude group members | |
| 5403 | Persistence timeseries fix updating Item state | |
| 5411 | Fix when "Unloading DSL model" is logged | |
| 5439 | Fix and de-bounce service resolution | |
| 5446 | Correct OpenAPI definition for ConfigDescriptionParameterDTO | |
| 5448 | Correct OpenAPI definition for GET config description(s) endpoints | |
| 5460 | Sitemaps: Fix incorrect warning if Button has visibility defined | |
| 5501 | Adjust syntax for conditions in DSL Rule | |
| 5513 | Managed sitemaps fix conditions parsing | |
| 5516 | Align thread calculation with Jetty | |
| 5523 | Make all sitemap DTOs schema names specific to Sitemaps | |
| 5532 | Avoid DSL sitemap serializer generating "forceAsItem=false" | |
| 5551 | Fix managed sitemap rules | |
| 5567 | Fix keyword-identifier collisions in DSL rules | |
| 5574 | Fix registration of sitemap providers to its registry | |
| 5577 | Fix thing manager when thing is updated (particular timing case) | |
| 5588 | Various YAML fixes | |
| 5591 | Fix syntax for time in trigger/condition in DSL rule | |
| 5593 | Sitemap DTO fix backward compatibility | |
| 5595 | Fix handling of DSL .script files at openHAB startup | |
| 5604 | Create ready markers for proper managed providers | |
| 5606 | Fix crash when DSL script is empty | |
| 5621 | Revert #4919 "Remove prefixes from context entries before injecting ctx into execution context" | |
| 5646 | Fix sitemap string serialization | |
| 5651 | Fix missing defaults in VoiceManagerConfiguration | |
| 5653 | Fix missing regex replace escaping in DslRuleConverter | |
| 5666 | Make sure createIsolatedModel clean up cache in providers before retu… | |
| 5670 | ScriptTransformationService: Cleanup ScriptEngines on corresponding ScriptEngineFactory removal
| |
| 5672 | AbstractScriptModuleHandler: Handle ScriptEngineFactory lifecycle | |
| 5677 | Use alternative method to get userdata folder
| |
| 5684 | ScriptEngineManagerImpl: Fix exception in scriptUnloaded fails engine removal | |
| 5686 | Fix ScriptProfile holding reference to old, disposed instance of ScriptTransformationService | |
| 5687 | Log WebSocket: Require ADMIN role | |
| 1861 | Backup script: Exclude heap dumps, crash dumps & voice add-on userdata directories | |
| 1884 | gzip compress assets and images | |
| 1895 | Backup script: Fix exclusions not working & Include Piper/Vosk/Whisper dirs in full backup | |
| 1896 | Backup/Restore scripts: Add --noroot option to allow root-less exec
| |
| 1914 | Adjust setup of start levels to consider YAML providers |
User Interfaces
| UI | Type | Issue | Change |
|---|---|---|---|
| Basic UI | Bug Fixes | 3675 | Align handling of webaudio setting with Main UI |
| Main UI | Enhancements | 2285 | Add voice dialog support |
| 3349 | Adapt UI's to core sitemap registry implementation | ||
| 3575 | Migrate API usage from TypeScript code to typesafe @hey-api | ||
| 3576 | Log viewer: Handle heartbeat & Improve connection robustness | ||
| 3580 | Refactor $oh.auth to TypeScript
| ||
| 3638 | Add persistence health check "duplicate configuration" | ||
| 3645 | Keep model picker and sitemap editor visualisation toggle states across sessions | ||
| 3649 | Upgrade Codemirror plugins | ||
| 3651 | Upgrade Vite, TypeScript, ESLint & related build dependencies | ||
| 3657 | Add a Matter / Thread Network Map | ||
| 3664 | Developer search: Support search triggers, actions & conditions by type | ||
| 3674 | Add types for codeEditorTypes in useUIOptionsStore | ||
| 3678 | Hide nav bar background when nav bar is hidden | ||
| 3691 | Map picker: Round lat/lng to 6 digits | ||
| 3708 | oh-list-item: Merge component.slots.after[0] & $slots.after | ||
| 3710 | Add failure handing to selected REST endpoints | ||
| 3713 | Script editor: Enable ESLint rules to catch bugs | ||
| 3715 | Upgrade various dependencies | ||
| 3718 | Upgrade marked to 17.0.1
| ||
| 3737 | Setup wizard: Add persistence config | ||
| 3746 | Group popup: Enable support for accordion list items | ||
| 3759 | Widget editor: Support editing accordion list item widgets | ||
| 3763 | Pinia stores: Make exported state & getters in readonly where appropiate | ||
| 3765 | Item details: Display persistence status | ||
| 3785 | thing-details: Add support for firmware updates | ||
| 3788 | useUIOptionsStore: Make darkMode reactive | ||
| 3814 | Add Items from DSL: Refactor to use core file-format API | ||
| 3819 | Add Items from textual definition: Add support for YAML format | ||
| 3842 | Widgets: Enhance with stylesheet support of other components | ||
| 3843 | useStatesStore: Switch to hey-api REST client | ||
| 3845 | Setup wizard: Major enhancements | ||
| 3856 | Add name to all markers in charts | ||
| 3859 | oh-canvas-item: Make content use 100% height and align vertical centered | ||
| 3862 | Refactor widget-mixin to TS composable | ||
| 3863 | Add performance metrics | ||
| 3878 | Support keywords in Add-on Store | ||
| 3884 | Code editor: Migrate to TS & Add Vim keybindings support | ||
| 3886 | Expand list-subs placeholders in Addon Store
| ||
| 3892 | Z-Wave network map: Use bidirectional edges for controller | ||
| 3896 | oh-nav-content: Add always on menu icon for narrow screens | ||
| 3915 | Items: EQUALITY aggregation function is default for Groups with type | ||
| 3918 | Config sheet: Add support for missing context values | ||
| 3924 | Make semantics not editable from metadata editor | ||
| 3962 | Charts: Improve tooltip for markArea using Item's stateDescription & Hide markArea series from timeseries tooltip | ||
| 3963 | useWidgetExpression: Add type param for value = return type | ||
| 3969 | Dynamically import oh- components through a registry & Improve chunking
| ||
| 3975 | Reduce unwanted JavaScript editor autocompletion in comments and outside code expressions. | ||
| 3976 | Display channel properties in channel-general-settings | ||
| 3977 | Charts: Refactor to TypeScript, Composable & Composition API | ||
| 3986 | Enhance UI support for configuring persistence | ||
| 3991 | cron-expression editor: Refactor to TS & Several bug fixes/enhancements | ||
| 4000 | Script editor: Change color for match selection | ||
| 4001 | UoM unit definitions: Refactor to TS & Add missing dimensions | ||
| 4002 | useWidgetExpression: Don't declare null as return value | ||
| 4003 | Analyzer: Hide permanent menu icon | ||
| 4006 | Charts: Display time instead of null state in current time marker tooltip | ||
| 4008 | oh-clock: Add timezone support & Convert to TS Composition API | ||
| 4011 | Add persistent, resizable bottom Log Pane with keyboard toggles | ||
| 4024 | Update Google Assistant Metadata Definition | ||
| 4035 | oh-repeater: Fix various issues, improve runtime error handling & refactor to TS | ||
| 4039 | Refactor page-view.vue to TS Composition API | ||
| 4046 | oh-chart-tooltip: Add aggregate, calendar series support & Improve formatting for time series, mark area | ||
| 4048 | Widget params: Support defining default values for multiple options param | ||
| 4049 | Charts: Add UI configuration support for various options | ||
| 4050 | WidgetContext: Improve definition of optional properties | ||
| 4051 | Charts: Add fixed periods > one year & Aggregation dimension year | ||
| 4055 | useChart: Use computedAsync from vueuse instead of shallowRef/watch workaround | ||
| 4065 | oh-map-page & location picker: Make default map more colorful | ||
| 4069 | Things list: Add dynamic blue dot to status badges if status detail is set | ||
| 4078 | parameter-options: Increase label length limit for popover | ||
| 4090 | f7.dialogs/toast: Implement global helper promise methods | ||
| 4093 | Upgrade to @hey-api/openapi-ts 0.95.0 & Update OpenAPI spec | ||
| 4095 | Update setup wizard images | ||
| 4103 | Pages list: Separate sitemaps, Include unmanaged sitemaps & Copy file definition | ||
| 4111 | Support invoking multiple widget actions | ||
| 4115 | Add readonly mode for file-based pages and widgets | ||
| 4117 | Sitemap editor: Various improvements & replace UI DSL parsing/generation with REST calls | ||
| 4119 | Refactoring: DRY page type/icon handling | ||
| 4124 | Refactor dirty-mixin to TS composable | ||
| 4136 | Add Items from Textual Definition: Throttle parsing instead of debounce | ||
| 4139 | Update OpenAPI REST client | ||
| 4144 | Split Sitemaps and Pages into two different entries in the settings menu | ||
| 4162 | useChart & useWidgetAction: Ensure composables are fully reactive to props | ||
| 4164 | Upgrade to Vite 8 | ||
| 4166 | Add support for pulling OpenAPI spec from URL & Regenerate REST client | ||
| 4169 | Charts: Add option for showing display instead of raw state | ||
| 4171 | Align rule UID validation with core | ||
| 4173 | Channel list: Scroll to the bottom after "Select All" is clicked | ||
| 4174 | Sidebar Menu: Enable expanding/collapsing menu sections without requiring item selection | ||
| 4176 | Thing details: Add a link to the bridge when the bridge is offline | ||
| 4182 | useComponentsStore: Update declared type for pages & widgets | ||
| 4183 | Pages & Widgets list: Add list filters (editable/type/tags) | ||
| 4185 | Log Viewer: Make table columns resizable | ||
| 4186 | Code editor: Add Lezer-based syntax highlighting for Rules/Things/Items/Sitemap DSLs | ||
| 4197 | Support using file-based home page configuration and overview page | ||
| 4202 | Rule and RuleTemplate file format conversion | ||
| 4208 | Sitemaps list: Add editable filter | ||
| 4216 | Add µg/m³ unit hint for PM sensors
| ||
| 4218 | API Explorer: Enable tryItOutEnabled | ||
| 4231 | Add a widget catalog for tools like agents | ||
| 4234 | Semantic tag editor use conversion REST API | ||
| 4261 | Support interactive SVGs in floor plans | ||
| 4272 | Regenerate REST API client | ||
| 4278 | Add a chat interface to Main UI | ||
| 4281 | Add permission config to voiceSystem metadata editor | ||
| 4282 | Regenerate REST API client | ||
| 4317 | Chat page: Show a splash screen if no LLM-based HLI is available | ||
| 4321 | Setup wizard: Improve button labels & fill on intro page | ||
| Bug Fixes | 3626 | Set options on cronstrue to treat 1 as sunday | |
| 3627 | Charts: Fix oh-time-axis doesn't adjust begin/end for series with offset | ||
| 3642 | Fix groups not saved when adding points or equipment to model | ||
| 3647 | Fix blank screen if simple navbar is enabled | ||
| 3650 | Fix searchbar in binding selection when adding Thing | ||
| 3653 | oh-swiper: Don't set swiper-slide width to 100% | ||
| 3654 | Overview tab: Remove extraneous top space | ||
| 3656 | Script editor: Allow return outside functions/global return | ||
| 3658 | Fix sideffects in measurement/status badges | ||
| 3662 | Fix Main UI load fails if implicit user role is disabled | ||
| 3663 | Persistence health page: Fix invalid problem link | ||
| 3665 | generic-widget-component: Only bind $attrs to parent element | ||
| 3673 | Thing page: Fix Z-Wave network viewer action, thing action caching, action config groups | ||
| 3677 | oh-*-card widgets: Fix style applied to both oh-card and child component
| ||
| 3681 | Charts/Analyzer: Fix rotation issue | ||
| 3684 | Model: Fix JS error on Item selection | ||
| 3687 | oh-map/oh-plan: Fix various Leaflet related issues | ||
| 3705 | Transformation edit: Fix sheet not closed & Add tip for channel transformation | ||
| 3706 | Fix empty plusNanos() code generation
| ||
| 3707 | oh-knob: Fix circle not filled & Can't control Item with NULL/UNDEF state | ||
| 3709 | oh-video: Fix video.js player loading lifecyle | ||
| 3719 | oh-block/widget-mixin: Make code more robust to missing values | ||
| 3732 | Model: Fix expansion state reset on returning into model | ||
| 3733 | useModelStore: Ensure required elements are present when converting to ModelItem | ||
| 3741 | oh-list: Fix various issues when editing | ||
| 3748 | oh-colorpicker-item: Add missing space between colorpicker and toggle | ||
| 3749 | Developer sidebar: Fix expression tester doesn't display falsy values | ||
| 3750 | Fix stylesheet config not applied to oh-block, oh-grid-col, oh-grid-row | ||
| 3754 | oh-input: Fix reference to getVariableScope method | ||
| 3760 | oh-canvas-item: Fix 0 values for x, y, w, h config parameters ignored | ||
| 3761 | f7-list-group css: Fix style regression from grouped list indentation fix | ||
| 3775 | Prevent padding metadata value with space when value is missing | ||
| 3776 | useThingEditStore: Fix firmware data no reset if not available | ||
| 3778 | Ensure directives are at the top | ||
| 3779 | oh-canvas-item: Fix f7-swiper autoplay & Auto Size not working | ||
| 3780 | oh-repeater: Manually bind attributes | ||
| 3781 | widget-mixin: Fix JS error in childWidgetContext if widget not found | ||
| 3799 | oh-swiper: Fix children cannot be added | ||
| 3809 | Link details: Fix reactivity when invalid link removed | ||
| 3813 | Health overview: Fix orphan links/semantic problems visible without entries | ||
| 3815 | oh-plan/map-page: Fix stylesheets for leaflet pages | ||
| 3816 | Thing details: Add checkbox to display EXPERT thing actions | ||
| 3817 | oh-masonry: Fix style leak & Clean-up unused class from home | ||
| 3834 | parameter-options: Fixed issue with parameter of type BOOLEAN that has specified options | ||
| 3838 | Fix auto dark mode selection in Android app | ||
| 3860 | oh-canvas-item: Fix f7-swiper autoplay not working on initial page rendering | ||
| 3868 | Align x-axis and query to daysOfMonth for aggregated series | ||
| 3869 | zwave: Fix zwave network map display in 5.1.x | ||
| 3889 | item-state-preview: Fix toggle switch not being fully re-rendered on Item change | ||
| 3894 | useStatesStore: Fix error in expression tester with =items formula | ||
| 3914 | Item picker: Fix group list not updating when Item type filter changes | ||
| 3920 | useStatesStore: Set toString override for ItemState & Fix overflow in developer sidebar
| ||
| 3926 | Fix screen.viewAreaWidth and screen.viewAreaHeight not available in widget editor | ||
| 3928 | Fix Vue warns on semantic model pages | ||
| 3937 | items-detail: Fix back navigation when deleting item | ||
| 3955 | Fix duplicate page not working | ||
| 3958 | Charts: Fix add/subtract period doesn't account for different month lenghts | ||
| 3964 | widget-edit: Add missing horizontal padding to props dialog note | ||
| 3972 | useStatesStore: Fix incorrect type definition for TrackedItems | ||
| 3978 | oh-input: Fix value computation for variables | ||
| 3990 | oh-masonry: Fix missing oh-placeholder-widget | ||
| 3992 | Update OpenAPI REST client | ||
| 3995 | Item details: Eliminate whitespace in item title | ||
| 3996 | Fix framework7 menu pointer styling | ||
| 3998 | Home edit: Fix formatting issues | ||
| 3999 | oh-map-page: Update map on darkMode changes | ||
| 4005 | Charts: Correct type def for future parameter | ||
| 4009 | useWidgetContext: Fix issue where slots can be undefined | ||
| 4015 | oh-plan-page: Fix leaflet-div-icon CSS overwrite & Refactor marker code | ||
| 4016 | Thing inbox: Fix "Add as Thing" dialog width to adjust to button text size | ||
| 4017 | oh-stepper: Fix enableInput always shows 0 & Refactor to TS
| ||
| 4020 | Charts: Don't enable boundary & itemState for forecast charts | ||
| 4023 | Add Items from Thing: Fix expert mode code tab empty | ||
| 4026 | API explorer: Add basic auth support | ||
| 4028 | item-persistence-detail: Fix error when no persistence config is defined for a service | ||
| 4029 | connection-health-mixin: Adjust to hey-api usage | ||
| 4031 | Prevent widget popups accessing .slots from crashing | ||
| 4032 | Link edit: Fix link profile dirty issue | ||
| 4034 | Model: Fix channel link edit navigation broken | ||
| 4036 | list navigation: Fix middle-mouse button navigation | ||
| 4037 | Widgets: Transform prop parameter default value to parameter type | ||
| 4038 | Pages: Fix variables on (overview) page not working | ||
| 4047 | Config sheet: Fix defaultValues for multiple options parameter not applied | ||
| 4054 | oh-gauge-card: Fix sizing issue when action is set | ||
| 4057 | Fix incorrect use wrapper directive
| ||
| 4058 | Chart designer: Fix series list overflow | ||
| 4060 | Blocks: Fix links in block-list | ||
| 4061 | useWidgetContext: Fix not (fully) reactive to context input
| ||
| 4073 | Analyzer: Fix axis split applying incorrect values | ||
| 4074 | Widget config: Fix multiple options param with no selected opts not set | ||
| 4106 | Revert "list navigation: Fix middle-mouse button navigation (#4036)" | ||
| 4109 | list-navigation: Fix middle-mouse navigation | ||
| 4112 | useStatesStore: Reactivity fixes | ||
| 4121 | Code editor: Fix vim save | ||
| 4122 | oh-input: Fix parts of value appended as unit for complex formatted states | ||
| 4123 | Model page: Fix subnavbar icon color for filled theme | ||
| 4128 | Setup Wizard: Fix add-on search in description | ||
| 4131 | Add-on store: Make back link return to Thing details / choose binding | ||
| 4133 | Fix rule module reordering bug | ||
| 4134 | Widget edit: Don't cache expressions in edit mode & throttle rerender on input | ||
| 4140 | API explorer: Line up the response code, description, details & links | ||
| 4160 | useThrottleFn: Configure useThrottleFn to guarantee function is executed | ||
| 4163 | Charts: Fix inconsistencies with week/weekday fixed to start on Sunday vs. depending on locale
| ||
| 4165 | Fix token auth on SSE reconnection | ||
| 4167 | item-form: Allow copying of fields in list-input in model-detail-pane when disabled | ||
| 4170 | WebSocket util: Unify close/cleanup logic | ||
| 4175 | Items list: Fix virtual-list rendering on hard refresh | ||
| 4184 | Disable UPPERCASE capitalization of f7-button text | ||
| 4194 | Fix log dock obscuring the unpinned side menu | ||
| 4195 | Fix app drawer when dev sidebar is open | ||
| 4210 | Sitemap edit: Various fixes | ||
| 4229 | Log viewer: Fix dock y-overflow when window height is reduced | ||
| 4230 | Log viewer: Fix details popup looses data on buffer overflow | ||
| 4233 | Code editor: Add input to globals for JS linter
| ||
| 4256 | Widget edit: Fix defineVars not working | ||
| 4259 | Code tabs: Fix incorrect heights & Cleanup v-codemirror styling | ||
| 4260 | Fixes for navbar on mobile | ||
| 4262 | Charts: Handle Day.js localized formatting errors | ||
| 4263 | Analyzer: Fix diff_last/diff_first aggregations selection & Update ChartType.week label | ||
| 4266 | Semantic tag editor: Fix missing copy & revert buttons on narrow screens | ||
| 4269 | Sitemap editor: Minor fixes | ||
| 4279 | Properly support read-only block libraries | ||
| 4280 | Sitemap Editor: Allow empty values in rules and mappings | ||
| 4292 | Fix scrolling of "Copy File Definition" popup on narrow screens & Fix DSL "but only if" syntax highlighting | ||
| 4296 | Rules list: Resurrect RUNNING status | ||
| 4297 | Developer sidebar: Fix duplicate keys in events list v-for | ||
| 4299 | Fix tabbed page navigation issues | ||
| 4300 | Rule edit: Update rule code when the source changes | ||
| 4306 | Log viewer: Fix log-viewer-card class style not applied | ||
| 4308 | Block library editor: Fix blocks not refreshed on code change | ||
| 4309 | Various safe area fixes | ||
| 4313 | Setup wizard: Fix persistence strategy selection showing invalid translations | ||
| 4314 | oh-nav-content: Fallback to localised backLink label | ||
| 4316 | Add-ons store: Fix sections tab bar not displaying current tab | ||
| 4320 | useWidgetAction: Fix actionConfirmation config obj regression | ||
| 4322 | Fix oh-context variables no longer defined or scoped |
Add-ons
| Add-on | Type | Issue | Change |
|---|---|---|---|
| ahawastecollection | Enhancements | 19834 | Add christmasTree channel
|
| Bug Fixes | 20417 | Fix upgrade instructions | |
| airparif | Bug Fixes | 20242 | Resolve DepartmentDb loading error when already initialized |
| 20357 | Fix NullPointerException on startup
| ||
| 20370 | Remove pollens | ||
| 20438 | Fix NullPointerException in pollutant concentrations
| ||
| airq | Enhancements | 20146 | Add Radon sensor and correct spelling mistake |
| 20448 | Add mDNS auto-discovery for air-Q devices | ||
| amberelectric | Bug Fixes | 20956 | Code Improvements |
| ambientweather | Enhancements | 20159 | Change ambient server domain |
| androidtv | Bug Fixes | 19985 | Add configuration option skipPowerRefresh
|
| 20845 | Fix color conversion in setAmbilightPixel | ||
| astro | Enhancements | 19789 | Add Circadian light |
| 19830 | Refresh zodiac handling | ||
| 19875 | Refresh SeasonCalc and add icon package | ||
| 19949 | Switching radiation to immutable and Instant | ||
| 19974 | Refactor Moon Distance | ||
| 19981 | Add solar midnight event | ||
| 20007 | Adds dynamic icons for Sun Eclipses | ||
| 20063 | Tweak sun and moon position classes | ||
| 20066 | Adds moon_day and moon_phase icon sets | ||
| 20077 | Review Eclipses calculations | ||
| 20104 | Rework Moon Phase calculations | ||
| 20138 | Factor standard Meeus calculations | ||
| Bug Fixes | 19843 | Don't attempt to publish state to trigger channels on linked | |
| 19982 | Fix premature event scheduling | ||
| 20078 | Refactor event scheduling | ||
| 20085 | Fix circadian luminosity bounds | ||
| automower | Bug Fixes | 19959 | Fix NullPointerException for POI mode
|
| avmfritz | Bug Fixes | 20071 | Fix unit for energy values while polling |
| 20330 | Filter invalid energy values in high refresh polling | ||
| bambulab | Enhancements | 20234 | Add layer-total channel
|
| 20607 | Add support for tray type: ASA-CF | ||
| 20670 | Add support for PLA-S | ||
| basicprofiles | Enhancements | 19753 | Add time-weighted average profile |
| 20423 | Add precision parameter to Round Profile
| ||
| 20559 | Support DateTime in round profile | ||
| 20929 | Add State Delay profile | ||
| bluetooth | Enhancements | 20880 | Support custom GATT specifications via a configurable folder |
| bluetooth.bluez | Enhancements | 20926 | Bump bluez-dbus-osgi to 0.3.5 |
| Bug Fixes | 20434 | Fix exception when stopping Thing | |
| 20882 | Fix BlueZ GATT service discovery for slow/reconnecting devices | ||
| 20903 | Recover BlueZ devices after object removal | ||
| boschshc | Enhancements | 19956 | Support Door/Window Contact II [+M] |
| 19960 | Support Radiator Thermostat II (with and w/o Matter) | ||
| 20139 | Support TemperatureOffset service for thermostats | ||
| broadlink | Bug Fixes | 20643 | Fix RM4 Pro RF frequency learning logic |
| chatgpt | Enhancements | 20408 | Add configurable request timeout |
| 20513 | Add HTTPS support | ||
| 20566 | Intercom: Add WebRTC sidecar foundation and wiring | ||
| 20567 | Intercom: Add SIP baseline and call-state channels | ||
| 20568 | Intercom: Add SIP call-control servlet delegation | ||
| 20569 | Intercom: Add SIP SDP parser package and tests | ||
| 20570 | Intercom: Final SIP relay lifecycle wiring | ||
| 20628 | Use DHIP invite for SIP button mapping | ||
| 20681 | Multi-client SIP handling and WebRTC session routing | ||
| 20692 | Restore snapshots and enforce retention | ||
| 20759 | Extend snapshot handling and align WebRTC URL | ||
| daikin | Bug Fixes | 20957 | Implement code improvements |
| danfossairunit | Bug Fixes | 20533 | Fix TCP read handling and improve value parsing precision |
| deconz | Bug Fixes | 20963 | Calculate the correct channel value for soil moisture |
| dirigera | Enhancements | 20123 | Support IKEA devices based on Matter standard |
| 20484 | Add matter plugs | ||
| 20691 | Add device set support | ||
| Bug Fixes | 20184 | Bugfix startup synchronization | |
| 20404 | Avoid permanent discovery warnings | ||
| 20421 | Bugfix illuminance measurements | ||
| easee | Enhancements | 20176 | Add ability to retrieve total consumption per user |
| 20891 | Fix offline detection and recovery on connection loss | ||
| Bug Fixes | 20189 | Adopt allowed values for currents since easee also allows 1-5A. | |
| ecoflow | Bug Fixes | 20442 | Fix NullPointerException in discovery service
|
| ecovacs | Enhancements | 20016 | Catch more exceptions when parsing vacuum data |
| Bug Fixes | 20017 | Fix device definition for T50 PRO OMNI | |
| ecowatt | Enhancements | 20282 | Handle HTTP error 500 more gracefully |
| electroluxappliance | Bug Fixes | 20452 | Fix sendCommand() rejecting HTTP 202 Accepted responses |
| 20453 | Fix commands reverting immediately due to premature state refresh | ||
| 21055 | Fix bridge going offline after restart | ||
| energidataservice | Enhancements | 19553 | Add support for hourly spot prices as calculated average |
| 19917 | Add semantic tags for prices | ||
| Bug Fixes | 20899 | Consider Retry-After header
| |
| enocean | Enhancements | 19614 | Add proper constraint for serial port path parameter
|
| 20218 | Add generic state machine infrastructure | ||
| 20219 | Add FSB14 blind control with state machine | ||
| 20230 | Add explicit senderId support for RS485 actuators | ||
| 20235 | Add injector pattern to emulate sensors for Eltako bus actuators | ||
| Bug Fixes | 20024 | Fix SenderIdOffset issue during teach-in | |
| 20449 | Refactor transceiver receiver | ||
| 20791 | Restore datagram injector outbound telegrams | ||
| entsoe | Bug Fixes | 19867 | Fix XML error handling |
| epsonprojector | Enhancements | 20474 | Update powerstate when Thing is offline |
| 20852 | Add password authentication | ||
| evcc | Enhancements | 19822 | Add plan thing, make repeating plans and one-time vehicle plans configurable |
| 20008 | Add forecast thing for storing forecast data from evcc | ||
| 20309 | Battery values are not shown anymore | ||
| 20406 | Migrate vehicle Thing property | ||
| Bug Fixes | 20500 | Fix ClassCastException when battery is null
| |
| evohome | Bug Fixes | 20298 | Fix deprecated Honeywell URL |
| fineoffsetweatherstation | Enhancements | 20483 | Add PM1, PM4 measurements and battery level for WH46 |
| 20795 | Add support for WS85 sensor | ||
| 20915 | Add support for new sensors | ||
| 20916 | Add Ecowitt HTTP API support | ||
| 20928 | Add 10-min avg wind direction and 24h rainfall | ||
| 20941 | Add WN38 black globe sensor and fix lightning distance in miles | ||
| Bug Fixes | 20942 | Fix dynamically created channels disappearing | |
| 21000 | Fix false low battery for voltage sensors on HTTP API | ||
| freeathome | Bug Fixes | 21065 | Fix periodic WebSocket disconnect in ping keep-alive mode |
| freeboxos | Bug Fixes | 20280 | Review WebSocketManager to avoid IllegalStateException |
| 20611 | Mark unknown freeplug mac as OFFLINE | ||
| fronius | Enhancements | 19994 | Improve logging in FroniusSymoInverterHandler |
| 20378 | Replace global request lock with per‑bridge locking and non‑blocking polling | ||
| 20650 | Add battery Thing type
| ||
| froniuswattpilot | Enhancements | 20103 | Upgrade wattpilot4j to 2.3.0 & OSGi-ify it |
| 20609 | Add channel to control authorization state | ||
| Bug Fixes | 20711 | Fix disposal and increase thread-safety of reconnectJob scheduling | |
| gardena | Bug Fixes | 21058 | Fix reconnection logic |
| googletts | Bug Fixes | 20701 | Fix NullPointerException when API returns error response
|
| govee | Bug Fixes | 20984 | Fix NullPointerException in discovery for non-scan and malformed packets
|
| gpstracker | Enhancements | 20804 | Improve Owntracks Android ≥ 2.5.x support |
| gridbox | Enhancements | 19808 | Enable authentication with E.ON API client #19772 |
| groheondus | Enhancements | 20615 | Add Sense Guard pause duration channel |
| groovyscripting | Enhancements | 20143 | Upgrade Groovy to 4.0.30 |
| 20495 | Upgrade Groovy to 4.0.31 | ||
| Bug Fixes | 19587 | For enum values do import static
| |
| hdpowerview | Enhancements | 20630 | Update shade database |
| heliosventilation | Bug Fixes | 20475 | Correct channel id typo for adjustInveral
|
| heos | Bug Fixes | 20025 | Fix decoding of favorite names |
| 20514 | Fix RuntimeException during initialization
| ||
| homeassistant | Enhancements | 20225 | Support device-level configuration |
| homeconnect | Enhancements | 20733 | Add cleaning robot support |
| Bug Fixes | 20993 | Fix bridge access after handler disposal | |
| homekit | Bug Fixes | 20796 | Improve stability against NullPointerException
|
| 20801 | Fix representation property. Fix config auto-update | ||
| homekit.binding | Enhancements | 20035 | Add camera snapshot channel |
| 20212 | Increase maximum permitted HTTP content length | ||
| Bug Fixes | 19965 | Support bridges with hardware embedded accessory things | |
| 20004 | Improve thread synchronization | ||
| 20034 | Fix UoM for state updates | ||
| 20052 | Fix HTTP Host Header | ||
| 20083 | Support accessory Things that have children | ||
| 20106 | Improve I/O streaming | ||
| 20183 | Suppress discovery of accessories with 'null' ip address | ||
| 20245 | Clean handler state if configuration changes | ||
| homekit.io | Enhancements | 20213 | Add AirPurifier accessory |
| homematic | Bug Fixes | 19932 | Properly consider special values in DP value validation |
| 19975 | Convert to use AbstractStorageProvider | ||
| 20658 | Set status description if software update pending | ||
| 20790 | Fix deadlock on stopping discovery | ||
| 20850 | Fix gateway deadlock on reconnect when handling newDevices | ||
| homewizard | Enhancements | 19967 | Add support for the system API |
| hue | Enhancements | 19838 | Support new Bridge Pro features |
| 20380 | Support API v2 motion and light sensor groups | ||
| 20400 | Fix bridge certificate handling | ||
| 20456 | Support Zigbee Green Power connectivity state | ||
| 20459 | Add support for button long_press events
| ||
| 20498 | Support software updating | ||
| 20520 | Add support for service groups | ||
| Bug Fixes | 20439 | Remove TTL from discovery results | |
| hueemulation | Enhancements | 19922 | Add support for semantic model |
| 19948 | Upgrade JUPnP to 3.0.4 | ||
| 20930 | Map semantic equipment tags to archetypes | ||
| Bug Fixes | 20075 | Fix group creation/deletion | |
| 20917 | Preserve brightness precision for low dimming levels | ||
| huesync | Bug Fixes | 20512 | Scheduled runnable ended with an exception |
| iaqualink | Enhancements | 17671 | Add Support for AWS MQTT based IAqualink devices, such as Zodiac Hydroxinator |
| Bug Fixes | 20638 | Fix updates to Filter_Pump/Production | |
| icalendar | Enhancements | 20150 | Add location channels to read the location field of events |
| icloud | Enhancements | 20672 | Implement iMessage/SMS-based 2FA verification codes |
| influx | Enhancements | 20724 | Upgrade dependencies |
| influxdb | Enhancements | 20654 | Move keep() after ordering/pagination for ~1000x query performance improvement |
| Bug Fixes | 20885 | Fix InfluxDB 2 selectors and pagination on multi-series measurements | |
| intesis | Bug Fixes | 20401 | Correctly handles empty enum message |
| 20471 | Fix type collision | ||
| ipobserver | Enhancements | 20734 | Filter out bad sensor values from low battery or corrupt RF packets. |
| ipp | Bug Fixes | 19915 | Prevent NullPointerException if printer UUID is missing
|
| jablotron | Bug Fixes | 20256 | Fix parsing blank event date |
| jdbc | Enhancements | 19925 | Upgrade MySQL Connector/J to 9.5.0 |
| 20722 | Upgrade dependencies | ||
| jellyfin | Enhancements | 18628 | Add support for server versions > 10.8 |
| jpa | Bug Fixes | 19995 | Fix querying of DimmerItems |
| 20645 | Don't rollback failed transactions | ||
| jrubyscripting | Enhancements | 20951 | Upgrade to JRuby 10.0.6.0 |
| Bug Fixes | 20227 | Fix karaf console command newline | |
| jsscripting | Enhancements | 20440 | Implement debugger support |
| 20908 | Upgrade to openhab-js 5.18.2 | ||
| Bug Fixes | 20435 | Fix incorrect line numbers in JS stacktrace due to code injection | |
| 20853 | Prevent deadlock in ThreadsafeSimpleRuleDelegate | ||
| 21042 | Await activation of OSGiScriptExtensionProvider before registering ScriptEngineFactory | ||
| kaleidescape | Enhancements | 20485 | Update readiness_state when Thing is offline |
| 20789 | Implement search channel | ||
| Bug Fixes | 20809 | Fix EOTF mapping | |
| knx | Enhancements | 20332 | Show raw ASDU as hex string |
| 20718 | Upgrade to Calimero 3.0-M2 | ||
| 20740 | Allow disabling device polling | ||
| kostalinverter | Enhancements | 20466 | Fix autoreconnect after network outage |
| lgthinq | Bug Fixes | 21021 | Enforce uppercase manualCountry being send
|
| lgwebos | Bug Fixes | 20925 | Fix thing status description |
| lutron | Bug Fixes | 19886 | Fix infinite loop in switch status update |
| mapdb | Enhancements | 20153 | Improve shutdown handling and add tests |
| matter | Enhancements | 19386 | Add support for door lock bolting (EU style locks) |
| 19896 | Add pushAsActive parameter for the OTBR pushDataset action
| ||
| 19897 | Add Smoke, CO and CO2 client device support | ||
| 20009 | Implement all concentration measurement clusters | ||
| 20070 | matter.js V0.16, Matter 1.4.2, OTA Update support | ||
| 20257 | Remove most polling | ||
| 20816 | matter.js 0.17 and various fixes | ||
| 21088 | Upgrade matter.js to 0.17.4 | ||
| Bug Fixes | 20096 | Map JS undefined to Java Null | |
| 20229 | Add missing Diagnostic Clusters | ||
| 20291 | Fix roller shutter percentage conversion | ||
| 20382 | Fixes various OTA updates bugs | ||
| 20384 | Report correct Illuminance Measurement Value | ||
| 20604 | Deduplicate request data calls | ||
| 20788 | Map contact sensor channels correctly | ||
| 20901 | Handle matter.js 0.17 file locking | ||
| 20904 | Fix very slow things initialization (Thread devices) | ||
| 20905 | Fix Thread device commissioning regressions (matter.js 0.17) | ||
| 20907 | Fix zombie matter.js Node process on restart | ||
| 21076 | Fix crash for some Thread devices | ||
| melcloud | Enhancements | 18850 | More data from the cloud |
| mercedesme | Enhancements | 20555 | Add new charge status options for newer vehicles |
| Bug Fixes | 20249 | Door lock status bugfix | |
| 20468 | Adjust logging | ||
| meross | Bug Fixes | 20939 | Fix mqtt cloud connection fallback |
| meteofrance | Bug Fixes | 20263 | Avoid false assumption that rain forecast is provided |
| mideaac | Enhancements | 20665 | Add Midea Dehumidifier to Midea AC binding |
| Bug Fixes | 20065 | Add Fan Speed Option for Version 3 | |
| miio | Enhancements | 20775 | QR, Captcha, 2FA cloud login method enhancements. |
| Bug Fixes | 20776 | fixing lint issues in on readme | |
| mikrotik | Enhancements | 20507 | Add PoE support |
| 20661 | More interface support and ability to disable interfaces. | ||
| misc | Enhancements | 20174 | Add semantic tags for prices |
| 20200 | getItemInfo enhancement | ||
| 20294 | Add mac-address context for configuration parameters
| ||
| 20323 | Change deprecated required element to attribute
| ||
| Bug Fixes | 20217 | Allow sub-bindings to be found in UI Add-on Store | |
| 20554 | Prevent duplicate event listeners | ||
| modbus.lambda | Enhancements | 19835 | Add handling DWord-Swapping for VdaE and VdAQ |
| 20596 | Fix unit of volumetric flows in heatpump part | ||
| Bug Fixes | 19901 | Fix inconsistencies in three channel id's | |
| 19928 | Prevent overwriting modbus binding details | ||
| modbus.stiebeleltron | Bug Fixes | 19951 | Fix ability to change hotwater temperatue setpoints |
| modbus.sungrow | Enhancements | 18364 | Add support for more registers |
| mongodb | Enhancements | 20725 | Upgrade dependencies |
| mspa | Enhancements | 20629 | Improve token error handling |
| mynice | Bug Fixes | 20205 | Enable legacy TLS protocols |
| myuplink | Bug Fixes | 19906 | Fix support for decimal commands |
| netatmo | Enhancements | 20286 | Avoid sending refresh requests twice |
| 20287 | Use cache for event update requests | ||
| 20296 | Potential redundancies in Capability tree | ||
| 20315 | Simplify time zone handling for Home/Weather Station | ||
| Bug Fixes | 18029 | Enforce API reconnect delay | |
| 20254 | Solving IAE in CameraCapability | ||
| 20314 | Avoid rushing server APIs | ||
| nuvo | Bug Fixes | 21049 | Fix encoding of accented characters |
| opengarage | Enhancements | 20980 | Move to jetty httpclient and other small improvements |
| openhabcloud | Enhancements | 20238 | Handle WebSocket connections to server |
| 20486 | Add webhook service | ||
| 20748 | Provide core WebhookService | ||
| Bug Fixes | 20247 | Fix bugs and add logging related to notification actions | |
| openweathermap | Enhancements | 20180 | Add unit hints for pollution channels |
| 20794 | Add TimeSeries support for Air Pollution forecast data | ||
| 20799 | Add UV-Index to hourly forecast with TimeSeries | ||
| oppo | Enhancements | 20488 | Set playback status channels to UNDEF when Thing is off or offline |
| panasonicbdp | Enhancements | 20489 | Update player-status when Thing is offline |
| paradoxalarm | Enhancements | 20679 | Add panel system trouble channels |
| 20744 | Add SYNC_TIME command to sync panel clock on demand | ||
| Bug Fixes | 20678 | Fix binding not polling data correctly after restart | |
| 20934 | Fix channel-type UID collision across thing types | ||
| pihole | Bug Fixes | 20394 | Discrepencies between dashboard and channels |
| pipertts | Enhancements | 20201 | Add quality to UID/label & Code improvements |
| 20292 | Upgrade to Piper 1.4.1 & Download from JFrog | ||
| Bug Fixes | 20362 | Fix dependency unpack on Windows | |
| powermax | Bug Fixes | 20708 | Improve scheduled job handling |
| pythonscripting | Enhancements | 20289 | Simplify configuration and update helper lib to version 1.0.18 |
| 20443 | Implement debugger support | ||
| radiothermostat | Enhancements | 20207 | Implement remote temperature deadband |
| Bug Fixes | 20134 | Fix thermostat schedule error handling | |
| renault | Enhancements | 20773 | Several improvements related to updating channels/documentation |
| Bug Fixes | 20573 | Fix hvac start data format bug | |
| 20769 | Consolidate EU Gigya API key into shared constant | ||
| ring | Enhancements | 20152 | Add support for snapshots from camera devices |
| 20226 | Add status and control of light and siren functionality for supported devices | ||
| 20352 | Add extended description of events | ||
| 20521 | Add 'open door' functionaility of the Ring Intercom | ||
| 20539 | Add support for toggling 'Motion Detection' to supported stickup cams and doorbells | ||
| 20572 | Detect dual batteries and report status correctly | ||
| Bug Fixes | 20166 | Fix download of videos | |
| 20167 | Fix rediscovery of objects | ||
| 20285 | Fix ShutdownNow() invoked on a shared thread pool 'ring' | ||
| 20797 | Fix intercom battery level | ||
| 20943 | Fix multiple stability issues | ||
| roborock | Enhancements | 19916 | Add available routines as options on the actions#routine channel |
| 20284 | Add Roborock map rendering support | ||
| 20731 | Add local protocol support and refresh controls | ||
| 20847 | Add support for Roborock Q7 vacuums | ||
| 20895 | Add basic support for the Roborock Q10 vacs | ||
| Bug Fixes | 19831 | Fix update after disposal | |
| 20013 | Fix login for accounts not yet upgraded to new authentication protocol | ||
| 20022 | Fix warning about invalid channel fw-features
| ||
| 20023 | Fix NullPointerException
| ||
| 20028 | Fix rediscovery of existing vacuum Things
| ||
| 20046 | Fix Room mapping channel | ||
| 20111 | Fix status#clean-area channel | ||
| 20192 | Fix NumberFormatException when handling REFRESH
| ||
| 20457 | Fix JsonSyntaxException
| ||
| 20599 | Avoid exception during discovery | ||
| 20920 | Fixes for Q7/Q10 robots | ||
| roku | Enhancements | 20090 | Refactor discovery to use UPnP |
| 20110 | Improve refresh job timing | ||
| 20490 | Update powerState when TV is offline | ||
| 20561 | Improve polling for TV status | ||
| Bug Fixes | 20208 | Unable to connect via host name | |
| sbus | Enhancements | 20693 | Add DateTime thing and allow on/off commands for color-channel |
| sensebox | Enhancements | 20188 | Add unit hints for air pollution channels |
| senseenergy | Bug Fixes | 20482 | Implement dirty on senseDevices to limit number of thing updates |
| sensibo | Bug Fixes | 20169 | Fix initialization for half-included devices |
| sensorcommunity | Enhancements | 20369 | Add radiation sensor |
| shelly | Enhancements | 20268 | WebSocket keep alive for Gen2+ devices staying always connected |
| 20632 | Add support for Shelly Plug M Gen3 | ||
| 20813 | Add support for Shelly Plug US Gen4 and Plus Plug CPM (Gen4) | ||
| 20856 | Add support for Shelly Pro Dimmer 2PM (SPDM-002PE01EU) | ||
| 20888 | Refactor initialization of boolean variables | ||
| 20945 | Provide unit hints for UoM channels | ||
| 20967 | Add support for Shelly BLU Motion ZB, BLU H&T Display ZB, BLU For/Window ZB, BLU Remote ZB | ||
| Bug Fixes | 19229 | Improve error handling for Gen1 (CoAP/CoIoT) | |
| 19894 | Fix NullPointerException for PM Mini updates
| ||
| 19969 | Refactor ShellyManagerCache cleanup | ||
| 20069 | Fix Shelly2RpcSocket concurrency issues | ||
| 20248 | Fix "duplicate id" in device log | ||
| 20336 | Misc fixes on ApiResult handling | ||
| 20347 | Fix DST issue | ||
| 20396 | Improve stability through better thread safety | ||
| 20409 | Fix thing lookup for inbound Gen2+ if FQDN name is used as device address | ||
| 20463 | Do not create WebSocket for Gen2 battery devices | ||
| 20562 | Fix state check when Gen2 battery device is online on API request | ||
| 20811 | Power Meter related descriptions and units fixed | ||
| 20886 | Fix BLU event reception after WiFi disconnect of gateway device | ||
| 20932 | Fix stopping sensor updates when using combo sensor connected to Shelly Addon | ||
| 20965 | Fix Shelly Plug S Gen 2 discovery | ||
| 20995 | Fix addon sensor read errors causing spurious 0 °C spike | ||
| 21031 | Add BLU packet time threshold | ||
| siemensrds | Bug Fixes | 20747 | Fix url escaping |
| smhi | Enhancements | 20642 | Use parameter API endpoint |
| Bug Fixes | 20591 | Fix channel thunderstorm_probability scale
| |
| snmp | Enhancements | 20835 | Upgrade to snmp4j 3.10.0 |
| solaredge | Bug Fixes | 20216 | Fix EOFException during temporary internet connection loss (Live Data polling) |
| solarman | Bug Fixes | 20113 | Fix definition for Deye SG01HP3 |
| 20303 | Improve writing to Solarman registers | ||
| solax | Enhancements | 20660 | Add missing channels for X1 Hybrid G4 inverter |
| Bug Fixes | 20675 | Add handler integration tests and fix missing X3 Mic/Pro G2 temperature channels | |
| somfytahoma | Enhancements | 20432 | Add closure channel and scaling for RS100 shutter motors |
| sonnen | Enhancements | 20337 | Enable battery discharge to grid, add channel to vary battery charge/discharge rate |
| sonos | Bug Fixes | 20815 | Remove undocumented Contact command support
|
| sunsynk | Bug Fixes | 20431 | Token refresh method changed to account sign in |
| synopanalyzer | Enhancements | 20193 | Add IconProvider |
| systeminfo | Enhancements | 20558 | Upgrade oshi-core to 6.11.1 |
| Bug Fixes | 20543 | Fix storage name reporting | |
| 20544 | Prevent noisy hostname-resolution logging | ||
| tado | Enhancements | 19766 | Add rate limit info channels |
| Bug Fixes | 21022 | Fix NullPointerException causing binding to stop refreshing
| |
| tapocontrol | Enhancements | 19924 | Add TP-Link HS200 Kasa Smart Wi-Fi Light Switch |
| 20320 | Recover automatically from expired KlapProtocol session | ||
| tasmotaplug | Bug Fixes | 20109 | Fix command mapping for power channel 3 |
| telegram | Enhancements | 20765 | Persist message and callback IDs across restarts |
| teleinfo | Enhancements | 18738 | Add support for D2L wifi dongle |
| tesla | Enhancements | 20144 | Add a new "share" channel for setting navigation destinations |
| 20737 | Add representation property information | ||
| 20892 | Improve OFFLINE status description | ||
| teslapowerwall | Bug Fixes | 20979 | Fix for binding staying offline after 401 and other small changes |
| teslascope | Enhancements | 20461 | Support Personal Access Tokens in lieu of apikey |
| Bug Fixes | 20045 | Fix rediscovery of existing vehicle Things
| |
| 20557 | Improve handling of http 500/502 errors | ||
| 20944 | Fix multiple bugs and stability improvements | ||
| tibber | Enhancements | 20699 | Introduce history values |
| tivo | Enhancements | 20787 | Implement search channel |
| transform.vat | Enhancements | 20191 | Update rates |
| tuya | Enhancements | 20428 | Add missing "bitmap" DS type |
| 20580 | Add configurable TCP port | ||
| 20680 | Improve protocol 3.1 decryption detection | ||
| 20760 | Improve handling of battery devices | ||
| 20836 | Immediate discover after cloud login | ||
| 20940 | Improve channel categories | ||
| Bug Fixes | 19930 | Avoid refresh if there are no measurables | |
| 20042 | Remove extraneous toLowerCase | ||
| 20617 | Fix unitHint set on non-dimension item types | ||
| 20933 | Percent channels can be dimmers | ||
| 20937 | Always update Channel list when initializing Things | ||
| 21040 | Avoid leaking polling jobs | ||
| unifi | Enhancements | 20598 | Unifi family of addons |
| Bug Fixes | 20534 | Fix for CSRF error on Unifi OS | |
| unifiprotect | Enhancements | 20480 | Private API Refactor |
| Bug Fixes | 19882 | Various fixes | |
| 19968 | Fix camera and doorbell motion events | ||
| 20107 | Don't recreate RTSP streams | ||
| velbus | Enhancements | 19919 | New functionality & Bug fix |
| Bug Fixes | 20151 | Fix system types in update instructions | |
| verisure | Bug Fixes | 20353 | Fix NullPointerException for specific case in climate devices
|
| vesync | Bug Fixes | 20236 | Add auth V2 support |
| viessmann | Enhancements | 20300 | Refactor channel commands and add units |
| Bug Fixes | 19942 | Fix parsing of unit milliAmpere | |
| 19970 | Fix parsing of unit KiloJoule | ||
| 19973 | Fix ViessmannAccountHandler tried updating when disposed | ||
| 19983 | Fix parsing of unit cubic meters per hour | ||
| 20411 | Fix parsing of unit Seconds | ||
| vigicrues | Enhancements | 20264 | Adapt to new vigicrues api |
| visualcrossing | Bug Fixes | 19931 | preciptype is a list of strings not a single value
|
| volvooncall | Bug Fixes | 20784 | Fix thing status text |
| wlanthermo | Bug Fixes | 20842 | Deprecations |
| wled | Bug Fixes | 20345 | Fix discovery inbox entry matching existing things |
| 20427 | Fix segment discovery inbox auto remove | ||
| xmppclient | Bug Fixes | 20220 | Fix bundle load |
| 20524 | Fix xml parse and muc | ||
| yamahamusiccast | Bug Fixes | 19895 | Fix NPE/instability on UDP state update |
| Zigbee | Enhancements | 923 | Provide serial speed options for 230k and 460k for Ember |
| 928 | Add network backup support to data store | ||
| 935 | Increase maximum configurable Ember power to 20dBm | ||
| Bug Fixes | 929 | Update On/Off Cluster configuration definition | |
| ZWave | Enhancements | 2010 | Add reactive power and energy channel types |
| 2012 | Add support for Z-Wave Meter Command Class v4+ scale 8 | ||
| 2015 | Migrate controller & device node actions from config actions to Thing actions | ||
| 2020 | Refactor ZWave node actions to return status messages | ||
| 2021 | Add device actions; replace failed node and ping node | ||
| 2022 | Add Refresh Channel Thing Action | ||
| Bug Fixes | 2016 | Correct the device Action IsFailedNode | |
| zwavejs | Bug Fixes | 19934 | Keep properties up-to-date (especially lastSeen) |
| 20402 | Fix connection recovery |
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.2 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
- Use SSH to connect to the command line and run
sudo openhabian-config. - When being asked, answer that you want to update openHABian (note that’s not about openHAB itself).
- If on Raspberry, it's optional but recommended to create an image copy of your SD card using menu option 54.
- Switching to openHAB 5.2.0 release depends on what version you’re upgrading from:
a) If you have been running a 4.x or 5.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.x, 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 upgradeAlternatively, you can force apt to install 5.2.0 and its optional add-ons with:
sudo apt-get install openhab=5.2.0-1
## optional add-ons for offline installation ##
sudo apt-get install openhab-addons=5.2.0-1
RPM
openHAB is also distributed in RPM packages. To use them, make sure that openHAB is sourced from the latest location, and has the correct GPG signing key for verification by following the stable installation instructions outlined in the docs.
If the above is correct, then simply upgrade using your systems package manager (yum, dnf, etc.)
sudo yum updateAlternatively, you can force apt to install 5.2.0 and its optional add-ons with:
sudo yum install openhab-5.2.0-1
## optional add-ons for offline installation ##
sudo yum install openhab-addons-5.2.0-1
Manual Installations
Official update scripts are available that let you update your 5.x installation to version 5.2:
Linux/macOS
- Change to your openHAB root directory (e.g.
cd /opt/openhab) - Create a backup by calling
sudo ./runtime/bin/backup. - Run the update command:
sudo ./runtime/bin/update 5.2.0
Windows
- Make a backup of your openHAB installation folder.
- Run PowerShell as administrator and change to your openHAB root directory (e.g.
cd C:\openHAB) - Run the update command:
. .\runtime\bin\update.ps1
Update-openHAB -OHVersion 5.2.0
Breaking Changes that Require Manual Interaction after the Upgrade
Changes in Core
- Persistence extensions with QuantityType as input now return results in the item unit or logically derived unit instead of the system unit. This may require changes to rules if you relied on the return values to be in the system unit.
Changes in Main UI
- oh-canvas-items now use 100% of the height their bounding box and center vertically in that bounding box. While this fixes incorrect behaviour, it might change the appearance of your oh-canvas-layout pages. In that case, you need to adjust the bounding boxes through their resize handles.
- oh-category-axis startOnSunday parameter has been removed. For chartType = week, the chart will either start on Sunday or on Monday depending on your locale. For chartType = isoWeek, the chart will always start on Monday.
Changes in Add-ons
AhaWasteCollection Binding
- A typo was corrected in the lightweight channel id, you may need to correct your configuration.
AirParif Binding
- Due to API evolutions pollens related information have been removed. They are now provided by Atmo France Binding.
Corona Stats Binding
- Due to EOL of the website, this add-on has been removed.
Matter Binding
- Contact sensors have now a contact-statevalue (mapping to Contact items) instead of the previous booleanstate-statevalue (mapping to Switch items).
Xiaomi Wifi devices (Mi IO) Binding
- Cloud login details have been depreciated at binding level. Add a new Cloud Connector Thing to to login with QR or userId.
MongoDB Persistence
- Support for database 3.6.x has been dropped. The add-on requires database version 4.0 or later.
MyBMW Binding
- Due to BMW security changes, this add-on does not work anymore and has been removed.
Piper TTS Voice
- Voice UIDs now contain the model quality. You need to setup your default voice again and adjust your rules & scripts for the changed voice UIDs.
Teleinfo Binding
- This binding has been rewritten to support the D2L ERL dongle. As a result, channels and channel types have changed, so you may need to recreate your Things and update your configuration.