"""Constants for the Pstryk Energy integration.""" DOMAIN = "pstryk" API_URL = "https://api.pstryk.pl/integrations/" API_TIMEOUT = 30 # Reduced from 60 to allow faster startup BUY_ENDPOINT = "pricing/?resolution=hour&window_start={start}&window_end={end}" SELL_ENDPOINT = "prosumer-pricing/?resolution=hour&window_start={start}&window_end={end}" # Energy cost and usage endpoints ENERGY_COST_ENDPOINT = "meter-data/energy-cost/?resolution={resolution}&window_start={start}&window_end={end}&for_tz=Europe/Warsaw" ENERGY_USAGE_ENDPOINT = "meter-data/energy-usage/?resolution={resolution}&window_start={start}&window_end={end}&for_tz=Europe/Warsaw" ATTR_BUY_PRICE = "buy_price" ATTR_SELL_PRICE = "sell_price" ATTR_HOURS = "hours" # MQTT related constants DEFAULT_MQTT_TOPIC_BUY = "energy/forecast/buy" DEFAULT_MQTT_TOPIC_SELL = "energy/forecast/sell" CONF_MQTT_ENABLED = "mqtt_enabled" CONF_MQTT_TOPIC_BUY = "mqtt_topic_buy" CONF_MQTT_TOPIC_SELL = "mqtt_topic_sell" CONF_MQTT_48H_MODE = "mqtt_48h_mode" # Retry mechanism constants CONF_RETRY_ATTEMPTS = "retry_attempts" CONF_RETRY_DELAY = "retry_delay" DEFAULT_RETRY_ATTEMPTS = 3 DEFAULT_RETRY_DELAY = 20 # seconds MIN_RETRY_ATTEMPTS = 1 MAX_RETRY_ATTEMPTS = 10 MIN_RETRY_DELAY = 5 # seconds MAX_RETRY_DELAY = 300 # seconds (5 minutes) # Battery recommendation sensor constants CONF_BATTERY_ENABLED = "battery_enabled" CONF_BATTERY_SOC_ENTITY = "battery_soc_entity" CONF_BATTERY_CAPACITY = "battery_capacity" CONF_BATTERY_CHARGE_RATE = "battery_charge_rate" CONF_BATTERY_DISCHARGE_RATE = "battery_discharge_rate" CONF_BATTERY_MIN_SOC = "battery_min_soc" CONF_BATTERY_CHARGE_HOURS = "battery_charge_hours" CONF_BATTERY_DISCHARGE_MULTIPLIER = "battery_discharge_multiplier" DEFAULT_BATTERY_CAPACITY = 15 # kWh DEFAULT_BATTERY_CHARGE_RATE = 28 # %/h DEFAULT_BATTERY_DISCHARGE_RATE = 10 # %/h DEFAULT_BATTERY_MIN_SOC = 20 # % DEFAULT_BATTERY_CHARGE_HOURS = 6 # number of cheapest hours to charge DEFAULT_BATTERY_DISCHARGE_MULTIPLIER = 1.3 # discharge when price >= avg_charge_price * multiplier MIN_BATTERY_CAPACITY = 1 MAX_BATTERY_CAPACITY = 100 MIN_BATTERY_CHARGE_RATE = 5 MAX_BATTERY_CHARGE_RATE = 100 MIN_BATTERY_DISCHARGE_RATE = 5 MAX_BATTERY_DISCHARGE_RATE = 50 MIN_BATTERY_MIN_SOC = 5 MAX_BATTERY_MIN_SOC = 50 MIN_BATTERY_CHARGE_HOURS = 3 MAX_BATTERY_CHARGE_HOURS = 12 MIN_BATTERY_DISCHARGE_MULTIPLIER = 1.1 MAX_BATTERY_DISCHARGE_MULTIPLIER = 2.0