Skip to main content

A simple API client for Pod Point (https://pod-point.com) aimed at home users

Project description

Pod Point Client

GitHub Release GitHub Activity License

Project Maintenance BuyMeCoffee

Unofficial API client for Pod Point with a focus on home users.

Installation

pip install podpointclient

Usage

The Pod Point Client supports the following methods:

Method Description
async_get_pods() Get all pods from a user's account - Returns a list of Pod objects.
async_get_pod(pod_id=1234) Gets an individual pod - Returns a single Pod. NOTE: The Pod Point API does not support a single-pod return so this method gets all pods and filters.
async_set_schedule(enabled=False, pod=pod) Updates a pod with a week of schedules that will enable or disable charging - See setting charging schedules for more information on how this works.
async_get_charges(per_page=5, page=2) Get charges for a user - Returns a list of Charge objects. per_page can be 'all', or a number. Can get additional pages with page attribute.

Example

The below walks through a common scenario:

  1. Get all pods
  2. Updating the schedule of an individual pod
  3. Confirm that it worked

PodPointClient is async by default so the below example assumes you are running it within an async function.

from podpointclient import PodPointClient

# Create a client
client = PodPointClient(username="test@example.com", password="passw0rd!1")

# Get all pods for a user
pods = await client.async_get_pods()

# Select one to update schedules for
pod = pods[0]

# Update schedule to disabled (allow charging at any time)
await client.async_set_schedule(enabled=False, pod=pod)

# Get just that pod
pod = await client.async_get_pod(pod_id=pod.id)
# Check if the schedule is disabled
schedule_status = pod.charge_schedules[0].is_active
print(schedule_status)

Setting charging schedules

NOTE: According to Pod Point, schedules can take up to 5 minutes to be recognised by a device. This applies to both updating of a schedule affecting a device, and the device recognising that it is active/inactive due to entering/exiting a schedule window.

Currently this client supports setting the same schedule across all days for the week. By default it is designed to be used as an on/off switch for charging and creates a schedule lasting 1 second, from 00:00:00 - 00:00:01.

Due to the delay in pods recognising that they are in/out of a schedule this realistically means charging is turned off when this schedule is enabled.

You are able to pass a start_time and end_time when setting schedules but these are set for all days and are in-day only. By which I mean passing start_time="18:00" and end_time="00:15" will fail as 00:15 is before the start time.

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines.

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

podpointclient-0.1.1.tar.gz (11.7 kB view hashes)

Uploaded Source

Supported by

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