Files
franklinwh-agate-client/README.md
T

55 lines
1.6 KiB
Markdown

# FranklinWH AGATE Client
Python client library for interacting with FranklinWH AGATE energy storage device.
## Repository
**Gitea:** http://192.168.1.74:30008/WesternTechnologies/franklinwh-agate-client
## Reverse Engineering Summary
This library was reverse engineered from the official FranklinWH Family Energy Android app (`com.Franklinwh.FamilyEnergy`).
### Network I/O Stack
The device communicates via:
- **Bluetooth LE**: Direct connection to AGATE device
- **Onboard Wi-Fi**: Local network connection via device hotspot
- **Cloud APIs**: `https://e-api.franklinwh.com`, `https://energy.franklinwh.com`
### Key Operations Discovered
- `queryAgateInfo` - Get device information
- `queryDeviceInfoHttp` - HTTP device info query
- `queryModesByHttp` - Query operating modes
- `queryConnectWifi` - Wi-Fi connection management
- `connectViaBluetooth` - Bluetooth connection
- `startBluetoothHeartbeat` - Keepalive
- `BluetoothManager` - Bluetooth service management
- `WifiOnboarding` - Wi-Fi setup flows
### Endpoints Found
- `https://e-api.franklinwh.com/api/appapi`
- `https://energy.franklinwh.com/api-energy/deviceGroup/electric`
- `https://energy.franklinwh.com/hes-gateway`
- `https://dev.franklinwh.com/hes-gateway`
- `https://uat.franklinwh.com/api-vpp-portal`
## Usage
```python
from franklinwh_agate_client import AgateClient
client = AgateClient()
device_info = client.query_agate_info(device_id)
```
## Development
This library is a work in progress. Additional operations will be added as reverse engineering continues.
## License
Internal use only. Reverse engineering findings for research purposes.