From 44c0ba1e74703422d0b37a28c1bbcb7d7470536f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20=C3=96hrstr=C3=B6m?= Date: Fri, 2 Sep 2022 11:28:22 +0200 Subject: [PATCH] Add new energy unit m3c cubic meter times celsius. --- src/driver_multical303.cc | 10 +++++----- src/dvparser.h | 3 ++- src/units.h | 5 +++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/driver_multical303.cc b/src/driver_multical303.cc index 1bcaf23..2ab775a 100644 --- a/src/driver_multical303.cc +++ b/src/driver_multical303.cc @@ -66,7 +66,7 @@ namespace VifScaling::None, FieldMatcher::build() .set(DifVifKey("04FF07")), - Unit::KWH); + Unit::M3C); addNumericFieldWithExtractor( "return_energy", @@ -76,7 +76,7 @@ namespace VifScaling::None, FieldMatcher::build() .set(DifVifKey("04FF08")), - Unit::KWH); + Unit::M3C); addNumericFieldWithExtractor( "forward", @@ -146,7 +146,7 @@ namespace })); addStringFieldWithExtractor( - "date_time", + "meter_date", "The date and time (10/348/Date and time).", PrintProperty::JSON | PrintProperty::OPTIONAL, FieldMatcher::build() @@ -179,7 +179,7 @@ namespace ); addStringFieldWithExtractor( - "target_date_time", + "target_date", "The most recent billing period date and time (14/348/Date and Time logged).", PrintProperty::JSON | PrintProperty::FIELD, FieldMatcher::build() @@ -192,5 +192,5 @@ namespace // Test: Heat multical303 82788281 75EDE0CBBB6E126764898645AA366568 // Comment: // telegram=|_5E442D2C8182788240047A83005025186E9C6D9815EBFC04CBE8E4B8C8A6B9949C9DAA629CD96D920F321CFBEE7AE104DD8532C5C0EE79B4CFACCFA75D3A5EB6D4493DFAFE91B15C3A3DCFCE899138B8EA02CDB609D31CF019F9E4FD04559E| -// {"media":"heat","meter":"multical303","name":"Heat","id":"82788281","total_energy_kwh":0,"total_volume_m3":2.38,"forward_energy_kwh":61,"return_energy_kwh":61,"forward_c":26.07,"return_c":26.22,"actual_flow_m3h":0,"status":"OK","date_time":"2022-08-18","target_energy_kwh":0,"target_volume_m3":0,"target_date_time":"2022-08-01","timestamp":"1111-11-11T11:11:11Z"} +// {"media":"heat","meter":"multical303","name":"Heat","id":"82788281","total_energy_kwh":0,"total_volume_m3":2.38,"forward_energy_m3c":61,"return_energy_m3c":61,"forward_c":26.07,"return_c":26.22,"actual_flow_m3h":0,"status":"OK","meter_date":"2022-08-18","target_energy_kwh":0,"target_volume_m3":0,"target_date":"2022-08-01","timestamp":"1111-11-11T11:11:11Z"} // |Heat;82788281;OK;0;0;1111-11-11 11:11.11 diff --git a/src/dvparser.h b/src/dvparser.h index ae7846a..694f467 100644 --- a/src/dvparser.h +++ b/src/dvparser.h @@ -62,7 +62,8 @@ X(RemainingBattery,0x7D74,0x7D74, Quantity::Time, Unit::Day) \ X(AnyVolumeVIF,0x00,0x00, Quantity::Volume, Unit::Unknown) \ X(AnyEnergyVIF,0x00,0x00, Quantity::Energy, Unit::Unknown) \ - X(AnyPowerVIF,0x00,0x00, Quantity::Power, Unit::Unknown) \ + X(AnyPowerVIF,0x00,0x00, Quantity::Power, Unit::Unknown) + enum class VIFRange { diff --git a/src/units.h b/src/units.h index a92b0e1..a33efbe 100644 --- a/src/units.h +++ b/src/units.h @@ -46,10 +46,11 @@ X(GJ,gj,"GJ",Energy,"Giga Joule") \ X(KVARH,kvarh,"kVARh",Reactive_Energy,"kilo volt amperes reactive hour") \ X(KVAH,kvah,"kVAh",Apparent_Energy,"kilo volt amperes hour") \ - X(M3,m3,"m3",Volume,"cubic meter") \ + X(M3C,m3c,"m³°C",Energy,"cubic meter celsius") \ + X(M3,m3,"m³",Volume,"cubic meter") \ X(L,l,"l",Volume,"litre") \ X(KW,kw,"kW",Power,"kilo Watt") \ - X(M3H,m3h,"m3/h",Flow,"cubic meters per hour") \ + X(M3H,m3h,"m³/h",Flow,"cubic meters per hour") \ X(LH,lh,"l/h",Flow,"liters per hour") \ X(C,c,"°C",Temperature,"celsius") \ X(F,f,"°F",Temperature,"fahrenheit") \