import org.openhab.core.thing.profiles.ProfileCallback;
import org.openhab.core.thing.profiles.ProfileContext;
import org.openhab.core.thing.profiles.ProfileTypeUID;
-import org.openhab.core.thing.profiles.StateProfile;
+import org.openhab.core.thing.profiles.TimeSeriesProfile;
import org.openhab.core.transform.TransformationException;
import org.openhab.core.transform.TransformationHelper;
import org.openhab.core.transform.TransformationService;
import org.openhab.core.types.Command;
import org.openhab.core.types.State;
+import org.openhab.core.types.TimeSeries;
import org.openhab.core.types.Type;
import org.openhab.core.types.UnDefType;
import org.openhab.transform.vat.internal.config.VATConfig;
* @author Jacob Laursen - Initial contribution
*/
@NonNullByDefault
-public class VATTransformationProfile implements StateProfile {
+public class VATTransformationProfile implements TimeSeriesProfile {
private final Logger logger = LoggerFactory.getLogger(VATTransformationProfile.class);
callback.sendUpdate((State) transformState(state));
}
+ @Override
+ public void onTimeSeriesFromHandler(TimeSeries timeSeries) {
+ TimeSeries transformedTimeSeries = new TimeSeries(timeSeries.getPolicy());
+ timeSeries.getStates()
+ .forEach(entry -> transformedTimeSeries.add(entry.timestamp(), (State) transformState(entry.state())));
+ callback.sendTimeSeries(transformedTimeSeries);
+ }
+
private Type transformState(Type state) {
String result = state.toFullString();
String percentage = getVATPercentage();