Sort of continuing on from the discussion about interval vs sendinterval in this thread
I happened to find a page in the guide about emonhub interfacers
and it seems that the SDS011 Air-Quality sensor interfacer uses
the SDM120 single-phase meter interfacer uses
read_interval with an underscore.
As does the MBUS interfacer
as does the ds18b20 interfacer
whereas the direct pulse interfacer uses
and the Tesla powerwall interfacer uses
At the bottom of the page there are some links to other interacers so I took a gander at those too
the Modbus Renogy interfacer uses
SMA solar interfacer uses
the Victron VE.direct interfacer uses
and lastly the Modbus TCP interfacer uses
That’s alot of different settings for essentially the same thing, the interval between iterations, reads, sends, polls etc. Not only is this confusing for the users, but with so many different settings there will undoubtedly be some errors slip into various posts and/or even docs, then it could become a right mess, the case of
sendinterval is an example. I suspect this is also a significant amount or redundant code and wasted coding time since every interfacer inherits an interval setting from the core code.
Whilst these interfacers are relatively low use, it might be a
good better time to correct it before it is far too late to fix. If not then this post may at least serve as documenting the different settings for different interfacers. That does of course assume that all the docs I’ve linked are correct and there are no other options.
If this does get fixed it is worth also noting that there is/was an undocumented rule of thumb to assist with settings placement. All
init_settings settings were hypenated and all
runtimesettings were not, so
settingxyz = abc was clearly a runtimesetting whilst
setting_xyz would be the same kinda setting but located in
init_settings so that a simple instuction like "try setting
some_option = abc" would not require detailed explanation as it is obviously an init_setting.
quiet etc are of course unhyphenated and therefore runtimesettings so one could argue that the
poll_interval in the VE direct interfacer and
rate_limit in the pulse counter are correct, but I question why they are init_settings and if we do need another interval in the init_settings it should ideally be (IMO) a more neutral
interval_secs or similar setting in the core that can be utilised in any/all interfacers needing an init_setting interval.