diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/README.md b/bundles/org.openhab.binding.frenchgovtenergydata/README.md index 8974bc2a4f3..115935f1577 100644 --- a/bundles/org.openhab.binding.frenchgovtenergydata/README.md +++ b/bundles/org.openhab.binding.frenchgovtenergydata/README.md @@ -10,10 +10,18 @@ The binding offers things for the two usual tariff classes (proposed by example - `base`: This is the basic subscription with a fixed kWh price. - `hphc`: Alternative subscription offering variable price in a given hour set (low hours/high hours). +- `tempo`: Alternative suscription with different price in regards of day colors and day or night. + Day colors can be Red, White or Blue. + Red day are the one where there is most energy demands in France, and are the most higher price. + White day are intermediate pricing, for day where energy demands is not almost important as red day. + Blue day are the one with the lower price. + + Blue day, and in some proportion White day get very interesting discount in regards of base tariff. + But Red day, in counter part, have very high rate during the daylight. ## Thing Configuration -Things (both `base` and `hphc`) only offers the configuration of the power output of the electrical delivery point (Linky terminal). +Things (both `base`, `hphc` and `tempo`) only offers the configuration of the power output of the electrical delivery point (Linky terminal). | Name | Type | Description | Default | Required | |-----------------------|---------|---------------------------------------------|---------------|----------| @@ -47,12 +55,34 @@ All channels are read-only. | hc-ht | Number:EnergyPrice | Low hours energy price in €/kWh excluding taxes | Yes | | hp-ht | Number:EnergyPrice | High hours energy price in €/kWh excluding taxes | Yes | +### `tempo` Tariff Thing + + | Channel | Type | Description | Advanced | + |--------------|--------------------|-------------------------------------------------------------|----------| + | fixed-ttc | Number:Currency | Yearly fixed price including taxes | No | + | blue-hc-ttc | Number:EnergyPrice | Low hours blue day energy price in €/kWh including taxes | No | + | blue-hp-ttc | Number:EnergyPrice | High hours blue day energy price in €/kWh including taxes | No | + | white-hc-ttc | Number:EnergyPrice | Low hours white day energy price in €/kWh including taxes | No | + | white-hp-ttc | Number:EnergyPrice | High hours white day energy price in €/kWh including taxes | No | + | red-hc-ttc | Number:EnergyPrice | Low hours red day energy price in €/kWh including taxes | No | + | red-hp-ttc | Number:EnergyPrice | High hours red day energy price in €/kWh including taxes | No | + | tariff-start | DateTime | Beginning date for this tariff | Yes | + | fixed-ht | Number:Currency | Yearly fixed price excluding taxes | Yes | + | blue-hc-ht | Number:EnergyPrice | Low hours blue day energy price in €/kWh excluding taxes | Yes | + | blue-hp-ht | Number:EnergyPrice | High hours blue day energy price in €/kWh excluding taxes | Yes | + | white-hc-ht | Number:EnergyPrice | Low hours white day energy price in €/kWh excluding taxes | Yes | + | white-hp-ht | Number:EnergyPrice | High hours white day energy price in €/kWh excluding taxes | Yes | + | red-hc-ht | Number:EnergyPrice | Low hours red day energy price in €/kWh excluding taxes | Yes | + | red-hp-ht | Number:EnergyPrice | High hours red day energy price in €/kWh excluding taxes | Yes | + ## Full Example ### Thing Configuration ```java +Thing frenchgovtenergydata:base:local "Tarification Actuelle Base" [puissance=9] Thing frenchgovtenergydata:hphc:local "Tarification Actuelle HP/HC" [puissance=9] +Thing frenchgovtenergydata:tempo:local "Tarification Actuelle Tempo" [puissance=9] ``` ### Item Configuration diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/FrenchGovtEnergyDataBindingConstants.java b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/FrenchGovtEnergyDataBindingConstants.java index b982b930a28..f004c6665c9 100644 --- a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/FrenchGovtEnergyDataBindingConstants.java +++ b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/FrenchGovtEnergyDataBindingConstants.java @@ -31,6 +31,7 @@ public class FrenchGovtEnergyDataBindingConstants { // List of all Thing Type UIDs public static final ThingTypeUID THING_TYPE_BASE = new ThingTypeUID(BINDING_ID, "base"); public static final ThingTypeUID THING_TYPE_HPHC = new ThingTypeUID(BINDING_ID, "hphc"); + public static final ThingTypeUID THING_TYPE_TEMPO = new ThingTypeUID(BINDING_ID, "tempo"); // List of all Channel ids public static final String CHANNEL_TARIFF_START = "tariff-start"; @@ -43,5 +44,20 @@ public class FrenchGovtEnergyDataBindingConstants { public static final String CHANNEL_HP_HT = "hp-ht"; public static final String CHANNEL_HP_TTC = "hp-ttc"; + public static final String CHANNEL_RED_HC_HT = "red-hc-ht"; + public static final String CHANNEL_RED_HC_TTC = "red-hc-ttc"; + public static final String CHANNEL_RED_HP_HT = "red-hp-ht"; + public static final String CHANNEL_RED_HP_TTC = "red-hp-ttc"; + + public static final String CHANNEL_WHITE_HC_HT = "white-hc-ht"; + public static final String CHANNEL_WHITE_HC_TTC = "white-hc-ttc"; + public static final String CHANNEL_WHITE_HP_HT = "white-hp-ht"; + public static final String CHANNEL_WHITE_HP_TTC = "white-hp-ttc"; + + public static final String CHANNEL_BLUE_HC_HT = "blue-hc-ht"; + public static final String CHANNEL_BLUE_HC_TTC = "blue-hc-ttc"; + public static final String CHANNEL_BLUE_HP_HT = "blue-hp-ht"; + public static final String CHANNEL_BLUE_HP_TTC = "blue-hp-ttc"; + public static final Currency CURRENCY_EUR = Currency.getInstance("EUR"); } diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/FrenchGovtEnergyDataHandlerFactory.java b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/FrenchGovtEnergyDataHandlerFactory.java index f0576bd1eab..0a9233c8bb9 100644 --- a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/FrenchGovtEnergyDataHandlerFactory.java +++ b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/FrenchGovtEnergyDataHandlerFactory.java @@ -20,6 +20,7 @@ import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.openhab.binding.frenchgovtenergydata.internal.handler.BaseTariffHandler; import org.openhab.binding.frenchgovtenergydata.internal.handler.HpHcTariffHandler; +import org.openhab.binding.frenchgovtenergydata.internal.handler.TempoTariffHandler; import org.openhab.core.thing.Thing; import org.openhab.core.thing.ThingTypeUID; import org.openhab.core.thing.binding.BaseThingHandlerFactory; @@ -36,7 +37,8 @@ import org.osgi.service.component.annotations.Component; @Component(configurationPid = "binding.frenchgovtenergydata", service = ThingHandlerFactory.class) public class FrenchGovtEnergyDataHandlerFactory extends BaseThingHandlerFactory { - private static final Set SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_BASE, THING_TYPE_HPHC); + private static final Set SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_BASE, THING_TYPE_HPHC, + THING_TYPE_TEMPO); @Override public boolean supportsThingType(ThingTypeUID thingTypeUID) { @@ -47,7 +49,14 @@ public class FrenchGovtEnergyDataHandlerFactory extends BaseThingHandlerFactory protected @Nullable ThingHandler createHandler(Thing thing) { ThingTypeUID thingTypeUID = thing.getThingTypeUID(); - return THING_TYPE_BASE.equals(thingTypeUID) ? new BaseTariffHandler(thing) - : THING_TYPE_HPHC.equals(thingTypeUID) ? new HpHcTariffHandler(thing) : null; + if (THING_TYPE_BASE.equals(thingTypeUID)) { + return new BaseTariffHandler(thing); + } else if (THING_TYPE_HPHC.equals(thingTypeUID)) { + return new HpHcTariffHandler(thing); + } else if (THING_TYPE_TEMPO.equals(thingTypeUID)) { + return new TempoTariffHandler(thing); + } + + return null; } } diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/BaseTariff.java b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/BaseTariff.java index e7816079912..342b39c6f90 100644 --- a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/BaseTariff.java +++ b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/BaseTariff.java @@ -27,8 +27,8 @@ public class BaseTariff extends Tariff { public BaseTariff(String line) { super(line, 7); try { - this.variableHT = Double.parseDouble(values[5]); - this.variableTTC = Double.parseDouble(values[6]); + this.variableHT = parseDouble(values[5]); + this.variableTTC = parseDouble(values[6]); } catch (NumberFormatException e) { throw new IllegalArgumentException("Incorrect data in '%s'".formatted(line), e); } diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/HpHcTariff.java b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/HpHcTariff.java index 018b6cfa87b..986a7505078 100644 --- a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/HpHcTariff.java +++ b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/HpHcTariff.java @@ -29,10 +29,10 @@ public class HpHcTariff extends Tariff { public HpHcTariff(String line) { super(line, 9); try { - this.hcHT = Double.parseDouble(values[5]); - this.hcTTC = Double.parseDouble(values[6]); - this.hpHT = Double.parseDouble(values[7]); - this.hpTTC = Double.parseDouble(values[8]); + this.hcHT = parseDouble(values[5]); + this.hcTTC = parseDouble(values[6]); + this.hpHT = parseDouble(values[7]); + this.hpTTC = parseDouble(values[8]); } catch (NumberFormatException e) { throw new IllegalArgumentException("Incorrect data in '%s'".formatted(line), e); } diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/Tariff.java b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/Tariff.java index 03c7330b898..0d8de483368 100644 --- a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/Tariff.java +++ b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/Tariff.java @@ -18,6 +18,7 @@ import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; +import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; @@ -30,7 +31,7 @@ import org.eclipse.jdt.annotation.Nullable; public class Tariff { protected static final DateTimeFormatter TARIFF_DATE_FORMAT = DateTimeFormatter.ofPattern("dd/MM/yyyy"); - protected final String[] values; + protected final @NonNull String[] values; public final ZonedDateTime dateDebut; public final @Nullable ZonedDateTime dateFin; public final int puissance; @@ -38,24 +39,32 @@ public class Tariff { public final double fixeTTC; public Tariff(String line, int lenControl) { - this.values = line.replace(',', '.').split(";"); - if (values.length == lenControl) { - try { + this.values = line.replace(',', '.').split(";", -1); + try { + if (values.length == lenControl) { + this.dateDebut = LocalDate.parse(values[0], TARIFF_DATE_FORMAT).atStartOfDay(ZoneOffset.UTC); this.dateFin = !values[1].isEmpty() ? LocalDate.parse(values[1], TARIFF_DATE_FORMAT).atStartOfDay(ZoneOffset.UTC) : null; this.puissance = Integer.parseInt(values[2]); - this.fixeHT = Double.parseDouble(values[3]); - this.fixeTTC = Double.parseDouble(values[4]); - } catch (NumberFormatException | DateTimeParseException e) { - throw new IllegalArgumentException("Incorrect data in '%s'".formatted(line), e); + this.fixeHT = parseDouble(values[3]); + this.fixeTTC = parseDouble(values[4]); + } else { + throw new IllegalArgumentException("Unexpected number of data, %d expected".formatted(lenControl)); } - } else { - throw new IllegalArgumentException("Unexpected number of data, %d expected".formatted(lenControl)); + } catch (NumberFormatException | DateTimeParseException e) { + throw new IllegalArgumentException("Incorrect data in '%s'".formatted(line), e); } } + public static double parseDouble(String input) { + if (input.isBlank()) { + return 0; + } + return Double.parseDouble(input); + } + public boolean isActive() { return dateFin == null; } diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/TempoTariff.java b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/TempoTariff.java new file mode 100644 index 00000000000..76be86fa9d1 --- /dev/null +++ b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/dto/TempoTariff.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2010-2025 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.binding.frenchgovtenergydata.internal.dto; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * The {@link TariffHpHc} holds HP-HC price informations + * + * @author Laurent Arnal - Initial contribution + */ +@NonNullByDefault +public class TempoTariff extends Tariff { + public final double blueHcHT; + public final double blueHcTTC; + public final double blueHpHT; + public final double blueHpTTC; + + public final double whiteHcHT; + public final double whiteHcTTC; + public final double whiteHpHT; + public final double whiteHpTTC; + + public final double redHcHT; + public final double redHcTTC; + public final double redHpHT; + public final double redHpTTC; + + public TempoTariff(String line) { + super(line, 17); + try { + this.blueHcHT = parseDouble(values[5]); + this.blueHcTTC = parseDouble(values[6]); + this.blueHpHT = parseDouble(values[7]); + this.blueHpTTC = parseDouble(values[8]); + + this.whiteHcHT = parseDouble(values[9]); + this.whiteHcTTC = parseDouble(values[10]); + this.whiteHpHT = parseDouble(values[11]); + this.whiteHpTTC = parseDouble(values[12]); + + this.redHcHT = parseDouble(values[13]); + this.redHcTTC = parseDouble(values[14]); + this.redHpHT = parseDouble(values[15]); + this.redHpTTC = parseDouble(values[16]); + } catch (NumberFormatException e) { + throw new IllegalArgumentException("Incorrect data in '%s'".formatted(line), e); + } + } +} diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/handler/TempoTariffHandler.java b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/handler/TempoTariffHandler.java new file mode 100644 index 00000000000..38408158087 --- /dev/null +++ b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/java/org/openhab/binding/frenchgovtenergydata/internal/handler/TempoTariffHandler.java @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2010-2025 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.binding.frenchgovtenergydata.internal.handler; + +import static org.openhab.binding.frenchgovtenergydata.internal.FrenchGovtEnergyDataBindingConstants.*; + +import java.util.List; +import java.util.stream.Stream; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.openhab.binding.frenchgovtenergydata.internal.dto.TempoTariff; +import org.openhab.core.library.types.QuantityType; +import org.openhab.core.library.unit.CurrencyUnits; +import org.openhab.core.thing.Thing; + +/** + * The {@link ThingTariffTempoHandler} is responsible for handling commands, which are + * sent to one of the channels. + * + * @author Laurent Arnal - Initial contribution + */ +@NonNullByDefault +public class TempoTariffHandler extends TariffHandler { + private static final String EMPTY_LINE = ";;;;;;;;"; + private static final String DATASET_ID = "0c3d1d36-c412-4620-8566-e5cbb4fa2b5a"; + + public TempoTariffHandler(Thing thing) { + super(thing, DATASET_ID); + } + + @Override + protected Stream interpretLines(List lines) { + return lines.stream().filter(line -> !line.equals(EMPTY_LINE)).map(TempoTariff::new); + } + + @Override + protected void updateChannels(TempoTariff tariff) { + super.updateChannels(tariff); + updateState(CHANNEL_RED_HP_HT, new QuantityType<>(tariff.redHpHT, CurrencyUnits.BASE_ENERGY_PRICE)); + updateState(CHANNEL_RED_HP_TTC, new QuantityType<>(tariff.redHpTTC, CurrencyUnits.BASE_ENERGY_PRICE)); + updateState(CHANNEL_RED_HC_HT, new QuantityType<>(tariff.redHcHT, CurrencyUnits.BASE_ENERGY_PRICE)); + updateState(CHANNEL_RED_HC_TTC, new QuantityType<>(tariff.redHcTTC, CurrencyUnits.BASE_ENERGY_PRICE)); + + updateState(CHANNEL_WHITE_HP_HT, new QuantityType<>(tariff.whiteHpHT, CurrencyUnits.BASE_ENERGY_PRICE)); + updateState(CHANNEL_WHITE_HP_TTC, new QuantityType<>(tariff.whiteHpTTC, CurrencyUnits.BASE_ENERGY_PRICE)); + updateState(CHANNEL_WHITE_HC_HT, new QuantityType<>(tariff.whiteHcHT, CurrencyUnits.BASE_ENERGY_PRICE)); + updateState(CHANNEL_WHITE_HC_TTC, new QuantityType<>(tariff.whiteHcTTC, CurrencyUnits.BASE_ENERGY_PRICE)); + + updateState(CHANNEL_BLUE_HP_HT, new QuantityType<>(tariff.blueHpHT, CurrencyUnits.BASE_ENERGY_PRICE)); + updateState(CHANNEL_BLUE_HP_TTC, new QuantityType<>(tariff.blueHpTTC, CurrencyUnits.BASE_ENERGY_PRICE)); + updateState(CHANNEL_BLUE_HC_HT, new QuantityType<>(tariff.blueHcHT, CurrencyUnits.BASE_ENERGY_PRICE)); + updateState(CHANNEL_BLUE_HC_TTC, new QuantityType<>(tariff.blueHcTTC, CurrencyUnits.BASE_ENERGY_PRICE)); + } +} diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/i18n/frenchgovtenergydata.properties b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/i18n/frenchgovtenergydata.properties index 2371f0e70df..28f85d33a70 100644 --- a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/i18n/frenchgovtenergydata.properties +++ b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/i18n/frenchgovtenergydata.properties @@ -29,6 +29,36 @@ thing-type.frenchgovtenergydata.hphc.channel.hp-ht.label = High Hours Price HT thing-type.frenchgovtenergydata.hphc.channel.hp-ht.description = High hours energy price in €/kWh excluding taxes. thing-type.frenchgovtenergydata.hphc.channel.hp-ttc.label = High Hours Price TTC thing-type.frenchgovtenergydata.hphc.channel.hp-ttc.description = High hours energy price in €/kWh including taxes. +thing-type.frenchgovtenergydata.tempo.label = Tempo Tariff +thing-type.frenchgovtenergydata.tempo.description = Temmpo usage Tariff Subscription +thing-type.frenchgovtenergydata.tempo.channel.blue-hc-ht.label = Blue Day Low HT +thing-type.frenchgovtenergydata.tempo.channel.blue-hc-ht.description = Blue day Low hours energy price in €/kWh excluding taxes. +thing-type.frenchgovtenergydata.tempo.channel.blue-hc-ttc.label = Blue Day Low TTC +thing-type.frenchgovtenergydata.tempo.channel.blue-hc-ttc.description = Blue day Low hours energy price in €/kWh including taxes. +thing-type.frenchgovtenergydata.tempo.channel.blue-hp-ht.label = Blue Day High HT +thing-type.frenchgovtenergydata.tempo.channel.blue-hp-ht.description = Blue day High hours energy price in €/kWh excluding taxes. +thing-type.frenchgovtenergydata.tempo.channel.blue-hp-ttc.label = Blue Day High TTC +thing-type.frenchgovtenergydata.tempo.channel.blue-hp-ttc.description = Blue day High hours energy price in €/kWh including taxes. +thing-type.frenchgovtenergydata.tempo.channel.fixed-ht.label = Fixed Price HT +thing-type.frenchgovtenergydata.tempo.channel.fixed-ht.description = Yearly fixed price excluding taxes. +thing-type.frenchgovtenergydata.tempo.channel.fixed-ttc.label = Fixed Price TTC +thing-type.frenchgovtenergydata.tempo.channel.fixed-ttc.description = Yearly fixed price including taxes. +thing-type.frenchgovtenergydata.tempo.channel.red-hc-ht.label = Red Day Low HT +thing-type.frenchgovtenergydata.tempo.channel.red-hc-ht.description = Red day Low hours energy price in €/kWh excluding taxes. +thing-type.frenchgovtenergydata.tempo.channel.red-hc-ttc.label = Red Day Low TTC +thing-type.frenchgovtenergydata.tempo.channel.red-hc-ttc.description = Red day Low hours energy price in €/kWh including taxes. +thing-type.frenchgovtenergydata.tempo.channel.red-hp-ht.label = Red Day High HT +thing-type.frenchgovtenergydata.tempo.channel.red-hp-ht.description = Red day High hours energy price in €/kWh excluding taxes. +thing-type.frenchgovtenergydata.tempo.channel.red-hp-ttc.label = Red Day High TTC +thing-type.frenchgovtenergydata.tempo.channel.red-hp-ttc.description = Red day High hours energy price in €/kWh including taxes. +thing-type.frenchgovtenergydata.tempo.channel.white-hc-ht.label = White Day Low HT +thing-type.frenchgovtenergydata.tempo.channel.white-hc-ht.description = White day Low hours energy price in €/kWh excluding taxes. +thing-type.frenchgovtenergydata.tempo.channel.white-hc-ttc.label = White Day Low TTC +thing-type.frenchgovtenergydata.tempo.channel.white-hc-ttc.description = White day Low hours energy price in €/kWh including taxes. +thing-type.frenchgovtenergydata.tempo.channel.white-hp-ht.label = White Day High HT +thing-type.frenchgovtenergydata.tempo.channel.white-hp-ht.description = White day High hours energy price in €/kWh excluding taxes. +thing-type.frenchgovtenergydata.tempo.channel.white-hp-ttc.label = White Day High TTC +thing-type.frenchgovtenergydata.tempo.channel.white-hp-ttc.description = White day High hours energy price in €/kWh including taxes. # thing types config @@ -36,6 +66,8 @@ thing-type.config.frenchgovtenergydata.base.puissance.label = Power output thing-type.config.frenchgovtenergydata.base.puissance.description = PDL power output (in kVA) thing-type.config.frenchgovtenergydata.hphc.puissance.label = Power Output thing-type.config.frenchgovtenergydata.hphc.puissance.description = PDL power output (in kVA) +thing-type.config.frenchgovtenergydata.tempo.power.label = Power Output +thing-type.config.frenchgovtenergydata.tempo.power.description = PDL power output (in kVA) # channel types diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/channel-types.xml new file mode 100644 index 00000000000..a281f24ab3a --- /dev/null +++ b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/channel-types.xml @@ -0,0 +1,46 @@ + + + + + + + + Number:Currency + + Price + + + + + Number:Currency + + Price + + + + + DateTime + + Beginning date for this tariff + Time + + + + + Number:EnergyPrice + + Price + + + + + Number:EnergyPrice + + Price + + + + diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/thing-tarif-base.xml b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/thing-tarif-base.xml new file mode 100644 index 00000000000..49e28b94f4d --- /dev/null +++ b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/thing-tarif-base.xml @@ -0,0 +1,41 @@ + + + + + + Default Tariff Subscription + WebService + + + + + + Yearly fixed price excluding taxes. + + + + Yearly fixed price including taxes. + + + + Energy price in €/kWh excluding taxes. + + + + Energy price in €/kWh including taxes. + + + + + + 6 + + PDL power output (in kVA) + + + + + diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/thing-tarif-hphc.xml b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/thing-tarif-hphc.xml new file mode 100644 index 00000000000..7f61bf57579 --- /dev/null +++ b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/thing-tarif-hphc.xml @@ -0,0 +1,49 @@ + + + + + + High / Low usage Tariff Subscription + WebService + + + + + + Yearly fixed price excluding taxes. + + + + Yearly fixed price including taxes. + + + + Low hours energy price in €/kWh excluding taxes. + + + + Low hours energy price in €/kWh including taxes. + + + + High hours energy price in €/kWh excluding taxes. + + + + High hours energy price in €/kWh including taxes. + + + + + + 6 + + PDL power output (in kVA) + + + + + diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/thing-tarif-tempo.xml b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/thing-tarif-tempo.xml new file mode 100644 index 00000000000..198177b52c8 --- /dev/null +++ b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/thing-tarif-tempo.xml @@ -0,0 +1,85 @@ + + + + + + Temmpo usage Tariff Subscription + + + + + + + Yearly fixed price excluding taxes. + + + + Yearly fixed price including taxes. + + + + + Blue day Low hours energy price in €/kWh excluding taxes. + + + + Blue day Low hours energy price in €/kWh including taxes. + + + + Blue day High hours energy price in €/kWh excluding taxes. + + + + Blue day High hours energy price in €/kWh including taxes. + + + + + White day Low hours energy price in €/kWh excluding taxes. + + + + White day Low hours energy price in €/kWh including taxes. + + + + White day High hours energy price in €/kWh excluding taxes. + + + + White day High hours energy price in €/kWh including taxes. + + + + + Red day Low hours energy price in €/kWh excluding taxes. + + + + + Red day Low hours energy price in €/kWh including taxes. + + + + Red day High hours energy price in €/kWh excluding taxes. + + + + Red day High hours energy price in €/kWh including taxes. + + + + + + 6 + + PDL power output (in kVA) + + + + + diff --git a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/thing-types.xml deleted file mode 100644 index 0d8dbb6a73d..00000000000 --- a/bundles/org.openhab.binding.frenchgovtenergydata/src/main/resources/OH-INF/thing/thing-types.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - Default Tariff Subscription - WebService - - - - - - Yearly fixed price excluding taxes. - - - - Yearly fixed price including taxes. - - - - Energy price in €/kWh excluding taxes. - - - - Energy price in €/kWh including taxes. - - - - - - 6 - - PDL power output (in kVA) - - - - - - - High / Low usage Tariff Subscription - WebService - - - - - - Yearly fixed price excluding taxes. - - - - Yearly fixed price including taxes. - - - - Low hours energy price in €/kWh excluding taxes. - - - - Low hours energy price in €/kWh including taxes. - - - - High hours energy price in €/kWh excluding taxes. - - - - High hours energy price in €/kWh including taxes. - - - - - - 6 - - PDL power output (in kVA) - - - - - - Number:Currency - - Price - - - - - Number:Currency - - Price - - - - - DateTime - - Beginning date for this tariff - Time - - - - - Number:EnergyPrice - - Price - - - - - Number:EnergyPrice - - Price - - - -