A package to reading and writing data to and from Sigenergy inverters
Project description
Sigen
A package to reading and writing data to and from Sigenergy inverters.
Installation
pip install sigen
Usage
import logging
import coloredlogs
import os
from src.sigen import Sigen
def main():
# Read username and password from environment variables
username = os.getenv('SIGEN_USERNAME')
password = os.getenv('SIGEN_PASSWORD')
if not username or not password:
logging.error("Environment variables SIGEN_USERNAME and SIGEN_PASSWORD must be set")
return
# Initialize logging
coloredlogs.install(level='INFO')
sigen = Sigen(username=username, password=password)
# Fetch and log station info
logging.info("Fetching station info...")
station_info = sigen.get_station_info()
logging.info("Station Info:")
logging.info(f"Station ID: {station_info['stationId']}")
logging.info(f"Has PV: {station_info['hasPv']}")
logging.info(f"Has EV: {station_info['hasEv']}")
logging.info(f"On Grid: {station_info['onGrid']}")
logging.info(f"PV Capacity: {station_info['pvCapacity']} kW")
logging.info(f"Battery Capacity: {station_info['batteryCapacity']} kWh")
# Fetch and log energy flow info
logging.info("\nFetching energy flow info...")
energy_flow = sigen.get_energy_flow()
logging.info("Energy Flow Info:")
logging.info(f"PV Day Energy: {energy_flow['pvDayNrg']} kWh")
logging.info(f"PV Power: {energy_flow['pvPower']} kW")
logging.info(f"Buy/Sell Power: {energy_flow['buySellPower']} kW")
logging.info(f"EV Power: {energy_flow['evPower']} kW")
logging.info(f"AC Power: {energy_flow['acPower']} kW")
logging.info(f"Load Power: {energy_flow['loadPower']} kW")
logging.info(f"Battery Power: {energy_flow['batteryPower']} kW")
logging.info(f"Battery SOC: {energy_flow['batterySoc']}%")
# Fetch and log current operational mode
logging.info("\nFetching current operational mode...")
current_mode = sigen.get_operational_mode()
logging.info(f"Current Operational Mode: {current_mode}")
# Change operational mode (example: setting mode to 'Fully Fed to Grid')
logging.info("\nSetting operational mode to 'Fully Fed to Grid'...")
response = sigen.set_operational_mode(5)
logging.info(f"Response: {response}")
logging.info("\nFetching current operational mode...")
current_mode = sigen.get_operational_mode()
logging.info(f"Current Operational Mode: {current_mode}")
if __name__ == "__main__":
main()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sigen-0.0.7.tar.gz
(4.7 kB
view details)
Built Distribution
sigen-0.0.7-py3-none-any.whl
(2.5 kB
view details)
File details
Details for the file sigen-0.0.7.tar.gz
.
File metadata
- Download URL: sigen-0.0.7.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d92054e78124027f1641db2bc413e13f9dd45f36133a306a540e3bbcc7cc150 |
|
MD5 | d36efc7a2cca402b977267b2043d0079 |
|
BLAKE2b-256 | 33010138e8581ebe4e00a64f355f291e1fc25c10d5314588c64a480354bedaf1 |
File details
Details for the file sigen-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: sigen-0.0.7-py3-none-any.whl
- Upload date:
- Size: 2.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a28ce8a708800724d619a3d77802de36a043d03ee9d32521344cd17907111c2c |
|
MD5 | 8be6dfd9eb8674ccbd884e8861e4a2d0 |
|
BLAKE2b-256 | 8e9146399b61c5a60ff839ee24d684cf7a9b3a7adb67b9a622491c2e0546ddc4 |