diff --git a/bundles/org.openhab.binding.solarforecast/README.md b/bundles/org.openhab.binding.solarforecast/README.md index 2cfbd214fea87..cea845e0b57b1 100644 --- a/bundles/org.openhab.binding.solarforecast/README.md +++ b/bundles/org.openhab.binding.solarforecast/README.md @@ -197,7 +197,7 @@ Check log or catch exceptions for error handling - `IllegalArgumentException` thrown in case of problems with call arguments - `SolarForecastException` thrown in case of problems with timestamp and available forecast data -### `getDay` +### `getEnergyOfDay` | Parameter | Type | Description | |-----------|---------------|--------------------------------------------------------------------------------------------| @@ -310,7 +310,7 @@ rule "Tomorrow Forecast Calculation" Item ForecastSolarHome_Today received update then val solarforecastActions = getActions("solarforecast","solarforecast:fs-site:homeSite") - val energyState = solarforecastActions.getDay(LocalDate.now.plusDays(1)) + val energyState = solarforecastActions.getEnergyOfDay(LocalDate.now.plusDays(1)) logInfo("SF Tests","{}",energyState) ForecastSolarHome_Tomorrow.postUpdate(energyState) end diff --git a/bundles/org.openhab.binding.solarforecast/src/main/java/org/openhab/binding/solarforecast/internal/actions/SolarForecastActions.java b/bundles/org.openhab.binding.solarforecast/src/main/java/org/openhab/binding/solarforecast/internal/actions/SolarForecastActions.java index 43ca9be321a68..d80177d85cf18 100644 --- a/bundles/org.openhab.binding.solarforecast/src/main/java/org/openhab/binding/solarforecast/internal/actions/SolarForecastActions.java +++ b/bundles/org.openhab.binding.solarforecast/src/main/java/org/openhab/binding/solarforecast/internal/actions/SolarForecastActions.java @@ -26,13 +26,13 @@ import org.eclipse.jdt.annotation.Nullable; import org.openhab.binding.solarforecast.internal.utils.Utils; import org.openhab.core.automation.annotation.ActionInput; +import org.openhab.core.automation.annotation.ActionOutput; import org.openhab.core.automation.annotation.RuleAction; import org.openhab.core.library.types.QuantityType; import org.openhab.core.library.unit.Units; import org.openhab.core.thing.binding.ThingActions; import org.openhab.core.thing.binding.ThingActionsScope; import org.openhab.core.thing.binding.ThingHandler; -import org.openhab.core.types.State; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -48,9 +48,9 @@ public class SolarForecastActions implements ThingActions { private Optional thingHandler = Optional.empty(); @RuleAction(label = "@text/actionDayLabel", description = "@text/actionDayDesc") - public QuantityType getDay( + public @ActionOutput(name = "getEnergyOfDay", type = "QuantityType") QuantityType getEnergyOfDay( @ActionInput(name = "localDate", label = "@text/actionInputDayLabel", description = "@text/actionInputDayDesc") LocalDate localDate, - String... args) { + @ActionInput(name = "args") String... args) { if (thingHandler.isPresent()) { List l = ((SolarForecastProvider) thingHandler.get()).getSolarForecasts(); if (!l.isEmpty()) { @@ -78,9 +78,9 @@ public QuantityType getDay( } @RuleAction(label = "@text/actionPowerLabel", description = "@text/actionPowerDesc") - public QuantityType getPower( + public @ActionOutput(name = "getPower", type = "QuantityType") QuantityType getPower( @ActionInput(name = "timestamp", label = "@text/actionInputDateTimeLabel", description = "@text/actionInputDateTimeDesc") Instant timestamp, - String... args) { + @ActionInput(name = "args") String... args) { if (thingHandler.isPresent()) { List l = ((SolarForecastProvider) thingHandler.get()).getSolarForecasts(); if (!l.isEmpty()) { @@ -108,10 +108,10 @@ public QuantityType getPower( } @RuleAction(label = "@text/actionEnergyLabel", description = "@text/actionEnergyDesc") - public QuantityType getEnergy( + public @ActionOutput(name = "getEnergy", type = "QuantityType") QuantityType getEnergy( @ActionInput(name = "start", label = "@text/actionInputDateTimeBeginLabel", description = "@text/actionInputDateTimeBeginDesc") Instant start, @ActionInput(name = "end", label = "@text/actionInputDateTimeEndLabel", description = "@text/actionInputDateTimeEndDesc") Instant end, - String... args) { + @ActionInput(name = "args") String... args) { if (thingHandler.isPresent()) { List l = ((SolarForecastProvider) thingHandler.get()).getSolarForecasts(); if (!l.isEmpty()) { @@ -139,7 +139,7 @@ public QuantityType getEnergy( } @RuleAction(label = "@text/actionForecastBeginLabel", description = "@text/actionForecastBeginDesc") - public Instant getForecastBegin() { + public @ActionOutput(name = "getForecastBegin", type = "java.time.Instant") Instant getForecastBegin() { if (thingHandler.isPresent()) { List forecastObjectList = ((SolarForecastProvider) thingHandler.get()).getSolarForecasts(); return Utils.getCommonStartTime(forecastObjectList); @@ -150,7 +150,7 @@ public Instant getForecastBegin() { } @RuleAction(label = "@text/actionForecastEndLabel", description = "@text/actionForecastEndDesc") - public Instant getForecastEnd() { + public @ActionOutput(name = "getForecastEnd", type = "java.time.Instant") Instant getForecastEnd() { if (thingHandler.isPresent()) { List forecastObjectList = ((SolarForecastProvider) thingHandler.get()).getSolarForecasts(); return Utils.getCommonEndTime(forecastObjectList); @@ -172,15 +172,15 @@ public void triggerUpdate() { } } - public static State getDay(ThingActions actions, LocalDate ld, String... args) { - return ((SolarForecastActions) actions).getDay(ld, args); + public static QuantityType getEnergyOfDay(ThingActions actions, LocalDate ld, String... args) { + return ((SolarForecastActions) actions).getEnergyOfDay(ld, args); } - public static State getPower(ThingActions actions, Instant dateTime, String... args) { + public static QuantityType getPower(ThingActions actions, Instant dateTime, String... args) { return ((SolarForecastActions) actions).getPower(dateTime, args); } - public static State getEnergy(ThingActions actions, Instant begin, Instant end, String... args) { + public static QuantityType getEnergy(ThingActions actions, Instant begin, Instant end, String... args) { return ((SolarForecastActions) actions).getEnergy(begin, end, args); }