diff --git a/bundles/org.openhab.core/src/main/java/org/openhab/core/library/unit/Units.java b/bundles/org.openhab.core/src/main/java/org/openhab/core/library/unit/Units.java index 3ce1cbaebc6..6d1800bca47 100644 --- a/bundles/org.openhab.core/src/main/java/org/openhab/core/library/unit/Units.java +++ b/bundles/org.openhab.core/src/main/java/org/openhab/core/library/unit/Units.java @@ -139,6 +139,8 @@ public final class Units extends CustomUnits { new ProductUnit<>(VOLT_AMPERE.multiply(tech.units.indriya.unit.Units.HOUR)), Energy.class); public static final Unit NEWTON = addUnit(tech.units.indriya.unit.Units.NEWTON); public static final Unit HERTZ = addUnit(tech.units.indriya.unit.Units.HERTZ); + public static final Unit RPM = addUnit( + new ProductUnit<>(AbstractUnit.ONE.divide(tech.units.indriya.unit.Units.MINUTE))); public static final Unit IRRADIANCE = addUnit( new ProductUnit<>(tech.units.indriya.unit.Units.WATT.divide(tech.units.indriya.unit.Units.SQUARE_METRE))); public static final Unit MICROWATT_PER_SQUARE_CENTIMETRE = addUnit( @@ -276,6 +278,7 @@ public final class Units extends CustomUnits { SimpleUnitFormat.getInstance().label(PEBIBYTE, "PiB"); SimpleUnitFormat.getInstance().alias(PEBIBYTE, "Pio"); SimpleUnitFormat.getInstance().label(PETABIT, "Pbit"); + SimpleUnitFormat.getInstance().label(RPM, "rpm"); SimpleUnitFormat.getInstance().label(STANDARD_GRAVITY, "gₙ"); SimpleUnitFormat.getInstance().label(SIEMENS_PER_METRE, "S/m"); SimpleUnitFormat.getInstance().label(TERABYTE, "TB"); diff --git a/bundles/org.openhab.core/src/test/java/org/openhab/core/library/unit/UnitsTest.java b/bundles/org.openhab.core/src/test/java/org/openhab/core/library/unit/UnitsTest.java index 14d995c3361..8e6bae95a9d 100644 --- a/bundles/org.openhab.core/src/test/java/org/openhab/core/library/unit/UnitsTest.java +++ b/bundles/org.openhab.core/src/test/java/org/openhab/core/library/unit/UnitsTest.java @@ -387,6 +387,13 @@ public void testConductivity() { assertThat(converted.toString(), anyOf(is("10000 \u00B5S/cm"), is("10000 \u03BCS/cm"))); } + @Test + public void testRpm() { + QuantityType oneHertz = QuantityType.valueOf("60 rpm"); + QuantityType converted = oneHertz.toUnit("Hz"); + assertThat(converted.doubleValue(), is(closeTo(1.00, DEFAULT_ERROR))); + } + private static class QuantityEquals extends IsEqual> { private Quantity quantity;