A wrapper for the Blue Current websocket api
Project description
Blue Current Api
Python wrapper for the blue current api
The library is an asyncio-driven library that interfaces with the Websocket API provided by Blue Current. This was made for the Blue Current Home Assistant integration.
Usage
Requirements
- Python 3.11 or newer
- websockets
Installation
pip install bluecurrent-api
Api token
Using this library requires a Blue Current api token. You can generate one in the Blue Current driver portal.
Example
from bluecurrent_api import Client
import asyncio
async def main():
api_token = 'api_token'
client = Client()
# data receiver
async def on_data(data):
print('received: ', data)
# validate and set token.
await client.validate_api_token(api_token)
# example requests
async def on_open():
await client.get_charge_points()
await asyncio.sleep(10)
await client.disconnect()
# connect and send requests
await client.connect(on_data, on_open)
asyncio.run(main())
Implemented methods
The methods validate_token and get_email are stand-alone and are to be used before connecting to the websocket with connect().
await validate_token(api_token) -> str
- Validates the given token.
await get_email() -> str
- Returns the account's email.
await connect(receiver)
- Connects to the websocket.
- Calls get_charge_points and get_charge_cards when connection is established.
is_connected() -> bool
- Returns if the client is connected
await wait_for_charge_points()
- Waits until chargepoints are received.
get_next_reset_delta() -> TimeDelta
- Returns the timedelta to the next request limit reset (00:00 Europe/Amsterdam).
await disconnect()
- Stops the connection.
Data
await get_charge_points()
- Gets the chargepoints
await get_charge_cards()
- Returns the users charge cards.
await get_status(evse_id)
- Gets the status from a chargepoint.
await get_settings(evse_id)
- Gets the setting states from a chargepoint.
await get_grid_status(evse_id)
- Gets the grid status from a chargepoint.
await get_user_override_currents_list()
- Returns a list with current override values set by the user and the related scheduling data.
Settings
await set_linked_charge_cards_only(evse_id, value)
- Sets set_linked_charge_cards_only.
await set_plug_and_charge(evse_id, value)
- Sets set_plug_and_charge.
await block(evse_id, value)
- Blocks or unblocks a charge point.
Actions
await reset(evse_id)
- Resets the chargepoint.
await reboot(evse_id)
- Reboots the chargepoint.
await start_session(evse_id card_uid)
- Starts a charge session.
await stop_session(evse_id)
- Stops a charge session.
await set_delayed_charging(evse_id, value)
- Turns smart charging profile on/off and sets the profile to delayed charging.
await set_delayed_charging_settings(evse_id, days, start_time, end_time)
- Sends the settings for the scheduling of the delayed charging profile.
await set_price_based_charging(evse_id, value)
- Turns smart charging profile on/off and sets the profile to price based charging.
await set_price_based_settings(evse_id, expected_departure_time, expected_kwh, minimum_kwh)
- Sends the settings for the price based charging profile.
await override_price_based_charging_profile(evse_id: str, value)
- Overrides the settings set up by the price based charging profile and starts charging immediately.
await override_delayed_charging_profile(evse_id, value)
- Overrides the timeout set by the delayed charging profile and starts charging immediately.
await set_user_override_current(payload)
- Schedules an override of the electricity current that chargepoints are allowed to use when charging.
await clear_user_override_current(schedule_id)
- Clears a previously set user override using the given schedule ID.
edit_user_override_current(schedule_id, payload)
- Lets the user edit a scheduled override of the electricity current that chargepoints are allowed to use when charging.
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 bluecurrent_api-1.3.3.tar.gz.
File metadata
- Download URL: bluecurrent_api-1.3.3.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d96396f25b0d12513af45d1191c3310d54b68b939b23b712ae6cf7d536f0278a
|
|
| MD5 |
3bdcf7eedc77e74ba20e2e07cfec729d
|
|
| BLAKE2b-256 |
39247236e3c13a9ce29a4be6344e9097bf9b84a50c60562665308011576eb2f4
|
File details
Details for the file bluecurrent_api-1.3.3-py3-none-any.whl.
File metadata
- Download URL: bluecurrent_api-1.3.3-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93c4b136197e372b89d2ba9b80c64f5cc0b3308de86cc9a2e153384c16cd5645
|
|
| MD5 |
e253b199c72b3b7fdf1f441c4be8c630
|
|
| BLAKE2b-256 |
e0d812b21d327469677bc28522eb83c8239497a6cddede283f17338b38341329
|