Skip to main content

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

Project description

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:

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

hubspace-ng-0.0.2.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hubspace_ng-0.0.2-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file hubspace-ng-0.0.2.tar.gz.

File metadata

  • Download URL: hubspace-ng-0.0.2.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for hubspace-ng-0.0.2.tar.gz
Algorithm Hash digest
SHA256 b5a87361cd6caf6b6b6a1270298d8cd734f55d5a7bc618784c72aee954e31958
MD5 884daba12a3d1cdc4b5e18134950afdf
BLAKE2b-256 9bc127981c0577fbc4f6fef3e1e42824c7beda462f3fb7ac6fa65cb4e7e80e30

See more details on using hashes here.

File details

Details for the file hubspace_ng-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: hubspace_ng-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for hubspace_ng-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fd78cfd308167cb694479a75bddcfe6ca79686e09c4bbb6235746901c4e9f4a8
MD5 4c8525d4b665bee7f6775a547efc45e0
BLAKE2b-256 490f6cc0270ebed6a739e29291d6c54692b486c082b706e4ea6a53e262cfa171

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page