Menü Schließen

openHAB 4.0.0 Milestone 3 veröffentlicht

openHAB Logo

Die Entwickler der Open-Source Smarthomelösung openHAB, haben den Meilenstein 3 der kommenden Version 4.0.0 veröffentlicht. Das Update behebt Fehler in einigen Add-ons und bringt neue Features.

Ich habe es bereits von 3.6.3 aktualisiert und weiße daraufhin, dass Java 17 verwendet werden muss: Installation Debian OpenJDK17

openHAB 4.0.0 Milestone 3 Release Notes

Changes in Units of Measurement (UoM)


Units of Measurement is used for handling values with units attached (like 23 °C).
It has been refactored in openHAB 4 and needs some special attention when upgrading.
Since the introduction of UoM in openHAB 2.3 some limitations have been discovered.
One of these issues is inconsistent handling of units when no state description for the item is defined.
With openHAB 3.4 we already introduced a “default unit” that is used as the item’s unit when no other units has been set.
Unfortunately this still has issues, e.g. it invalidates your persisted data when you change the unit that is used for displaying.

The new concept

The new concept follow these priniples:

  1. Number item never shows a unit.
    Linking thing channels to such an item results in the unit being dropped (i.e. if the thing sends 23 °C), the item state will be 23.
  2. An item with dimension (Number:Power) has a unit (e.g. kW that is used within openHAB that is independent from the unit that is used for displaying.
    A value that has no unit attached will be considered to be in that unit (i.e. 5 will result in the item state changing to 5 kW).
    Values with units will be converted to that unit (i.e. 500 W will result in an item state of 0.5 kW).
    Incompatible values (e.g. sending 5 Hz to a Number:Temperature channel) are discarded.
  3. The unit of the item is used internally, in events and also for persistence.
  4. The DISPLAY of the item is controlled by the state description.
    A unit set in the state description MUST be compatible to the unit of the item.
    The state description does not affect anything except displaying the values.

As a result your configuration might need some adjustments.
It is strongly recommended to check if something needs to be done BEFORE upgrading.


Textual configuration

For textual configuration (.items files), you should check all Number:.... items:

  • If you did not set a state description (this is the part of the label enclosed in square brackets e.g. [%.2f °C]) you don’t have to change anything.
  • If you have set a state description and the unit is the same as the system default (, technically no change is needed.
    However it is strongly recommended to set unit metadata (see below).
  • If you have set a state description and the unit is different from the system default you are required to set unit metadata.
    Failing to do so, will result in corrupted data in your persisted data.


Number:Energy Electrical_Consumption "Electrical Consumption [%.0f Wh]" { channel="myenergybinding:meterthing:totalmeter" }

needs adjustment, because the system default for Number:Energy is different (kWh).
Set the unit metadata to Wh.

Number:Energy Electrical_Consumption "Electrical Consumption [%.0f Wh]" { unit="Wh", channel="myenergybinding:meterthing:totalmeter" }

Managed configuration (UI)

An upgradetool was added to the update scripts.
This tool re-writes the item database and copies the state description units to the required metadata.
Have a close look at the output of the script during the upgrade process.

Upgrading from openHAB versions <3.4

Older openHAB versions (before 3.4) had no system default unit for a lot of dimensions.
If you upgrade from such a version, it is recommended to set the unit metadata to those that you see in UI.

New Add-ons

The following add-ons are newly introduced:


The following improvements were made:


Enhancements2871Allow managing persistence configurations and enable filters
3268Initial contribution of an CLI upgrade-tool
3407Add an AbstractStorageBasedTypeProvider
3481Add unit metadata for NumberItem
3542Improve precision of ColorUtil
3548Icon server: remove old style request with the state in the URL
3550Remove GenericScriptEngineFactory
3559List semantic tags
3560Remove redundant public and abstract modifiers from interfaces
3568Improve log message to identify profile’s link
3573Add support for overriding holiday definitions
3591Make –dir param optional for upgradetool
3593Improve message when rule action fails
Bug Fixes3572Fix marketplace add-on services fail after upgrade
3575Consider auto-update policy from channel types
3576Improve thing updates
3587Change default imperial unit for length to inch
3592Fix non-unique module handler identifiers
3598Fix storing of StateDescriptionFragment in AbstractStorageBasedTypeProvider
3608Add dimension RadiationSpecificActivity


AirQualityEnhancements14602Enhance API error handling
airthingsBug Fixes15011Adapt channels to new dimention for Radon measurements
anthemEnhancements14720Add channel, refactor parser, add tests
avmfritzEnhancements14373Add light blub color temperature support
boschindegoEnhancements14829Add device properties
danfossairunitEnhancements15002Add UoM support for rotational speed channels
deconzBug Fixes14827Fix roller shutter status
easeeBug Fixes14903Fix start/stop due to changed API
ecobeeBug Fixes14980Delete OAuth access token when thing removed
evccEnhancements14983Adjust to API changes & add new channels for evcc 0.117.0
goechargerBug Fixes14933Avoid potential NullPointerException
harmonyhubEnhancements14507Use AbstractStorageBasedTypeProvider
hdpowerviewEnhancements13355Add support for Generation 3
hueBug Fixes14871Fix NUPnP discovery
14914Restore UPnP discovery for old bridges
14989Fix NullPointerException in NUPnP discovery
iCloudBug Fixes14661Fix existing things stopped working and re-appeared as new in the inbox
imperihomeEnhancements15014Remove imperihome addon
influxdbEnhancements14806Bump json from 20200518 to 20230227
14959Implement ModifiablePersistenceService
15009Support restoring unit for dimension items
Bug Fixes14888Write asynchronously to database and improve performance
ipcameraEnhancements14728Add Reolink API support
Bug Fixes14872Fix servlet exceptions due to non unique names
14909Fix orphan ffmpeg process after stopping stream URL
jdbcEnhancements14874Upgrade MySQL Connector/J to 8.0.33
Bug Fixes14987Fix addon-info
jsscriptingEnhancements14984Add type translation for Instant and minor improvements
14985Allow configuring from add-on page
knxEnhancements14851Add list of DPTs documenting implementation status
Bug Fixes14875Fix decoding of DPT 242.600 and add tests
luftdateninfoEnhancements15012[sensorcommunity] Rename binding to Sensor.Community
mapBug Fixes14825[scale] Fix localization
mapdbBug Fixes14900Make serialization asynchronous
MeteoalerteEnhancements14811Add an IconProvider
monopriceaudioEnhancements13936Add support for additional amplifiers
mqtt.homeassistantBug Fixes14858Don’t set range on current temp channel
netatmoEnhancements14780Consolidate OAuth2 by using core implementation and storage
openwebnetEnhancements14357Improve shutterRun calibration
14819Add a time stamp when an alarm zone event occurs
Bug Fixes14822Fix for dimmer blocked after two OFF are received
remoteopenhabEnhancements14956Use AbstractStorageBasedTypeProvider
renaultEnhancements14846Update default Kamereon API Key
robonectEnhancements14868Improve job type configuration
rrd4jBug Fixes14913Write asynchronously to database
14961Do not create RRD file when querying data
senechomeEnhancements14824Add additional system states
senseboxBug Fixes14879Fix NPE after parsing invalid data
shellyEnhancements14532Add support for Plus Smoke, Plus Plug-S/IT/UK/US, Plus Dimmer US, Pro 3EM; fix Gen1 sensor initialization
sonnenEnhancements14589Update to API V2 of vendor and add PowerMeter
sonosEnhancements14920Add support for Era 100 and Era 300
systeminfoEnhancements14501Use AbstractStorageBasedTypeProvider
tapocontrolEnhancements14790Move error messages to i18n
14972LightEffects for L530 can now be set
teslaBug Fixes14922Adapt binding to changed API from Tesla backend
veluxEnhancements14817Softer initialization after power failure
ventaairBug Fixes14896Fix typo Dimenionsless in channel definition
voicerssBug Fixes14988Fix service-id in addon.xml
ZigbeeEnhancements804Update ZSS library to 1.4.11
zoneminderEnhancements14906Add support for setting the server run state

User Interfaces

Basic UIBug Fixes1897Handle properly state updates to NULL or UNDEF
cometvisuBug Fixes1826Make sure that folder paths always end with a slash
Main UIEnhancements1818Add a code tab to the Item editor
1843Sitemap and item config parsing adjustments
1852– Evaluate service as part of series’s chart config
1857oh-sipclient: Various fixes & improvements
1864Improvements for UoM blocks & Extend getItemAttribute block
1868Toggle between item name or label
1869Add pattern to text of date block
1870Support storing timers in shared cache
1871Add new math_round block with round up, down and by decimals
1875oh-knob & oh-stepper: Add offset functionality
1876Developer sidebar: Support search in metadata value and config
1877Automatic shadow block conversion into real block
1878foreground-service: Listen to tab visibility change event
1898Add dictionary loop
1899Show toast instead of error when saving / running from code preview
1901Items: Add unit metadata for UoM (Number:) Items
Bug Fixes1849Fix icons not displayed & not dynamic on all pages
1865Use right UID attribute in Thing picker
1883Transformation edit: Remove i18n string from Item state transform hint
1884Fix Things by binding & pages by type not in alphabetical order
1887Sitemap code generation: Quote colors
1889blockly] Fix picker update detection to allow shadow block conversion
1894oh-slider: Fix command sent on state update due to rounding
1900Item & Thing code tabs: Minor fixes
1904oh-repeater: Fix new data requested when css visibility changed


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert