Skip to main content

hubspace-ng

A python package to interface with the Afero Hubspace service for smart home devices

HubSpace is a smart home platform by The Home Depot, powered by Afero.

Goals

  • Object oriented API to support Hubspace devices
  • Robust device identification
  • Straightforward calls to common functionality
  • Power a Home Assistant integration

TODOs:

  • Support more device types (I need example data)
  • Figure out how to handle multiple variant functions (color-temperature numeric vs color-temperature category)
  • Create an RGB function type
  • Create a debug script that returns full or sanitized data
  • Improve call timer safety

Supported Device Types

  • Lights
    • Basic dimmable lights: Yes
    • Tunable lights: Yes
    • RGB lights: Yes
  • Plugs: Yes
  • Fans: Yes
  • Locks: Yes (Limited functionality only - lock/unlock, get lock state, get battery level)
    • Currently not supporting the following functions for security purposes: toggling lock sound mode, configuring PIN numbers, managing admin pin, controlling keypad lockout.
  • Transformers: No

Troubleshooting

hubspace-ng includes a tools.py script to help debug common issues. This usess a creds.json file for your credentials.

$ python3 tools.py -h
usage: tools.py [-h] [-a] [-d DETAILED] {survey,connection_log,report} filename

Get debug data from your Hubspace account.

positional arguments:
  {survey,connection_log,report}
                        the type of debugging to do
  filename              file to output to

options:
  -h, --help            show this help message and exit
  -a, --anonymize       Anonymize survey results; does not apply to other actions
  -d DETAILED, --detailed DETAILED
                        When possible, create a more detailed product (state, etc.)

Connection Log

A detailed connection log is available via connection_log. This data is not anaonymized and should be inspected carefully before sharing!

$ python3 tools.py connection_log test.log

Report

Report provides a human readable list of devices. Adding -d will provided detailed state information.

$ python3 tools.py report report.txt

Survey

In certain circumstances, it may be necessary to get a debug view of the device data hubspace-ng is seeing from the HubSpace servers. To accomodate this, a survey tool is included. If you want to share this data in a ticket, etc., we recommend using the -a anonymize option, then examining the files manually for anything else you may want to remove. If you are looking over this data yourself, there's no need to anonymize it, but in some cases it's slightly easier to read anonymized (IDs with mostly zeroes tend to be easier to visually process).

$ python3 tools.py survey test.zip

Contributors

Special thanks to:

Metadata

Release files for hubspace-ng 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hubspace-ng 0.0.4
File Size Uploaded
hubspace-ng-0.0.4.tar.gz 21.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hubspace-ng 0.0.4
File Interpreter ABI Platform
hubspace_ng-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 52.7 kB

Release files / hubspace-ng-0.0.4.tar.gz

Download URL hubspace-ng-0.0.4.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
207b2d9a9026a09201abe9adb92e6a90ead953e35a06785d774b63595822389e
BLAKE2b-256 checksum
How to use checksums
e0e38648a2c6f729ac78319a321c1acee44e627671334f87e95ee062621a147e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / hubspace_ng-0.0.4-py3-none-any.whl

Download URL hubspace_ng-0.0.4-py3-none-any.whl
Size 31.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
800cc3789351168e0abec9f4092ebef3b067918520f4d1974e381cc505ebe7ae
BLAKE2b-256 checksum
How to use checksums
61973aac8a91a0270d37c14667911b7d4bcedc719b38b9ecae067e72d87be07b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page