Understood and thank you Robert!
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
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
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