Control eviqo devices (via the cloud) in python. See also eviqo-hacs for a home-assistant connection.
Project description
evipy
A Python library for controlling Eviqo devices via cloud connection. Monitor your Eviqo charging stations and retrieve real-time data through WebSocket communication.
Features
- Real-time monitoring of Eviqo charging stations
- WebSocket-based communication with Eviqo cloud services
- Live widget updates and device status tracking
- Automatic session management and authentication
- Type-safe data models with Pydantic
Installation
Install evipy from PyPI:
pip install evipy
Quick Start
Prerequisites
Before using evipy, you need to set up your Eviqo credentials as environment variables:
export EVIQO_EMAIL="your-email@example.com"
export EVIQO_PASSWORD="your-password"
Alternatively, create a .env file in your project directory:
EVIQO_EMAIL=your-email@example.com
EVIQO_PASSWORD=your-password
Running the Monitor
To start monitoring your Eviqo devices in real-time:
python -m evipy.evipy
This will:
- Connect to the Eviqo cloud service
- Authenticate using your credentials
- Discover your devices
- Display live updates from your charging stations
Example Output
14:23:15 - evipy - login:195 - Found device name='Home Charger' deviceId=89349
14:23:16 - evipy - parse_widget_update:344 - {'widget_id': '5', 'widget_name': 'Charging Power', 'device_id': '89349', 'widget_value': '241.29'}
Requirements
- Python 3.12 or higher
- Eviqo account with device access
- Internet connection for cloud communication
Development
Setting up Development Environment
- Clone the repository:
git clone https://github.com/zacharyasmith/evipy.git
cd evipy
- Install development dependencies:
pip install -e ".[dev]"
- Set up your environment variables as described above.
Code Quality
Just use pre-commit for standard checks!
This project uses:
- Ruff for linting and formatting
- MyPy for type checking
- Pydantic for data validation
- pytest for testing
Run quality checks:
pre-commit run --all
Contributing
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Ensure
pre-commitis installed - Commit your changes (
git commit -m 'Add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
Issues and Support
If you encounter any issues or have questions:
- Bug Reports: GitHub Issues
- Feature Requests: GitHub Issues
- Questions: GitHub Discussions
When reporting bugs, please include:
- Python version
- evipy version (
pip show evipy) - Error messages and stack traces
- Steps to reproduce the issue
Related Projects
- eviqo-hacs: Home Assistant Custom Component for Eviqo integration
License
This project is licensed under the MIT License - see the LICENSE file for details.
Disclaimer
This is an unofficial library and is not affiliated with or endorsed by Eviqo. Use at your own risk.
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 evipy-0.0.9.tar.gz.
File metadata
- Download URL: evipy-0.0.9.tar.gz
- Upload date:
- Size: 41.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
453e6acfe436de08c13b99756700bbbbd4c610163457caa5899fdcdd7c983912
|
|
| MD5 |
bb545396cfd32e67d2e10fc00c2ed5c3
|
|
| BLAKE2b-256 |
9ab106ba7c9718bfe8e044690a0c07c95511147b36357d20e6e35070e7ab3209
|
Provenance
The following attestation bundles were made for evipy-0.0.9.tar.gz:
Publisher:
workflow.yml on zacharyasmith/evipy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
evipy-0.0.9.tar.gz -
Subject digest:
453e6acfe436de08c13b99756700bbbbd4c610163457caa5899fdcdd7c983912 - Sigstore transparency entry: 686016857
- Sigstore integration time:
-
Permalink:
zacharyasmith/evipy@efa22426eeae88455227f0411019c0cb8995ad81 -
Branch / Tag:
refs/tags/v0.0.9 - Owner: https://github.com/zacharyasmith
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@efa22426eeae88455227f0411019c0cb8995ad81 -
Trigger Event:
push
-
Statement type:
File details
Details for the file evipy-0.0.9-py3-none-any.whl.
File metadata
- Download URL: evipy-0.0.9-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fc07007d071b79db5db116d09fe4fc87877f12b5b19b2c65a092b56da176f9d
|
|
| MD5 |
82b16ea71a9eb37fd35fc9fb6089f37c
|
|
| BLAKE2b-256 |
8b0e89460319afad01c336faab5b89c8c75159792dcac5a30729644f30c2516b
|
Provenance
The following attestation bundles were made for evipy-0.0.9-py3-none-any.whl:
Publisher:
workflow.yml on zacharyasmith/evipy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
evipy-0.0.9-py3-none-any.whl -
Subject digest:
3fc07007d071b79db5db116d09fe4fc87877f12b5b19b2c65a092b56da176f9d - Sigstore transparency entry: 686016859
- Sigstore integration time:
-
Permalink:
zacharyasmith/evipy@efa22426eeae88455227f0411019c0cb8995ad81 -
Branch / Tag:
refs/tags/v0.0.9 - Owner: https://github.com/zacharyasmith
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@efa22426eeae88455227f0411019c0cb8995ad81 -
Trigger Event:
push
-
Statement type: