EmonHub Needs Regular Restarts

I have 3 EmonTX in two separate locations and 1 EmonBase centrally located.

On a regular interval (at least every two weeks), the Emonbase reports its not receiving feeds. To resolve the issue i merely have to restart the Emonhub on the EmonBase.

From the logs there is mention of not receiving radio packets, however, as simply restarting the emonhub (not the full emonbase) solves the issue, it leads me to think its a software issue, but I dont know.

My current config is below:

#######################################################################
#######################      emonhub.conf     #########################
#######################################################################
### emonHub configuration file, for info see documentation:
### https://github.com/openenergymonitor/emonhub/blob/emon-pi/configuration.md
#######################################################################
#######################    emonHub  settings    #######################
#######################################################################

[hub]
    ### loglevel must be one of DEBUG, INFO, WARNING, ERROR, and CRITICAL
    loglevel = DEBUG
    autoconf = 1
### Uncomment this to also send to syslog
# use_syslog = yes
#######################################################################
#######################       Interfacers       #######################
#######################################################################

[interfacers]
    ### This interfacer manages the RFM12Pi/RFM69Pi/emonPi module
    [[EmonPi2]]
        Type = EmonHubOEMInterfacer
        [[[init_settings]]]
            com_port = /dev/ttyAMA0
            com_baud = 115200
        [[[runtimesettings]]]
            pubchannels = ToEmonCMS,
            subchannels = ToRFM12,
    
    [[USB0]]
        Type = EmonHubOEMInterfacer
        [[[init_settings]]]
            com_port = /dev/ttyUSB0
            com_baud = 115200
        [[[runtimesettings]]]
            pubchannels = ToEmonCMS,
            subchannels = ToRFM12,
            nodename = emonTx4
    
    [[SPI]]
        Type = EmonHubRFM69LPLInterfacer
        [[[init_settings]]]
            nodeid = 5
            networkID = 210
        [[[runtimesettings]]]
            pubchannels = ToEmonCMS,
    
    
    [[MQTT]]
        Type = EmonHubMqttInterfacer
        [[[init_settings]]]
            mqtt_host = 127.0.0.1
            mqtt_port = 1883
            mqtt_user = emonpi
            mqtt_passwd = emonpimqtt2016
        
        [[[runtimesettings]]]
            pubchannels = ToRFM12,
            subchannels = ToEmonCMS,
            
            # emonhub/rx/10/values format
            # Use with emoncms Nodes module
            node_format_enable = 0
            node_format_basetopic = emonhub/
            
            # emon/emontx/power1 format - use with Emoncms MQTT input
            # http://github.com/emoncms/emoncms/blob/master/docs/RaspberryPi/MQTT.md
            nodevar_format_enable = 1
            nodevar_format_basetopic = emon/
            
            # Single JSON payload published  - use with Emoncms MQTT
            node_JSON_enable = 0
            node_JSON_basetopic = emon/
    
    [[emoncmsorg]]
        Type = EmonHubEmoncmsHTTPInterfacer
        [[[init_settings]]]
        [[[runtimesettings]]]
            pubchannels = ToRFM12,
            subchannels = ToEmonCMS,
            url = https://emoncms.org
            apikey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
            senddata = 1    # Enable sending data to Emoncms.org
            sendnames = 1    # Send full input names (compression will be automatically enabled)
            interval = 30    # Bulk send interval to Emoncms.org in seconds
    
    [[DS18B20]]
        Type = EmonHubDS18B20Interfacer
        [[[init_settings]]]
        [[[runtimesettings]]]
            pubchannels = ToEmonCMS,
            read_interval = 10
            nodename = sensors
# ids = 28-000008e2db06, 28-000009770529, 28-0000096a49b4
# names = ambient, cyl_bot, cyl_top

#######################################################################
#######################          Nodes          #######################
#######################################################################

## See config user guide: https://github.com/openenergymonitor/emonhub
## If autoconf is enabled above, node configuration will automatically
## populate based on templates listed in available.conf

[nodes]
    [[28]]
        nodename = EmonTx4DB_rf1_28
        [[[rx]]]
            names = MSG, Vrms1, Vrms2, Vrms3, P1_UpLightsSmoke, P2_UpLights, P3_UnderStairs, P4_KitchenLightsFront, P5_DownLights, P6_KitchenLightsRear, E1_UpLightsSmoke, E2_UpLights, E3_UnderStairs, E4_KitchenLightsFront, E5_DownLights, E6_KitchenLightsRear, pulse, Analog
            datacodes = L, h, h, h, h, h, h, h, h, h, l, l, l, l, l, l, L, H
            scales = 1.0, 0.01, 0.01, 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0
            units = n, V, V, V, W, W, W, W, W, W, Wh, Wh, Wh, Wh, Wh, Wh, p, n
    [[29]]
        nodename = EmonTx4DB_rf2_29
        [[[rx]]]
            names = MSG, Vrms2, Vrms3, P7_KitchenSockets, P8_DownAndUpSockets, P9_LoftSockets, P10_KitchenSocketsRear, P11_GarageSupply, P12_Cooker, E7_KitchenSockets, E8_DownAndUpSockets, E9_LoftSockets, E10_KitchenSocketsRear, E11_GarageSupply, E12_Cooker, digPulse, anaPulse
            datacodes = L, h, h, h, h, h, h, h, h, l, l, l, l, l, l, L, L
            scales = 1.0, 0.01, 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0
            units = n, V, V, W, W, W, W, W, W, Wh, Wh, Wh, Wh, Wh, Wh, p, p
    [[27]]
        nodename = emon_DB_6CT_1phase_27
        [[[rx]]]
            names = MSG, V1, P1_MainFeed, P2, P3, P4, P5, P6, E1_MainFeed, E2, E3, E4, E5, E6, pulse
            datacodes = L, h, h, h, h, h, h, h, l, l, l, l, l, l, L
            scales = 1.0, 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0
            units = n, V, W, W, W, W, W, W, Wh, Wh, Wh, Wh, Wh, Wh, p
    [[24]]
        nodename = emonTx4_24
        [[[rx]]]
            names = MSG, Vrms1, Vrms2, Vrms3, P1_LightsFan, P2, P3_Sockets, P4_Sockets, P5, P6_Sockets, E1_LightsFan, E2, E3_Sockets, E4_Sockets, E5, E6_Sockets, pulse, Analog
            datacodes = L, h, h, h, h, h, h, h, h, h, l, l, l, l, l, l, L, H
            scales = 1.0, 0.01, 0.01, 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0
            units = n, V, V, V, W, W, W, W, W, W, Wh, Wh, Wh, Wh, Wh, Wh, p, n
    [[25]]
        nodename = emonTx4_25
        [[[rx]]]
            names = MSG, Vrms2, Vrms3, P7, P8_Sockets, P9_ShedSupply, P10_Sockets, P11, P12, E7, E8_Sockets, E9_ShedSupply, E10_Sockets, E11, E12, digPulse, anaPulse
            datacodes = L, h, h, h, h, h, h, h, h, l, l, l, l, l, l, L, L
            scales = 1.0, 0.01, 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0
            units = n, V, V, W, W, W, W, W, W, Wh, Wh, Wh, Wh, Wh, Wh, p, p
    [[88]]
        nodename = emonth1_88
        [[[rx]]]
            names = temperature, external temperature, humidity, battery
            datacodes = h, h, h, h
            scales = 0.1, 0.1, 0.1, 0.1
            units = C, C, %, V
    [[130]]
        nodename = emonTx4_130
        [[[rx]]]
            names = MSG, Vrms, P1, P2, P3, P4, P5, P6, E1, E2, E3, E4, E5, E6, T1, T2, T3, pulse
            datacodes = L, h, h, h, h, h, h, h, l, l, l, l, l, l, h, h, h, L
            scales = 1.0, 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.01, 0.01, 0.01, 1.0
            units = n, V, W, W, W, W, W, W, Wh, Wh, Wh, Wh, Wh, Wh, C, C, C, p
    [[67]]
        nodename = emonTx4_67
        [[[rx]]]
            names = MSG, Vrms, P1, P2, P3, P4, P5, P6, E1, E2, E3, E4, E5, E6, T1, T2, T3, pulse
            datacodes = L, h, h, h, h, h, h, h, l, l, l, l, l, l, h, h, h, L
            scales = 1.0, 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.01, 0.01, 0.01, 1.0
            units = n, V, W, W, W, W, W, W, Wh, Wh, Wh, Wh, Wh, Wh, C, C, C, p
    [[157]]
        nodename = emonTx4_157
        [[[rx]]]
            names = MSG, Vrms, P1, P2, P3, P4, P5, P6, E1, E2, E3, E4, E5, E6, T1, T2, T3, pulse
            datacodes = L, h, h, h, h, h, h, h, l, l, l, l, l, l, h, h, h, L
            scales = 1.0, 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.01, 0.01, 0.01, 1.0
            units = n, V, W, W, W, W, W, W, Wh, Wh, Wh, Wh, Wh, Wh, C, C, C, p
    [[92]]
        nodename = emonTx4_92
        [[[rx]]]
            names = MSG, Vrms, P1, P2, P3, P4, P5, P6, E1, E2, E3, E4, E5, E6, T1, T2, T3, pulse
            datacodes = L, h, h, h, h, h, h, h, l, l, l, l, l, l, h, h, h, L
            scales = 1.0, 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.01, 0.01, 0.01, 1.0
            units = n, V, W, W, W, W, W, W, Wh, Wh, Wh, Wh, Wh, Wh, C, C, C, p
    [[144]]
        nodename = emonTx4_144
        [[[rx]]]
            names = MSG, Vrms, P1, P2, P3, P4, P5, P6, E1, E2, E3, E4, E5, E6, T1, T2, T3, pulse
            datacodes = L, h, h, h, h, h, h, h, l, l, l, l, l, l, h, h, h, L
            scales = 1.0, 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.01, 0.01, 0.01, 1.0
            units = n, V, W, W, W, W, W, W, Wh, Wh, Wh, Wh, Wh, Wh, C, C, C, p
    [[241]]
        nodename = emon_DB_6CT_1phase_241
        [[[rx]]]
            names = MSG, V1, P1, P2, P3, P4, P5, P6, E1, E2, E3, E4, E5, E6, pulse
            datacodes = L, h, h, h, h, h, h, h, l, l, l, l, l, l, L
            scales = 1.0, 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0
            units = n, V, W, W, W, W, W, W, Wh, Wh, Wh, Wh, Wh, Wh, p
    [[9]]
        nodename = emon_DB_6CT_1phase_9
        [[[rx]]]
            names = MSG, V1, P1, P2, P3, P4, P5, P6, E1, E2, E3, E4, E5, E6, pulse
            datacodes = L, h, h, h, h, h, h, h, l, l, l, l, l, l, L
            scales = 1.0, 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0
            units = n, V, W, W, W, W, W, W, Wh, Wh, Wh, Wh, Wh, Wh, p
    [[206]]
        nodename = emonpiCM_206
        [[[rx]]]
            names = Msg, power1, power2, power1pluspower2, vrms, t1, t2, t3, t4, t5, t6, pulse1count, pulse2count, E1, E2
            datacodes = L, h, h, h, h, h, h, h, h, h, h, L, L, l, l
            scales = 1.0, 1.0, 1.0, 1.0, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 1.0, 1.0, 1.0, 1.0
            units = n, W, W, W, V, C, C, C, C, C, C, p, p, Wh, Wh

I do have a log file from when it last stopped just before i restarted the emonhub…and it immediately started working again, so can post it if it would be useful.

Any help debugging would be helpful as currently im having to watch for feeds not updating, and manually hitting restart, which seems absurd.

Can you check if your log files are filling up?

Check the journal file via journalctl and the status of the emonhub service.

[edit]
A post from a while ago that I think is still relevant.