# SolarPower / EyBond Console Client

Reverse-engineered Python client for the EyBond solar monitoring cloud API
(based on the `SolarPower_1.6.1.0` Android APK).

## File

- `solarpower_client.py` — standalone CLI script, no external state.

## What it does

1. Logs in to the EyBond cloud (`android.shinemonitor.com` gateway) using
   email/phone + password, signing the request with the Shinemonitor
   `SHA1(salt + pwd_sha1 + base_action)` scheme.
2. Lists plants, devices, collectors, account info, today's energy,
   live device data, and historical curves.
3. Provides an interactive numbered menu for further exploration.

## Run

```bash
python3 /root/solar/solarpower_client.py
```

It will prompt for email + password (`getpass`, so not echoed). Requires
`requests` (pip install requests if not present).

## API endpoints hit

- `http://android.shinemonitor.com/public/?sign=...&salt=...` — auth + signed queries
- `http://cfb.eybond.com/cfb/api?action=...` — fallback action gateway
- `https://pro{1,2,3}.eybond.com` — alternate REST servers (defined in
  `API_SERVERS` but not used by default; switch via `BASE_URL`)

## Credentials

None stored. Every run prompts. Don't paste tokens into the repo.

## Origin

Saved to this server on **2026-07-03** from a Discord upload by user
`Alphanon` in #hermes-home (thread `1522535897990692935`). Original
cache path: `/root/.hermes/cache/documents/doc_a1644ebcc8e9_solarpower_client.py`
(md5 `c8c68d5af37e04c0bce686b4c8ffa71a`).