2017-08-06 17:20:59 +00:00
|
|
|
# wmbusmeters
|
2017-08-09 10:00:11 +00:00
|
|
|
The program receives and decodes C1 telegrams
|
|
|
|
(using the wireless mbus protocol) to acquire
|
2017-08-31 08:58:39 +00:00
|
|
|
utility meter readings.
|
2017-08-30 12:14:18 +00:00
|
|
|
|
2017-08-31 08:58:39 +00:00
|
|
|
wmbusmeters [usbdevice] { [meter_name] [meter_id] [meter_key] }*
|
2017-08-30 12:14:18 +00:00
|
|
|
|
2017-08-31 08:58:39 +00:00
|
|
|
If you want to listen to more than one meter, simply add more meter triplets.
|
|
|
|
Add --robot to get JSON output.
|
2017-08-09 10:00:11 +00:00
|
|
|
|
|
|
|
Builds and runs on GNU/Linux:
|
2017-08-09 10:02:42 +00:00
|
|
|
|
2017-08-09 10:00:11 +00:00
|
|
|
make
|
2017-08-09 10:02:42 +00:00
|
|
|
|
2017-08-30 12:14:18 +00:00
|
|
|
./build/wmbusmeters /dev/ttyUSB0 MyTapWater 12345678 00112233445566778899AABBCCDDEEFF
|
2017-08-09 10:02:42 +00:00
|
|
|
|
2017-08-30 12:14:18 +00:00
|
|
|
./build/wmbusmeters --verbose /dev/ttyUSB0 MyTapWater 12345678 00112233445566778899AABBCCDDEEFF
|
2017-08-09 10:00:11 +00:00
|
|
|
|
2017-08-31 08:58:39 +00:00
|
|
|
./build/wmbusmeters --robot /dev/ttyUSB0 MyTapWater 12345678 00112233445566778899AABBCCDDEEFF
|
|
|
|
|
2017-08-09 10:00:11 +00:00
|
|
|
make HOST=arm
|
2017-08-09 10:02:42 +00:00
|
|
|
|
2017-08-31 08:58:39 +00:00
|
|
|
Binary generated: ./build_arm/wmbusmeters
|
2017-08-09 10:00:11 +00:00
|
|
|
|
|
|
|
make DEBUG=true
|
2017-08-09 10:02:42 +00:00
|
|
|
|
2017-08-31 08:58:39 +00:00
|
|
|
Binary generated: ./build_debug/wmbusmeters
|
2017-08-09 10:00:11 +00:00
|
|
|
|
|
|
|
make DEBUG=true HOST=arm
|
2017-08-09 10:02:42 +00:00
|
|
|
|
2017-08-31 08:58:39 +00:00
|
|
|
Binary generated: ./build_arm_debug/wmbusmeters
|
2017-08-09 10:02:42 +00:00
|
|
|
|
2017-08-31 08:58:39 +00:00
|
|
|
Add yourself to the dialout group to get access to the newly plugged in im87A USB stick.
|
2017-08-09 10:00:11 +00:00
|
|
|
|
|
|
|
Currently only supports the USB stick receiver im871A
|
|
|
|
and the water meter Multical21. The source code is modular
|
|
|
|
and it should be relatively straightforward to add
|
|
|
|
more receivers (Amber anyone?) and meters.
|
|
|
|
|
|
|
|
Good documents on the wireless mbus protocol:
|
2017-08-09 10:02:42 +00:00
|
|
|
|
2017-08-09 10:00:11 +00:00
|
|
|
https://www.infineon.com/dgdl/TDA5340_AN_WMBus_v1.0.pdf
|
2017-08-09 10:02:42 +00:00
|
|
|
|
2017-08-09 10:00:11 +00:00
|
|
|
http://fastforward.ag/downloads/docu/FAST_EnergyCam-Protocol-wirelessMBUS.pdf
|
|
|
|
|
2017-08-30 18:08:02 +00:00
|
|
|
http://www.multical.hu/WiredMBus-water.pdf
|
|
|
|
|
2017-08-09 10:00:11 +00:00
|
|
|
The AES source code is copied from:
|
2017-08-09 10:02:42 +00:00
|
|
|
|
2017-08-09 10:00:11 +00:00
|
|
|
https://github.com/kokke/tiny-AES128-C
|
|
|
|
|
|
|
|
The following two other github projects were of great help:
|
2017-08-09 10:02:42 +00:00
|
|
|
|
2017-08-09 10:00:11 +00:00
|
|
|
https://github.com/ffcrg/ecpiww
|
2017-08-09 10:02:42 +00:00
|
|
|
|
2017-08-09 10:00:11 +00:00
|
|
|
https://github.com/tobiasrask/wmbus-client
|
|
|
|
|
2017-08-31 08:58:39 +00:00
|
|
|
TODO: CRC checks are still missing. If the wrong AES key
|
|
|
|
is supplied you probably get zero readings and
|
|
|
|
sometimes warnings about wrong type of frames.
|