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

Uploaded Source

Built Distribution

PyFlume-0.5.5-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: PyFlume-0.5.5.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for PyFlume-0.5.5.tar.gz
Algorithm Hash digest
SHA256 d01911eaa51fc440b9c5dda581230283eb250cee08a63daa0e2dbe322b5f207b
MD5 0e86247fcad2a36aa042bb189ef0213d
BLAKE2b-256 006289e5560f3549383e40298442c41335ecc0e1284c3383707e6b418291d961

See more details on using hashes here.

File details

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

File metadata

  • Download URL: PyFlume-0.5.5-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for PyFlume-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e9537948f4d9b253e3b29ab023d9b1b7bdf0aba8e6fde07aae1deb3f12fd79fd
MD5 b035650dd505ece12c20c31871cfd063
BLAKE2b-256 7be48c81bee815b01cfc8319018abea978301c9a715cd05172f7f683f9044bb6

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