This document summarizes each integration, required configuration, and operational notes.
Purpose: live net grid import/export.
HOMEWIZARD_HOST=homewizard.localThe adapter reads the P1 meter over the local LAN. This is the most important data source because it gives live net power at the meter.
Purpose: solar production.
HUAWEI_SOURCE=fusionsolar
FUSIONSOLAR_BASE_URL=https://eu5.fusionsolar.huawei.com
FUSIONSOLAR_USERNAME=your_openapi_username
FUSIONSOLAR_SYSTEM_CODE=your_openapi_system_code
FUSIONSOLAR_STATION_CODE=
FUSIONSOLAR_VERIFY_TLS=true
FUSIONSOLAR_MIN_POLL_SECONDS=360Operational notes:
- Requires a FusionSolar Northbound/OpenAPI account.
- Station codes can be supplied directly or discovered where supported.
- The API is rate-limited. Polling too often can return throttling responses.
- The adapter uses cached values and backs off after throttling.
- If solar is unavailable, the backend does not infer true home load from net grid flow alone.
Purpose: heat-pump telemetry and guarded commands.
PANASONIC_ENABLED=true
PANASONIC_SOURCE=aquarea
PANASONIC_USERNAME=your_panasonic_account_email
PANASONIC_PASSWORD=your_panasonic_account_password
PANASONIC_AQUAREA_ENVIRONMENT=production
PANASONIC_VERIFY_TLS=true
PANASONIC_MIN_POLL_SECONDS=60
PANASONIC_SETPOINT_MIN_C=18
PANASONIC_SETPOINT_MAX_C=30
PANASONIC_APP_VERSION=4.1.0Operational notes:
- The adapter follows Panasonic Aquarea cloud behavior through an unofficial client path.
- The backend exposes power, mode, and setpoint command endpoints.
- Setpoint commands are bounded by configured safety limits.
- If Panasonic throttles or returns limited data, the dashboard shows degraded connection health.
Purpose: read-only appliance discovery and state.
SMARTTHINGS_ENABLED=true
SMARTTHINGS_TOKEN=your_smartthings_token
SMARTTHINGS_MIN_POLL_SECONDS=60
SMARTTHINGS_DEVICE_IDS=Operational notes:
- Leave
SMARTTHINGS_DEVICE_IDSempty to auto-detect likely Samsung appliances. - Some appliances expose live power, while others expose only state or cycle details.
- The adapter uses conservative load estimates when a running appliance does not expose direct watts.
- The app does not send appliance control commands.
Purpose: local weather context.
WEATHER_ENABLED=true
WEATHER_LATITUDE=your_latitude
WEATHER_LONGITUDE=your_longitude
WEATHER_LOCATION_LABEL=Home
WEATHER_MIN_POLL_SECONDS=900Operational notes:
- No API key is required.
- The dashboard shows temperature, apparent temperature, cloud cover, wind, rain, condition, and observation time.
- Coordinates should be approximate enough for useful weather without over-sharing exact home location in public examples.
- Add a typed adapter in
app/adapters/. - Add config values in
app/config.py. - Add response models in
app/models.pyif the API shape changes. - Update
app/main.pyto read the adapter, report connection health, and degrade cleanly on failure. - Keep polling and backoff behavior explicit.
- Update the React dashboard and this document.