Skip to main content

Asynchronous Python library for the PurrSong API utilized by LavvieBot S litter boxes

Project description

Lavviebotaio

Asynchronous Python library for the PurrSong API utilized by LavvieBot S litter boxes, LavvieScanners, and LavvieTags.

This package provides an API client for the PurrSong API allowing you to fetch the status of Lavviebot S litter boxes, LavvieScanners, LavvieTags, and cats associated with a PurrSong account.

The API is not published by PurrSong, so it may break without notice.

Installation

pip3 install lavviebotaio

This package depdends on aiohttp, and requires Python 3.9 or greater.

Usage

import asyncio
from lavviebot import LavviebotClient
from aiohttp import ClientSession

async def main():
    async with ClientSession() as session:
    
        # Create a client using PurrSong account email and password
        client = LavviebotClient("email", "password", session)

        # Discover all devices associated with PurrSong account
        devices = await client.async_discover_devices()
        
        # Discover all cats associated with account. Requires `location id` as an `int`.
        cats = await client.async_discover_cats(123)
        
        # Get info pertaining to a particular litter box (state, usage, error log) using device_id integer
        litter_box_status = await self.async_get_litter_box_status(device_id)
        
        # Get litter box usage log pertaining to a particular litter box using device_id integer
        litter_box_log = await client.async_get_litter_box_cat_log(device_id)
        
        # Get weights, durations, and usage counts for "Unknown" cat using cat_id integer (cat_id for unknown cats is equal to the location_id)
        unknown_cat_status = await client.async_get_unknown_status(cat_id)
        
        # Get weights, durations, and usage counts for a particular cat using cat_id integer
        cat_status = await client.async_get_cat_status(cat_id)

        # Get info about a particular LavvieScanner using device_id and device_type of "lavvie_scanner")
        lavvie_scanner = await client.async_get_iot_device_status(device_id, "lavvie_scanner")

        # Get info about a particular LavvieTag using device_id and device_type of "lavvie_tag")
        lavvie_tag = await client.async_get_iot_device_status(device_id, "lavvie_tag")
        
        # Get all associated litter boxes, scanners, tags, and cats and store in a LavviebotData object
        get_all = await client.async_get_data()


loop = asyncio.get_event_loop()
loop.run_until_complete(main())

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

lavviebotaio-0.3.1.tar.gz (11.8 kB view details)

Uploaded Source

File details

Details for the file lavviebotaio-0.3.1.tar.gz.

File metadata

  • Download URL: lavviebotaio-0.3.1.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.5

File hashes

Hashes for lavviebotaio-0.3.1.tar.gz
Algorithm Hash digest
SHA256 1beec209b038b9c980b1912dd727e0f328d18418b83004561de79b81a05839f6
MD5 e1a140c3de644dbd29cf5429fd180963
BLAKE2b-256 f7464a40df8a40e96f73c5c19c215cfa0054106c85934f56914e5646698be339

See more details on using hashes here.

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