Files
service_netatmo/netatmo_service/config.py
T

45 lines
1.7 KiB
Python
Raw Normal View History

2026-08-30 11:01:19 +02:00
from __future__ import annotations
import os
from pathlib import Path
def _bool(name: str, default: bool) -> bool:
value = os.getenv(name)
return default if value is None else value.lower() in {"1", "true", "yes", "on"}
2026-08-30 11:33:13 +02:00
def _prefix(value: str) -> str:
value = value.strip()
if not value or value == "/":
return ""
return "/" + value.strip("/")
2026-08-30 11:01:19 +02:00
class Config:
2026-08-30 11:33:13 +02:00
URL_PREFIX = _prefix(os.getenv("URL_PREFIX", ""))
2026-08-30 11:01:19 +02:00
RRD_FOLDER = Path(os.getenv("RRD_FOLDER", "./rrd")).expanduser().resolve()
2026-08-30 11:33:13 +02:00
NETATMO_TOKEN_FILE = Path(
os.getenv("NETATMO_TOKEN_FILE", str(RRD_FOLDER / "netatmo_tokens.json"))
).expanduser().resolve()
2026-08-30 11:01:19 +02:00
GRAPH_WIDTH = int(os.getenv("GRAPH_WIDTH", "900"))
GRAPH_HEIGHT = int(os.getenv("GRAPH_HEIGHT", "240"))
POLL_INTERVAL = int(os.getenv("POLL_INTERVAL", "600"))
START_COLLECTOR = _bool("START_COLLECTOR", True)
NETATMO_CLIENT_ID = os.getenv("NETATMO_CLIENT_ID", "")
NETATMO_CLIENT_SECRET = os.getenv("NETATMO_CLIENT_SECRET", "")
NETATMO_REFRESH_TOKEN = os.getenv("NETATMO_REFRESH_TOKEN", "")
NETATMO_ACCESS_TOKEN = os.getenv("NETATMO_ACCESS_TOKEN", "")
NETATMO_DEVICE_ID = os.getenv("NETATMO_DEVICE_ID", "")
NETATMO_TOKEN_URL = os.getenv("NETATMO_TOKEN_URL", "https://api.netatmo.com/oauth2/token")
NETATMO_STATIONS_URL = os.getenv(
"NETATMO_STATIONS_URL", "https://api.netatmo.com/api/getstationsdata"
)
MODULE_OUTDOOR = os.getenv("MODULE_OUTDOOR", "Outdoor")
MODULE_WIND = os.getenv("MODULE_WIND", "Wind")
MODULE_BEDROOM = os.getenv("MODULE_BEDROOM", "Bedroom")
MODULE_STUDY = os.getenv("MODULE_STUDY", "Study")
MODULE_LIVING = os.getenv("MODULE_LIVING", "Living")