From 4fa30025027a967a0ae413f9722af79ddf622659 Mon Sep 17 00:00:00 2001 From: Gunnar Skjold Date: Sun, 24 Mar 2019 20:54:08 +0100 Subject: [PATCH] Implementert Aidon liste 3 --- .../AmsToMqttBridge/AmsToMqttBridge.ino | 18 +++ Code/Arduino/HanReader/src/Aidon.h | 104 +++++++++++++++++- 2 files changed, 121 insertions(+), 1 deletion(-) diff --git a/Code/Arduino/AmsToMqttBridge/AmsToMqttBridge.ino b/Code/Arduino/AmsToMqttBridge/AmsToMqttBridge.ino index e73d2c8c..f0d9f0bd 100644 --- a/Code/Arduino/AmsToMqttBridge/AmsToMqttBridge.ino +++ b/Code/Arduino/AmsToMqttBridge/AmsToMqttBridge.ino @@ -235,6 +235,24 @@ void readHanPort_Aidon(int listSize) data["U2"] = ((double) hanReader.getInt((int)Aidon_List2::VoltageL2)) / 10; data["U3"] = ((double) hanReader.getInt((int)Aidon_List2::VoltageL3)) / 10; } + else if (listSize == (int)Aidon::List3) + { + data["lv"] = hanReader.getString((int)Aidon_List3::ListVersionIdentifier);; + data["id"] = hanReader.getString((int)Aidon_List3::MeterID); + data["type"] = hanReader.getString((int)Aidon_List3::MeterType); + data["P"] = hanReader.getInt((int)Aidon_List3::ActiveImportPower); + data["Q"] = hanReader.getInt((int)Aidon_List3::ReactiveImportPower); + data["I1"] = hanReader.getInt((int)Aidon_List3::CurrentL1); + data["I2"] = hanReader.getInt((int)Aidon_List3::CurrentL2); + data["I3"] = hanReader.getInt((int)Aidon_List3::CurrentL3); + data["U1"] = ((double) hanReader.getInt((int)Aidon_List3::VoltageL1)) / 10; + data["U2"] = ((double) hanReader.getInt((int)Aidon_List3::VoltageL2)) / 10; + data["U3"] = ((double) hanReader.getInt((int)Aidon_List3::VoltageL3)) / 10; + data["tPI"] = hanReader.getInt((int)Aidon_List3::CumulativeActiveImportEnergy); + data["tPO"] = hanReader.getInt((int)Aidon_List3::CumulativeActiveExportEnergy); + data["tQI"] = hanReader.getInt((int)Aidon_List3::CumulativeReactiveImportEnergy); + data["tQO"] = hanReader.getInt((int)Aidon_List3::CumulativeReactiveExportEnergy); + } // Write the json to the debug port if (debugger) { diff --git a/Code/Arduino/HanReader/src/Aidon.h b/Code/Arduino/HanReader/src/Aidon.h index b7551bfd..c00e905f 100644 --- a/Code/Arduino/HanReader/src/Aidon.h +++ b/Code/Arduino/HanReader/src/Aidon.h @@ -7,7 +7,8 @@ enum class Aidon { List1 = 0x01, - List2 = 0x0D + List2 = 0x0D, + List3 = 0x12 }; enum class Aidon_List1 @@ -96,6 +97,107 @@ enum class Aidon_List2 VoltageL3Enum }; +enum class Aidon_List3 +{ + ListSize, + IGN_0, + ListVersionIdentifier_OBIS, + ListVersionIdentifier, + IGN_1, + MeterID_OBIS, + MeterID, + IGN_2, + MeterType_OBIS, + MeterType, + IGN_3, + ActiveImportPower_OBIS, + ActiveImportPower, + IGN_4, + ActiveImportPowerInt8, + ActiveImportPowerEnum, + IGN_5, + ActiveExportPower_OBIS, + ActiveExportPower, + IGN_6, + ActiveExportPowerInt8, + ActiveExportPowerEnum, + IGN_7, + ReactiveImportPower_OBIS, + ReactiveImportPower, + IGN_8, + ReactiveImportPowerInt8, + ReactiveImportPowerEnum, + IGN_9, + ReactiveExportPower_OBIS, + ReactiveExportPower, + IGN_10, + ReactiveExportPowerInt8, + ReactiveExportPowerEnum, + IGN_11, + CurrentL1_OBIS, + CurrentL1, + IGN_12, + CurrentL1Int8, + CurrentL1Enum, + IGN_13, + CurrentL2_OBIS, + CurrentL2, + IGN_14, + CurrentL2Int8, + CurrentL2Enum, + IGN_15, + CurrentL3_OBIS, + CurrentL3, + IGN_16, + CurrentL3Int8, + CurrentL3Enum, + IGN_17, + VoltageL1_OBIS, + VoltageL1, + IGN_18, + VoltageL1Int8, + VoltageL1Enum, + IGN_19, + VoltageL2_OBIS, + VoltageL2, + IGN_20, + VoltageL2Int8, + VoltageL2Enum, + IGN_21, + VoltageL3_OBIS, + VoltageL3, + IGN_22, + VoltageL3Int8, + VoltageL3Enum, + IGN_23, + Timestamp_OBIS, + Timestamp, + IGN_24, + CumulativeActiveImportEnergy_OBIS, + CumulativeActiveImportEnergy, + IGN_25, + CumulativeActiveImportEnergyInt8, + CumulativeActiveImportEnergyEnum, + IGN_26, + CumulativeActiveExportEnergy_OBIS, + CumulativeActiveExportEnergy, + IGN_27, + CumulativeActiveExportEnergyInt8, + CumulativeActiveExportEnergyEnum, + IGN_28, + CumulativeReactiveImportEnergy_OBIS, + CumulativeReactiveImportEnergy, + IGN_29, + CumulativeReactiveImportEnergyInt8, + CumulativeReactiveImportEnergyEnum, + IGN_30, + CumulativeReactiveExportEnergy_OBIS, + CumulativeReactiveExportEnergy, + IGN_31, + CumulativeReactiveExportEnergyInt8, + CumulativeReactiveExportEnergyEnum +}; + #endif