Add dimension for emission intensity (#4069)
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>pull/4084/head
parent
c929e7dfe2
commit
823f993f56
|
@ -75,6 +75,7 @@ import org.openhab.core.library.dimension.DataAmount;
|
|||
import org.openhab.core.library.dimension.DataTransferRate;
|
||||
import org.openhab.core.library.dimension.Density;
|
||||
import org.openhab.core.library.dimension.ElectricConductivity;
|
||||
import org.openhab.core.library.dimension.EmissionIntensity;
|
||||
import org.openhab.core.library.dimension.EnergyPrice;
|
||||
import org.openhab.core.library.dimension.Intensity;
|
||||
import org.openhab.core.library.dimension.RadiationSpecificActivity;
|
||||
|
@ -411,6 +412,7 @@ public class I18nProviderImpl
|
|||
addDefaultUnit(dimensionMap, ElectricInductance.class, Units.HENRY);
|
||||
addDefaultUnit(dimensionMap, ElectricPotential.class, Units.VOLT);
|
||||
addDefaultUnit(dimensionMap, ElectricResistance.class, Units.OHM);
|
||||
addDefaultUnit(dimensionMap, EmissionIntensity.class, Units.GRAM_PER_KILOWATT_HOUR);
|
||||
addDefaultUnit(dimensionMap, Energy.class, Units.KILOWATT_HOUR);
|
||||
addDefaultUnit(dimensionMap, Force.class, Units.NEWTON);
|
||||
addDefaultUnit(dimensionMap, Frequency.class, Units.HERTZ);
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
/**
|
||||
* Copyright (c) 2010-2024 Contributors to the openHAB project
|
||||
*
|
||||
* See the NOTICE file(s) distributed with this work for additional
|
||||
* information.
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.core.library.dimension;
|
||||
|
||||
import javax.measure.Quantity;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
|
||||
/**
|
||||
* Define emission intensity type (basic unit is g/kWh)
|
||||
* See <a href="https://en.wikipedia.org/wiki/Emission_intensity">Wikipedia</a>
|
||||
*
|
||||
* @author Jacob Laursen - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public interface EmissionIntensity extends Quantity<EmissionIntensity> {
|
||||
}
|
|
@ -55,6 +55,7 @@ import org.openhab.core.library.dimension.DataAmount;
|
|||
import org.openhab.core.library.dimension.DataTransferRate;
|
||||
import org.openhab.core.library.dimension.Density;
|
||||
import org.openhab.core.library.dimension.ElectricConductivity;
|
||||
import org.openhab.core.library.dimension.EmissionIntensity;
|
||||
import org.openhab.core.library.dimension.Intensity;
|
||||
import org.openhab.core.library.dimension.RadiationSpecificActivity;
|
||||
import org.openhab.core.library.dimension.VolumetricFlowRate;
|
||||
|
@ -131,6 +132,8 @@ public final class Units extends CustomUnits {
|
|||
new ProductUnit<>(tech.units.indriya.unit.Units.WATT.multiply(tech.units.indriya.unit.Units.HOUR)));
|
||||
public static final Unit<Energy> KILOWATT_HOUR = addUnit(MetricPrefix.KILO(WATT_HOUR));
|
||||
public static final Unit<Energy> MEGAWATT_HOUR = addUnit(MetricPrefix.MEGA(WATT_HOUR));
|
||||
public static final Unit<EmissionIntensity> GRAM_PER_KILOWATT_HOUR = addUnit(
|
||||
new ProductUnit<>(tech.units.indriya.unit.Units.GRAM.divide(KILOWATT_HOUR)));
|
||||
public static final Unit<Power> VAR = addUnit(new AlternateUnit<>(tech.units.indriya.unit.Units.WATT, "var"));
|
||||
public static final Unit<Power> KILOVAR = addUnit(MetricPrefix.KILO(VAR));
|
||||
public static final Unit<Energy> VAR_HOUR = addUnit(
|
||||
|
@ -261,6 +264,7 @@ public final class Units extends CustomUnits {
|
|||
SimpleUnitFormat.getInstance().label(DEGREE_ANGLE, "°");
|
||||
SimpleUnitFormat.getInstance().label(DEUTSCHE_HAERTE, "°dH");
|
||||
SimpleUnitFormat.getInstance().label(DOBSON_UNIT, "DU");
|
||||
SimpleUnitFormat.getInstance().label(GRAM_PER_KILOWATT_HOUR, "g/kWh");
|
||||
SimpleUnitFormat.getInstance().label(GIGABYTE, "GB");
|
||||
SimpleUnitFormat.getInstance().label(GIBIBYTE, "GiB");
|
||||
SimpleUnitFormat.getInstance().alias(GIBIBYTE, "Gio");
|
||||
|
|
|
@ -111,6 +111,11 @@ public class UnitsTest {
|
|||
assertThat(Units.MILLIMETRE_OF_MERCURY.toString(), is("mmHg"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGramPerKiloWattHourUnitSymbol() {
|
||||
assertThat(Units.GRAM_PER_KILOWATT_HOUR.toString(), is("g/kWh"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPascal2mmHgConversion() {
|
||||
Quantity<Pressure> pascal = Quantities.getQuantity(new BigDecimal("133.322368"), SIUnits.PASCAL);
|
||||
|
|
Loading…
Reference in New Issue