Skip to main content

A python library for interacting with the Hubitat API

Project description

pyhubitat

image image image

A python library for interacting with the Hubitat API

Highlights

This package is new and rapidly developing. It currently exposes only the Hubitat "Maker API" which is limited to the functionality of the devices, not the hub. The official Maker API docs can be found here. Endpoints exposed include:

  • Get All Devices (/devices)
  • Get All Devices with Full Details (/devices/all)
  • Get Device Info (/devices/[device ID])
  • Get Device Event History (/device/[device ID]/events)
  • Get Device Commands (/device/[device ID]/commands)
  • Get Device Capabilities (/device/[device ID]/capabilities)
  • Send Device Command (/device/[device ID]/[Command]/[Secondary Value])

Installation

pip install pyhubitat

Usage

Initialization

from pyhubitat import MakerAPI
import pprint

HUB_TOKEN = os.environ['HUBITAT_TOKEN']
HUB_URL_EXAMPLE = 'https://192.168.1.39/apps/api/24'  # Follow the generic format of 'https://[hub-ip-address-or-hostname]/apps/api/[app-id]'

ph = MakerAPI(HUB_TOKEN, HUB_URL_EXAMPLE)

Get Devices

devices = ph.list_devices()
pprint.pprint(devices)

Send Command

response1 = ph.send_command(5, "on")
response2 = ph.send_command(6, "setLevel", 50)

Note about TLS/SSL

The Hubitat hub uses a self-signed root certificate for https and I see no reasonable way to add your own. Despite this, it is still recommended that you enable login auth on the hub and use the https API url since your API token is sent with every request.

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

pyhubitat-0.0.3.tar.gz (15.2 kB view hashes)

Uploaded Source

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