charger
Check EV charger availability (favorites, nearby search) via Google Places.
Installation
npx clawhub@latest install chargerView the full skill documentation and source below.
Documentation
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
- Requirements:
GOOGLE_PLACES_API_KEY (recommended in ~/.clawdbot/.env)
- Put the CLI on your PATH (example):
ln -sf "$(pwd)"/bin/charger /home/claw/clawd/bin/charger
- Add a favorite:
charger favorites add home --place-id
Commands
- Check a favorite / place id / query:
charger check home
- charger check "Wien Energie Charging Station Liniengasse 2 1060 Wien"
- Find nearby:
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:
- Runs
charger check - If
Any free: YESand the last run was notYES, it prints a single notification line. - Otherwise it prints nothing.
So: no output = no notification.
State:
- Stores last state in
~/.cache/charger-notify/.stateso it only notifies on the changeNO/UNKNOWN → YES.
Usage:
bash scripts/charger-notify.sh home
Example notification output:
EV charger available: Tanke Wien Energie Charging Station — Amtshausgasse 9, 1050 Wien, Austria — 1/2 available (OOS 0) (updated 2026-01-21T21:05:00Z)
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:
*/10 * * * *
If you want me to wire this into Clawdbot Gateway cron (so you get Telegram pings), tell me:
- target (
home) - interval (every 5/10/20 min)
- quiet hours (optional)