Add support for flowiq2200 meter.

pull/175/head
Fredrik Öhrström 2020-10-25 19:48:07 +01:00
rodzic 4cbf1a4b27
commit 097301c8b4
6 zmienionych plików z 16 dodań i 0 usunięć

Wyświetl plik

@ -1,3 +1,8 @@
Add proper support for FlowIQ2200 water meter.
Decode two vendor values in multical603 as energy forward and returned.
Accept t1 and c1 as linkmodes for multical21 meters.
Version 1.0.0: 2020-10-25
IMPORTANT CHANGES THAT MIGHT AFFECT YOU!

Wyświetl plik

@ -122,6 +122,7 @@ METER_OBJS:=\
$(BUILD)/meter_em24.o \
$(BUILD)/meter_eurisii.o \
$(BUILD)/meter_fhkvdataiii.o \
$(BUILD)/meter_flowiq2200.o \
$(BUILD)/meter_hydrus.o \
$(BUILD)/meter_hydrodigit.o \
$(BUILD)/meter_iperl.o \

Wyświetl plik

@ -240,6 +240,7 @@ Diehl/Sappel IZAR RC 868 I R4 PL (izar) (non-standard protocol)
Diehl HYDRUS (hydrus)
Honeywell Q400 (q400)
Kamstrup Multical 21 (multical21)
Kamstrup flowIQ 2200 (flowiq2200)
Kamstrup flowIQ 3100 (flowiq3100)
Sontex Supercom 587 (supercom587)
Sensus iPERL (iperl)

Wyświetl plik

@ -14,6 +14,11 @@ telegram=|2D442D2C776655441B168D2083B48D3A20|46887802FF20000004132F4E000092013B3
telegram=|21442D2C776655441B168D2079CC8C3A20|F4307912C40DFF00002F4E00003D010203|
{"media":"cold water","meter":"multical21","name":"Vadden","id":"44556677","total_m3":20.015,"target_m3":0,"max_flow_m3h":0.317,"flow_temperature_c":2,"external_temperature_c":3,"current_status":"","time_dry":"","time_reversed":"","time_leaking":"","time_bursting":"","timestamp":"1111-11-11T11:11:11Z"}
# Test FlowIQ2200 C1 telegrams
telegram=|4D44372C525252523A168D203894DF7920F93278|04FF23000000000413AEAC0000441364A80000426C812A023B000092013BEF01A2013B000006FF1B067000097000A1015B0C91015B14A1016713|
{"media":"cold water","meter":"flowiq2200","name":"MyWater","id":"52525252","total_m3":44.206,"target_m3":43.108,"target_datetime":"2020-10-01 00:00","current_flow_m3h":0,"max_flow_m3h":0.495,"min_flow_m3h":0,"min_flow_temperature_c":12,"max_flow_temperature_c":20,"external_temperature_c":19,"current_status":"","time_dry":"","time_reversed":"","time_leaking":"","time_bursting":"","timestamp":"1111-11-11T11:11:11Z"}
# Test Multical302 C1 telegrams
# full telegram

Wyświetl plik

@ -36,6 +36,7 @@
X(eurisii, T1_bit, HeatCostAllocation, EURISII, EurisII) \
X(ehzp, T1_bit, Electricity, EHZP, EHZP) \
X(esyswm, T1_bit, Electricity, ESYSWM, ESYSWM) \
X(flowiq2200, C1_bit, Water, FLOWIQ2200, FlowIQ2200) \
X(flowiq3100, C1_bit, Water, FLOWIQ3100, FlowIQ3100) \
X(em24, C1_bit, Electricity, EM24, EM24) \
X(fhkvdataiii, T1_bit, HeatCostAllocation, FHKVDATAIII, FHKVDataIII) \
@ -90,6 +91,7 @@
X(EURISII, MANUFACTURER_INE, 0x08, 0x55) \
X(EHZP, MANUFACTURER_EMH, 0x02, 0x02) \
X(ESYSWM, MANUFACTURER_ESY, 0x37, 0x30) \
X(FLOWIQ2200,MANUFACTURER_KAW, 0x16, 0x3a) \
X(FLOWIQ3100,MANUFACTURER_KAM, 0x16, 0x1d) \
X(EM24, MANUFACTURER_KAM, 0x02, 0x33) \
X(FHKVDATAIII,MANUFACTURER_TCH, 0x80, 0x69) \
@ -352,6 +354,7 @@ MeterType toMeterType(string& type);
LinkModeSet toMeterLinkModeSet(string& type);
shared_ptr<WaterMeter> createMultical21(MeterInfo &m);
shared_ptr<WaterMeter> createFlowIQ2200(MeterInfo &m);
shared_ptr<WaterMeter> createFlowIQ3100(MeterInfo &m);
shared_ptr<HeatMeter> createMultical302(MeterInfo &m);
shared_ptr<HeatMeter> createMultical403(MeterInfo &m);

Wyświetl plik

@ -13,6 +13,7 @@ cat simulations/simulation_c1.txt | grep '^{' > $TEST/test_expected.txt
$PROG --format=json simulations/simulation_c1.txt \
MyHeater multical302 67676767 "" \
MyTapWater multical21 76348799 "" \
MyWater flowiq2200 52525252 "" \
Vadden multical21 44556677 "" \
MyElement qcaloric 78563412 "" \
Rum cma12w 66666666 "" \