mirror of
https://github.com/ferdzo/iotDashboard.git
synced 2026-04-05 17:16:26 +00:00
Rewrite start
This commit is contained in:
47
services/mqtt_ingestion/config.py
Normal file
47
services/mqtt_ingestion/config.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import os
|
||||
from dataclasses import dataclass
|
||||
import dotenv
|
||||
from typing import Optional
|
||||
|
||||
dotenv.load_dotenv()
|
||||
|
||||
@dataclass
|
||||
class RedisConfig:
|
||||
host: str
|
||||
port: int = 6379
|
||||
db: int = 0
|
||||
password: Optional[str] = None
|
||||
|
||||
@dataclass
|
||||
class MQTTConfig:
|
||||
broker: str
|
||||
port: int = 1883
|
||||
username: Optional[str] = None
|
||||
password: Optional[str] = None
|
||||
topic: str = "#"
|
||||
|
||||
@dataclass
|
||||
class Payload:
|
||||
device_id: str
|
||||
sensor_type: str
|
||||
value: float
|
||||
timestamp: Optional[str] = None
|
||||
|
||||
|
||||
class Config:
|
||||
def __init__(self):
|
||||
self.redis = RedisConfig(
|
||||
host=os.getenv('REDIS_HOST', 'localhost'),
|
||||
port=int(os.getenv('REDIS_PORT', 6379)),
|
||||
db=int(os.getenv('REDIS_DB', 0)),
|
||||
password=os.getenv('REDIS_PASSWORD', None)
|
||||
)
|
||||
self.mqtt = MQTTConfig(
|
||||
broker=os.getenv('MQTT_BROKER', 'localhost'),
|
||||
port=int(os.getenv('MQTT_PORT', 1883)),
|
||||
username=os.getenv('MQTT_USERNAME', None),
|
||||
password=None,
|
||||
topic="#"
|
||||
)
|
||||
|
||||
config = Config()
|
||||
Reference in New Issue
Block a user