You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The proxy server exposes a RESTful API for accessing Powerwall data, including site, battery, solar, vitals, alerts, and more. It can be run locally or in a container, and supports both local gateway and cloud modes.
@@ -53,7 +55,37 @@ The proxy server exposes a RESTful API for accessing Powerwall data, including s
> **Note:** Control endpoints require `PW_CONTROL_SECRET` to be set.
97
+
> **Note:** Control endpoints require `PW_CONTROL_SECRET` to be set. See [Control Examples](#control-examples) below.
66
98
67
-
#### CONTROL API Usage & Security
99
+
###Control API Usage & Security
68
100
69
101
Control operations are DISABLED by default. To enable, set the environment variable `PW_CONTROL_SECRET` (any non-empty value). All control POST requests must include a `token` parameter matching this secret.
@@ -110,9 +143,14 @@ curl -X POST -d 'value=pv_only&token=<secret>' http://localhost:8675/control/gri
110
143
111
144
POST success responses return a JSON object with the updated field, or an error object on failure. GET requests return the current setting. Missing or invalid `token` returns an authorization error.
112
145
146
+
Mode clarification:
147
+
-`self_consumption` / `autonomous`: Maximize local solar usage (firmware may use either term; treat as equivalent).
148
+
-`backup`: Preserve charge for outage protection.
149
+
-`time_of_use`: Optimize around configured TOU rates.
150
+
113
151
---
114
152
115
-
###Convenience /pw Endpoints
153
+
## Convenience /pw Endpoints
116
154
117
155
The proxy provides shorthand endpoints under `/pw/` that map to common library calls. All return JSON.
118
156
@@ -146,7 +184,7 @@ The proxy provides shorthand endpoints under `/pw/` that map to common library c
146
184
147
185
---
148
186
149
-
###Fans Endpoints
187
+
## Fans Endpoints
150
188
151
189
Available when TEDAPI provides fan telemetry (e.g., Powerwall 3 systems):
152
190
@@ -157,7 +195,9 @@ Available when TEDAPI provides fan telemetry (e.g., Powerwall 3 systems):
157
195
158
196
If fan data is unavailable, these return an empty JSON object `{}`.
159
197
160
-
### Powerwall API Endpoints
198
+
Update interval: Fan metrics refresh with standard polling (same cadence as vitals/strings) and appear only when TEDAPI + compatible hardware (e.g., PW3) are present.
**Set battery reserve (requires control secret):**
248
-
```sh
249
-
curl -X POST -d "value=20&token=<secret>" http://localhost:8675/control/reserve
250
-
```
320
+
For configuration options, see [proxy/README.md](https://github.com/jasonacox/pypowerwall/blob/main/proxy/README.md).
251
321
252
322
---
253
323
@@ -256,3 +326,6 @@ curl -X POST -d "value=20&token=<secret>" http://localhost:8675/control/reserve
256
326
- Key metric endpoints (`/aggregates`, `/soe`, `/vitals`, `/strings`) return `null` when no fresh or valid cached data is available (after TTL expiry).
257
327
- Some endpoints require local mode or specific configuration (see server documentation).
258
328
- For more details, see the main project [README.md](https://github.com/jasonacox/pypowerwall/blob/main/README.md).
329
+
330
+
### API Changes
331
+
Refer to `proxy/RELEASE.md` for history (e.g., t82 added `/control/grid_charging` & `/control/grid_export`).
0 commit comments