From 88d655e66a9cd66d7e667740faed8575860cf57f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20=C3=96hrstr=C3=B6m?= Date: Sun, 25 Oct 2020 18:26:21 +0100 Subject: [PATCH] Accept t1 and c1 as linkmodes for multical21 meters. --- simulations/simulation_t1_and_c1.txt | 4 ++-- src/meters.h | 2 +- tests/test_linkmodes.sh | 21 +++++++++++++-------- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/simulations/simulation_t1_and_c1.txt b/simulations/simulation_t1_and_c1.txt index bde6850..dbbb449 100644 --- a/simulations/simulation_t1_and_c1.txt +++ b/simulations/simulation_t1_and_c1.txt @@ -1,5 +1,5 @@ telegram=|2A442D2C998734761B168D2091D37CAC21576C78|02FF207100041308190000441308190000615B7F616713| {"media":"cold water","meter":"multical21","name":"MyTapWater","id":"76348799","total_m3":6.408,"target_m3":6.408,"max_flow_m3h":0,"flow_temperature_c":127,"external_temperature_c":19,"current_status":"DRY","time_dry":"22-31 days","time_reversed":"","time_leaking":"","time_bursting":"","timestamp":"1111-11-11T11:11:11Z"} -telegram=|6E4401062020202005077A9A006085|2F2F0F0A734393CC0000435B0183001A54E06F630291342510030F00007B013E0B00003E0B00003E0B00003E0B00003E0B00003E0B00003E0B0000650000003D0000003D0000003D00000000000000A0910CB003FFFFFFFFFFFFFFFFFFFFA62B| -{"media":"water","meter":"apator162","name":"Wasser","id":"20202020","total_m3":3.843,"timestamp":"1111-11-11T11:11:11Z"} +telegram=|A244EE4D785634123C067A8F000000|0C1348550000426CE1F14C130000000082046C21298C0413330000008D04931E3A3CFE3300000033000000330000003300000033000000330000003300000033000000330000003300000033000000330000004300000034180000046D0D0B5C2B03FD6C5E150082206C5C290BFD0F0200018C4079678885238310FD3100000082106C01018110FD610002FD66020002FD170000| +{"media":"warm water","meter":"supercom587","name":"MyWarmWater","id":"12345678","total_m3":5.548,"timestamp":"1111-11-11T11:11:11Z"} diff --git a/src/meters.h b/src/meters.h index eef1fed..35b6893 100644 --- a/src/meters.h +++ b/src/meters.h @@ -49,7 +49,7 @@ X(lansendw, T1_bit, DoorWindow, LANSENDW, LansenDW) \ X(lansenpu, T1_bit, Pulse, LANSENPU, LansenPU) \ X(mkradio3, T1_bit, Water, MKRADIO3, MKRadio3) \ - X(multical21, C1_bit, Water, MULTICAL21, Multical21) \ + X(multical21, C1_bit|T1_bit, Water, MULTICAL21, Multical21) \ X(multical302,C1_bit, Heat, MULTICAL302, Multical302) \ X(multical403,C1_bit, Heat, MULTICAL403, Multical403) \ X(multical603,C1_bit, Heat, MULTICAL603, Multical603) \ diff --git a/tests/test_linkmodes.sh b/tests/test_linkmodes.sh index 074294d..a643c77 100755 --- a/tests/test_linkmodes.sh +++ b/tests/test_linkmodes.sh @@ -13,8 +13,9 @@ TESTRESULT="ERROR" cat simulations/simulation_t1_and_c1.txt | grep '^{' > $TEST/test_expected.txt $PROG --format=json --listento=c1,t1 simulations/simulation_t1_and_c1.txt \ MyTapWater multical21:c1 76348799 "" \ - Wasser apator162:t1 20202020 "" \ -> $TEST/test_output.txt + MyWarmWater supercom587:t1 12345678 "" \ + > $TEST/test_output.txt + if [ "$?" = "0" ] then cat $TEST/test_output.txt | sed 's/"timestamp":"....-..-..T..:..:..Z"/"timestamp":"1111-11-11T11:11:11Z"/' > $TEST/test_responses.txt @@ -23,6 +24,10 @@ then then echo "OK: $TESTNAME" TESTRESULT="OK" + else + echo ERROR: $TESTNAME + diff $TEST/test_expected.txt $TEST/test_responses.txt + exit 1 fi fi @@ -30,9 +35,9 @@ if [ "$TESTRESULT" = "ERROR" ]; then echo ERROR: $TESTNAME; exit 1; fi MSG=$($PROG --listento=c1,t1 simulations/simulation_t1_and_c1.txt \ MyTapWater multical21:c1 76348799 "" \ - Wasser apator162:s1 20202020 "") + MyWarmWater supercom587:c1 12345678 "") -if [ "$MSG" != "(cmdline) cannot set link modes to: s1 because meter apator162 only transmits on: c1,t1" ] +if [ "$MSG" != "(cmdline) cannot set link modes to: c1 because meter supercom587 only transmits on: t1" ] then echo ERROR: $TESTNAME echo Did not expect: $MSG @@ -41,14 +46,14 @@ else echo "OK: $TESTNAME" fi -TESTNAME="Test that setting multical21 to t1 fails" +TESTNAME="Test that setting supercom587 to c1 fails" TESTRESULT="ERROR" MSG=$($PROG --listento=c1,t1 --usestdoutforlog simulations/simulation_t1_and_c1.txt \ - MyTapWater multical21:t1 76348799 "" \ - Wasser apator162:c1 20202020 "") + MyTapWater multical21:c1 76348799 "" \ + MyWarmWater supercom587:c1 12345678 "") -if [ "$MSG" != "(cmdline) cannot set link modes to: t1 because meter multical21 only transmits on: c1" ] +if [ "$MSG" != "(cmdline) cannot set link modes to: c1 because meter supercom587 only transmits on: t1" ] then echo ERROR: $TESTNAME echo Did not expect: $MSG