Skip to main content

Package to integrate with Flume Sensor

Project description

PyFlume

Authenticates to Flume API, returns a list of devices and allows you to pull the latest sensor results over a period of time.

Configuration

You can find your Client ID and Client Secret under "API Access" on the settings page.

Configuration Variables

username:
  description: Your flume user id.
  required: true
  type: string
password:
  description: Your flume password.
  required: true
  type: string
client_id:
  description: Your flume Client ID.
  required: true
  type: string
client_secret:
  description: Your flume Client Secret.
  required: true
  type: string

Examples

import pyflume
from datetime import timedelta
from requests import Session
import logging

logging.basicConfig(filename="flume.log",level=logging.DEBUG)

KEY_DEVICE_TYPE = "type"
KEY_DEVICE_ID = "id"
FLUME_TYPE_SENSOR = 2

username="<username>"
password="<password>"
client_id="<client_id>"
client_secret="<client_secret>"

SCAN_INTERVAL = timedelta(minutes=60)

auth = pyflume.FlumeAuth(
        username, password, client_id, client_secret, http_session=Session()
        )

flume_devices = pyflume.FlumeDeviceList(auth)
devices = flume_devices.get_devices()

print("DEVICE LIST")
print(devices)

print("DEVICE ID")
for device in flume_devices.device_list:
    if device[KEY_DEVICE_TYPE] == FLUME_TYPE_SENSOR:
        print(device[KEY_DEVICE_ID])
        device_id = device[KEY_DEVICE_ID]
        device_timezone = device['location']['tz']

flume = pyflume.FlumeData(
            auth,
            device_id,
            device_timezone,
            SCAN_INTERVAL,
            http_session=Session(),
        )

flume_notifications = pyflume.FlumeNotificationList(auth, read="true")

print("NOTIFICATION LIST")
print(flume_notifications.notification_list)

## Force Update
flume.update_force()

print("AUTH HEADER")
print(auth.authorization_header)

print("QUERY PAYLOAD")
print(pyflume._generate_api_query_payload(SCAN_INTERVAL, device_timezone))

print("FLUME VALUES")
print(flume.values)

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

PyFlume-0.6.5.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

PyFlume-0.6.5-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file PyFlume-0.6.5.tar.gz.

File metadata

  • Download URL: PyFlume-0.6.5.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for PyFlume-0.6.5.tar.gz
Algorithm Hash digest
SHA256 9b28a282ee868b466c4916a27d298ebf0924dd411191d0ba0639230406374e3d
MD5 cba53c428ab44fbc9c8c30ba5aa313df
BLAKE2b-256 86d5c71684f08d1e60f9347d558acfd991bde1609f92b499588f382e3170bde7

See more details on using hashes here.

File details

Details for the file PyFlume-0.6.5-py3-none-any.whl.

File metadata

  • Download URL: PyFlume-0.6.5-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for PyFlume-0.6.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e152a505d9817a4fcb36c32758cbf2f57cb895f17323da70ece1a5e2b5f1fae6
MD5 cdd0f22fe5855d42066d5c6debef502e
BLAKE2b-256 1fc7593b53b714f3cda56e2d825c8a21db36d41f8f26278dfa75de50526a4652

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