Newly installed EmonPi shows all inputs as n/a

Understood and thank you Robert!

@TrystanLea

Any idea what else i could try. i have a preconfigured image of emoncms with 4 SDM630/230 that worked very well and stable for years now on a Raspi3. with recent update suddenly my input/feeds are dead …n/a. no update anymore. I tried the 777 chmod, i tried to manually start the install.sh script. i rebooted several times, i did FULL updates several times and rebooted…nothing.

I spent quite some time and still frustrated after such long time without any issues i now seem to have made the jackpot…thanks a lot for helping me out! Norbert

Hello @njordan are you using emonhub with minimal modbus? With the new multi meter configuration format? emonhub/EmonHubMinimalModbusInterfacer.py at master · openenergymonitor/emonhub · GitHub

or some other way of reading these?

I hope this helps to understand my config. i did configure all of them according to this:

[[SDM630]]
    Type = EmonHubMinimalModbusInterfacer
    [[[init_settings]]]
        device = /dev/ttyUSB1
        baud = 19200
    [[[runtimesettings]]]
        pubchannels = ToEmonCMS,
        read_interval = 10
        nodename = SDM630_OGsum
        registers = 0,2,4,6,8,10,12,14,16,52,84,70,72,74
        names = V1,V2,V3,I1,I2,I3,P1,P2,P3,Ptot,Pimp,FR,EI,EE
        precision = 2,2,2,3,3,3,1,1,1,1,1,3,4,4

@njordan note the new in Trystan’s statement. He changed the config format and it was a breaking change.

You need to look at the docs and modify your config.

Hello @njordan apologies for the lack of backwards compatibility with this, could you try:

[[SDM630]]
    Type = EmonHubMinimalModbusInterfacer
    [[[init_settings]]]
        device = /dev/ttyUSB1
        baud = 19200
    [[[runtimesettings]]]
        pubchannels = ToEmonCMS,
        read_interval = 10
        nodename = modbus
        [[[[meters]]]]
            [[[[[SDM630_OGsum]]]]]
                address = 1
                registers = 0,2,4,6,8,10,12,14,16,52,84,70,72,74
                names = V1,V2,V3,I1,I2,I3,P1,P2,P3,Ptot,Pimp,FR,EI,EE
                precision = 2,2,2,3,3,3,1,1,1,1,1,3,4,4

The idea with this is that you can read from multiple modbus meters using the single interfacer.

This will create inputs of the form:

  • modbus
    • SDM630_OGsum_V1
    • SDM630_OGsum_V2
    • SDM630_OGsum_V3

Unfortunately due to a complication in the way emonhub handles nodes it’s not possible to get the result

  • SDM630_OGsum
    • V1
    • V2
    • V3

Within a multiple meter context.

I saw you mentioned having 4 meters, could you use this to read from all the meters? are you using 4 different instances of the interfacer at the moment?

Would this do it?

        nodename = SDM630_OGsum
        [[[[meters]]]]
            [[[[[V1]]]]]

No that would result in:

  • SDM630_OGsum
    • V1_V1
    • V1_V2
    • V1_V3
1 Like

Closer…

@TrystanLea thanks for your time and support. mostly my fault as i’m not so present it the recent changes. i was just little frustrated because it worked so great without a crash for a year and longer…and now i’m stuck. and my time is limited to understand the new concept in details…

Here is my current config. is there an “easy” way to transform without having to change or recreate all feeds…that would be quite painful…

[[SDM630]]
    Type = EmonHubMinimalModbusInterfacer
    [[[init_settings]]]
        device = /dev/ttyUSB1
        baud = 19200
    [[[runtimesettings]]]
        pubchannels = ToEmonCMS,
        read_interval = 10
        nodename = SDM630_OGsum
        registers = 0,2,4,6,8,10,12,14,16,52,84,70,72,74
        names = V1,V2,V3,I1,I2,I3,P1,P2,P3,Ptot,Pimp,FR,EI,EE
        precision = 2,2,2,3,3,3,1,1,1,1,1,3,4,4

[[SDM630top1]]
    Type = EmonHubMinimalModbusInterfacer
    [[[init_settings]]]
        device = /dev/ttyUSB3
        baud = 19200
    [[[runtimesettings]]]
        pubchannels = ToEmonCMS,
        read_interval = 10
        nodename = SDM630_Top1
        registers = 0,2,4,6,8,10,12,14,16,52,84,70,72,74
        names = V1,V2,V3,I1,I2,I3,P1,P2,P3,Ptot,Pimp,FR,EI,EE
        precision = 2,2,2,3,3,3,1,1,1,1,1,3,4,4

[[SDM630top2]]
    Type = EmonHubMinimalModbusInterfacer
    [[[init_settings]]]
        device = /dev/ttyUSB2
        baud = 19200
    [[[runtimesettings]]]
        pubchannels = ToEmonCMS,
        read_interval = 10
        nodename = SDM630_Top2
        registers = 0,2,4,6,8,10,12,14,16,52,84,70,72,74
        names = V1,V2,V3,I1,I2,I3,P1,P2,P3,Ptot,Pimp,FR,EI,EE
        precision = 2,2,2,3,3,3,1,1,1,1,1,3,4,4

[[SDM230]]
    Type = EmonHubMinimalModbusInterfacer
    [[[init_settings]]]
        device = /dev/ttyUSB0
        baud = 9600
    [[[runtimesettings]]]
        pubchannels = ToEmonCMS,
        read_interval = 10
        nodename = SDM230_EV
        registers = 0,6,12,18,30,70,72,74,76
        names = V,I,P,VA,PF,FR,EI,EE,RI
        precision = 2,3,1,1,3,3,3,3,3

[[MQTT]]
    Type = EmonHubMqttInterfacer
    [[[init_settings]]]
        mqtt_host = 127.0.0.1
        mqtt_port = 1883
        mqtt_user = emonpi
        mqtt_passwd = emonpimqtt2016

@TrystanLea

I did update the config you sent me for the first SDM630. It does not change anything for the “input” (even after several reboots)…BUT i guess this is a good sign. not 100%clear to me why its not updating at input level…i guess you know.

2022-12-01 00:20:30,070 ERROR    SDM630top1 Could not read all registers
2022-12-01 00:20:30,071 INFO     SDM230     Connecting to Modbus device=/dev/ttyUSB0 baud=9600 parity=none datatype=float
2022-12-01 00:20:30,072 INFO     SDM630top1 Connecting to Modbus device=/dev/ttyUSB3 baud=19200 parity=none datatype=float
2022-12-01 00:20:30,074 ERROR    SDM630top2 Could not read all registers
2022-12-01 00:20:30,075 INFO     SDM630top2 Connecting to Modbus device=/dev/ttyUSB2 baud=19200 parity=none datatype=float
2022-12-01 00:20:30,609 DEBUG    SDM630     [234.33, 233.94, 234.25, 0.306, 0.295, 2.052, 31.5, 51.4, 457.2, 540.1, 563.7, 49.998, 4447.4082, 11303.9941]
2022-12-01 00:20:30,610 DEBUG    SDM630     31 NEW FRAME : 
2022-12-01 00:20:30,611 DEBUG    SDM630     31 Timestamp : 1669854030.037416
2022-12-01 00:20:30,611 DEBUG    SDM630     31 From Node : modbus
2022-12-01 00:20:30,612 DEBUG    SDM630     31    Values : [234.33, 233.94, 234.25, 0.306, 0.295, 2.052, 31.5, 51.4, 457.2, 540.1, 563.7, 49.998, 4447.4082, 11303.9941]
2022-12-01 00:20:30,612 DEBUG    SDM630     31 Sent to channel(start)' : ToEmonCMS
2022-12-01 00:20:30,613 DEBUG    SDM630     31 Sent to channel(end)' : ToEmonCMS

Sometimes its best to let people analyze by themselves. i found out the issue that the nodename was set to modbus in your example…so now i see again values in the INPUT section.

However it looks like this, which brings me into trouble as all behind needs to be setup from scratch. Is there a way to have the old labels so i do not have to rework everything?

So my old V1 is n/a, but a new item is shown named: SDM630_OGsum_V1