Skip to main content

Control eviqo devices (via the cloud) in python. See also eviqo-hacs for a home-assistant connection.

Project description

evipy

PyPI version Python 3.12+

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:

  1. Connect to the Eviqo cloud service
  2. Authenticate using your credentials
  3. Discover your devices
  4. 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

  1. Clone the repository:
git clone https://github.com/zacharyasmith/evipy.git
cd evipy
  1. Install development dependencies:
pip install -e ".[dev]"
  1. 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:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Ensure pre-commit is installed
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to your branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

Issues and Support

If you encounter any issues or have questions:

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evipy-0.0.9.tar.gz (41.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evipy-0.0.9-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

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

Hashes for evipy-0.0.9.tar.gz
Algorithm Hash digest
SHA256 453e6acfe436de08c13b99756700bbbbd4c610163457caa5899fdcdd7c983912
MD5 bb545396cfd32e67d2e10fc00c2ed5c3
BLAKE2b-256 9ab106ba7c9718bfe8e044690a0c07c95511147b36357d20e6e35070e7ab3209

See more details on using hashes here.

Provenance

The following attestation bundles were made for evipy-0.0.9.tar.gz:

Publisher: workflow.yml on zacharyasmith/evipy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for evipy-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3fc07007d071b79db5db116d09fe4fc87877f12b5b19b2c65a092b56da176f9d
MD5 82b16ea71a9eb37fd35fc9fb6089f37c
BLAKE2b-256 8b0e89460319afad01c336faab5b89c8c75159792dcac5a30729644f30c2516b

See more details on using hashes here.

Provenance

The following attestation bundles were made for evipy-0.0.9-py3-none-any.whl:

Publisher: workflow.yml on zacharyasmith/evipy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page