This is the official release of openHAB 3.3.0.
The binaries are available on Artifactory and via "Stable" on our APT repository.
New and Noteworthy
The openHAB 3.3 release is a feature release that contains many new features, enhancements and bug fixes, both for the core runtime and for many add-ons. You can find the most relevant ones listed in detail below.
openHAB 3.3 is fully backward compatible to openHAB 3.2 setups - there are only a few exceptions in certain bindings where manual action is required to adapt an existing setup, so please carefully check the section on breaking changes.
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 with the 3.3 release:
Add-on | Type | Issue |
---|---|---|
actiontemplatehli | Voice | #12260 |
awattar | Binding | #11976 |
electroluxair | Binding | #11116 |
elroconnects | Binding | #11189 |
evcc | Binding | #12611 |
fineoffsetweatherstation | Binding | #12464 |
flicbutton | Binding | #9234 |
googlestt | Voice | #12055 |
groupepsa | Binding | #10332 |
guntamatic | Binding | #12011 |
jellyfin | Binding | #11939 |
livisismarthome | Binding | #12440 |
luxom | Binding | #12310 |
mybmw | Binding | #12006 |
mycroft | Binding | #11040 |
porcupineks | Voice | #12028 |
prowl | Binding | #10967 |
publictransportswitzerland | Binding | #8540 |
rustpotterks | Voice | #12606 |
sonnen | Binding | #11915 |
veSync | Binding | #12219 |
voskstt | Voice | #12249 |
watsonstt | Voice | #12161 |
wundergroundupdatereceiver | Binding | #10105 |
yamahamusiccast | Binding | #11880 |
The following improvements were made:
Runtime
Type | Issue | Change |
---|---|---|
Enhancements | 2596 | Add DecimalType-ctor with Number argument |
2607 | Allow uninstalling of removed addons and fix other issues | |
2617 | UIRegistry now extensible, like other registries | |
2622 | Add a PEMTrustManager to deal with different PEM files (e.g. self-signed or global CA certificates) | |
2633 | Allow offline mode | |
2635 | Devices may apply a grace period for removal from the Inbox | |
2641 | Allow the use of an HTTP proxy | |
2653 | Log warning for equals condition for DecimalTypes and QuantityTypes | |
2657 | Implement "forceAsItem" functionality for Charts in sitemaps | |
2658 | Add "System reached start level XX" trigger for DSL rules | |
2660 | Use ZonedDateTime instead of Date in ModifiablePersistenceService interface | |
2662 | Do not log a warning if QuantityState has unit AbstractUnit.ONE | |
2682 | Enable config validation for thing creation and update | |
2691 | Add config validator for parameter options | |
2693 | Update dialog processing | |
2703 | Make configuration value parser available for export | |
2712 | Enable config validation for updates by handler | |
2720 | Enable missing validations | |
2723 | Expose three classes used as bindings in JSR-223 rules as interfaces | |
2728 | Add Spanish language | |
2731 | New REST API to start/stop dialog processing | |
2739 | Extend ExpiryManager to allow ignoring state updates | |
2748 | Support multi bundle bindings in i18n-maven-plugin | |
2749 | Show start level in /systeminfo | |
2754 | Log a message if a model is parsed and no thing handler factory can be found | |
2756 | Add triggeringThing name to DSL rules | |
2757 | Add bearingTo method for PointType | |
2758 | Add new Imperial Pressure unit psi | |
2769 | Add a profile for linking trigger channels to String items | |
2772 | Add ability to change loggers and expose package names of add-ons | |
2773 | Make ConfigDescription for thing and channels available to ThingHandler | |
2784 | Allow type migrations in JSONStorage | |
2786 | Upgrade Xtext/Xtend to 2.26.0, LSP4J to 0.12.0 | |
2791 | New actions to start/stop dialog processing | |
2792 | Add missing method getSource with sourceId as parameter | |
2793 | New feature "listen and answer" | |
2800 | Log the remote address of failed login attempts | |
2811 | Add version filtering | |
2814 | Add accepted types to ProfileContext | |
2821 | Add a registry for transformation configurations and allow editing them | |
2822 | New console commands to list the voice services | |
2823 | New optional arguments for console command voice startdialog | |
2825 | Allow binary MediaType for RawType item states | |
2829 | Show config validation messages in thing status | |
2832 | Allow using * as wildcard in thing status triggers | |
2852 | Extend ProfileContext to allow data type changing profiles | |
2866 | Add Indoor Temperature as system channel type | |
2883 | Add a generic script transformation | |
2894 | Allow changing watched directory of a WatchService | |
2906 | Allow hli list | |
2911 | Add ability to name timers / scheduled jobs | |
2912 | Add missing system channels descriptions | |
2914 | Use ThingStorageEntity instead of ThingImpl/BridgeImpl for storage | |
2923 | Add new module DateTimeTrigger for triggering on a DateTime state | |
2927 | Add configurable after connection delay | |
2928 | Return parent Location and Equipment | |
2931 | Extend PersistenceExtensions with "between" methods | |
2937 | Add option for formatting the y-axis labels in charts | |
2939 | Allow intercepting logs and make assertions for log messages | |
2946 | Allow sub-directories for icons | |
2960 | Add processing of Accept header to AudioServlet | |
2963 | Add DateTimeTrigger to DSL rule model | |
2966 | Allow generation of default translations for automation modules | |
2990 | Allow DSL scripts for script transformation | |
2995 | Allow default color condition for labelcolor and valuecolor | |
Bug Fixes | 2538 | Include full exception when WatchQueueReader thread dies |
2650 | Fix hardcoded value for WAV file | |
2652 | Make SSEResource robust against missing parameters | |
2654 | Prevent errors in log when there is a connection timeout | |
2655 | Prevent errors in log when client closes the HTTP connection | |
2661 | Align parsing of startlevel config | |
2663 | Force English locale to parse marketplace UI components timestamp | |
2664 | ScriptFileWatcher subdirectory loading upon startup no longer hardcoded | |
2668 | Do not reuse FilterCriteria instance for more than one query | |
2670 | Remove 'clac' noise when playing wave (javasound) | |
2678 | Fix NPE of AddonServices during startup | |
2681 | Script engines now unloaded if replaced, and closed if AutoCloseable | |
2683 | Fix broken config validation for required parameters | |
2699 | Allow String values for other Types | |
2706 | Script Engines now removed from manager when closed | |
2708 | ScriptFileWatcher initial import now only processes dir | |
2709 | Fix wrong openAPI schema for /inbox | |
2714 | Fix getSTT | |
2718 | Fix NPE and exception while parsing config value | |
2724 | Allow multiple listeners for same directory in WatchService | |
2732 | Do not share mic ref on javasound + close audio streams and use RecognitionStartEvent on dialogprocessor | |
2735 | Fix removal of thing properties (single and bulk) | |
2736 | Fix recursive membership throws StackOverflowException on REST API call | |
2740 | Keep format of thing properties | |
2745 | Fix WatchQueueReader cancelling jobs too early | |
2746 | Prevent JsonStorage backup corruption when disk is full | |
2753 | Fix exception during startup when kar is not yet loaded | |
2755 | Fix missing STARTLEVEL_COMPLETE ReadyMarker | |
2760 | Fix context being re-used for next execution | |
2761 | Fix processor aborting before response | |
2762 | Fix dispose is called on handlers for disabled things | |
2771 | Prevent non-profile links for trigger channels | |
2778 | Flush old JsonStorage to file before recreating a new one | |
2781 | Prevent errors in log when client closes the HTTP connection | |
2785 | Fix deadlock when removing ScriptEngine | |
2787 | Fix rules stay uninitialized when using Java 17 | |
2799 | Fix proxy can't handle requests with forwarded host list | |
2824 | Fix PersistentInbox tries to update unmanaged things | |
2826 | Fix spanish text tokenization and on/off rule | |
2827 | Update french syntax | |
2828 | Fix things in REMOVING state initialize instead of getting removed | |
2830 | Fix ServiceException when add-on handlers are not fully initialized | |
2842 | Remove MQTT system broker leftovers | |
2884 | Update semantic metadata of group members when groups are added/removed | |
2886 | Fix ScriptEngine not removed if created by ScriptAction | |
2889 | Fix spanish tokenization | |
2890 | Fix microphone data line sharing on Windows OS | |
2895 | Fix UnitUtils.getDimensionName returns Angle instead of Dimensionless | |
2897 | Fix memory leak in ScriptedRuleProvider | |
2899 | Upgrade nrjavaserial to fix file descriptor leak | |
2901 | Do not allow empty last segment in UID | |
2918 | Fix "recursive membership detected" for plain items | |
2940 | Refactor thing update handling of ThingManagerImpl | |
2941 | Fix item name checking in ItemUtil | |
2945 | Fix transformations not removed if file deleted | |
2948 | Add support for automatic creation of ManagedProviders for UI components | |
2949 | Fix EphemerisManager crashing on invalid configuration | |
2951 | Fix MQTT status message when disconnected while connecting | |
2953 | Fix "openhab --help" and "help openhab" in Karaf console | |
2955 | Fix NPE in ItemUIRegistry | |
2957 | Fix namespace "channel" is added to item metadata | |
2959 | Fix resource leaks in AudioServlet | |
2961 | Fix console extension output to wrong console | |
2964 | Fix spaces in options not properly handled in i18n-maven-plugin | |
2969 | Fix interpret actions description | |
2972 | Reduce levels of modbus connection logger | |
2975 | Assume installed addons are compatible | |
2983 | Fix dangling SSE subscriptions | |
2986 | Fix SSE topic filters | |
2996 | Fix DateTime trigger syntax to not break the equals function in the execution script | |
3010 | Fix config validation for integer values | |
3012 | Fix grep console not working | |
3016 | Fix ConcurrentModificationException in WatchQueueReader |
User Interfaces
UI | Type | Issue | Change |
---|---|---|---|
Basic UI | Enhancements | 1256 | Use forceAsItem-option from sitemaps |
HABot | Enhancements | 1274 | Add german tests and training data |
HABPanel | Enhancements | 1380 | Dummy and Clock widget improvements |
Main UI | Enhancements | 1252 | Add alexa arabic language parameter option |
1257 | Expand alexa range value attribute support | ||
1258 | Add alexa semantic mappings parameters visible condition | ||
1260 | Don't use a shadow block for oh_runrule parameters | ||
1261 | Add hsb block, dict get, triggeredEvent, check value, inline script | ||
1262 | Update alexa channel integration | ||
1264 | Labelling of items in Model tab pages (Equipment & Properties) | ||
1265 | Add alexa color temperature reset parameter | ||
1270 | Update alexa step speaker integration | ||
1281 | Location sensitive model tab pages sorting | ||
1284 | Update alexa channel attribute | ||
1292 | Add event Terns | ||
1302 | Floor plan features and bugfix | ||
1307 | New option to display equipment as accordion in Locations cards | ||
1313 | Taphold action on oh-label-card and oh-button | ||
1317 | New HomeKit group mapping editor | ||
1321 | Move all date blocks to own category, modify some docu | ||
1325 | Add ignore state update checkbox to expire metadata config | ||
1328 | Fix alexa toggle state attribute | ||
1335 | Add aggregation function for play/pause | ||
1337 | Change help urls to official OH blockly rules docs | ||
1342 | UI: Thing configuration: Mask passwords in configuration read from files | ||
1347 | Add support for additional homekit accessories | ||
1350 | Use displayState in oh-input | ||
1357 | Add DateTimeTrigger in rules configuration | ||
1359 | Allow resource overrides for main UI. | ||
1379 | Support formatting labels in charts in Basic UI | ||
1380 | Dummy and Clock widget improvements | ||
1382 | Add more datetime support, type-independent log block , CRLF block | ||
1386 | Add WebRTC support to video widget | ||
1388 | Add ignore commands checkbox to expire metadata config | ||
1393 | Canvas layout bug fixes and edition mode UI improvements | ||
1394 | Add page action configuration option to override vars in target page | ||
1395 | Configuration of context labels in Equipment and Properties card of homepage tabs. | ||
1396 | Fix item value hidden for equipment accordion button | ||
1398 | Prevent some undesired 'NULL' labels in lists for un-typed Groups. | ||
1401 | Add help button to OH docs, provide blockly source maps for debugging | ||
1404 | Foreground detection mixin service for widgets | ||
1414 | Add zoom controls to workspace | ||
1416 | Add support for homekit parameter groups | ||
1421 | Update autocompletion for ECMAScript2021 | ||
Bug Fixes | 1279 | Fix homekit config - make boolean to text | |
1283 | Disable user-select on user facing pages (run mode) to prevent text selection issues | ||
1285 | Configuration option to hide item state in main UI list widgets | ||
1297 | Fix single tap on floor plan on iOS | ||
1306 | Extract first line from multi-line thing description for the ThingTyp… | ||
1312 | Fix alexa cubic symbol uom | ||
1344 | Fix incorrect parameter group definition | ||
1385 | Fix the parsing of the model for Location cards following PR #1307. | ||
1405 | Fix page loading message | ||
1407 | Equipment as accordion click through fixes | ||
1408 | Provide link styling to list item used as equipment accordion item. | ||
1409 | Fix dt block type, add missing options to dt block, add help urls | ||
1410 | Fix Blockly datesupport | ||
1412 | oh-icon: Verify icon property is a string before performing string operations. | ||
1254 | Fix item.getAttributes |
Add-ons
Add-on | Type | Issue | Change |
---|---|---|---|
airquality | Bug Fixes | 12290 | Cleanup semantic tags |
amazonechocontrol | Bug Fixes | 11943 | Fix refresh time for skill connected devices |
ambientweather | Enhancements | 12429 | Update socket.io dependency used by ambientweather |
amplipi | Enhancements | 12297 | Add support for incremental volume control |
androiddebugbridge | Enhancements | 11692 | Add channels for record events, open urls and doc improvements |
11881 | Add mDNS discovery for Fire TV Stick | ||
12438 | Add start intent channel | ||
12491 | Add DynamicCommandOptionsProvider to populate 'start-package' Channel | ||
Bug Fixes | 12791 | Fix start-intent channel | |
astro | Bug Fixes | 11889 | Fix timeLeft calculation at the end of the year |
atlona | Enhancements | 11966 | Correct spelling of atlona |
avmfritz | Enhancements | 12466 | Add support for DECT 302 |
Bug Fixes | 12617 | Do not create a thing type UID using an empty ID | |
benqprojector | Enhancements | 12866 | Add discovery service |
bluetooth.airthings | Bug Fixes | 12261 | Catch all exceptions in a scheduled task to prevent future executions from being suppressed |
bluetooth.generic | Bug Fixes | 12130 | Update commons-beanutils to 1.9.4 |
bluetooth.ruuvitag | Enhancements | 12352 | Correct movement counter channel description |
boschindego | Enhancements | 12905 | Rewrite to avoid external dependencies |
12949 | Add localization support for textual states | ||
Bug Fixes | 12990 | Fix communication error description on failed HTTP call | |
boschshc | Enhancements | 12680 | Support Bosch Smart Home Cameras |
12758 | Support for Bosch Intrusion Detection System | ||
cbus | Bug Fixes | 11846 | Fix exception from threadpool at startup |
chromecast | Bug Fixes | 11893 | Prevent errors in log when URI host is null |
daikin | Enhancements | 12239 | Fix communication errors by retrying failed http requests |
12300 | Add the ability to disable background discovery | ||
12324 | Fix Special Mode and Streamer support | ||
Bug Fixes | 12165 | Fix NPE when setting Airbase zones on startup | |
dali | Bug Fixes | 11936 | Fix frame packing |
danfossairunit | Enhancements | 11992 | Consolidate properties for compliance |
12277 | Use system channel types for humidity and outdoor temperature | ||
12493 | Minor value cache tweaks | ||
Bug Fixes | 11891 | Fix inability to recover from network issues on initialization | |
12217 | Fix already configured units in inbox | ||
deconz | Enhancements | 11885 | Support for air quality sensor |
12248 | Reduce log level for messages received for unconfigured devices | ||
12422 | Add support for lowbattery flag from state response | ||
Bug Fixes | 12223 | Prevent Null Pointer Exception if socket connection is broken | |
12245 | Fix unreachable lights and sensors being marked as GONE | ||
12287 | Cleanup semantic tags | ||
deutschebahn | Enhancements | 12786 | DB API Marketplace adjustments |
Bug Fixes | 12406 | Fix order of stops | |
digitalstrom | Bug Fixes | 12033 | Adoptions due to API changes in DSS Update 1.19.2 |
dmx | Bug Fixes | 12265 | Fix tags for channel color_temperature |
dsmr | Bug Fixes | 12756 | Identifier cosem objects should be parsed as hex values |
dynamodb | Enhancements | 11914 | AWS SDK updated to 2.17.102 |
ecobee | Enhancements | 12892 | Add support for the Smart Thermostat Premium |
ecotouch | Enhancements | 11716 | Fix description of nviSollKuehlen and coolEnableTemp being writable |
enocean | Enhancements | 12133 | Enable usage of Nodon roller-shutter repeater mode |
epsonprojector | Bug Fixes | 11953 | Fix projector error message display |
12586 | Fix discovery service to prevent erroneous inbox items | ||
feican | Enhancements | 12272 | Add semantic tags on channel color_temperature |
freebox | Bug Fixes | 12683 | Ignore disabled things |
fronius | Enhancements | 11835 | Add Ohmpilot thing and channel realpowersum for thing meter |
12258 | Add support for Fronius Smart Meter 65A | ||
12371 | Fix DecimalType constructor change | ||
12420 | Add Autonomy and Self Consumption channels | ||
12867 | Add additional Inverter DC channels | ||
Bug Fixes | 12255 | Fix communication errors by retrying failed http requests | |
gardena | Enhancements | 12947 | Fix compiler warnings |
13004 | Eliminate ClassCastException (quick fix) | ||
Bug Fixes | 11825 | Fix handling of websocket connection losses that causes memory leaks | |
globalcache | Bug Fixes | 12956 | Fix NPE when reading reply from device |
goecharger | Enhancements | 12400 | Add API V2 support |
12742 | Add powerAll to thing-types | ||
Bug Fixes | 12682 | Fix issue with category | |
12733 | Fix compatibility with go-eCharger V3 | ||
googletts | Enhancements | 11925 | Improve exception handling |
Bug Fixes | 11877 | Use returned sound to get play informations | |
govee | Bug Fixes | 12373 | Fix Govee H5102 detection |
groovyscripting | Enhancements | 12043 | Add conf/automation/groovy to the classpath |
harmonyhub | Enhancements | 11941 | Add a RepresentationProperty to discovery to avoid duplicate inbox entries |
haywardomnilogic | Enhancements | 11223 | Add filter & pump RPM & state channels |
hdpowerview | Enhancements | 11698 | Fix secondary position bug. Add shade database and properties. |
11768 | Update positions after triggering scene/scene group | ||
11853 | Refactor dynamic channels | ||
11933 | Support refresh command for battery-related channels | ||
11944 | Support refresh command for signal strength channel | ||
11980 | Add firmware information properties for hub and shade | ||
11989 | Use standard firmware property constant | ||
12002 | Add support for calibrating a shade | ||
12032 | Fix SAT warnings | ||
12045 | Update shade database | ||
12049 | Refactor exception handling | ||
12061 | Add support for repeaters | ||
12081 | Add shade type 65 to database | ||
12098 | Add support for rear blackout panel | ||
12113 | Optimize initialization of shades | ||
12138 | Introduce command channel for shades | ||
12141 | Fix autoupdate for scene/scene group trigger items | ||
12175 | Add shade identify command | ||
12181 | Improve error handling for unknown shades and timeouts | ||
12214 | Eliminate risk of bad firmware response breaking shade/scene updates | ||
12308 | Add support for setting repeater LED color and brightness | ||
12331 | Remove unnecessary init checks and fix Thing status detail | ||
12761 | Add Silhouette Duolite (shade type 38) to capabilities database | ||
12796 | Change method names to match documentation | ||
12857 | Add shutters (shade type 66) to capabilities database | ||
12902 | Corrections to shade database and capabilities | ||
Bug Fixes | 11857 | Fix support for PowerView Hub v1 | |
12237 | Fix for capabilities:1 shades | ||
12259 | Fix regression when bridge is offline while initializing child things | ||
12323 | Interrupt current thread on InterruptedException | ||
12930 | Fix signalStrength channel update after REFRESH command | ||
helios | Bug Fixes | 12721 | Remove support for obsolete firmware 2.7 |
homeconnect | Bug Fixes | 12685 | Ignore disabled things |
homekit | Enhancements | 12072 | Quick restart on network changes |
12083 | Use quantity type conversions for temperature characteristics | ||
12205 | Make network onChange method synchronized | ||
12267 | Update java hap library | ||
12346 | Add support for complex accessories | ||
12536 | Add support for additional homekit accessories | ||
Bug Fixes | 11803 | Return min value of characteristic instead of 0 | |
12024 | Fix Fahrenheit conversion | ||
12172 | Handle NULL/UNDEF for temperature characteristics | ||
12293 | Mark item dirty only if it has homekit metadata | ||
12305 | Fix "No Response" issue due missing pairing information | ||
12450 | Do unit conversion for min/max heating/cooling temps | ||
12540 | Fix Fan Rotation Speed. add support for dimmer | ||
12854 | Update configuration revision on start | ||
12931 | Fix issue with some hue lights, e.g. xiaomi | ||
12959 | Fix for battery charging state | ||
homematic | Enhancements | 11982 | Fix long button press handling for HM-IP devices |
Bug Fixes | 11971 | Fix incorrect scan duration after openHAB restart | |
12192 | Remove state description step size handling | ||
12436 | Prevent the use of exponential notation | ||
12437 | Fix invalid default values ending up in the thing type | ||
12557 | Validate datapoint values before writing to config | ||
http | Enhancements | 11995 | Provide meaningful error messages |
12350 | Allow pre-escaped URLs | ||
12594 | Support all 2xx response codes | ||
hue | Enhancements | 10977 | Semantics added to channel types |
Bug Fixes | 12182 | Fix setting wrong values for ledindication configuration | |
hydrawise | Bug Fixes | 12275 | Support unused zones |
iaqualink | Bug Fixes | 12659 | Fix issue using manual pool IDs |
icalendar | Enhancements | 11928 | Add original texts for translation |
12482 | Add ability to handle events without DTEND | ||
Bug Fixes | 11866 | Fix httpclient getting stuck with broken requests | |
icloud | Bug Fixes | 12587 | Fix ONLINE state when device response status is 203 |
influxdb | Bug Fixes | 11139 | Fix for influxdbv1 retention and table names containing keywords or special chars |
11993 | Fix previous item state performance issues | ||
innogysmarthome | Bug Fixes | 12008 | VariableActuators are now recognized again (#11741) |
insteon | Enhancements | 12243 | Prevent null values from being inferred when printing to console |
Bug Fixes | 12169 | Ignore missing network handler when disposing a device | |
12787 | Ignore commands if device is not online | ||
12790 | Set device to offline if network is not online after initialization | ||
12904 | Set device offline if it doesn't exist in the plm/hub database | ||
ipcamera | Enhancements | 11921 | Fix multiple mjpeg issues and allow stream to stay alive |
Bug Fixes | 12399 | Fix Digest bug and Doorbird fixes. | |
12814 | Doorbird online/offline bug fix | ||
12964 | Fix multiple parts handling for Dahua events | ||
ipobserver | Enhancements | 12151 | Add support for WiFi version and push based method. |
ipp | Enhancements | 12039 | Add representation property and code improvements |
12443 | Update cups4j and dependencies | ||
jdbc | Enhancements | 11922 | Implement 'ModifiablePersistenceService' interface |
12052 | Remove check if item exists to allow to truncate data for clean-ups | ||
12442 | Update PostgreSQL JDBC driver to 42.3.3 | ||
Bug Fixes | 11954 | Fix NPE when SQL query failed | |
11961 | Do not create table on 'query', only on 'store' | ||
11962 | Add mime data to restored image | ||
12225 | Fix ClassCastException for ColorItem / HSBType | ||
12313 | Catch exception in case of connection to database failed during activation of service | ||
12467 | Fix parameter ordering while storing values | ||
12525 | Rework TimescaleDB code to actually work | ||
jrubyscripting | Enhancements | 11775 | Upgrade jruby to 9.3.2.0 |
12123 | Apply RUBYLIB configuration to $LOAD_PATH | ||
12143 | Upgrade jruby version to 9.3.3.0 | ||
12381 | Add auto-require scripts option | ||
12539 | Accept generic global variable names | ||
Bug Fixes | 12047 | Convert presets from java class to ruby class | |
12650 | Fix UI configuration property id | ||
jsscripting | Enhancements | 11945 | Append the ruleID or file name to the logger when console logging |
12945 | Upgrade openhab-js to version 2.0.0 | ||
Bug Fixes | 11830 | JS script engine no longer watches node_modules for scripts | |
12022 | Wrapped GraalJS ScriptEngines now also Autocloseable | ||
12725 | Remove ClassExtender as it's no longer used and may be leaking memory | ||
km200 | Enhancements | 11841 | Add JCE check and removed some warnings |
Bug Fixes | 12573 | Cleanup semantic tags | |
12732 | Fix item type for dynamic channel type | ||
knx | Enhancements | 12593 | Add option to use CEMI frame format for serial devices |
12675 | Allow sending items with units to KNX bus. | ||
Bug Fixes | 12074 | GroupRead / SendToKNX fails with NullPointerException | |
12520 | Handle exceptions during initial read | ||
12942 | FT12: List available serial ports if port cannot be opened | ||
12995 | Fix time wrongly parsed | ||
kodi | Enhancements | 11984 | Add channels for screensaver state and virtual keyboard state and include OnAVStart for playing state detection |
kostalinverter | Bug Fixes | 12124 | Fix to prevent randomly stops of binding. |
lifx | Enhancements | 12179 | Add support for new LIFX products |
Bug Fixes | 12274 | Cleanup semantic tags | |
linky | Bug Fixes | 12561 | Fix communication errors |
LuxtronikHeatpump | Enhancements | 11860 | Add additional channels |
Bug Fixes | 11937 | Fix channel type of newly defined unknown channels | |
12802 | Fix menuStateLine1 state options | ||
Bug Fixes | 12568 | Fix UnsupportedDataTypeException | |
marytts | Bug Fixes | 12571 | Fix incorrect WAV header for some voices |
max | Bug Fixes | 12268 | Use defined semantic tags |
miele | Enhancements | 11873 | Refactor mDNS discovery |
11997 | Consolidate properties for compliance | ||
12510 | Fix configuration validation and optimize performance | ||
12545 | Use framework's HTTP client | ||
Bug Fixes | 11834 | Fix mDNS issue where hub repeatedly disappears from, resp. reappears in, the Inbox. | |
12728 | Fix logging for appliances where consumption data is not supported | ||
mielecloud | Bug Fixes | 12583 | Fix washing machine can be started channel is not updated |
miio | Enhancements | 11688 | Implement lumi devices support for gateways |
12076 | Add support for Xiaomi Mi Air Purifier 3C BHR4518GL (zhimi.airp.mb4a) | ||
millheat | Bug Fixes | 12289 | Cleanup semantic tags |
12413 | Possibly wrong use of isHoliday instead of canChangeTemp | ||
modbus | Enhancements | 12642 | Support for after connection delays |
MQTT | Enhancements | 11849 | Add additional logging information |
12152 | Add birth and shutdown message | ||
12157 | Remove MQTT System Broker | ||
12170 | publishMQTT Action accepts a bytearray payload | ||
12233 | Remove references to the System Broker | ||
12492 | Fix most SAT findings | ||
mqtt.generic | Enhancements | 10727 | Add UOM to inbound values for MQTT Channels |
12162 | Rename channel label from Percentage Value to Dimmer | ||
12167 | Support transformationPattern for thing's availabilityTopic | ||
Bug Fixes | 12163 | Fix default configuration and docs for color_mode | |
mqtt.homie | Enhancements | 11894 | Add DateTime channel type to comply with MQTT Homie convention 3.x |
12242 | Remove unused constants in tests | ||
12254 | Handle exceptions parsing attributes | ||
myStrom | Bug Fixes | 11854 | Request info is not supported by the first generation of plug |
nanoleaf | Enhancements | 11874 | Various small enhancements |
Bug Fixes | 11872 | Reduce to debug logging in case of communication problems | |
neohub | Enhancements | 12906 | Workaround for 'Legacy API Disabled' problem |
nest | Bug Fixes | 12711 | Fix for missing refresh token after reauthorization |
Netatmo | Enhancements | 12357 | Binding rewrite without external dependencies |
12726 | Switch to Code Granting process | ||
12776 | Add doorbell support | ||
12777 | Avoid requesting favorite stations when not needed | ||
12805 | Add siren device | ||
12851 | Improve channel helpers | ||
12870 | Rework room actions | ||
12923 | Make the grant servlet always available | ||
12984 | Add smoke detector module | ||
Bug Fixes | 12698 | Give access to video only when video is available | |
12701 | Do not ignore updated events (same timestamp) | ||
12743 | Floodlight switch repaired | ||
12782 | Discovery using current value of readFriends parameter | ||
12830 | Fix getActiveChildren | ||
12869 | Correct Discovery service | ||
12972 | Add Webhook event support for Doorbell | ||
12973 | Presence camera channels missing | ||
network | Enhancements | 12341 | Remove last references to org.apache... |
Bug Fixes | 12316 | Fix arp_state is always Disabled, presence_detection_type is always empty | |
nikohomecontrol | Enhancements | 11963 | Bug fixes and improvements to thermostats |
12855 | Discovery improvements | ||
12885 | Reconnection logic | ||
Bug Fixes | 12819 | Fix things staying offline | |
12859 | Nhc fixes | ||
novafinedust | Bug Fixes | 12370 | Fix RFC2217 serial port in configuration |
12543 | Fix measurement parsing overflow | ||
nuki | Enhancements | 12005 | Support for SmartLock 3.0 and SmartDoor |
Bug Fixes | 12276 | Fixe configuration reload on initialization | |
nuvo | Bug Fixes | 12613 | Fix Nuvo Grand Concerto Detection |
ojelectronics | Bug Fixes | 12211 | Fix issue if server returns not 200 while signing in |
OmniLink | Enhancements | 11100 | Add semantic tags to channels |
12246 | Refactor parts of code | ||
12444 | Bump jomnilink | ||
Bug Fixes | 12288 | Remove tags from channel type lock_switch | |
12546 | Fix daylight savings when setting date/time | ||
onkyo | Enhancements | 11813 | Add channels for media info |
12067 | Add support for TX-NR609 | ||
opensprinkler | Enhancements | 11816 | Add Veto and some default times to state options. |
openthermgateway | Enhancements | 12367 | Add support for Ventilation/Heat Recovery units |
12507 | Various improvements | ||
12585 | Log warning if trying to create a legacy Thing type | ||
Bug Fixes | 12744 | Fix missing transition from offline to online | |
openuv | Enhancements | 12958 | Enhance server side error handling |
Bug Fixes | 12511 | Correct an uncatched exception in json deserialization | |
12558 | Fix time channels not being updated | ||
openweathermap | Enhancements | 10972 | Add semantics to channel types |
11949 | Improve exception handling | ||
12311 | Code cleanup | ||
Bug Fixes | 12285 | Cleanup semantic tags | |
12314 | Call Thread.currentThread().interrupt() on InterruptedException | ||
12686 | Ignore disabled things | ||
12697 | Fix display of alert data | ||
openwebnet | Enhancements | 12062 | Add support for central unit |
12468 | Add support for sending Auxiliary (AUX) commands/messages to the bus (WHO=9) | ||
12483 | Add channel "function" for Central Unit | ||
12485 | Handle Thermo Central Unit monitoring messages | ||
Bug Fixes | 11975 | Fix Things synchronization at boot / reconnect | |
12271 | Fix tags for channel shutter | ||
12489 | Fix generic_device thing-type, improved refresh at boot | ||
12502 | Remove (duplicate) refreshDevice() at bridgeStatusChanged | ||
oppo | Bug Fixes | 12066 | Fix Play Mode and Disc Type updates |
orbitbhyve | Bug Fixes | 12679 | Do not update status of a disabled sprinker |
12876 | Eliminate JsonSyntaxException when restricted_frequency is null in json response | ||
12944 | Handle WebSocketException to prevent scheduled ping job failure | ||
12960 | Avoid ClassCastExceptions when accessing thing handler | ||
pidcontroller | Enhancements | 12565 | Add ability to limit the I-part |
plugwiseha | Enhancements | 12345 | Improve cache and timeout handling |
12349 | Add and enhance channels | ||
Bug Fixes | 12366 | Fix bug introduced with #12349 | |
12509 | Fix Zone thermostat not updating | ||
powermax | Bug Fixes | 12684 | Ignore disabled things |
pulseaudio | Enhancements | 12376 | Register audio sources in openhab |
12598 | Allow flexible parameters to find a given pulseaudio device | ||
Bug Fixes | 12414 | Fix null pointer exception and ensure source bg task stops | |
12423 | Fix exception handling when connecting | ||
12441 | Use thread safe collection and force reconnection | ||
12581 | Small bugfixes and rewrite | ||
12913 | Fix source format options | ||
pushover | Enhancements | 12023 | Improve exception handling |
Bug Fixes | 12309 | Allow default sound parameter value | |
radiothermostat | Bug Fixes | 12145 | Workaround for incorrectly reported fan state |
12852 | Increase timeout for thermostat status requests | ||
renault | Enhancements | 12095 | Renault more channels and HVAC ON / toggle charge mode |
12636 | API key to configuration parameter and rule update | ||
Bug Fixes | 12487 | API key update | |
rfxcom | Enhancements | 12037 | Updates / small fixes |
12038 | Support for Lucciair DC Speed | ||
roku | Enhancements | 12839 | Add PowerOn option to Remote Button channel |
Bug Fixes | 11843 | Fix typo in ChannelDown option | |
12884 | Fix reporting of Roku Home app | ||
rotel | Enhancements | 12447 | New channels tcbypass, balance, speakera and speakerb |
12521 | Refactor to separate comm handling from protocol handling | ||
12524 | Add support for Michi models (P5, X3 and X5) | ||
rrd4j | Bug Fixes | 12398 | Upgrade to rrd4j 3.8.1 |
sagercaster | Bug Fixes | 12284 | Cleanup semantic tags |
senechome | Enhancements | 12934 | Add state battery diagnosis |
Bug Fixes | 12512 | Avoid null pointer errors | |
sensibo | Bug Fixes | 12750 | Fix semantic tags for target temperature channel |
shelly | Enhancements | 12266 | Add category to channel type sensorHumidity |
12325 | TRV+Motion2 support, various fixes & enhancements | ||
Bug Fixes | 11887 | Avoid ClassCastException | |
12822 | Prepare for CrowdIn translations, bug fixes | ||
12834 | Fix CoAP message parsing for Plug-S and Bulb | ||
12843 | Fix CoAP message parsing | ||
somfytahoma | Enhancements | 11855 | [Improvement] Fix cozytouch support and add waterheatersystem support |
12302 | Add support for the Hitachi Yutaki devices | ||
12368 | Add support for the Rain sensor thing | ||
12372 | Change the severity of unsuported devices logging | ||
12459 | Improve compatibility with Somfy Connectivity Kit | ||
12495 | Add support for the Shutter thing | ||
12532 | Improve compatibility with the Somfy Connectivity Kit | ||
12605 | Add Moving channel to Rollershutter | ||
12612 | Improve the Hitachi air to water heating system | ||
Bug Fixes | 12687 | Ignore disabled things | |
sonos | Enhancements | 12607 | Support added for models Five and Roam SL |
12626 | Avoid empty thing (type) ID in discovery | ||
Bug Fixes | 12609 | Discovery of unsupported models without exception | |
sonyprojector | Enhancements | 12283 | Fix tags for channel type powerstate |
souliss | Enhancements | 12252 | Fix t31 fire and system statuses |
Bug Fixes | 12269 | Fix semantic tags | |
12282 | Remove tags from channel type power | ||
squeezebox | Bug Fixes | 13010 | Fix NumberFormatException when parsing status message |
synopanalyzer | Enhancements | 12541 | Incorrect octa reported |
tado | Enhancements | 12470 | Add support for fanLevel, verticalSwing, horizontalSwing, light API |
12868 | Automatically reconnect offline Things if possible | ||
Bug Fixes | 12570 | Fix AC control bugs; Add null annotations and checks | |
tapocontrol | Enhancements | 11967 | Fix "device not found" with L510/L530 hw rev2 / add L920 and P110 things |
12017 | Support energy monitoring of P110 device | ||
teleinfo | Enhancements | 12204 | Refactor channel config files for Linky standard mode |
tesla | Enhancements | 12014 | Print usage for tesla command on console |
12015 | Clarify and update how refresh tokens can be obtained | ||
12029 | Add support for setting charging amps and sentry mode | ||
12184 | Introduce "allowWakeUpForCommands" option | ||
12537 | Remove (broken) options to obtain refresh token through credentials | ||
Bug Fixes | 12030 | Change center_display_state from switch to number | |
12031 | Update sunroof feature to changed Tesla API | ||
12070 | Fix NPE when Thing configuration changes | ||
12530 | Adapt access token handling to changes in Tesla API | ||
12547 | Set the token creation time as it is no longer provided in the response | ||
12603 | Remove synchronization to avoid deadlocks | ||
tibber | Bug Fixes | 12191 | Enhancement for websocket re-econnectivity & fix item/channel response |
touchwand | Enhancements | 12736 | Remove Thing state update on unit discovery causing expire to fail |
tplinksmarthome | Enhancements | 11771 | Add new devices ES20, KP125, KP405 and KS230 |
12000 | Add KL430 lightstrip support | ||
Bug Fixes | 11839 | KP405 channel in xml should be dimmer not switch | |
tradfri | Bug Fixes | 12347 | Fix null pointer exception when sending command to a device that is offline |
12389 | Use serial as discovery representation property instead of host | ||
transform.map | Enhancements | 12433 | Refactor service to use TransformationConfigurationRegistry |
unifi | Enhancements | 11959 | New site, wlan, wiredClient, and poePort. Discovery support |
upnpcontrol | Bug Fixes | 12632 | Fix null pointer exception for invalid protocolInfo |
velbus | Enhancements | 12390 | New module VMBELPIR + Improvement clock alarms management |
velux | Enhancements | 12356 | Improve shutdown exception handling |
ventaair | Enhancements | 11792 | Add Air quality and service time channels |
vigicrues | Bug Fixes | 12286 | Cleanup semantic tags |
voicerss | Enhancements | 11916 | Add support for WAV audio format |
12096 | Hide the API key when logging API URL | ||
12190 | Null annotations added on the main service class | ||
Bug Fixes | 12092 | Fix bad audio format code and use HTTPS URL instead of HTTP | |
12155 | Fix and enhance the external tool to prefill the cache | ||
webthing | Bug Fixes | 12738 | Fix item type for dynamic channel |
12751 | Cleanup semantic tags for dynamic channels | ||
wemo | Enhancements | 12001 | Make UPnP more robust and fix polling/portscan |
12101 | Refactor duplicated code | ||
12120 | Separate handlers for Insight, Motion and Socket/Light Switch | ||
12148 | Improve GENA subscription reliability and error handling | ||
12215 | Fix already configured devices in inbox | ||
12380 | Refactor Insight Switch parser | ||
12397 | Simplify getWemoURL usages in handlers | ||
12411 | Add missing channel categories and semantic tags | ||
12416 | Fix thing status transitions | ||
12461 | Prevent excessive currentPower channel updates | ||
12651 | Optimize port detection | ||
Bug Fixes | 12648 | Fix UPnP resubscription after lost network connection | |
wled | Enhancements | 12199 | Change to bridge/thing structure and add global controls |
Bug Fixes | 11806 | Fix Global OFF not turning lights/segments off. | |
wolfsmartset | Bug Fixes | 11931 | Fix NullPointerException when updating values |
Yeelight | Enhancements | 11908 | Add color4 bulb |
Bug Fixes | 11876 | Fixe ceiling3 device being recognized as device without night mode | |
12270 | Cleanup semantic tags | ||
Zigbee | Enhancements | 723 | Add support Xiaomi Aqara Wireless Mini Switch (Aqara WXKG11LM) |
731 | Simplify colour channel initialisation to improve compatibility with non-standard devices | ||
747 | Simplify battery percent converter support detection | ||
749 | Simplify battery voltage converter support detection (similar to Chri… | ||
757 | Add Hue RWL022 initial support | ||
760 | Remove coordinator discovery | ||
763 | Stop status cycling during reinitialisation | ||
764 | Add Thermostat PI Heating/Cooling Demand Channels | ||
769 | Improve state consistency in level control converter | ||
771 | Update to ZSmart Systems libraries 1.4.7 | ||
772 | Add factory reset console command | ||
Bug Fixes | 722 | Fix NPE in Ember group initialisation | |
750 | Use integers for temperature reporting configuration | ||
754 | Change reporting default value Humidity to Integer and to 0,5% | ||
755 | Update mesh update period when changed | ||
758 | Fix correct reporting attribute in ActivePower converter | ||
761 | Ensure local cluster object is used to detect summation cal | ||
zoneminder | Bug Fixes | 12348 | Properly handle when zm installed on root directory |
ZWave | Enhancements | 1715 | Add support for COMMAND_CLASS_SOUND_SWITCH |
1760 | Zwave battery device optimization | ||
1771 | Add events to make low battery alarm notifications work for ZW130/ZW129 | ||
1773 | Add support for over-current alarm notification for ZW116 and ZW111 | ||
Bug Fixes | 1707 | Fix potential NPE in usercode configuration | |
1759 | Fix logging defects. |
Upgrade Process
openHABian
If you are working with an openHABian setup, switching to openHAB 3.3.0 stable depends on what version you’re upgrading from:
- 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 needed check which version you run via menu option 00.
- a) If you have been running a snapshot or milestone release of 3.3, select the first of the three entries menu entry 41 (“Release”).
b) If you have been running a 3.x release version, select menu entry 02 “Upgrade System”.
c) If you are still on openHAB 2.x, please pay extra attention to all release notes from your version up to these.
You also need to upgrade openHABian: select menu entry 03 “Install openHAB” option.
Package-based Installations
APT (Debian / Ubuntu and derivatives)
Make sure that openHAB is sourced from the latest location, has the correct GPG signing key and that your system can download .deb packages via HTTPS by following the instructions for a stable installation in the docs.
If the above is correct, simply upgrade by using:
sudo apt-get update
sudo apt-get upgrade
Alternatively, you can force apt to install 3.3.0 and its optional add-ons with:
sudo apt-get install openhab=3.3.0-1
## optional add-ons for offline installation ##
sudo apt-get install openhab-addons=3.3.0-1
RPM
openHAB is also distributed in RPM packages. To use them, make sure that openHAB is sourced from the latest location, and has the correct GPG signing key for verification by following the stable installation instructions outlined in the docs.
If the above is correct, then simply upgrade using your systems package manager (yum, dnf, etc.)
sudo yum update
Alternatively, you can force apt to install 3.3.0 and its optional add-ons with:
sudo yum install openhab-3.3.0-1
## optional addons for offline installation ##
sudo yum install openhab-addons-3.3.0-1
Manual Installations
Official update scripts are available that let you update your 3.x installation to version 3.3:
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 3.3.0
Windows
- Make a backup of your openHAB installation folder.
- Run PowerShell as an administrator and change to your openHAB root directory (e.g.
cd C:\openHAB
) - Run the update command:
. .\runtime\bin\update.ps1
Update-openHAB -OHVersion 3.3.0
Breaking Changes that Require Manual Interaction after the Upgrade
openHAB 3.3 brings improved configuration validation. This applies to item naming and thing/channel configuration.
Item names must not start with a number. If you have such an item in your configuration you’ll see a message about this in the log. You have to remove it (and probably create a new one). If the item was created via UI (“managed item”), you can use the “API Explorer” (in the Main UI / “Developer Tools”) to remove it.
Thing (and channel) configurations are described in openHAB by “configuration descriptions”. These define for each configuration parameter what type (e.g. text
or integer
) is required and what restrictions apply (e.g. only a given set of values or a range of values by defining minimum and maximum). This has always been the case and many bindings rely on the provided configuration to work properly. Starting with openHAB 3.3 a proper validation has been added that enforces correct configuration. If your configuration is invalid, the thing will stay offline and the thing status will show the result of the validation. Most common errors are wrong type (e.g. 1
instead of true
for a boolean value) or values outside of the defined range. The thing will automatically work again after the configuration has been fixed.
BMW ConnectedDrive Binding
BMW replaced ConnectedDrive smartphone app by the MyBMW application. The underlying API is now disabled and the binding isn't working anymore. Switching to the newly introduced MyBMW Binding is recommended.
Daikin Binding
The channel 'specialmode-powerful' has been removed, and a r/w channel 'streamer' added. The channel 'specialmode' changed to read/write to control eco/powerful mode.
DanfossAirUnit Binding
The type of the channel 'humidity' was updated. You may need to remove and create your things again in case your things were previously created using UI and you want to use this channel.
Helios Binding
Firmware versions older than v2.21 are no longer supported.
JS Scripting Automation
'item.history.lastUpdate()' now returns 'time.ZonedDateTime' instead of 'Date'.
JS Scripting Automation
'addItem(...)' and 'updateItem(...)' use new itemConfig as parameter and 'createItem(...)' was removed.
MQTT Binding
Support for the MQTT System Broker has been removed. Replace 'mqtt:systemBroker' things with 'mqtt:broker' things.
Netatmo Binding
Things hierarchy and organization has changed as well as channel namings. You will need to remove and create again these things.
OmniLink Binding
The channel 'sysdate' has been renamed to 'system_date', and is now read only, to make these changes visible you may need to remove and recreate the controller
thing. To synchronize the controller time there is now a new action synchronizeControllerTime that can be used with a time zone input (e.g. 'America/Denver').
Opentherm Gateway Binding
The 'otgw' Thing has been removed and split into a new 'openthermgateway' Bridge, and a new 'boiler' Thing. You will need to change your Thing and respective Item definitions.
RFXCOM Binding
The channel 'fanSpeed' of 'fan_lucci_dc' and 'fan_novy' has been renamed to 'fanSpeedControl', and 'fan_lucci_dc' has a new numeric channel 'fanSpeed'. You may need to remove and create your things again.
TapoControl Binding
L510_Series and L530_Series Things were renamed to L510 and L530 because of manufacturer changed naming with new HW-rev. You may need to remove and create again these things.
WLED Binding
Binding now uses Bridge and Thing structure. Delete and add a new bridge, and at least 1 thing for each segment you require.