const.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. """Constants for the Solar of Things integration."""
  2. DOMAIN = "solar_of_things"
  3. # Configuration keys
  4. CONF_IOT_TOKEN = "iot_token"
  5. CONF_STATION_ID = "station_id"
  6. CONF_DEVICE_ID = "device_id"
  7. # API endpoints
  8. API_BASE_URL = "https://solar.siseli.com"
  9. API_TIME_SERIES = "/api/attribute/keys/history/v1"
  10. API_MONTHLY_SUMMARY = "/api/stateAttributeSummary/category/yearly"
  11. API_SETTINGS_GET = "/api/device/settings/v1"
  12. API_SETTINGS_SET = "/api/device/settings/update/v1"
  13. # Sensor keys
  14. SENSOR_KEYS = [
  15. "pvInputPower",
  16. "acOutputActivePower",
  17. "batteryDischargeCurrent",
  18. "batteryChargingCurrent",
  19. "batteryVoltage",
  20. "feedInPower",
  21. "batteryPower",
  22. "batterySOC",
  23. "gridPower",
  24. "loadPower",
  25. ]
  26. # Sensor names and units
  27. SENSOR_DEFINITIONS = {
  28. "pvInputPower": {
  29. "name": "PV Input Power",
  30. "unit": "W",
  31. "device_class": "power",
  32. "icon": "mdi:solar-power",
  33. },
  34. "acOutputActivePower": {
  35. "name": "AC Output Power",
  36. "unit": "W",
  37. "device_class": "power",
  38. "icon": "mdi:power-plug",
  39. },
  40. "batteryDischargeCurrent": {
  41. "name": "Battery Discharge Current",
  42. "unit": "A",
  43. "device_class": "current",
  44. "icon": "mdi:battery-arrow-down",
  45. },
  46. "batteryChargingCurrent": {
  47. "name": "Battery Charging Current",
  48. "unit": "A",
  49. "device_class": "current",
  50. "icon": "mdi:battery-arrow-up",
  51. },
  52. "batteryVoltage": {
  53. "name": "Battery Voltage",
  54. "unit": "V",
  55. "device_class": "voltage",
  56. "icon": "mdi:battery",
  57. },
  58. "batteryPower": {
  59. "name": "Battery Power",
  60. "unit": "W",
  61. "device_class": "power",
  62. "icon": "mdi:battery-charging",
  63. },
  64. "batterySOC": {
  65. "name": "Battery State of Charge",
  66. "unit": "%",
  67. "device_class": "battery",
  68. "icon": "mdi:battery",
  69. },
  70. "feedInPower": {
  71. "name": "Grid Feed-in Power",
  72. "unit": "W",
  73. "device_class": "power",
  74. "icon": "mdi:transmission-tower-export",
  75. },
  76. "gridPower": {
  77. "name": "Grid Import Power",
  78. "unit": "W",
  79. "device_class": "power",
  80. "icon": "mdi:transmission-tower-import",
  81. },
  82. "loadPower": {
  83. "name": "Load Power",
  84. "unit": "W",
  85. "device_class": "power",
  86. "icon": "mdi:home-lightning-bolt",
  87. },
  88. # Monthly summary sensors
  89. "monthly_pv_generated": {
  90. "name": "Monthly PV Generated",
  91. "unit": "kWh",
  92. "device_class": "energy",
  93. "icon": "mdi:solar-power",
  94. },
  95. "monthly_grid_import": {
  96. "name": "Monthly Grid Import",
  97. "unit": "kWh",
  98. "device_class": "energy",
  99. "icon": "mdi:transmission-tower-import",
  100. },
  101. "monthly_total_consumption": {
  102. "name": "Monthly Total Consumption",
  103. "unit": "kWh",
  104. "device_class": "energy",
  105. "icon": "mdi:home-lightning-bolt",
  106. },
  107. "monthly_solar_percentage": {
  108. "name": "Monthly Solar Coverage",
  109. "unit": "%",
  110. "icon": "mdi:percent",
  111. },
  112. }