Files
EOS/tests/testdata/docs/_generated/configdatabase.md
T
Bobby NoelteandGitHub 7e5aa2f218
Bump Version / Bump Version Workflow (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
docker-build / platform-excludes (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
Close stale pull requests/issues / Find Stale issues and PRs (push) Has been cancelled
feat: add Tibber feed-in tariff provider (#1189)
The `FeedInTariffTibber` provider requests `priceInfo` and `priceInfoRange` with
`resolution: QUARTER_HOURLY` and preserves the native 15-minute timestamps. It uses Tibber's
`energy` spot-price component without the `tax` part or EOS electricity-price charges. The
end-customer `total` component is deliberately ignored.

The provider deliberately rejects hourly API responses instead of silently repeating them. It
reuses `elecprice.tibber.access_token` and `elecprice.tibber.home_id`, so no duplicate credentials
are needed.

Signed-off-by: Andreas Schmitz <akkudoktor.net>
Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com>
2026-07-24 15:52:26 +02:00

3.2 KiB

Configuration model for database settings

Attributes: provider: Optional provider identifier (e.g. "LMDB"). max_records_in_memory: Maximum records kept in memory before auto-save. auto_save: Whether to auto-save when threshold exceeded. batch_size: Batch size for batch operations.

:::{table} database :widths: 10 20 10 5 5 30 :align: left

Name Environment Variable Type Read-Only Default Description
autosave_interval_sec EOS_DATABASE__AUTOSAVE_INTERVAL_SEC `int None` rw 10
Set to None to disable automatic saving.
batch_size EOS_DATABASE__BATCH_SIZE int rw 100 Number of records to process in batch operations.
compaction_interval_sec EOS_DATABASE__COMPACTION_INTERVAL_SEC `int None` rw 3600
Compaction downsamples old records to reduce storage while retaining coverage. Set to None to disable automatic compaction.
compression_level EOS_DATABASE__COMPRESSION_LEVEL int rw 9 Compression level for database record data.
initial_load_window_h EOS_DATABASE__INITIAL_LOAD_WINDOW_H `int None` rw None
keep_duration_h EOS_DATABASE__KEEP_DURATION_H `int None` rw None
None indicates forever. Database namespaces may have diverging definitions.
provider EOS_DATABASE__PROVIDER `str None` rw None
providers List[str] ro N/A Return available database provider ids.
:::

Example Input

   {
       "database": {
           "provider": "LMDB",
           "compression_level": 0,
           "initial_load_window_h": 48,
           "keep_duration_h": 48,
           "autosave_interval_sec": 5,
           "compaction_interval_sec": 3600,
           "batch_size": 100
       }
   }

Example Output

   {
       "database": {
           "provider": "LMDB",
           "compression_level": 0,
           "initial_load_window_h": 48,
           "keep_duration_h": 48,
           "autosave_interval_sec": 5,
           "compaction_interval_sec": 3600,
           "batch_size": 100,
           "providers": [
               "LMDB",
               "SQLite",
               "NoDB"
           ]
       }
   }