This is the first monthly milestone build for the upcoming openHAB 4.0 release, which brings many fixes and improvements over version 3.x.
Before you install this milestone, there are a couple of things to note:
- openHAB 4 requires Java 17 as prerequisite. Please make sure to install an according JVM first.
- The
application/javascript
MIME type has moved from NashornJS to GraalJS due to the removal of NashornJS in Java 14. All UI-based JavaScript scripts including Blocklies are broken now. To make them work again:- Migrate your Blocklies (see Rules Blockly | openHAB)
- Install the JavaScript Nashorn add-on and change the MIME type of your old
application/javascript
scripts toapplication/javascript;version=ECMAScript-5.1
. The UI has a picker for the MIME type of existing scripts inside the „Script Details“ menu inside the script editor. (Or rewrite them for GraalJS, where the openhab-js library will ease your life.)
- The JS transformation no longer exists and the SCRIPT transformation should be used instead. Inline JS scripts in transformations and JS profiles are still work in progress.
New Add-ons
The following add-ons are newly introduced:
Add-on | Type | Issue |
---|---|---|
JavaScript Scripting (Nashorn) | Automation | #14013 |
RadonEye | Binding Extension | #11958 |
MyNice | Binding | #12940 |
Rollershutter Position Emulation Profile Service | Transformation | #13259 |
The following improvements were made:
Runtime
Type | Issue | Change |
---|---|---|
Enhancements | 2810 | Allow invoking ThingActions via API |
2994 | Raise minimum JDK version to 17 | |
3004 | Refactor WatchService | |
3050 | Introduce metadata for all add-ons | |
3057 | Cache mechanism | |
3270 | Log the version/build on startup | |
3280 | Only call getVolume when necessary | |
3284 | Update Jackson to 2.14.1 | |
3287 | Add DateTimeType method for returning Instant | |
3290 | Ability to use /dev/serial/ symlinks for usb serial device | |
3293 | Fixes and enhancements for add-on services | |
3298 | Add method to get namespaces to MetadataRegistry and ItemResource | |
3299 | Rework GenericEventTrigger and GenericEventCondition | |
3330 | Improve thing initialization and enable thing-type updates | |
3337 | Consider language when requesting thing actions | |
3352 | Actions: Add method overloads for PercentType to Audio & Voice
| |
3356 | Add param sslContextFactory when creating a HTTP or web socket client | |
3362 | Remove author from addon xsd | |
3364 | Use setpoint as default sitemap element for item with tag "Setpoint" | |
3372 | Align AbstractScriptDependencyTracker with AbstractScriptFileWatcher | |
3385 | Refactor XML handling | |
3391 | Add support for channel-groups to update instructions | |
3392 | Allow access to rule summary for Role.USER | |
3398 | Add sitemap Input type | |
3406 | Add Eclipse Add-on Service | |
3416 | List transformation services | |
1446 | Upgrade to Karaf 4.4.3 | |
1460 | Enable GZIP compression for Jetty webserver | |
Bug Fixes | 3255 | Refactor AbstractScriptFileWatcher |
3273 | Ensure metadata available at startlevel 20 | |
3277 | Fix DateTimeTrigger not triggering on restored state | |
3288 | Fix Marketplace add-on range pattern matching | |
3301 | Prevent a provider from removing an element from another provider | |
3310 | Improve UPnP callback removal | |
3319 | Fix nullable errors | |
3320 | Fix addon.xsd | |
3334 | Fix parsing of YAML default value for community marketplace UI Widgets | |
3351 | Fix CME in JarFileAddonService | |
3365 | Fix CME in ThingActionsResource | |
3366 | Improve handling of erroneous localized messages | |
3379 | Fix a typo in ItemsValidator | |
3402 | Fix sitemap syntax for List element | |
3411 | Fix overriding Jetty's User-Agent in HttpUtil | |
3417 | Fix ConfigValidationException handling in ThingManager |
Add-ons
Add-on | Type | Issue | Change |
---|---|---|---|
astro | Enhancements | 14132 | Add option to force event to occur |
Bug Fixes | 14067 | Added moon phase precision | |
14078 | Fix returning wrong sun phase name | ||
atlona | Enhancements | 14080 | Add support for AT-PRO3HD44M |
bondhome | Enhancements | 14150 | Implement missing 'Light' device type |
14155 | Add raw speed channel | ||
Bug Fixes | 14103 | Fix fatal Null Pointer errors | |
boschshc | Bug Fixes | 14352 | Allow setting the temperature for climate control |
bosesoundtouch | Bug Fixes | 14097 | Fix regression and add tests |
cbus | Bug Fixes | 14385 | Fix exceptions due to invalid thing status updates |
chromecast | Bug Fixes | 14105 | Fix constant disconnections |
14158 | Fix thing go offline after stop command | ||
14191 | Fix for NPE when playerState is null | ||
daikin | Enhancements | 14108 | Add support for Alira X |
dali | Bug Fixes | 14021 | Handle and provide QuantityType for color-temperature-abs channel |
danfossairunit | Enhancements | 14030 | Remove deprecated channel 'manual_fan_speed' |
darksky | Enhancements | 13037 | Remove DarkSky binding due to EOL of their API |
deconz | Enhancements | 14343 | Adjust thread name for web socket client |
digitalstrom | Enhancements | 14402 | Code refactoring |
dmx | Enhancements | 14327 | Refactor and improve code |
dominoswiss | Bug Fixes | 14172 | Fix Bridge-Loading with OH3_3 and OH3_4 |
doorbird | Enhancements | 14122 | Add audiosink |
dsmr | Bug Fixes | 14325 | Improved error handling corrupt messages, discovery additional key bug fix |
ecobee | Enhancements | 14168 | Make more channels advanced |
14403 | Remove org.apache.commons | ||
14517 | Increase temperature precision to decimal | ||
Bug Fixes | 14170 | Fix issue with UTC and local dates | |
elerotransmitterstick | Enhancements | 14405 | Remove apache.commons |
enocean | Bug Fixes | 14558 | Fix condition in getPositionData function of EEP D2_05_00 |
evcc | Enhancements | 14245 | Adjust to breaking API change and add Battery Capacity channel |
Bug Fixes | 14381 | Fixes & Adjust to more breaking changes from evcc 0.111.x | |
evohome | Enhancements | 13885 | Add UoM and semantic tags for temperature channels |
fineoffsetweatherstation | Bug Fixes | 14039 | Fix QuantityType for rain-rate |
14326 | Fix java.lang.IllegalMonitorStateException | ||
fmiweather | Bug Fixes | 13693 | HIRLAM → HARMONIE weather model |
gardena | Bug Fixes | 14203 | Fix keep-alive logic leading to blocked account (403/Forbidden) |
14349 | Adjust thread name for WEB clients (avoid IAE) | ||
goecharger | Bug Fixes | 14494 | Fix command sending |
gpstracker | Enhancements | 14396 | Add (optional) altitude to location channel |
gree | Bug Fixes | 14217 | Allow wider temperature range |
groovyscripting | Enhancements | 14115 | Update Groovy to 4.0.7 |
hdpowerview | Enhancements | 14033 | Remove deprecated scene channels |
homekit | Enhancements | 13879 | Allow configuring secondary services as members of a group |
14034 | Allow configuring min/max light level | ||
14045 | Support Rollershutter items for HoldPosition | ||
14055 | Add support for TV accessory | ||
14209 | Implement IrrigationSystem Accessory | ||
Bug Fixes | 13982 | Implement List-Pairings method | |
14017 | Update AuthInfo objects when blockUserDeletion changes | ||
14169 | Properly expose services from dummy accessories | ||
14226 | Fix restarted on network interface change | ||
homematic | Enhancements | 14274 | HUMIDITY and CONTROL_MODE as standard channels |
Bug Fixes | 14213 | Fix updating enum config values | |
hue | Bug Fixes | 14024 | Allow handling of QuantityType for color temperature channel |
14289 | Get scenes for groups without 10 minutes delay | ||
14297 | Handle unexpected empty response from API | ||
hueemulation | Bug Fixes | 13923 | Fix for Alexa failing to discover all devices. |
imperihome | Enhancements | 14441 | Remove org.apache.common |
influxdb | Enhancements | 14304 | Code improvements and enhancements |
Bug Fixes | 14296 | Fix re-connection issues | |
innogysmarthome | Enhancements | 14407 | Remove org.apache.commons |
jdbc | Enhancements | 13991 | Upgrade MySQL Connector/J to 8.0.31 |
Bug Fixes | 14054 | Fix IllegalArgumentException on service activation | |
14281 | Perform upsert on conflict like the default for MySQL (PostgreSQL >=9.5) | ||
14294 | Working version of PG schema check and TIMESTAMPTZ as default to match MySQL | ||
jeelink | Bug Fixes | 14224 | Fix wrong TX22 rain value |
jrubyscripting | Enhancements | 13944 | Allow disabling dependency tracking |
14556 | Upgrade JRuby to 9.4.2.0 | ||
jsscripting | Enhancements | 14093 | Upgrade to ECMAScript 2022 & Dependency improvements |
14096 | Use "application/javascript" as MIME type | ||
14113 | Improve performance & reduce memory usage | ||
14135 | Cache openhab-js injection to improve performance | ||
14335 | Extend mapping of openhab-js classes to native openHAB counterparts | ||
14375 | Bump openhab-js to 4.0.0 & Clean-Ups | ||
km200 | Enhancements | 14411 | Remove org.apache.commons |
Bug Fixes | 14384 | Fix initialization warning: "tried updating the thing status although the handler was already disposed." | |
14488 | Remove unused configuration URIs | ||
knx | Enhancements | 14015 | Upgrade Calimero library to release 2.5.1 |
14050 | Improve reading of device properties | ||
14051 | Replace gnu.io dependency with serial transport | ||
14454 | FT12: Autodetect cEMI on Weinzierl devices | ||
14503 | Remove workaround for DPT 14 | ||
14509 | Improve thread safety, null-analysis | ||
Bug Fixes | 14504 | Fix DPT 3.007 (Control Dimming) for non -control channels | |
kostalinverter | Bug Fixes | 14386 | Fix exception due to invalid thing status update |
lgwebos | Enhancements | 14331 | Add TLS support |
lifx | Enhancements | 14362 | Add support for newer downlights |
Bug Fixes | 14025 | Handle and provide QuantityType for color-temperature-abs channel | |
Bug Fixes | 14151 | Make actions names for DSL rules consistent with documentation | |
marytts | Bug Fixes | 14064 | Add bnd to make serviceloader aware of marytts impl |
miele | Enhancements | 14086 | Add categories and semantic tags |
14199 | Improve multicast implementation | ||
miio | Enhancements | 13940 | Add support ROIDMI EVA - roidmi.vacuum.v66 |
13941 | Add support Xiaomi Smart Air Purifier 4 Pro zhimi.airp.vb4 | ||
mimictts | Enhancements | 14120 | Fix ssml and playing from audiosinks using the audio servlet |
mqtt | Bug Fixes | 14099 | Fix shutdownRetain default value |
14229 | Fix thread concurrency issue with type provider | ||
mqtt.generic | Bug Fixes | 12238 | Separate command parsing from cached value updating |
mqtt.homeassistant | Enhancements | 14230 | Add support for Number and Select components |
14233 | Support command_template for fan components | ||
14234 | Add support for DeviceTrigger component | ||
14240 | Mark disabled by default components as advanced channels | ||
mycroft | Enhancements | 14342 | Adjust thread name for web socket client |
nanoleaf | Bug Fixes | 13998 | Fix caching of layout |
14026 | Handle and provide QuantityType for color-temperature-abs channel | ||
14459 | Stop the HTTP client when disposing the thing handler | ||
neato | Enhancements | 14415 | Remove org.apache.common |
neohub | Enhancements | 13889 | Recover faster if NeoHub produces empty responses |
netatmo | Enhancements | 14123 | Add the ability to append a postfix to registered webhook. |
14140 | Add the ability to append a postfix to registered webhook. | ||
14543 | Add Carbon Monoxide sensor | ||
14548 | Modify the tokenRefresh handling process | ||
Bug Fixes | 14265 | Preserve outside temperature minimal ranges for dynamic channels | |
14492 | Fix floodlight issue on Presence Camera | ||
nibeheatpump | Bug Fixes | 14461 | Fix setting debug verboseLevel |
nibeuplink | Enhancements | 14416 | Remove org.apache.common |
nuvo | Enhancements | 14012 | Auto update source channel for grouped zones |
14248 | Publish ALLOFF event for use in source rules | ||
Bug Fixes | 14321 | Fix Essentia G standby mode wake-up | |
omnikinverter | Enhancements | 14244 | Add extra parameters (temperature, AC frequency, AC current, AC voltage and total hours running) |
14418 | Remove org.apache.common | ||
onebusaway | Enhancements | 14419 | Remove org.apache.common |
onewire | Enhancements | 14400 | Code improvements and bug fixes |
onkyo | Enhancements | 14420 | Remove org.apache.common |
openhabcloud | Bug Fixes | 14251 | Reconnection Fixes |
openthermgateway | Bug Fixes | 14424 | Fix setting thermostat clock |
openwebnet | Bug Fixes | 14374 | Fix wrong startup value for channel failureDiscovered |
14390 | Light switch updates are now triggered | ||
orbitbhyve | Bug Fixes | 14308 | Fix for NumberFormatException when parsing json object |
pentair | Enhancements | 14421 | Remove org.apache.common |
phc | Enhancements | 14422 | Remove import org.apache.common |
plugwiseha | Enhancements | 14160 | Add default tags |
renault | Enhancements | 14076 | Add new channels 'batterystatusupdated' and 'locked' |
RFXCOM | Enhancements | 14298 | Add MOOD_LIGHT for NOVY Fan |
rotel | Bug Fixes | 14272 | Fix reader thread handling |
rrd4j | Enhancements | 13956 | Upgrade base library from 3.8.1 to 3.8.2 |
14068 | Improve logging of exceptions thrown by getDB | ||
Bug Fixes | 14238 | Avoid IAE thrown if e.g. invalid start/end time given | |
14292 | Fix OOM when requesting data and boundary=true | ||
semsportal | Bug Fixes | 14387 | Fix exception due to invalid thing status update |
shelly | Bug Fixes | 14290 | Cancel the init job when the thing handler is disposed |
sleepiq | Enhancements | 14180 | Rework cloud API and other enhancements |
14447 | Add new channels | ||
14460 | Add thing type update instructions | ||
smartmeter | Enhancements | 14436 | Remove org.apache.common |
snmp | Enhancements | 14330 | Upgrades and enhancements |
solarmax | Enhancements | 14366 | Support configurable Device Address |
sonos | Enhancements | 14438 | Remove org.apache.common |
Bug Fixes | 14164 | Correct identification of tuneIn started from Alexa | |
squeezebox | Enhancements | 14201 | Add new channels for additional tags |
TapoControl | Enhancements | 14364 | Add P300 to the list of supported equipments |
telegram | Bug Fixes | 14314 | Invalid escape of underscore character when sending messages (Revert "Solves issue #11691 (#13758)") |
tesla | Bug Fixes | 14070 | Fix discovery of Tesla vehicles from account |
14128 | Synchronize access to account to avoid concurrency issues | ||
14300 | Fix account going offline every few seconds | ||
14351 | Normalize thread names and avoid a possible IAE | ||
14483 | Stop the WebSocket client when disposing the thing handler | ||
Tibber | Enhancements | 14236 | Add "today" API channel |
14277 | Add accumulatedReward channel | ||
Bug Fixes | 14273 | Fix NPE on server issues | |
tr064 | Enhancements | 14468 | Enhancements, code improvements and fixes |
unifi | Enhancements | 14283 | Add channels name and hostname to client things |
14284 | Add support for guest Wi-Fi vouchers | ||
14303 | Add guest voucher actions | ||
14319 | Add UoM support for RSSI channel | ||
Bug Fixes | 14060 | Fix PoE bug with combination of other data/ports | |
14249 | Various stability improvements | ||
upnpcontrol | Enhancements | 14439 | Remove org.apache.common |
Bug Fixes | 14490 | Fix shuffle switch also switching only play one | |
velbus | Enhancements | 13939 | Add modules VMBKP, VMBIN, VMB4PB |
velux | Bug Fixes | 14225 | Do not use new API on Somfy devices |
vizio | Bug Fixes | 14429 | Improve handling of TV's self-signed certificate |
weathercompany | Enhancements | 14440 | Remove org.apache.common |
wemo | Bug Fixes | 14163 | Fix stability issues |
yioremote | Bug Fixes | 14340 | Stop the web socket client when disposing thing handler |
Zigbee | Bug Fixes | 792 | Ensure node exists when handler is disposed |
User Interfaces
UI | Type | Issue | Change |
---|---|---|---|
Basic UI | Enhancements | 1706 | Add support for iconify and Google material icons |
1733 | Support primary and secondary as value for label/value colors | ||
1751 | Support iconcolor for non OH source icons | ||
Bug Fixes | 1712 | Remove Roboto font as unused by the app | |
1749 | Add missing label/color management for rollershutter items | ||
1753 | Fix label color initialization for color widget | ||
1754 | OH icon scaling | ||
1755 | Remove support for List element | ||
1612 | Fix setpoint/slider widgets when %unit% is used in state pattern | ||
Blockly | Enhancements | 1722 | Add bitwise math operators |
1723 | Add workspace search | ||
CometVisu | Enhancements | 1594 | Remove deprecated cometvisu-php binding |
HABPanel | Bug Fixes | 1688 | Use commandDescription instead of stateDescription for selection list |
Main UI | Enhancements | 1601 | Add tags & script language to script settings |
1613 | Script Editor: Block runRule and save while rule is running (or uninitialized) | ||
1617 | Blockly: Upgrade to v9, add JSScripting (GraalVM) implementations, UoM block types | ||
1621 | Limit alexa parameter state description options | ||
1622 | Add alexa playback step attribute | ||
1623 | Show custom namespaces for items in metadata menu | ||
1642 | Add style to overview page | ||
1647 | Allow customisation of temperature, humidity and luminance badges | ||
1648 | Update Google Assistant Metadata Definitions | ||
1649 | Generalize evaluating expressions for charts & fix diff_last aggregates | ||
1652 | Add visible property to oh-plan-marker | ||
1662 | Add a Scene settings menu entry and editor | ||
1664 | Blockly metadata blocks | ||
1670 | Fix redirection for reverse proxy with authentication not working | ||
1681 | Add doc link to state/commandDescription edit form | ||
1682 | Analyzer: Use Item label instead of name if available | ||
1695 | Improve SIP Client component docs | ||
1698 | Provide access to widget configuration from widget expressions | ||
1699 | Improve Item name validation error message & Add unchangeable note on Item creation | ||
1700 | Validate Widget UID & page ID on creation | ||
1703 | Add new capabilities to oh-knob component using vue-round-slider | ||
1709 | Remove Blockly GraalJS dependency on prepended code | ||
1720 | Save changed rule/scene on runNow & Fix keyboard shortcuts in scene editor | ||
1724 | Add rulesWithTags to oh-repeater | ||
1726 | Add step parameter to oh-input | ||
1735 | Support configuring Input element for sitemap model | ||
1736 | Improve Eclipse provisioned add-ons | ||
1772 | Support iconcolor for all elements in sitemap editor | ||
1773 | oh-knob: Change dottedPath prop to text | ||
Bug Fixes | 1607 | Fix add-on information issues | |
1619 | Update autocompletion for new MIME types | ||
1645 | Add Command-Click for MacOs to select list entries | ||
1656 | Z-Wave map: show only current network, link fixes | ||
1657 | Blockly: Fix UoM on Nashorn message & Adjust to library change | ||
1683 | Fixes & Enhancements for channel add & edit pages | ||
1684 | Fix add-on configuration | ||
1696 | Display "undefined" correctly in widget expressions | ||
1701 | Add delete button for custom metadata namespaces | ||
1704 | Fix link for oh-map-page docs | ||
1727 | Handle NOT_YET_READY in thing status | ||
1734 | Configuration & iPhone style fixes for the "options" widget action | ||
1745 | No quotes around chart period parameter in generated sitemap DSL | ||
1765 | Fix WebAudio sink not playing on Safari | ||
1781 | Sitemap editor: Fix attribute value capturing in parser & string value handling in widget detail view | ||
1783 | Fix sitemap config boolean attributes | ||
1785 | Fix channel-details not shown |