charger
name: charger
by borahm · published 2026-03-22
$ claw add gh:borahm/borahm-charger---
name: charger
description: Check EV charger availability (favorites, nearby search) via Google Places.
metadata:
clawdbot:
config:
requiredEnv:
- GOOGLE_PLACES_API_KEY
stateDirs:
- config
- .cache
---
# charger
Higher-level EV charger checker built on Google Places (New) EV charge data.
This skill includes a `bin/charger` CLI (Node.js) for checking charger availability.
Setup
- Node.js 18+ (Clawdbot already has Node)
- `GOOGLE_PLACES_API_KEY` (recommended in `~/.clawdbot/.env`)
- `ln -sf "$(pwd)"/bin/charger /home/claw/clawd/bin/charger`
- `charger favorites add home --place-id <placeId>`
Commands
- `charger check home`
- `charger check "Wien Energie Charging Station Liniengasse 2 1060 Wien"`
- `charger nearby --lat 48.188472 --lng 16.348854 --radius 2000 --max 10`
Notifications
The recommended pattern is:
1) `charger` (this skill) produces a clear `Any free: YES|NO` result.
2) A scheduled job (Gateway cron) runs a small helper that only prints output when it should notify.
Helper script (what actually decides to notify)
This bundle includes `scripts/charger-notify.sh`.
What it does:
So: **no output = no notification**.
State:
Usage:
Example notification output:
Typical cron schedule (how you actually get Telegram pings)
Cron is the scheduler. It runs the helper script on a timer and sends you whatever the script prints.
Because the helper prints **only when it becomes available**, you only get messages when it matters.
Check every 10 minutes:
If you want me to wire this into Clawdbot Gateway cron (so you get Telegram pings), tell me:
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...