Skip to main content

Philips Hue notification system with CLI and daemon

Project description

huesignal

A Philips Hue notification system with CLI and daemon support. Control Hue lights with state capture, effects, and automation templates.

60-Second Quickstart

# Install with uv (recommended)
uv pip install huesignal

# Login to your Hue bridge
huesignal auth login

# See available commands
huesignal --help

That's it! You can now use huesignal to control your Hue bridge and automate light effects.

Installation

Using uv (Recommended)

uv pip install huesignal

Or install from source:

git clone https://github.com/ThomasRohde/huesignal.git
cd huesignal
uv sync
uv run huesignal --version

Using pipx

pipx install huesignal

Using pip

pip install huesignal

Features

  • CLI Commands: Easy-to-use command-line interface for controlling Hue lights
  • State Capture: Save and restore light states and scenes
  • Effects: Apply dynamic effects and transitions to your lights
  • Automation Templates: Predefined automation samples for common scenarios
  • Keyring Integration: Secure credential storage using system keyring

Library Choice

huesignal uses aiohue for bridge communication.

Why aiohue?

  • Async/await support: Non-blocking I/O for responsive CLI and daemon operations
  • Full v2 API coverage: Supports latest Hue Bridge API v2 endpoints
  • Active maintenance: Part of Home Assistant ecosystem with regular updates
  • Python native: Pure Python library with aiohttp backend
  • Well-tested: Battle-tested in Home Assistant and other projects

Alternative libraries considered

  • phue: Simpler API but synchronous only, not ideal for daemon usage
  • requests: Too low-level for Hue-specific logic
  • huepy: Older, less active maintenance

Commands

# Authentication
huesignal auth login              # Login to bridge and store credentials

# Lights
huesignal lights list             # List available lights
huesignal lights toggle <light>   # Toggle a light on/off

# Effects
huesignal effect apply <name>     # Apply a named effect

# Samples
huesignal samples generate        # Generate automation template samples

Requirements

  • Python 3.11+
  • Philips Hue Bridge (with v2 API support)

Testing

Unit Tests

Run unit tests with:

pytest tests/

Unit tests use mocked fixtures and don't require a physical Hue bridge.

Integration Tests

Integration tests require a real Hue bridge and are opt-in via environment variables.

# Set environment variables
export HUESIGNAL_BRIDGE_IP="192.168.1.100"
export HUESIGNAL_APP_KEY="your-app-key"

# Run integration tests
pytest tests/integration/

Safety Warning: Integration tests interact with physical lights and may change their state. Always:

  1. Only run against bridges you control
  2. Have permission to modify the lights
  3. Ensure lights are in a safe location
  4. Keep the --restore behavior enabled (default) so lights return to original state

Integration tests are skipped if environment variables are not set, so they won't accidentally interfere with CI/CD pipelines.

Version

Check your installed version:

huesignal --version

License

MIT

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

huesignal-0.1.4.tar.gz (821.6 kB view details)

Uploaded Source

Built Distribution

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

huesignal-0.1.4-py3-none-any.whl (44.5 kB view details)

Uploaded Python 3

File details

Details for the file huesignal-0.1.4.tar.gz.

File metadata

  • Download URL: huesignal-0.1.4.tar.gz
  • Upload date:
  • Size: 821.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for huesignal-0.1.4.tar.gz
Algorithm Hash digest
SHA256 a87f513060079cd5596618bf1a27249b428fa8cec6e8b60efebe00741e26027d
MD5 8e65319b8a0874bd032d87905cfc2c9c
BLAKE2b-256 13ed3e6924e387ee9d83aeae2c16a365528cbed97b9f5d5aca2a7e4065981569

See more details on using hashes here.

Provenance

The following attestation bundles were made for huesignal-0.1.4.tar.gz:

Publisher: publish.yml on ThomasRohde/huesignal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file huesignal-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: huesignal-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 44.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for huesignal-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1d17d70b7750ac836039bd13d7ba963c23fa3d3e6d31d516aa0015f1459d8168
MD5 858e985b2a76e504b180f46d45815d80
BLAKE2b-256 1656bff43fad30ade0ad0480598aa9d2ec38e6b0bbb6df24a46db901941272cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for huesignal-0.1.4-py3-none-any.whl:

Publisher: publish.yml on ThomasRohde/huesignal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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