- Reverse engineered network I/O stack for AGATE device - Bluetooth LE and Wi-Fi onboard communication support - Discovered operations: queryAgateInfo, queryDeviceInfoHttp, queryModesByHttp, queryConnectWifi, connectViaBluetooth, startBluetoothHeartbeat - Cloud API endpoints identified: e-api.franklinwh.com, energy.franklinwh.com, hes-gateway - Python library structure with client, bluetooth, wifi, api modules - Documentation for reverse engineering findings
1.5 KiB
1.5 KiB
FranklinWH AGATE Client
Python client library for interacting with FranklinWH AGATE energy storage device.
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 informationqueryDeviceInfoHttp- HTTP device info queryqueryModesByHttp- Query operating modesqueryConnectWifi- Wi-Fi connection managementconnectViaBluetooth- Bluetooth connectionstartBluetoothHeartbeat- KeepaliveBluetoothManager- Bluetooth service managementWifiOnboarding- Wi-Fi setup flows
Endpoints Found
https://e-api.franklinwh.com/api/appapihttps://energy.franklinwh.com/api-energy/deviceGroup/electrichttps://energy.franklinwh.com/hes-gatewayhttps://dev.franklinwh.com/hes-gatewayhttps://uat.franklinwh.com/api-vpp-portal
Usage
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.