diff --git a/currentmonitor/lantern-datamodel-currentmonitor/src/main/java/com/lanternsoftware/datamodel/currentmonitor/BillingMode.java b/currentmonitor/lantern-datamodel-currentmonitor/src/main/java/com/lanternsoftware/datamodel/currentmonitor/BillingMode.java index 1e52ef7..e353294 100644 --- a/currentmonitor/lantern-datamodel-currentmonitor/src/main/java/com/lanternsoftware/datamodel/currentmonitor/BillingMode.java +++ b/currentmonitor/lantern-datamodel-currentmonitor/src/main/java/com/lanternsoftware/datamodel/currentmonitor/BillingMode.java @@ -1,6 +1,7 @@ package com.lanternsoftware.datamodel.currentmonitor; public enum BillingMode { + ANY_DIRECTION, CONSUMPTION, PRODUCTION; } diff --git a/currentmonitor/lantern-datamodel-currentmonitor/src/main/java/com/lanternsoftware/datamodel/currentmonitor/BillingRate.java b/currentmonitor/lantern-datamodel-currentmonitor/src/main/java/com/lanternsoftware/datamodel/currentmonitor/BillingRate.java index b834ee3..1c52a91 100644 --- a/currentmonitor/lantern-datamodel-currentmonitor/src/main/java/com/lanternsoftware/datamodel/currentmonitor/BillingRate.java +++ b/currentmonitor/lantern-datamodel-currentmonitor/src/main/java/com/lanternsoftware/datamodel/currentmonitor/BillingRate.java @@ -119,9 +119,9 @@ public class BillingRate { } public boolean isApplicable(BillingMode _mode, int _meter, double _monthKWh, Date _time, TimeZone _tz) { - if (mode != _mode) + if ((mode != BillingMode.ANY_DIRECTION) && (mode != _mode)) return false; - if (_meter != meter) + if ((meter != -1) && (_meter != meter)) return false; if ((monthKWhStart > 0) && (_monthKWh < monthKWhStart)) return false;