kopia lustrzana https://github.com/weetmuts/wmbusmeters
More documentation
rodzic
8f51d8f798
commit
c32eb12484
9
CHANGES
9
CHANGES
|
|
@ -1,7 +1,14 @@
|
|||
|
||||
Version 0.5:
|
||||
|
||||
Added difvif parser to extract as much as possible automatically
|
||||
from the the telegram.
|
||||
|
||||
Added initial support for Omnipower electricity meter.
|
||||
|
||||
Version 0.4:
|
||||
|
||||
Added initial support for power meter Multical302.
|
||||
Added initial support for heat energy meter Multical302.
|
||||
Restructured to source to more easily support multiple meters.
|
||||
|
||||
ATTENTION! There is a difference in the command line interface.
|
||||
|
|
|
|||
2
Makefile
2
Makefile
|
|
@ -27,7 +27,7 @@ endif
|
|||
|
||||
$(shell mkdir -p $(BUILD))
|
||||
|
||||
CXXFLAGS := $(DEBUG_FLAGS) -Wall -fmessage-length=0 -std=c++11 -Wno-unused-function "-DWMBUSMETERS_VERSION=\"0.4\""
|
||||
CXXFLAGS := $(DEBUG_FLAGS) -Wall -fmessage-length=0 -std=c++11 -Wno-unused-function "-DWMBUSMETERS_VERSION=\"0.5\""
|
||||
|
||||
$(BUILD)/%.o: %.cc $(wildcard %.h)
|
||||
$(CXX) $(CXXFLAGS) $< -c -o $@
|
||||
|
|
|
|||
|
|
@ -170,6 +170,18 @@ void MeterMultical21::handleTelegram(Telegram *t)
|
|||
|
||||
void MeterMultical21::processContent(Telegram *t)
|
||||
{
|
||||
// Meter records:
|
||||
// 02 dif (16 Bit Integer/Binary Instantaneous value)
|
||||
// FF vif (vendor specific)
|
||||
// 20 vife (vendor specific)
|
||||
// xx xx (info codes)
|
||||
// 04 dif (32 Bit Integer/Binary Instantaneous value)
|
||||
// 13 vif (Volume l)
|
||||
// xx xx xx xx (total volume)
|
||||
// 44 dif (32 Bit Integer/Binary Instantaneous value KamstrupCombined)
|
||||
// 13 vif (Volume l)
|
||||
// xx xx (target volume in compact frame) but xx xx xx xx in full frame!
|
||||
|
||||
vector<uchar>::iterator bytes = t->content.begin();
|
||||
|
||||
int crc0 = t->content[0];
|
||||
|
|
|
|||
|
|
@ -107,7 +107,8 @@ void MeterOmnipower::processContent(Telegram *t)
|
|||
// Meter record:
|
||||
// 04 dif (32 Bit Integer/Binary Instantaneous value)
|
||||
// 83 vif (Energy Wh)
|
||||
// 3b vife
|
||||
// 3b vife (Forward flow contribution only)
|
||||
// xx xx xx xx (total energy)
|
||||
|
||||
map<string,pair<int,string>> values;
|
||||
parseDV(t, t->content.begin(), t->content.size(), &values);
|
||||
|
|
|
|||
6
wmbus.h
6
wmbus.h
|
|
@ -26,6 +26,12 @@
|
|||
|
||||
#define LIST_OF_LINK_MODES X(LinkModeC1)X(LinkModeT1)X(UNKNOWN_LINKMODE)
|
||||
|
||||
// In link mode T1, the meter transmits a telegram every few seconds.
|
||||
// Suitable for drive-by/walk-by collection of meter values.
|
||||
|
||||
// Link mode C1 is like T1 but uses less energy when transmitting due to
|
||||
// a different radio encoding. Suitable for battery powered meters.
|
||||
|
||||
enum LinkMode {
|
||||
#define X(name) name,
|
||||
LIST_OF_LINK_MODES
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue