Power Meter SDM230 Modbus 10s inteval

Hello all.
I am interrogating a SDM230 energy meter via modbus.
How do I get an interval shorter than 10s.
In my config everything is already set to 2s but it only asks every 10s?
I want an interval of 1s.
I am a bit lost.

[agent]
  interval = "2s"
  flush_interval = "2s"
  
  [[outputs.influxdb_v2]]
  urls = ["http://10.0.77.130:8086"]

  ## Token for authentication.
  token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

  ## Organization is the name of the organization you wish to write to; must exist.
  organization = "Zuhause"
 
  ## Destination bucket to write into.
  bucket = "sdm230"

[[inputs.modbus]]
  name = "SDM230"
  slave_id = 2
  timeout = "2s"

  # TCP - connect via Modbus/TCP
  controller = "tcp://10.0.77.71:502"


  input_registers = [
    { name = "Phase 1 line to neutral volts", byte_order = "ABCD", data_type = "FLOAT32-IEEE", scale=1.0, address = [0,1]},
    { name = "Phase 1 current",               byte_order = "ABCD", data_type = "FLOAT32-IEEE", scale=1.0, address = [6,7]},
    { name = "Phase 1 power",                 byte_order = "ABCD", data_type = "FLOAT32-IEEE", scale=1.0, address = [12,13]},
   ]


Found the bug.
I have 3 config files in total.
The first one is /etc/telegraf/telegraf.conf.
Then there is
/etc/telegraf/telegraf.d/telegraf.modbus.conf
and
/etc/telegraf/telegraf.d/telegraf.weather.conf.

I think the modbus.conf now takes the agent from the weather.conf.

If I start Telegraf without the weather.conf, the modbus.conf queries as I have set.

How do I get weather to have 60s and modbus 2s?

[agent]
  interval = "60s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  precision = ""
  omit_hostname = true

[[outputs.influxdb_v2]]
  urls = ["http://10.0.77.130:8086"]

  ## Token for authentication.
  token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

  ## Organization is the name of the organization you wish to write to; must exist.
  organization = "Zuhause"
 
  ## Destination bucket to write into.
  bucket = "weather"

# Read current weather and forecasts data from openweathermap.org
[[inputs.openweathermap]]
  ## OpenWeatherMap API key.
  app_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

  ## City ID's to collect weather data from.
  city_id = ["xxxxxxxxx"]

  ## Language of the description field. Can be one of "ar", "bg",
  ## "ca", "cz", "de", "el", "en", "fa", "fi", "fr", "gl", "hr", "hu",
  ## "it", "ja", "kr", "la", "lt", "mk", "nl", "pl", "pt", "ro", "ru",
  ## "se", "sk", "sl", "es", "tr", "ua", "vi", "zh_cn", "zh_tw"
  lang = "de"

  ## APIs to fetch; can contain "weather" or "forecast".
  fetch = ["weather", "forecast"]

  ## OpenWeatherMap base URL
  # base_url = "https://api.openweathermap.org/"

  ## Timeout for HTTP response.
  # response_timeout = "5s"

  ## Preferred unit system for temperature and wind speed. Can be one of
  ## "metric", "imperial", or "standard".
  # units = "metric"

  ## Query interval; OpenWeatherMap weather data is updated every 10
  ## minutes.
  interval = "10m"

If you are trying to set the interval, you can do that as a per-plugin setting. So under each plugin:

[[inputs.openweathermap]]
  interval = "60s"
  ...

[[inputs.modbus]]
  interval = "2s"
  ...

Thank you.
Now it works.

@Banabas in general I would recommend to only have one [agent] section e.g. by setting it in its own config and removing the agent setting from other configs. This way there is no randomness in which agent setting is used.