Difference between revisions of "MBus Reader"
Jump to navigation
Jump to search
(Created page with "The MBus Viewer is as a nicegui demo see https://mbus.bitplan.com") |
|||
(13 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | The MBus Viewer is | + | =OsProject= |
+ | |||
+ | {{OsProject | ||
+ | |id=mbusreader | ||
+ | |state=active | ||
+ | |owner=WolfgangFahl | ||
+ | |title=mbusreader | ||
+ | |url=https://github.com/WolfgangFahl/mbusreader | ||
+ | |version=0.0.1 | ||
+ | |description=Meterbus Reader | ||
+ | |date=2025-01-22 | ||
+ | |since=2025-01-22 | ||
+ | }} | ||
+ | = Introduction = | ||
+ | [https://en.wikipedia.org/w/index.php?title=Meter-Bus M-Bus] or '''Meter-Bus''' is a [https://en.wikipedia.org/wiki/European_Committee_for_Standardization European standard] (EN 13757-2 physical and link layer, EN 13757-3 application layer) for the remote reading of [https://en.wikipedia.org/wiki/Water_meter water], [https://en.wikipedia.org/wiki/Gas_meter gas] or [https://en.wikipedia.org/wiki/Electricity_meter electricity] meters. | ||
+ | |||
+ | = MBus Viewer = | ||
+ | == Demo == | ||
+ | The '''MBus Viewer''' is has a nicegui demo at https://mbus.bitplan.com | ||
+ | == Command Line == | ||
+ | <source lang='bash' highlight='1'> | ||
+ | mbus-viewer -h | ||
+ | usage: mbus-viewer [-h] [-a] [--apache APACHE] [-c] [-d] | ||
+ | [--debugServer DEBUGSERVER] [--debugPort DEBUGPORT] | ||
+ | [--debugRemotePath DEBUGREMOTEPATH] | ||
+ | [--debugLocalPath DEBUGLOCALPATH] [-l] [-i INPUT] [-rol] | ||
+ | [--host HOST] [--port PORT] [-s] [-V] [-rp ROOT_PATH] | ||
+ | |||
+ | MBus message parser and JSON result viewer | ||
+ | |||
+ | options: | ||
+ | -h, --help show this help message and exit | ||
+ | -a, --about show about info [default: False] | ||
+ | --apache APACHE create an apache configuration file for the given | ||
+ | domain | ||
+ | -c, --client start client [default: False] | ||
+ | -d, --debug show debug info [default: False] | ||
+ | --debugServer DEBUGSERVER | ||
+ | remote debug Server | ||
+ | --debugPort DEBUGPORT | ||
+ | remote debug Port | ||
+ | --debugRemotePath DEBUGREMOTEPATH | ||
+ | remote debug Server path mapping - remotePath - path | ||
+ | on debug server | ||
+ | --debugLocalPath DEBUGLOCALPATH | ||
+ | remote debug Server path mapping - localPath - path on | ||
+ | machine where python runs | ||
+ | -l, --local run with local file system access [default: False] | ||
+ | -i INPUT, --input INPUT | ||
+ | input file | ||
+ | -rol, --render_on_load | ||
+ | render on load [default: False] | ||
+ | --host HOST the host to serve / listen from [default: localhost] | ||
+ | --port PORT the port to serve from [default: 9996] | ||
+ | -s, --serve start webserver [default: False] | ||
+ | -V, --version show program's version number and exit | ||
+ | -rp ROOT_PATH, --root_path ROOT_PATH | ||
+ | path to mbux hex files [default: | ||
+ | /home/wf/.local/lib/python3.10/site- | ||
+ | packages/mbusread_examples] | ||
+ | </source> | ||
+ | |||
+ | = M-Bus Reader = | ||
+ | == Command line == | ||
+ | <source lang='bash' highlight='1'> | ||
+ | mbus-reader -h | ||
+ | usage: mbus-reader [-h] [-c CONFIG] [-i IO_CONFIG] [-D DEVICE] [-m MESSAGE] | ||
+ | [--mqtt] [--lang {en,de}] [--debug] | ||
+ | |||
+ | M-Bus Reader | ||
+ | |||
+ | options: | ||
+ | -h, --help show this help message and exit | ||
+ | -c CONFIG, --config CONFIG | ||
+ | Config file path (default: examples/mbus_config.yaml) | ||
+ | -i IO_CONFIG, --io_config IO_CONFIG | ||
+ | IO config file path (default: /tmp/mbus_io.yaml) | ||
+ | -D DEVICE, --device DEVICE | ||
+ | Device type (default: cf_echo_ii) | ||
+ | -m MESSAGE, --message MESSAGE | ||
+ | Message ID to send | ||
+ | --mqtt Enable MQTT publishing | ||
+ | --lang {en,de} Language for messages (default: en) | ||
+ | --debug Enable debug logging | ||
+ | </source> | ||
+ | |||
+ | == Examples configuration == | ||
+ | MBus message examples are configurable via yaml see https://github.com/WolfgangFahl/mbusreader/blob/main/mbusread_examples/mbus_examples.yaml | ||
+ | <source lang='yaml'> | ||
+ | # Example definitions for mbus viewer tool | ||
+ | # WF 2025-01-22 | ||
+ | |||
+ | manufacturers: | ||
+ | allmess: | ||
+ | name: Allmess | ||
+ | url: https://www.allmess.de | ||
+ | country: Germany | ||
+ | devices: | ||
+ | cf_echo_ii: | ||
+ | mid: allmess | ||
+ | model: CF Echo II | ||
+ | title: '' | ||
+ | doc_url: https://www.allmess.de/fileadmin/multimedia/alle_Dateien/MA/MA_BA_12088-AC%20CF%20Echo%20II%20D%20TS1021_KL.pdf | ||
+ | ultramaxx: | ||
+ | model: CF UltraMaxx V | ||
+ | mid: allmess | ||
+ | url: https://de.itron.com/de/products/cf-ultramaxx-v | ||
+ | doc_url: https://www.gavilar.nl/files/cf-ultramaxx-v-03-13.pdf | ||
+ | |||
+ | examples: | ||
+ | # CF Echo II | ||
+ | cf_echo_basic: | ||
+ | did: cf_echo_ii | ||
+ | name: Basic Reading | ||
+ | title: Standard M-Bus reading | ||
+ | hex: 684d4d680800722654832277040904360000000c78265483220406493500000c14490508000b2d0000000b3b0000000a5a18060a5e89020b61883200046d0d0c2c310227c80309fd0e2209fd0f470f00008d16 | ||
+ | cf_echo_init: | ||
+ | did: cf_echo_ii | ||
+ | name: init write | ||
+ | title: CF Echo II init | ||
+ | hex: 6803036873fea61716 | ||
+ | #cf_echo_ini2: | ||
+ | # did: cf_echo_ii | ||
+ | # name: init write2 | ||
+ | # title: CF Echo II init2 | ||
+ | # hex: 68 06 06 68 73 fe a1 55 82 02 eb 16 | ||
+ | cf_echo_read_data_cmd: | ||
+ | did: cf_echo_ii | ||
+ | name: read data cmd | ||
+ | title: CF Echo II read data command | ||
+ | hex: 105BFE5916 | ||
+ | ultramaxx_message1: | ||
+ | did: ultramaxx | ||
+ | name: message1 | ||
+ | title: UltraMaxx Message 1 | ||
+ | hex: 68 03 03 68 53 fe a6 f7 16 | ||
+ | |||
+ | ultramaxx_message2: | ||
+ | did: ultramaxx | ||
+ | name: message2 | ||
+ | title: UltraMaxx Message 2 | ||
+ | hex: 10 40 fe 3e 16 | ||
+ | |||
+ | ultramaxx_message3: | ||
+ | did: ultramaxx | ||
+ | name: message3 | ||
+ | title: UltraMaxx Message 3 | ||
+ | hex: 68 04 04 68 53 fe 50 01 a2 16 10 5b fe 59 16 | ||
+ | valid: false | ||
+ | |||
+ | ultramaxx_message4: | ||
+ | did: ultramaxx | ||
+ | name: message4 | ||
+ | title: UltraMaxx Message 4 | ||
+ | hex: 68 04 04 68 53 fe 50 00 a1 16 10 5b fe 59 16 | ||
+ | valid: false | ||
+ | |||
+ | ultramaxx_message5: | ||
+ | did: ultramaxx | ||
+ | name: message5 | ||
+ | title: UltraMaxx Message 5 | ||
+ | hex: 68 06 06 68 53 fe a7 02 1a 19 2d 16 | ||
+ | |||
+ | ultramaxx_reading1: | ||
+ | did: ultramaxx | ||
+ | name: reading1 | ||
+ | title: UltraMaxx reading | ||
+ | # hex: 68 1c 1c 68 08 00 72 81 94 36 20 92 26 17 04 58 00 00 00 0f 10 07 11 00 12 03 3b 2b 81 94 36 20 2d 16 | ||
+ | hex: 68 1c 1c 68 08 00 72 81 94 36 20 92 26 17 04 60 00 00 00 0f 10 07 11 00 12 03 a0 01 81 94 36 20 70 16 | ||
+ | |||
+ | ultramaxx_reading2: | ||
+ | did: ultramaxx | ||
+ | name: reading2 | ||
+ | title: UltraMaxx reading2 | ||
+ | hex: 68 21 21 68 08 00 72 81 94 36 20 92 26 17 04 61 00 00 00 0c 78 81 94 36 20 3b fd 75 93 00 00 3b a6 6d 00 00 00 96 16 | ||
+ | |||
+ | ultramaxx_reading3: | ||
+ | did: ultramaxx | ||
+ | name: reading3 | ||
+ | title: UltraMaxx reading3 | ||
+ | hex: | | ||
+ | 68 4d 4d 68 08 00 72 81 94 36 20 92 26 17 04 | ||
+ | 62 00 00 00 0c 78 81 94 36 20 04 06 5c a0 00 | ||
+ | 00 0c 14 03 59 36 00 0b 2d 24 00 00 0b 3b 81 | ||
+ | 00 00 0a 5a 60 05 0a 5e 02 03 0b 61 81 25 00 | ||
+ | 04 6d 16 11 36 31 02 27 07 07 09 fd 0e 07 09 | ||
+ | fd 0f 11 0f 00 00 b2 16 | ||
+ | ultramaxx_reading4: | ||
+ | did: ultramaxx | ||
+ | name: reading4 | ||
+ | title: UltraMaxx reading4 | ||
+ | hex: | | ||
+ | 68 18 18 68 08 00 72 81 94 36 20 92 26 17 04 | ||
+ | 63 00 00 00 0f f6 ca ee 41 a0 8b ce 41 53 16 | ||
+ | |||
+ | </source> | ||
+ | |||
+ | = WhatLinksHere = | ||
+ | {{WhatLinksHere}} |
Latest revision as of 15:32, 24 January 2025
OsProject
OsProject | |
---|---|
id | mbusreader |
state | active |
owner | WolfgangFahl |
title | mbusreader |
url | https://github.com/WolfgangFahl/mbusreader |
version | 0.0.1 |
description | Meterbus Reader |
date | 2025-01-22 |
since | 2025-01-22 |
until |
Introduction
M-Bus or Meter-Bus is a European standard (EN 13757-2 physical and link layer, EN 13757-3 application layer) for the remote reading of water, gas or electricity meters.
MBus Viewer
Demo
The MBus Viewer is has a nicegui demo at https://mbus.bitplan.com
Command Line
mbus-viewer -h
usage: mbus-viewer [-h] [-a] [--apache APACHE] [-c] [-d]
[--debugServer DEBUGSERVER] [--debugPort DEBUGPORT]
[--debugRemotePath DEBUGREMOTEPATH]
[--debugLocalPath DEBUGLOCALPATH] [-l] [-i INPUT] [-rol]
[--host HOST] [--port PORT] [-s] [-V] [-rp ROOT_PATH]
MBus message parser and JSON result viewer
options:
-h, --help show this help message and exit
-a, --about show about info [default: False]
--apache APACHE create an apache configuration file for the given
domain
-c, --client start client [default: False]
-d, --debug show debug info [default: False]
--debugServer DEBUGSERVER
remote debug Server
--debugPort DEBUGPORT
remote debug Port
--debugRemotePath DEBUGREMOTEPATH
remote debug Server path mapping - remotePath - path
on debug server
--debugLocalPath DEBUGLOCALPATH
remote debug Server path mapping - localPath - path on
machine where python runs
-l, --local run with local file system access [default: False]
-i INPUT, --input INPUT
input file
-rol, --render_on_load
render on load [default: False]
--host HOST the host to serve / listen from [default: localhost]
--port PORT the port to serve from [default: 9996]
-s, --serve start webserver [default: False]
-V, --version show program's version number and exit
-rp ROOT_PATH, --root_path ROOT_PATH
path to mbux hex files [default:
/home/wf/.local/lib/python3.10/site-
packages/mbusread_examples]
M-Bus Reader
Command line
mbus-reader -h
usage: mbus-reader [-h] [-c CONFIG] [-i IO_CONFIG] [-D DEVICE] [-m MESSAGE]
[--mqtt] [--lang {en,de}] [--debug]
M-Bus Reader
options:
-h, --help show this help message and exit
-c CONFIG, --config CONFIG
Config file path (default: examples/mbus_config.yaml)
-i IO_CONFIG, --io_config IO_CONFIG
IO config file path (default: /tmp/mbus_io.yaml)
-D DEVICE, --device DEVICE
Device type (default: cf_echo_ii)
-m MESSAGE, --message MESSAGE
Message ID to send
--mqtt Enable MQTT publishing
--lang {en,de} Language for messages (default: en)
--debug Enable debug logging
Examples configuration
MBus message examples are configurable via yaml see https://github.com/WolfgangFahl/mbusreader/blob/main/mbusread_examples/mbus_examples.yaml
# Example definitions for mbus viewer tool
# WF 2025-01-22
manufacturers:
allmess:
name: Allmess
url: https://www.allmess.de
country: Germany
devices:
cf_echo_ii:
mid: allmess
model: CF Echo II
title: ''
doc_url: https://www.allmess.de/fileadmin/multimedia/alle_Dateien/MA/MA_BA_12088-AC%20CF%20Echo%20II%20D%20TS1021_KL.pdf
ultramaxx:
model: CF UltraMaxx V
mid: allmess
url: https://de.itron.com/de/products/cf-ultramaxx-v
doc_url: https://www.gavilar.nl/files/cf-ultramaxx-v-03-13.pdf
examples:
# CF Echo II
cf_echo_basic:
did: cf_echo_ii
name: Basic Reading
title: Standard M-Bus reading
hex: 684d4d680800722654832277040904360000000c78265483220406493500000c14490508000b2d0000000b3b0000000a5a18060a5e89020b61883200046d0d0c2c310227c80309fd0e2209fd0f470f00008d16
cf_echo_init:
did: cf_echo_ii
name: init write
title: CF Echo II init
hex: 6803036873fea61716
#cf_echo_ini2:
# did: cf_echo_ii
# name: init write2
# title: CF Echo II init2
# hex: 68 06 06 68 73 fe a1 55 82 02 eb 16
cf_echo_read_data_cmd:
did: cf_echo_ii
name: read data cmd
title: CF Echo II read data command
hex: 105BFE5916
ultramaxx_message1:
did: ultramaxx
name: message1
title: UltraMaxx Message 1
hex: 68 03 03 68 53 fe a6 f7 16
ultramaxx_message2:
did: ultramaxx
name: message2
title: UltraMaxx Message 2
hex: 10 40 fe 3e 16
ultramaxx_message3:
did: ultramaxx
name: message3
title: UltraMaxx Message 3
hex: 68 04 04 68 53 fe 50 01 a2 16 10 5b fe 59 16
valid: false
ultramaxx_message4:
did: ultramaxx
name: message4
title: UltraMaxx Message 4
hex: 68 04 04 68 53 fe 50 00 a1 16 10 5b fe 59 16
valid: false
ultramaxx_message5:
did: ultramaxx
name: message5
title: UltraMaxx Message 5
hex: 68 06 06 68 53 fe a7 02 1a 19 2d 16
ultramaxx_reading1:
did: ultramaxx
name: reading1
title: UltraMaxx reading
# hex: 68 1c 1c 68 08 00 72 81 94 36 20 92 26 17 04 58 00 00 00 0f 10 07 11 00 12 03 3b 2b 81 94 36 20 2d 16
hex: 68 1c 1c 68 08 00 72 81 94 36 20 92 26 17 04 60 00 00 00 0f 10 07 11 00 12 03 a0 01 81 94 36 20 70 16
ultramaxx_reading2:
did: ultramaxx
name: reading2
title: UltraMaxx reading2
hex: 68 21 21 68 08 00 72 81 94 36 20 92 26 17 04 61 00 00 00 0c 78 81 94 36 20 3b fd 75 93 00 00 3b a6 6d 00 00 00 96 16
ultramaxx_reading3:
did: ultramaxx
name: reading3
title: UltraMaxx reading3
hex: |
68 4d 4d 68 08 00 72 81 94 36 20 92 26 17 04
62 00 00 00 0c 78 81 94 36 20 04 06 5c a0 00
00 0c 14 03 59 36 00 0b 2d 24 00 00 0b 3b 81
00 00 0a 5a 60 05 0a 5e 02 03 0b 61 81 25 00
04 6d 16 11 36 31 02 27 07 07 09 fd 0e 07 09
fd 0f 11 0f 00 00 b2 16
ultramaxx_reading4:
did: ultramaxx
name: reading4
title: UltraMaxx reading4
hex: |
68 18 18 68 08 00 72 81 94 36 20 92 26 17 04
63 00 00 00 0f f6 ca ee 41 a0 8b ce 41 53 16