diff --git a/Makefile b/Makefile
index 4e27dd7..c76a38a 100644
--- a/Makefile
+++ b/Makefile
@@ -67,6 +67,7 @@ METER_OBJS:=\
$(BUILD)/meter_iperl.o \
$(BUILD)/meter_qcaloric.o \
$(BUILD)/meter_apator162.o \
+ $(BUILD)/meter_amiplus.o \
$(BUILD)/printer.o \
$(BUILD)/serial.o \
$(BUILD)/shell.o \
diff --git a/README.md b/README.md
index 114cd89..cf602da 100644
--- a/README.md
+++ b/README.md
@@ -124,7 +124,7 @@ Qundis Q caloric (qcaloric)
Work in progress:
Water meter Apator at-wmbus-16-2 (apator162)
Heat meter Kamstrup Multical 302 (multical302)
-Electricity meter Kamstrup Omnipower (omnipower)
+Electricity meter Kamstrup Omnipower (omnipower) and Tauron Amiplus (amiplus)
```
The wmbus dongles imst871a and amb8465 can only listen on one type of wmbus telegrams at a time.
diff --git a/src/main.cc b/src/main.cc
index 89c5c9e..25c17a9 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -102,7 +102,8 @@ Qundis Q caloric (qcaloric)
Work in progress:
Water meter Apator at-wmbus-16-2 (apator162)
Heat meter Kamstrup Multical 302 (multical302)
-Electricity meter Kamstrup Omnipower (omnipower)
+Electricity meter Kamstrup Omnipower (omnipower) and Tauron Amiplus (amiplus)
+
)MANUAL";
puts(msg);
}
@@ -259,6 +260,10 @@ void startUsingCommandline(Configuration *config)
meters.push_back(createOmnipower(wmbus.get(), m.name, m.id, m.key));
verbose("(omnipower) configured \"%s\" \"omnipower\" \"%s\" %s\n", m.name.c_str(), m.id.c_str(), keymsg);
break;
+ case AMIPLUS_METER:
+ meters.push_back(createAmiplus(wmbus.get(), m.name, m.id, m.key));
+ verbose("(amiplus) configured \"%s\" \"amiplus\" \"%s\" %s\n", m.name.c_str(), m.id.c_str(), keymsg);
+ break;
case SUPERCOM587_METER:
meters.push_back(createSupercom587(wmbus.get(), m.name, m.id, m.key));
verbose("(supercom587) configured \"%s\" \"supercom587\" \"%s\" %s\n", m.name.c_str(), m.id.c_str(), keymsg);
diff --git a/src/meter_amiplus.cc b/src/meter_amiplus.cc
new file mode 100644
index 0000000..36c1214
--- /dev/null
+++ b/src/meter_amiplus.cc
@@ -0,0 +1,174 @@
+/*
+ Copyright (C) 2019 Fredrik Öhrström
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#include"dvparser.h"
+#include"meters.h"
+#include"meters_common_implementation.h"
+#include"wmbus.h"
+#include"wmbus_utils.h"
+#include"util.h"
+
+#include