65 lines
2.4 KiB
Python
65 lines
2.4 KiB
Python
"""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
|