From 397bd7d3d8a4620401d47a19c161830ae29e6f22 Mon Sep 17 00:00:00 2001 From: mblnk Date: Tue, 13 Apr 2021 11:00:57 +0200 Subject: [PATCH] Rename qwater55 to lse_07_17 --- Makefile | 2 +- src/meter_detection.h | 2 +- src/{meter_qwater55.cc => meter_lse_07_17.cc} | 66 +++++++++---------- src/meters.h | 2 +- 4 files changed, 36 insertions(+), 36 deletions(-) rename src/{meter_qwater55.cc => meter_lse_07_17.cc} (75%) diff --git a/Makefile b/Makefile index 73f77ca..64340eb 100644 --- a/Makefile +++ b/Makefile @@ -170,6 +170,7 @@ METER_OBJS:=\ $(BUILD)/meter_lansensm.o \ $(BUILD)/meter_lansenth.o \ $(BUILD)/meter_lansenpu.o \ + $(BUILD)/meter_lse_07_17.o \ $(BUILD)/meter_mkradio3.o \ $(BUILD)/meter_mkradio4.o \ $(BUILD)/meter_multical21.o \ @@ -181,7 +182,6 @@ METER_OBJS:=\ $(BUILD)/meter_piigth.o \ $(BUILD)/meter_q400.o \ $(BUILD)/meter_qcaloric.o \ - $(BUILD)/meter_qwater55.o \ $(BUILD)/meter_rfmamb.o \ $(BUILD)/meter_rfmtx1.o \ $(BUILD)/meter_sharky.o \ diff --git a/src/meter_detection.h b/src/meter_detection.h index 9c953ef..9bd3dd1 100644 --- a/src/meter_detection.h +++ b/src/meter_detection.h @@ -69,6 +69,7 @@ X(LANSENDW, MANUFACTURER_LAS, 0x1d, 0x07) \ X(LANSENPU, MANUFACTURER_LAS, 0x00, 0x14) \ X(LANSENPU, MANUFACTURER_LAS, 0x00, 0x0b) \ + X(LSE_07_17, MANUFACTURER_LSE, 0x07, 0x17) \ X(MKRADIO3, MANUFACTURER_TCH, 0x62, 0x74) \ X(MKRADIO3, MANUFACTURER_TCH, 0x72, 0x74) \ X(MKRADIO4, MANUFACTURER_TCH, 0x62, 0x95) \ @@ -91,7 +92,6 @@ X(TSD2, MANUFACTURER_TCH, 0xf0, 0x76) \ X(Q400, MANUFACTURER_AXI, 0x07, 0x10) \ X(QCALORIC, MANUFACTURER_QDS, 0x08, 0x35) \ - X(QWATER55, MANUFACTURER_LSE, 0x07, 0x17) \ X(SHARKY, MANUFACTURER_HYD, 0x04, 0x20) \ X(SUPERCOM587,MANUFACTURER_SON, 0x06, 0x3c) \ X(SUPERCOM587,MANUFACTURER_SON, 0x07, 0x3c) \ diff --git a/src/meter_qwater55.cc b/src/meter_lse_07_17.cc similarity index 75% rename from src/meter_qwater55.cc rename to src/meter_lse_07_17.cc index 1f00a5c..5ef10a9 100644 --- a/src/meter_qwater55.cc +++ b/src/meter_lse_07_17.cc @@ -24,8 +24,8 @@ using namespace std; -struct MeterQWater55 : public virtual WaterMeter, public virtual MeterCommonImplementation { - MeterQWater55(MeterInfo &mi); +struct MeterLSE_07_17 : public virtual WaterMeter, public virtual MeterCommonImplementation { + MeterLSE_07_17(MeterInfo &mi); // Total water counted through the meter double totalWaterConsumption(Unit u); @@ -59,13 +59,13 @@ private: }; -shared_ptr createQWater55(MeterInfo &mi) +shared_ptr createLSE_07_17(MeterInfo &mi) { - return shared_ptr(new MeterQWater55(mi)); + return shared_ptr(new MeterLSE_07_17(mi)); } -MeterQWater55::MeterQWater55(MeterInfo &mi) : - MeterCommonImplementation(mi, MeterDriver::QWATER55) +MeterLSE_07_17::MeterLSE_07_17(MeterInfo &mi) : + MeterCommonImplementation(mi, MeterDriver::LSE_07_17) { setExpectedTPLSecurityMode(TPLSecurityMode::AES_CBC_IV); @@ -98,7 +98,7 @@ MeterQWater55::MeterQWater55(MeterInfo &mi) : } -void MeterQWater55::processContent(Telegram *t) +void MeterLSE_07_17::processContent(Telegram *t) { /* The following telegram corresponds to the Qundis QWater5.5 cold water meters I have here. @@ -110,25 +110,25 @@ void MeterQWater55::processContent(Telegram *t) Even though my meters are definitely Qundis QWater5.5, the meters do not identify with manufacturer code QDS but with LSE. - (qwater55) 0f: 0C dif (8 digit BCD Instantaneous value) - (qwater55) 10: 13 vif (Volume l) - (qwater55) 11: * 04400100 total consumption (14.004000 m3) - (qwater55) 15: 4C dif (8 digit BCD Instantaneous value storagenr=1) - (qwater55) 16: 13 vif (Volume l) - (qwater55) 17: * 40620000 due date consumption (6.240000 m3) - (qwater55) 1b: 42 dif (16 Bit Integer/Binary Instantaneous value storagenr=1) - (qwater55) 1c: 6C vif (Date type G) - (qwater55) 1d: * 9F2C due date (2020-12-31) - (qwater55) 1f: 02 dif (16 Bit Integer/Binary Instantaneous value) - (qwater55) 20: BB vif (Volume flow l/h) - (qwater55) 21: 56 vife (duration of limit exceed last lower is 2) - (qwater55) 22: * 0000 error code (0) - (qwater55) 24: 32 dif (16 Bit Integer/Binary Value during error state) - (qwater55) 25: 6C vif (Date type G) - (qwater55) 26: * FFFF error date (2127-15-31) - (qwater55) 28: 04 dif (32 Bit Integer/Binary Instantaneous value) - (qwater55) 29: 6D vif (Date and time type) - (qwater55) 2a: * 180DA924 device datetime (2021-04-09 13:24) + (lse_07_17) 0f: 0C dif (8 digit BCD Instantaneous value) + (lse_07_17) 10: 13 vif (Volume l) + (lse_07_17) 11: * 04400100 total consumption (14.004000 m3) + (lse_07_17) 15: 4C dif (8 digit BCD Instantaneous value storagenr=1) + (lse_07_17) 16: 13 vif (Volume l) + (lse_07_17) 17: * 40620000 due date consumption (6.240000 m3) + (lse_07_17) 1b: 42 dif (16 Bit Integer/Binary Instantaneous value storagenr=1) + (lse_07_17) 1c: 6C vif (Date type G) + (lse_07_17) 1d: * 9F2C due date (2020-12-31) + (lse_07_17) 1f: 02 dif (16 Bit Integer/Binary Instantaneous value) + (lse_07_17) 20: BB vif (Volume flow l/h) + (lse_07_17) 21: 56 vife (duration of limit exceed last lower is 2) + (lse_07_17) 22: * 0000 error code (0) + (lse_07_17) 24: 32 dif (16 Bit Integer/Binary Value during error state) + (lse_07_17) 25: 6C vif (Date type G) + (lse_07_17) 26: * FFFF error date (2127-15-31) + (lse_07_17) 28: 04 dif (32 Bit Integer/Binary Instantaneous value) + (lse_07_17) 29: 6D vif (Date and time type) + (lse_07_17) 2a: * 180DA924 device datetime (2021-04-09 13:24) */ int offset; @@ -172,40 +172,40 @@ void MeterQWater55::processContent(Telegram *t) } -double MeterQWater55::totalWaterConsumption(Unit u) +double MeterLSE_07_17::totalWaterConsumption(Unit u) { assertQuantity(u, Quantity::Volume); return convert(total_water_consumption_m3_, Unit::M3, u); } -bool MeterQWater55::hasTotalWaterConsumption() +bool MeterLSE_07_17::hasTotalWaterConsumption() { return true; } -double MeterQWater55::dueDateWaterConsumption(Unit u) +double MeterLSE_07_17::dueDateWaterConsumption(Unit u) { assertQuantity(u, Quantity::Volume); return convert(due_date_water_consumption_m3_, Unit::M3, u); } -string MeterQWater55::dueDate() +string MeterLSE_07_17::dueDate() { return due_date_; } -string MeterQWater55::errorCode() +string MeterLSE_07_17::errorCode() { string status = to_string(error_code_); return status; } -string MeterQWater55::errorDate() +string MeterLSE_07_17::errorDate() { return error_date_; } -string MeterQWater55::deviceDateTime() +string MeterLSE_07_17::deviceDateTime() { return device_date_time_; } diff --git a/src/meters.h b/src/meters.h index 2823e2c..36c59ca 100644 --- a/src/meters.h +++ b/src/meters.h @@ -61,6 +61,7 @@ X(lansenth, T1_bit, TempHygroMeter, LANSENTH, LansenTH) \ X(lansendw, T1_bit, DoorWindowDetector, LANSENDW, LansenDW) \ X(lansenpu, T1_bit, PulseCounter, LANSENPU, LansenPU) \ + X(lse_07_17, S1_bit, WaterMeter, LSE_07_17, LSE_07_17) \ X(mkradio3, T1_bit, WaterMeter, MKRADIO3, MKRadio3) \ X(mkradio4, T1_bit, WaterMeter, MKRADIO4, MKRadio4) \ X(multical21, C1_bit|T1_bit, WaterMeter, MULTICAL21, Multical21) \ @@ -75,7 +76,6 @@ X(tsd2, T1_bit, SmokeDetector, TSD2, TSD2) \ X(q400, T1_bit, WaterMeter, Q400, Q400) \ X(qcaloric, C1_bit, HeatCostAllocationMeter, QCALORIC, QCaloric) \ - X(qwater55, S1_bit, WaterMeter, QWATER55, QWater55) \ X(sensostar, C1_bit|T1_bit, HeatMeter,SENSOSTAR, Sensostar) \ X(sharky, T1_bit, HeatMeter, SHARKY, Sharky) \ X(sontex868, T1_bit, HeatCostAllocationMeter, SONTEX868, Sontex868) \