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.2.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

PyFlume-0.6.2-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: PyFlume-0.6.2.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for PyFlume-0.6.2.tar.gz
Algorithm Hash digest
SHA256 f7fb892c8d428e1ee5c640f1890f3cf71a3614a9dd3bcf68ba80e1ec845f2e0d
MD5 4d1b549b0960689914d39bb8e0f2f7e3
BLAKE2b-256 9cfd8678337f382c7ed94797b3f07c31c2ac47d5c5c96b710450497f8ce38cf3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: PyFlume-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for PyFlume-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a24cba9316f802868ed90db67e04d31b92af58093aeceb9da61ad3964194a2ca
MD5 8ee6947ed56e44f1ed7cd149cb9138fb
BLAKE2b-256 1bdd08929b43f5dea05338f8206032c02180e27ab3b1b45fe6c5aaee971ea1bf

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