11from os import getenv
22from typing import Annotated
33
4+ from logger import getLogger
45from pydantic import Field
56from pydantic_settings import BaseSettings , SettingsConfigDict
67
8+ logger = getLogger (__name__ )
9+
710
811class AppConfig (BaseSettings ):
912 """
@@ -25,25 +28,21 @@ class AppConfig(BaseSettings):
2528 )
2629
2730 # Metadata (static info)
28- POWER_STATION_ID : Annotated [str , Field (alias = "POWER_STATION_ID" )] = "ps-001 "
29- LOCATION : Annotated [str , Field (alias = "LOCATION" )] = "Dhaka, Bangladesh"
30- CAPACITY_KW : Annotated [int , Field (alias = "CAPACITY_KW" )] = 1000
31+ POWER_STATION_ID : Annotated [str , Field ()] = "PS_001 "
32+ LOCATION : Annotated [str , Field ()] = "Dhaka, Bangladesh"
33+ CAPACITY_KW : Annotated [int , Field ()] = 1000
3134
3235 # MQTT broker config
33- MQTT_HOST : Annotated [str , Field (alias = "MQTT_HOST" )] = "localhost"
34- MQTT_PORT : Annotated [int , Field (alias = "MQTT_PORT" )] = 1883
35- MQTT_USERNAME : Annotated [str , Field (alias = "MQTT_USERNAME" )] = "extinctcoder"
36- MQTT_PASSWORD : Annotated [str , Field (alias = "MQTT_PASSWORD" )] = "Mosquitto123456#"
37- MQTT_TOPIC_PREFIX : Annotated [str , Field (alias = "MQTT_TOPIC_PREFIX" )] = (
38- "smartgrid/powerstation"
39- )
36+ MQTT_HOST : Annotated [str , Field ()] = "127.0.0.1"
37+ MQTT_PORT : Annotated [int , Field ()] = 1883
38+ MQTT_USERNAME : Annotated [str , Field ()] = "extinctcoder"
39+ MQTT_PASSWORD : Annotated [str , Field ()] = "Mosquitto123456#"
40+ MQTT_TOPIC_PREFIX : Annotated [str , Field ()] = "smartgrid/powerstation"
4041
41- ENABLE_WEBSOCKET : Annotated [bool , Field (alias = "ENABLE_WEBSOCKET" )] = False
42+ ENABLE_WEBSOCKET : Annotated [bool , Field ()] = False
4243
4344 # Simulator settings
44- PUBLISH_INTERVAL_SECONDS : Annotated [
45- int , Field (alias = "PUBLISH_INTERVAL_SECONDS" )
46- ] = 2
45+ PUBLISH_INTERVAL_SECONDS : Annotated [int , Field ()] = 1
4746
4847 STATUS_PUBLISH_INTERVAL_SECONDS : int = PUBLISH_INTERVAL_SECONDS * 2
4948 METADATA_PUBLISH_INTERVAL_SECONDS : int = PUBLISH_INTERVAL_SECONDS * 5
@@ -56,6 +55,8 @@ def load_power_station_configs(station_prefix: str | None = None) -> AppConfig:
5655 """
5756 station_prefix = station_prefix or getenv ("STATION_PREFIX" )
5857
58+ logger .info (f"Simple Power Station SIMULATOR serving station : { station_prefix } " )
59+
5960 if not station_prefix :
6061 return AppConfig () # fallback to default or global settings
6162
0 commit comments