Skip to main content

A rest api client for your fireboard thermometer

Project description

fireboard_cloud_api_client

A rest api client for your fireboard thermometer.

Note about rate limits

From the Fireboard docs:

Users will be limited to 200 API calls per hour, if this rate limit is exceeded then user access will be blocked for 30 minutes.

See Fireboard API: Rate Limits

Usage

import asyncio
from fireboard_cloud_api_client import FireboardAPI


# replace with your fireboard account email
FIREBOARD_USER_EMAIL = 'someone@example.com' 
# replace with your fireboard account password
FIREBOARD_USER_PASSWORD = 'somepassword' 

async def initialize_app(email, password):
    fireboard_client = FireboardAPI(email, password)

    devices = await fireboard_client.list_devices()
    print("devices", devices)


asyncio.run(initialize_app(FIREBOARD_USER_EMAIL, FIREBOARD_USER_PASSWORD))

API Reference

fireboard_client = FireboardAPI(email, password, base_url, session)

Params:

  • email: the email for your fireboard account.
  • password: the password for your fireboard account.
  • base_url: (optional) the url for the fireboard could api (default: https://fireboard.io/api).
  • session: (optional) an aiohttp ClientSession object to use for requests.

Returns: a fireboard client object

await fireboard_client.list_devices()

Params: none

Returns: all fireboard devices associated with your account.

See: Fireboard API: List All Devices

await fireboard_client.get_device(device_uuid)

Params:

  • device_uuid: the uuid of the device you want details for

Returns: detailed information about a specific device by referencing the Device’s UUID.

See: Fireboard API: Realtime Temperature

await fireboard_client.get_realtime_temperature(device_uuid)

Params:

  • device_uuid: the uuid of the device you want details for

Returns: the latest temperature values per channel from the device using the Temps endpoint. Temperature values are included if they are less than a minute old, otherwise nothing is returned for the channel.

Example:

[
  {
    "temp": 69.9,
    "created": "2021-12-01T19:07:25Z",
    "degreetype": 2,
    "channel": 1
  },
  {
    "temp": 72.6,
    "created": "2021-12-01T19:07:25Z",
    "degreetype": 2,
    "channel": 2
  },
  {
    "temp": 71.9,
    "created": "2021-12-01T19:07:25Z",
    "degreetype": 2,
    "channel": 3
  }
]

await fireboard_client.get_realtime_drivelog(device_uuid)

Params:

  • device_uuid: the uuid of the device you want details for

Returns: the latest FireBoard Drive log information for your device using the Drivelog endpoint. Drive log information is returned if less than a minute old

See: Fireboard API: Realtime Drive Data

await fireboard_client.list_sessions()

Params: none

Returns: all sessions associated with your account.

See: Fireboard API: List All Sessions

await fireboard_client.get_session(session_id)

Params:

  • session_id: id of the session to retrieve

Returns: data about a single session

See: Fireboard API: Retrieve a Specific Session

await fireboard_client.get_session_chart(session_id)

Params:

  • session_id: id of the session to retrieve
  • drive: (optional, default = False) True to include drive data

Returns: all temperature data from the session in a format suitable for many charting frameworks.

See: Fireboard API: Retrieve a Specific Session

External Reference

Fireboard Cloud API docs

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

fireboard_cloud_api_client-0.0.1.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

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