I was wondering if there’s anyone out there who could help me get my heat meter communicating again.
I have had the heat meter for several years. It used to connect OK to the emonpi using M-Bus. (The only oddity was that the buttons on the front panel of the heat meter never did anything, although the number on the display increases when the ASHP runs).
Last November, I sent the meter back to Stockshed to get it recalibrated (it was originally calibrated for 25% glycol, but water bled off the radiators froze at 0 degC!). Since the heat meter came back, I have not managed to get M-BUS working.
Here’s the log file following a restart….
‘‘‘
2026-03-27 13:10:27,081 DEBUG MainThread Signal 15 received.
2026-03-27 13:10:27,229 INFO MainThread Exiting hub…
2026-03-27 13:10:28,706 DEBUG MBUS Invalid MBUS data received 0 bytes 2005.3 ms, count: 10
2026-03-27 13:10:28,707 DEBUG MBUS Invalid count = 10. Restarting MBUS serial connection on next read
2026-03-27 13:10:30,041 DEBUG MBUS Decoded MBUS data: None
2026-03-27 13:10:30,922 DEBUG DS18B20 28-3c01e076827f: 28-3c01e076827f 41.312
2026-03-27 13:10:31,802 DEBUG DS18B20 28-3c01e076c28c: 28-3c01e076c28c 12.187
2026-03-27 13:10:31,803 DEBUG DS18B20 41815 NEW FRAME :
2026-03-27 13:10:31,804 DEBUG DS18B20 41815 Timestamp : 1774617030.024121
2026-03-27 13:10:31,804 DEBUG DS18B20 41815 From Node : temperatures
2026-03-27 13:10:31,805 DEBUG DS18B20 41815 Values : [41.312, 12.187]
2026-03-27 13:10:31,806 DEBUG DS18B20 41815 Sent to channel(start)’ : ToEmonCMS
2026-03-27 13:10:31,806 DEBUG DS18B20 41815 Sent to channel(end)’ : ToEmonCMS
2026-03-27 13:10:31,907 INFO MainThread Exit completed
2026-03-27 13:10:33,391 INFO MainThread EmonHub v2.7.13
2026-03-27 13:10:33,391 INFO MainThread Opening hub…
2026-03-27 13:10:33,392 INFO MainThread Running as user: pi
2026-03-27 13:10:33,393 INFO MainThread Logging level set to DEBUG
2026-03-27 13:10:33,393 INFO MainThread Creating EmonHubJeeInterfacer ‘RFM2Pi’
2026-03-27 13:10:33,396 DEBUG MainThread Opening serial port: /dev/ttyAMA0 @ 38400 bits/s
2026-03-27 13:10:35,399 WARNING MainThread Device communication error - check settings
2026-03-27 13:10:35,401 INFO MainThread Setting RFM2Pi baseid: 5 (5i)
2026-03-27 13:10:36,404 INFO MainThread Setting RFM2Pi frequency: 433 (4b)
2026-03-27 13:10:37,406 INFO MainThread Setting RFM2Pi group: 210 (210g)
2026-03-27 13:10:38,409 INFO MainThread Setting RFM2Pi quiet: 1 (1q)
2026-03-27 13:10:39,411 INFO MainThread Setting RFM2Pi calibration: 230V (1p)
2026-03-27 13:10:40,413 DEBUG MainThread Setting RFM2Pi pubchannels: [‘ToEmonCMS’]
2026-03-27 13:10:40,414 DEBUG MainThread Setting RFM2Pi subchannels: [‘ToRFM12’]
2026-03-27 13:10:40,416 INFO MainThread Creating EmonHubDS18B20Interfacer ‘DS18B20’
2026-03-27 13:10:40,472 INFO MainThread Setting DS18B20 read_interval: 10
2026-03-27 13:10:40,474 INFO MainThread Setting DS18B20 nodename: temperatures
2026-03-27 13:10:40,474 INFO MainThread Setting DS18B20 ids:
2026-03-27 13:10:40,475 INFO MainThread Setting DS18B20 names:
2026-03-27 13:10:40,475 DEBUG MainThread Setting DS18B20 pubchannels: [‘ToEmonCMS’]
2026-03-27 13:10:40,477 INFO MainThread Creating EmonHubMinimalModbusInterfacer ‘SDM120’
2026-03-27 13:10:40,524 INFO MainThread Modbus device found: /dev/ttyUSB0, vid:1027, pid:24577
2026-03-27 13:10:40,525 INFO MainThread Connecting to Modbus device=/dev/ttyUSB0 baud=2400 parity=none datatype=float
2026-03-27 13:10:40,530 INFO MainThread Setting SDM120 read_interval: 10
2026-03-27 13:10:40,531 INFO MainThread Setting SDM120 nodename: sdm120
2026-03-27 13:10:40,531 INFO MainThread Setting SDM120 prefix:
2026-03-27 13:10:40,532 INFO MainThread Setting SDM120 meters sdm120a address 1
2026-03-27 13:10:40,533 INFO MainThread Setting SDM120 meters sdm120a registers [0, 6, 12, 18, 30, 70, 72]
2026-03-27 13:10:40,533 INFO MainThread Setting SDM120 meters sdm120a names [“V”, “I”, “P”, “VA”, “PF”, “FR”, “EI”]
2026-03-27 13:10:40,534 INFO MainThread Setting SDM120 meters sdm120a precision [2, 3, 1, 1, 3, 5, 3]
2026-03-27 13:10:40,535 INFO MainThread Setting SDM120 meters sdm120b address 2
2026-03-27 13:10:40,535 INFO MainThread Setting SDM120 meters sdm120b registers [0, 6, 12, 18, 30, 70, 72]
2026-03-27 13:10:40,536 INFO MainThread Setting SDM120 meters sdm120b names [“V”, “I”, “P”, “VA”, “PF”, “FR”, “EI”]
2026-03-27 13:10:40,537 INFO MainThread Setting SDM120 meters sdm120b precision [2, 3, 1, 1, 3, 5, 3]
2026-03-27 13:10:40,537 DEBUG MainThread Setting SDM120 pubchannels: [‘ToEmonCMS’]
2026-03-27 13:10:40,539 INFO MainThread Creating EmonHubMBUSInterfacer ‘MBUS’
2026-03-27 13:10:40,559 INFO MainThread MBUS device found: /dev/ttyUSB1, vid:1659, pid:9123
2026-03-27 13:10:40,560 DEBUG MainThread Connecting to MBUS serial: /dev/ttyUSB1 2400
2026-03-27 13:10:40,563 INFO MainThread Setting MBUS read_interval: 10
2026-03-27 13:10:40,563 INFO MainThread Setting MBUS nodename: mbus
2026-03-27 13:10:40,564 INFO MainThread Setting MBUS validate_checksum: False
2026-03-27 13:10:40,564 INFO MainThread Setting MBUS meters: {“sontex”: {“address”: “0”, “type”: “sontex531”}}
2026-03-27 13:10:40,565 DEBUG MainThread Setting MBUS pubchannels: [‘ToEmonCMS’]
2026-03-27 13:10:40,566 INFO MainThread Creating EmonHubMqttInterfacer ‘MQTT’
2026-03-27 13:10:40,568 DEBUG MainThread Setting MQTT pubchannels: [‘ToRFM12’]
2026-03-27 13:10:40,568 DEBUG MainThread Setting MQTT subchannels: [‘ToEmonCMS’]
2026-03-27 13:10:40,569 INFO MainThread Setting MQTT nodevar_format_enable: 1
2026-03-27 13:10:40,569 INFO MainThread Setting MQTT nodevar_format_basetopic: emon/
2026-03-27 13:10:40,570 INFO MainThread Creating EmonHubEmoncmsHTTPInterfacer ‘emoncmsorg’
2026-03-27 13:10:40,572 DEBUG MainThread Setting emoncmsorg pubchannels: [‘ToRFM12’]
2026-03-27 13:10:40,572 DEBUG MainThread Setting emoncmsorg subchannels: [‘ToEmonCMS’]
2026-03-27 13:10:40,572 INFO MainThread Setting emoncmsorg apikey: set
2026-03-27 13:10:40,573 INFO MainThread Setting emoncmsorg url: https://emoncms.org
2026-03-27 13:10:40,573 INFO MainThread Setting emoncmsorg senddata: 1
2026-03-27 13:10:40,573 INFO MainThread Setting emoncmsorg sendstatus: 1
2026-03-27 13:10:40,574 INFO MainThread Setting emoncmsorg sendnames: 0
2026-03-27 13:10:40,574 INFO MainThread Setting emoncmsorg compress: 0
2026-03-27 13:10:40,575 DEBUG MainThread Automatic configuration of nodes disabled
2026-03-27 13:10:41,322 DEBUG DS18B20 28-3c01e076827f: 28-3c01e076827f 41.437
2026-03-27 13:10:42,202 DEBUG DS18B20 28-3c01e076c28c: 28-3c01e076c28c 12.187
2026-03-27 13:10:42,202 DEBUG DS18B20 1 NEW FRAME :
2026-03-27 13:10:42,203 DEBUG DS18B20 1 Timestamp : 1774617040.476877
2026-03-27 13:10:42,204 DEBUG DS18B20 1 From Node : temperatures
2026-03-27 13:10:42,204 DEBUG DS18B20 1 Values : [41.437, 12.187]
2026-03-27 13:10:42,205 DEBUG DS18B20 1 Sent to channel(start)’ : ToEmonCMS
2026-03-27 13:10:42,205 DEBUG DS18B20 1 Sent to channel(end)’ : ToEmonCMS
2026-03-27 13:10:42,275 INFO MQTT Connecting to MQTT Server
2026-03-27 13:10:42,379 DEBUG emoncmsorg Buffer size: 1
2026-03-27 13:10:42,381 INFO emoncmsorg sending: https://emoncms.org/input/bulk.json?sentat=1774617042 (43 bytes of data, 1 frames, uncompressed)
2026-03-27 13:10:42,382 INFO MQTT connection status: Connection successful
2026-03-27 13:10:42,387 DEBUG MQTT CONACK => Return code: 0
2026-03-27 13:10:42,494 INFO MQTT on_subscribe
2026-03-27 13:10:42,602 DEBUG emoncmsorg acknowledged receipt with ‘ok’ from https://emoncms.org (219 ms)
2026-03-27 13:10:43,886 DEBUG SDM120 [243.5, 0.997, 18.0, 243.9, 0.074, 49.95, 10102.808, 243.5, 0.03, 0.0, 0.0, 1.0, 50.0, 1676.433]
2026-03-27 13:10:43,887 DEBUG SDM120 2 NEW FRAME :
2026-03-27 13:10:43,888 DEBUG SDM120 2 Timestamp : 1774617040.539118
2026-03-27 13:10:43,889 DEBUG SDM120 2 From Node : sdm120
2026-03-27 13:10:43,890 DEBUG SDM120 2 Values : [243.5, 0.997, 18, 243.9, 0.074, 49.95, 10102.808, 243.5, 0.03, 0, 0, 1, 50, 1676.433]
2026-03-27 13:10:43,890 DEBUG SDM120 2 Sent to channel(start)’ : ToEmonCMS
2026-03-27 13:10:43,891 DEBUG SDM120 2 Sent to channel(end)’ : ToEmonCMS
2026-03-27 13:10:44,101 DEBUG MQTT Publishing: emon/sdm120/sdm120a_V 243.5
2026-03-27 13:10:44,103 DEBUG MQTT Publishing: emon/sdm120/sdm120a_I 0.997
2026-03-27 13:10:44,104 DEBUG MQTT Publishing: emon/sdm120/sdm120a_P 18
2026-03-27 13:10:44,106 DEBUG MQTT Publishing: emon/sdm120/sdm120a_VA 243.9
2026-03-27 13:10:44,107 DEBUG MQTT Publishing: emon/sdm120/sdm120a_PF 0.074
2026-03-27 13:10:44,109 DEBUG MQTT Publishing: emon/sdm120/sdm120a_FR 49.95
2026-03-27 13:10:44,110 DEBUG MQTT Publishing: emon/sdm120/sdm120a_EI 10102.808
2026-03-27 13:10:44,112 DEBUG MQTT Publishing: emon/sdm120/sdm120b_V 243.5
2026-03-27 13:10:44,114 DEBUG MQTT Publishing: emon/sdm120/sdm120b_I 0.03
2026-03-27 13:10:44,115 DEBUG MQTT Publishing: emon/sdm120/sdm120b_P 0
2026-03-27 13:10:44,116 DEBUG MQTT Publishing: emon/sdm120/sdm120b_VA 0
2026-03-27 13:10:44,117 DEBUG MQTT Publishing: emon/sdm120/sdm120b_PF 1
2026-03-27 13:10:44,119 DEBUG MQTT Publishing: emon/sdm120/sdm120b_FR 50
2026-03-27 13:10:44,120 DEBUG MQTT Publishing: emon/sdm120/sdm120b_EI 1676.433
2026-03-27 13:10:44,122 INFO MQTT Publishing ‘node’ formatted msg
2026-03-27 13:10:44,123 DEBUG MQTT Publishing: emonhub/rx/sdm120/values 243.5,0.997,18,243.9,0.074,49.95,10102.808,243.5,0.03,0,0,1,50,1676.433
2026-03-27 13:10:47,582 DEBUG MBUS Invalid MBUS data received 0 bytes 2005.1 ms, count: 1
2026-03-27 13:10:49,788 DEBUG MBUS Invalid MBUS data received 0 bytes 2004.7 ms, count: 2
2026-03-27 13:10:49,990 DEBUG MBUS Decoded MBUS data: None
2026-03-27 13:10:50,922 DEBUG DS18B20 28-3c01e076827f: 28-3c01e076827f 41.375
2026-03-27 13:10:51,803 DEBUG DS18B20 28-3c01e076c28c: 28-3c01e076c28c 12.187
2026-03-27 13:10:51,804 DEBUG DS18B20 5 NEW FRAME :
2026-03-27 13:10:51,805 DEBUG DS18B20 5 Timestamp : 1774617050.023259
2026-03-27 13:10:51,806 DEBUG DS18B20 5 From Node : temperatures
The config file is below.
I have used ls -l /dev/ttyU* whilst plugging and unplugging the USB to the heat meter to confirm that /dev/ttyUSB1 is correct. The baud rate and address used to be 2400 & 0 respectively, and the documentation from Stockshed following the recalibration indicates they have not changed. (Out of desperation, I have tried other baud rates and addresses, and used Trystan’s scripts to try all addresses, but without success).
I had an old-style MBUS to USB converter originally. When I couldn’t get M-BUS working after the recalibration, I thought I might have swapped the polarity of the wires from the heat meter inadvertently, and fried the electronics, so I bought a new-style M-Bus to USB converter. But I have come across some recent posts saying that the wires are interchangeable, so I guess it’s no great surprise that I still cannot connect.
The new converter usually outputs 27.6V, although that can drop by a couple of volts. I guess that might be the converter asking the meter for data. There’s a large red LED that’s lit, and which dims slightly as the voltage drops. There’s another smaller red LED on the convertor. That’s completely off before the heat meter is connected. When I connect the heat meter, the M-Bus terminals on the heat meter see ~27V, so I think the wires are connected OK. The small LED on the converter now lights up (albeit very dimly) when the voltage dips.
It’s a mains powered Sontex Superstatic 531. The wire from the heat meter to the converter is about 1.5m long & shielded as far as I can tell. It’s routed away from mains cables as much as practical. I am starting to run out of ideas about what to try to fix the problem.
