CHESTER wM-Bus
Some of the basics are not provided, as they are common for all CHESTER catalog applications. Please see:
- Getting started on how to connect device to Cloud.
- Common functionality to know how LED, button and network configuration works.
- Platform Management on how to work with the interactive console.
Application Overview
CHESTER wM-Bus is a Wireless M-Bus gateway. This device listens for configured wM-Bus T1 and C1 devices in specific intervals, aggregates the raw received wM-Bus packets and sends them over the NB-IoT/LTE-M network.
It is used in homes and apartments for measuring the consumption of heat, gas, electricity, water and reading other wM-Bus devices.
The device has two antennas that can be switched during reception to achieve ideal reception for scanning in both polarizations.
The device can be configured to do periodic, daily, weekly or monthly scans.
The device has a sufficiently low power consumption that it can operate from batteries for many years. A version with an external power supply can also be ordered.
CHESTER wM-Bus only receives raw hexadecimal wireless M-BUS packets. The device itself or HARDWARIO Cloud doesn’t decode the wM-Bus sensors data. Each wM-Bus sensor has its own representation of encoded data, or the packets might be encrypted. Decoding of the raw hexadecimal values to meaningful units is up to the customer or integrator.
This device supports the newer LTEv2 stack and HARDWARIO Cloud v2.
Application Variants
CHESTER wM-Bus can be ordered in one of these variants:
CHESTER wM-Bus
Battery powered with 6 pcs alkaline "D" cells.
The catalog CHESTER wM-Bus hardware consists of the following ordering codes:
CHESTER-M-CES
- Standard mainboard w/o supercapacitorsCHESTER-B1W
- B1 carrier board with wM-Bus radio.
See Ordering Codes for more details.
CHESTER wM-Bus DC
Externally powered 230V DC adapter.
The catalog CHESTER wM-Bus DC hardware consists of the following ordering codes:
CHESTER-M-CS
- Standard mainboard w/ supercapacitorsCHESTER-B1W
- B1 carrier board with wM-Bus radio.
See Ordering Codes for more details.
Scanning and Behavior
Addresses of the wM-Bus devices and device mode could be imported and reconfigured over the cloud.
The device has adjustable parameters where it can scan wM-Bus devices periodically, daily, weekly or monthly. The scan time and other parameters can also be set.
Default Configuration
This is the default configuration (printed using the app config show
command):
app config scan-timeout 130
app config season-month-start 9
app config season-month-end 3
app config scan-interval 600
app config scan-hour 12
app config scan-weekday 3
app config scan-day 15
app config scan-mode off
app config scan-ant dual
app config poll-interval 28800
app config downlink-wdg-interval 172800
If you have any wM-Bus addresses configured, you will also see them in the log together with the count of them.
app config address count 1
app config address add 81763000
Specific Commands
You can easily explore the whole command tree structure - start with the help
command.
To apply a new configuration, you need to call config save
, which applies the new configuration parameters and reboots the device. This applies only if you configure the device over Bluetooth or J-Link.
This is not needed if you apply commands in a batch over the cloud.
Address List Configuration
This command adds the wM-Bus addresses that device scans and sends later their raw data to the cloud.
app config address
Lists all saved device addresses. If this listing is done via BLE and contains a large number of devices (dozens), we recommend resetting the device after this listing.
app config address add 123456
Adding a sensor that broadcasts all year round with the address 123456.
app config address add 123456 S
Adding a sensor that transmits only during the heating season with the address 123456. At the end of the line, the character S means seasonal. A season can be defined by setting the season start and end months using the season-month-start and season-month-end parameters.
app config address remove 123456
Removing a sensor from the list.
app config address erase
Removing all sensors from the list.
Scan Configuration
Scanning indicates the time during which CHESTER captures wM-Bus packets. The scan method is set by the scan-mode
parameter.
app config scan-mode <mode>
- off - automatic scan off, ideal for shipping or location tuning with manual scan start
- interval - scan in intervals. For debug only,
scan-interval
parameter (ignores set months to scan) - daily - scan once a day, always at the hour set by the
scan-hour
parameter - weekly - scan once a week, always at the hour and day of the week set by the
scan-hour
andscan-weekday
parameters - monthly - scan once a month, always at the hour and day of the month set by the
scan-hour
andscan-day
parameters
app config scan-timeout 480
After the scan is started, it is scanned for the maximum scan-timeout
time (adjustable in the range of 10-86400 seconds), or until packets arrive from all devices from the address list.
This is a safety timer which, in the worst case, prevents the scanning from remaining on indefinitely in case of non-acceptance/failure of the sensor. The timeout is doubled if both antennas are activated by the scan-ant
parameter.
app config scan-interval 600
Fixed scan in intervals if scan-mode
is set to interval, for debug only, units of seconds 0-86400.
app config season-month-start 9
app config season-month-end 3
It determines the months when it is the heating season and when the cost indicators that were set when adding via the “address” command with the “S” parameter are to be scanned. 1-12 / January-December.
The starting month must always be greater than the ending "end" month. The parameter "3" in the example above, which ends the season, means that even the third month is still the heating season, i.e. from September to March inclusive. (September 1 - March 31).
app config scan-hour 12
It determines the hour at which the scan should start. CHESTER device clocks operate in UTC. The device does not distinguish between time zones or daylight savings time. The correct hour must be considered with some margin if wM-Bus sensors automatically change their clocks to summer/winter time.
app config scan-weekday 2
Specifies the day of the week to scan for a weekly scan. 0 - Sunday, 1 - Monday, ...
app config scan-day 2
Specifies the day of the month when scanning 1-28 during the monthly scan
app config scan-ant <mode>
single - scan uses only one cycle with one antenna, if it receives data from all devices, it sends data immediately, if not, it sends data after the scan-timeout
timeout
dual - the scan takes place twice, each time with a different antenna. If all devices are not scanned in the first cycle with antenna 1, a second scan with the second antenna is started. Each scan takes a maximum of scan-timeout seconds. The maximum time when the wM-Bus receiver is active is equal to 2x scan-timeout
.
Example Configurations
When configuring over BLE, you need to apply the configuraiton changes with config save
command.
When configuring over Cloud config downlink commands, don't add config save
command, it is applied automatically. Othwerwise the configuration is not
Interval and wM-BUS Packets Every 2 Minutes
wM-BUS devices send a packet every 2 minutes. We want to use only one antenna. We want to send data to the cloud every 2 hours. All devices are year-round, transmitting (the same) in summer and winter.
app config scan-mode interval
app config scan-interval 7200 (measurement every 2 hours = 7200 seconds)
app config scan-timeout 130 (sensors send every 2 minutes = 120 seconds + reserve)
app config scan-ant single (only one antenna, we scan for 130 seconds)
app config address count 2
app config address add 111111
app config address add 222222
Interval and wM-BUS Packets Every 2 minutes, Two Antennas
wM-BUS devices send a packet every 2 minutes. We want to use both antennas for better reception, each oriented differently to change polarity. We want to send data to the cloud every 2 hours. All devices are year-round, transmitting (the same) in summer and winter.
app config scan-mode interval
app config scan-interval 7200 (scanning every 2 hours = 7200 seconds)
app config scan-timeout 130 (sensors send every 2 minutes = 120 seconds + reserve)
app config scan-ant dual (both antennas, we scan up to 130 seconds with one antenna and another up to 130 seconds with the second antenna, effectively scanning up to 260 seconds)
app config address count 2
app config address add 111111
app config address add 222222
Interval and wM-BUS Packets Sending Every Hour
wM-BUS devices send a packet every 1 hour. We want to use only one antenna. We want to send data to the cloud every hour. All devices are year-round, transmitting (the same) in summer and winter.
This configuration is not for battery variant, because it scans constantly
app config scan-mode interval
app config scan-interval 3620 (scanning every hour = 3600 seconds + 20 seconds reserve for sending)
app config scan-timeout 3600 (scanning up to 3600 seconds)
app config scan-ant single (one antenna, we scan up to 3580 seconds)
app config address count 2
app config address add 111111
app config address add 222222
Daily scanning
wM-BUS devices send a packet every 1 hour. We want to use only one antenna. We want to send data to the cloud once a day. All devices are year-round, transmitting (the same) in summer and winter.
This configuration is not optimal for battery variant
app config scan-mode daily (daily scanning)
app config scan-hour 12 (always at 12 o'clock UTC (for CET, conversion is needed))
app config scan-timeout 3600 (scanning up to 3600 seconds)
app config scan-ant single (one antenna, we scan up to 3600 seconds)
app config address count 2
app config address add 111111
app config address add 222222
Firmware
The latest firmware is available in Catalog Applications Firmware chapter.
Example JSON Message
In this example JSON you can see raw data from two wM-Bus sensors
Each JSON cloud message contains up to 20 wM-Bus packets. If CHESTER is configured for more than 20 devices, then the raw wM-Bus packets are split to multiple JSON messages.
{
"accelerometer": {
"accel_x": 0.22,
"accel_y": 0.07,
"accel_z": 9.42,
"orientation": 2
},
"battery": {
"current_load": null,
"voltage_load": null,
"voltage_rest": null
},
"frame": {
"protocol": 3,
"sequence": 0,
"timestamp": 1698660040
},
"network": {
"parameter": {
"band": 1184866148,
"cid": 248833,
"earfcn": -2121962691,
"ecl": 536882852,
"eest": 0,
"plmn": 536882852,
"rsrp": 384479,
"rsrq": 508,
"snr": 0
}
},
"state": {
"uptime": 47
},
"thermometer": {
"temperature": 22.31
},
"wmbus": {
"cycle": 1,
"devices": 2,
"packets": [
{
"data": "32446850003076816980a0919f2b06007007000061087c08000000000000000000000000010101020100000000000000000000",
"rssi": -65
},
{
"data": "32446850003076816980a0919f2b06007007000061087c08000000000000000000000000010101020100000000000000000000",
"rssi": -72
}
],
"part": 0,
"received": 2,
"scan_time": 17
}
}