Files
deyeChargeSpeed/README.md

90 lines
2.5 KiB
Markdown

# Deye Charge Speed Monitor
A Flask-based application for monitoring Deye Inverters (and compatible models) using the Solarman V5 protocol. This tool connects directly to the inverter via Modbus over TCP to read real-time data including voltages, currents, battery status, and BMS information.
## Features
- **Real-time Monitoring**: Reads critical data such as Input/Output Voltage, Grid/Load Currents, Battery SOC, Temperature, and Power.
- **BMS Integration**: Retrieves detailed Battery Management System (BMS) data for up to two battery packs.
- **Web Interface**: Provides a user-friendly dashboard to view inverter status (served at `/`).
- **JSON API**: Exposes raw data via a RESTful endpoint (`/api/data`) for integration with other systems.
- **PDF Utility**: Includes a tool to extract register information from Deye Modbus PDF manuals.
## Prerequisites
- Python 3.x
- A Deye Inverter (or compatible) connected to the network.
- Inverter IP address, Serial Number, and Modbus Slave ID.
## Installation
1. **Clone the repository:**
```bash
git clone <repository-url>
cd deyeChargeSpeed
```
2. **Create and activate a virtual environment:**
```bash
python -m venv venv
# Windows
.\venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
```
3. **Install dependencies:**
```bash
pip install -r requirements.txt
```
4. **Configuration:**
Copy the example configuration file and update it with your inverter details:
```bash
cp config.py.example config.py
```
Edit `config.py`:
```python
INVERTER_IP = "192.168.x.x"
INVERTER_SERIAL = 1234567890
INVERTER_PORT = 8899
INVERTER_SLAVE_ID = 1
```
## Usage
1. **Start the application:**
```bash
python app.py
```
2. **Access the dashboard:**
Open your web browser and navigate to `http://localhost:5000`.
## Utilities
### PDF Register Extractor
Located in `docs/extract_pdf.py`, this script helps identify Modbus registers from Deye PDF manuals.
**Usage:**
1. Place your PDF manual in the `docs/` folder.
2. Update the filename in `docs/extract_pdf.py` if necessary (defaults to `Modbus储能-组串-微逆宁波德业V118-1.pdf`).
3. Run the script:
```bash
python docs/extract_pdf.py
```
4. Check `pdf_output.txt` for the extracted register locations and context.
## Resources
- [PySolarmanV5 Documentation](https://pysolarmanv5.readthedocs.io/en/stable/)
- [PySolarmanV5 GitHub](https://github.com/jmccrohan/pysolarmanv5)