changes
This commit is contained in:
@ -16,11 +16,17 @@ public class MBusParser extends AMessageParser {
|
||||
static final String TOPIC = "IoT/Measurement/MeterbusHub";
|
||||
|
||||
private final JSONParser jsonParser;
|
||||
private final HottisFourChannelThermometer hottisFourChannelThermometer;
|
||||
private final FinderOnePhasePowerMeter finderOnePhasePowerMeter;
|
||||
private final FinderThreePhasePowerMeter finderThreePhasePowerMeter;
|
||||
|
||||
public MBusParser() {
|
||||
super(TOPIC);
|
||||
JsonParserFactory jsonParserFactory = JsonParserFactory.getInstance();
|
||||
jsonParser = jsonParserFactory.newJsonParser();
|
||||
hottisFourChannelThermometer = new HottisFourChannelThermometer();
|
||||
finderOnePhasePowerMeter = new FinderOnePhasePowerMeter();
|
||||
finderThreePhasePowerMeter = new FinderThreePhasePowerMeter();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -40,8 +46,33 @@ public class MBusParser extends AMessageParser {
|
||||
variableDataStructure.decode();
|
||||
List<DataRecord> dataRecords = variableDataStructure.getDataRecords();
|
||||
|
||||
for (DataRecord dataRecord : dataRecords) {
|
||||
System.out.println(dataRecord.getScaledDataValue() + " " + dataRecord.getUnit().getUnit());
|
||||
//for (DataRecord dataRecord : dataRecords) {
|
||||
// System.out.println(dataRecord.getScaledDataValue() + " " + dataRecord.getUnit().getUnit());
|
||||
//}
|
||||
|
||||
List<ADataObject> measurementItems;
|
||||
switch (name) {
|
||||
case "thermom.":
|
||||
measurementItems = hottisFourChannelThermometer.parse(timestamp, name, dataRecords);
|
||||
break;
|
||||
case "light":
|
||||
case "computer":
|
||||
case "freezer":
|
||||
case "dryer":
|
||||
case "laundry":
|
||||
case "dishwasher":
|
||||
measurementItems = finderOnePhasePowerMeter.parse(timestamp, name.substring(0,1).toUpperCase() + name.substring(1).toLowerCase(), dataRecords);
|
||||
break;
|
||||
case "electricity":
|
||||
measurementItems = finderThreePhasePowerMeter.parse(timestamp, "Total", dataRecords);
|
||||
break;
|
||||
default:
|
||||
System.out.println("unknown name");
|
||||
measurementItems = null;
|
||||
}
|
||||
|
||||
for (ADataObject ado : measurementItems) {
|
||||
System.out.println(ado);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.println("Exception when handling mbus message: " + e);
|
||||
|
Reference in New Issue
Block a user