Python 3 package to retrieve public and private EV charger data from Shell Recharge
Project description
Python: Shell Recharge
Python 3 package to retrieve public EV charger data from Shell Recharge
About
This package allows you to request data from public EV chargers using Shell Recharge. I build it to create a home-assistant integration, it can be done with rest calls only, but then options are limited.
Installation
pip3 install shellrecharge
Configuration
Find the EV charger(s) you want to monitor here: https://ui-map.shellrecharge.com look for the Serial number under details section. Then use Add device within Home Assistant and enter the Serial number in the form.
Example:
Development
To create a development environment to commit code.
python3 -m venv .venv
source .venv/bin/activate
pip3 install pdm ruff mypy
sudo apt install pre-commit
pip3 install pre-commit
Run checks before PR/Commit:
make all
Example
Below provides example on how to use the library.
#!/usr/bin/env python3
"""Example code."""
import asyncio
import logging
import sys
from asyncio import CancelledError
import aiohttp
from aiohttp.client_exceptions import ClientError
import shellrecharge
from shellrecharge import LocationEmptyError, LocationValidationError, RateLimitHitError
async def main():
"""Main module."""
# Some random stations
location_ids = ["9b9428ab-1dfd-4230-a024-084eacf776ff", "682154", "9cf6c16b-b043-4ba8-b7ca-872f82a0faf4"]
async with aiohttp.ClientSession() as session:
try:
api = shellrecharge.Api(session)
for location_id in location_ids:
location = await api.location_by_id(location_id)
logging.info(location)
except LocationEmptyError:
logging.error("No data returned, check location id")
except LocationValidationError as err:
logging.error("Location validation error {}, report locaton id" % err)
except (ClientError, TimeoutError, CancelledError) as err:
logging.error(err)
except RateLimitHitError as err:
logging.error(err)
if __name__ == "__main__":
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
loop = asyncio.new_event_loop()
loop.run_until_complete(main())
💖 Support This Project
If you find this library useful for your projects, please consider supporting its continued development and maintenance:
🌟 Ways to Support
- ⭐ Star this repository - Help others discover the project
- 💰 Financial Support - Contribute to development and hosting costs
- 🐛 Report Issues - Help improve stability and compatibility
- 📖 Spread the Word - Share with other developers
💳 Financial Support Options
Why Support?
- Keeps the project actively maintained
- Enables faster bug fixes and new features
- Supports infrastructure costs (testing, AI, CI/CD)
- Shows appreciation for hundreds of hours of development
Every contribution, no matter the size, makes a difference and is greatly appreciated! 🙏
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shellrecharge-0.1.25.tar.gz.
File metadata
- Download URL: shellrecharge-0.1.25.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39864effa54eda1fab1bde41d6674dd659e49c27c45d6bd811312c54706acd02
|
|
| MD5 |
90d15bc3e55ec994047c1f32248f5760
|
|
| BLAKE2b-256 |
3e9e239ca42fbcdf81452c3da653fa9881098e4de6e2d0b7ce8dc7b3856c8913
|
File details
Details for the file shellrecharge-0.1.25-py3-none-any.whl.
File metadata
- Download URL: shellrecharge-0.1.25-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3d1ba6c13f59aaf81341121b947d25423e3eb4a08b534d9447c377a7eb38e45
|
|
| MD5 |
e713940df60877b17968fe7ed805d8ed
|
|
| BLAKE2b-256 |
3ddda776d9680f7fc050a6b0e04ce199ec9e6a7748f2057087f48f5f24a9fe8c
|