RFM69Pi not receiving data after fresh installation of emonCMS

Hi,

I have the following setup which was working fine.

  • emonTXv3
  • RaspberryPi 3B+ 1GB
  • RFM69Pi (V3.1 January 15)

I have downloaded emonSD-01Feb24.img onto a fresh microSD card.

Whilst I am able to login to emonCMS I cannot get the wireless connection from the emonTXv3 to the RFM69Pi working.

I feel I am missing an obvious step, but don’t know what it is :slight_smile:

Any help/guidance appreciated.

Have you still got a copy of your old emonhub.conf? I suspect if your settings are 7 years old, things (Node IDs, the data packet, baud rates) have changed sufficiently to cause the problem.

1 Like

Unfortunately not :frowning:

You’ve not got the old SD card and something to read it?
Could you temporarily switch back and copy your emonhub.conf off it?

Failing that, can you post your present emonhub.conf, plus anything you know about the sketch in your emonTx v3

Unfortunately I’ve got nothing, so back to zero…

All I can do, with very little to go on, is guess that your emonTx V3 is using a standard configuration for the radio packet.

You will need to copy this into your emonhub.conf file, and ensure you don’t have another Node 15 in the file. If your emonTx V3 is not Node 15, you will need to change the file to suit.

emonhub.conf node decoder (nodeid is 15 when switch is off, 16 when switch is on)
See: emonhub/configuration.md at emon-pi · openenergymonitor/emonhub · GitHub
copy the following into emonhub.conf:


[[15]]
  nodename = emonTx3cm15
  [[[rx]]]
    names = MSG, Vrms, P1, P2, P3, P4, E1, E2, E3, E4, T1, T2, T3, pulse
    datacodes = L,h,h,h,h,h,l,l,l,l,h,h,h,L
    scales = 1,0.01,1,1,1,1,1,1,1,1,0.01,0.01,0.01,1
    units = n,V,W,W,W,W,Wh,Wh,Wh,Wh,C,C,C,p

If the above doesn’t work, this file is my list of all radio message formats that I know of, arranged in order of message length, up to and including the emonTx V3.4. If you can see the length of the radio message in the log, this will make the search a lot easier. It gives details of the data, from which the emonHub node definition can be constructed.

RF Messages by length.pdf (33.9 KB)

Thanks for your thoughts.

On further investigation I think my RFM69 isn’t initialising correctly?

2025-07-08 10:00:58,859 INFO     MainThread Creating EmonHubOEMInterfacer 'EmonPi2'
2025-07-08 10:00:58,862 DEBUG    MainThread Opening serial port: /dev/ttyAMA0 @ 115200 bits/s
2025-07-08 10:00:58,865 INFO     MainThread Creating EmonHubOEMInterfacer 'USB0'
2025-07-08 10:00:58,867 ERROR    MainThread Could not open serial port: /dev/ttyUSB0 @ 115200 bits/s (retry every 10s)
2025-07-08 10:00:58,869 INFO     MainThread Creating EmonHubRFM69LPLInterfacer 'SPI'
2025-07-08 10:00:58,900 INFO     MainThread Creating RFM69 LowPowerLabs interfacer
2025-07-08 10:00:58,901 INFO     MainThread RFM69 node_id = 5
2025-07-08 10:00:58,902 INFO     MainThread RFM69 network_id = 210
2025-07-08 10:00:58,902 INFO     MainThread RFM69 interruptPin = 22
2025-07-08 10:00:58,902 INFO     MainThread RFM69 resetPin = 24
2025-07-08 10:00:58,903 INFO     MainThread RFM69 selPin = 16
2025-07-08 10:00:58,903 INFO     MainThread Starting radio setup
2025-07-08 10:00:58,903 INFO     MainThread Connecting to RFM69
2025-07-08 10:00:59,605 ERROR    MainThread Could not connect to RFM69 module

My RFM69 is the older version, so I assume the serial port error is the issue (and the SPI errors are ok since my RFM69 is not the later SPI version)?

Try 38400 baud - this is emonhub.conf. Or failing that, 9600 or 57600; all 3 have been used at various times in the past. 115200 is the default for emonPi / emonTx running “CM” sketches.

This is what I’m running on a RPi 2B, it’s the older Interfacer and bear in mind mine is a non-standard setup.
You can see it’s old - 868 MHz was an option then!

### This interfacer manages the RFM12Pi/RFM69Pi/emonPi module
[[RFM2Pi]]
    Type = EmonHubJeeInterfacer
    [[[init_settings]]]
        com_port = /dev/ttyAMA0
        com_baud = 38400                        # 9600 for old RFM12Pi
    [[[runtimesettings]]]
        pubchannels = ToEmonCMS,
        subchannels = ToRFM12,

        group = 210
        frequency = 868
        baseid = 5                              # emonPi / emonBase nodeID
        calibration = 230V                      # (UK/EU: 230V, US: 110V)
        quiet = true                            # Disable quite mode (default enabled) to enable RF packet debugging, show packets which fail crc
        # interval =  300                         # Interval to transmit time to emonGLCD (seconds)
       

This might be useful

[[RFM2Pi]]
    Type = EmonHubJeeInterfacer
    [[[init_settings]]]
        com_port = /dev/ttyAMA0
        com_baud = 38400                        # 9600 for old RFM12Pi
    [[[runtimesettings]]]
        pubchannels = ToEmonCMS,
        subchannels = ToRFM12,

I added the above and it started working (I didn’t even realise I needed a section with “Type =EmonHubJeeInterfacer”) :blush:

Thanks for your help.

1 Like

I suggest, if or when you come to do this again, you keep your old SD card so that you can lift your emonhub.conf off it and use it to configure your new emonhub.conf if a similar thing happens next time; or at least write down the settings for the parts you use.

2 Likes