# Send Grid-Aware Energy Load Shifter to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "grid-aware-energy-load-shifter",
    "name": "Grid-Aware Energy Load Shifter",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/mrbese/grid-aware-energy-load-shifter",
    "canonicalUrl": "https://clawhub.ai/mrbese/grid-aware-energy-load-shifter",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/grid-aware-energy-load-shifter",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=grid-aware-energy-load-shifter",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "scripts/ha_bridge.py",
      "references/energy_entities.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/grid-aware-energy-load-shifter"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/grid-aware-energy-load-shifter",
    "downloadUrl": "https://openagent3.xyz/downloads/grid-aware-energy-load-shifter",
    "agentUrl": "https://openagent3.xyz/skills/grid-aware-energy-load-shifter/agent",
    "manifestUrl": "https://openagent3.xyz/skills/grid-aware-energy-load-shifter/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/grid-aware-energy-load-shifter/agent.md"
  }
}
```
## Documentation

### Grid-Aware Energy Load Shifter

Shift heavy residential loads to the cheapest electricity hours using Home Assistant energy data.

### Quick Start

# Find all energy-related entities in HA
python3 {baseDir}/scripts/ha_bridge.py discover

# Get a full energy dashboard snapshot (prices, solar, consumption, batteries)
python3 {baseDir}/scripts/ha_bridge.py energy-summary

# Turn on the EV charger
python3 {baseDir}/scripts/ha_bridge.py call-service switch/turn_on --entity-id switch.ev_charger

### Connection

Two paths to reach Home Assistant:

MCP (preferred): If the HA MCP server is configured, use mcporter call homeassistant.<tool> directly.
REST API: Use python3 {baseDir}/scripts/ha_bridge.py. Requires HA_URL and HA_TOKEN environment variables.

### Security

Required credentials:

VariableDescriptionHA_URLHome Assistant base URL (e.g. http://homeassistant.local:8123)HA_TOKENHome Assistant Long-Lived Access Token

Least-privilege recommendations:

Create a dedicated Home Assistant user account for this skill (e.g. openclaw-energy)
Generate a Long-Lived Access Token from that account only
Limit the account's entity access to energy-related entities if your HA setup supports entity-level permissions
Test with read-only commands first (discover, energy-summary) before enabling device control

Domain allowlist: The call-service command restricts actions to energy-related domains only: switch, automation, script, climate, water_heater, input_boolean, input_number, number. All other domains (e.g. lock, alarm_control_panel) are blocked with exit code 2.

### Commands

CommandWhat it doesExamplediscoverList all energy entitiesha_bridge.py discoverenergy-summaryOne-shot dashboard (prices + consumption + solar + storage)ha_bridge.py energy-summarystatus <entity>Read a single entity's state and attributesha_bridge.py status sensor.electricity_pricecall-service <d/s>Call an energy-related HA service (restricted to allowed domains)ha_bridge.py call-service switch/turn_on --entity-id switch.ev_chargerhistory <entity>Get state changes over last N hoursha_bridge.py history sensor.grid_import --hours 24

All commands output JSON to stdout.

### Load-Shifting Workflow

Follow these steps when asked about energy optimization:

Discover available energy entities: run discover or energy-summary
Read prices: Check pricing entities' state and attributes — look for:

Hourly price arrays in today / tomorrow / prices_today / rates attributes
price_level attribute (CHEAP / NORMAL / EXPENSIVE)
Current vs. average price comparison


Identify deferrable loads: Find switch.* entities for schedulable devices (EV charger, pool pump, dishwasher, washer/dryer, water heater)
Find the cheapest window: Scan hourly prices for the contiguous N-hour block with the lowest sum (N = estimated run time of device)
Execute: Call switch/turn_on at the optimal time, or automation/trigger if the user has an existing automation

### Interpreting Price Data

Different integrations expose prices differently:

Hourly arrays (Nordpool, ENTSO-e, Octopus): Read today/tomorrow attributes → find cheapest hours
Price level (Tibber): Read price_level → act when CHEAP or VERY_CHEAP
Real-time (Amber Electric): Read 5-minute pricing → shift loads immediately when cheap
Utility meter tariffs: Read sensor.*_peak vs sensor.*_offpeak → user's HA automations switch tariffs at configured times
Static TOU: Read current_price attribute → compare against historical average

### Cost Savings Estimate

When recommending a shift, show estimated savings:

savings = (current_rate - cheapest_rate) × device_power_kw × run_duration_hours

### Solar Self-Consumption

If solar sensors exist, align loads with peak production:

Read sensor.forecast_solar_* or sensor.solcast_* for today's forecast
Shift loads to hours with highest expected production
This avoids grid import entirely — savings = full retail rate × kWh shifted

### HVAC Pre-Conditioning

HVAC is the largest residential load (40-50% of electricity). Pre-cool or pre-heat during cheap/solar hours so the home coasts through expensive peak periods:

Read climate.* entities for current HVAC mode and setpoint
During cheapest window: lower cooling setpoint by 2-3F (pre-cool) or raise heating setpoint by 2-3F (pre-heat)
During peak window: raise cooling setpoint by 2-3F to coast on thermal mass
Savings estimate: 1.5-3 kW shifted × price differential × hours

### Water Heater Scheduling

Electric water heaters (4.5 kW typical) are ideal deferrable loads:

Find switch.water_heater or water_heater.* entities
Heat during cheapest/solar window to full temperature
Turn off during peak hours (tank maintains temperature for 4-6 hours)
Savings estimate: 4.5 kW × price differential × 3-4 hours/day

### Battery Arbitrage

If home battery entities exist (sensor.battery_soc, sensor.powerwall_*, sensor.enphase_*):

Read current state of charge and charge/discharge rate limits
Charge from grid during cheapest hours (or from solar)
Discharge to home during peak price hours to avoid grid import
Advanced: If battery supports grid export and VPP enrollment, discharge to grid during extreme price events ($2,000+/MWh)
Savings estimate: battery_capacity_kwh × (peak_rate - valley_rate)

### Demand Response / VPP Integration

For homes enrolled in utility demand response or virtual power plant programs:

Read demand response signal entities (if available via HA integration)
When DR event active: shed non-critical loads, pre-cool/pre-heat, discharge battery
Estimate DR payment: kW reduced × event duration × program rate

### Entity Reference

For detailed entity patterns across providers, read: energy_entities.md
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: mrbese
- Version: 1.0.3
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/grid-aware-energy-load-shifter)
- [Send to Agent page](https://openagent3.xyz/skills/grid-aware-energy-load-shifter/agent)
- [JSON manifest](https://openagent3.xyz/skills/grid-aware-energy-load-shifter/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/grid-aware-energy-load-shifter/agent.md)
- [Download page](https://openagent3.xyz/downloads/grid-aware-energy-load-shifter)