Skip to content

OpenHue CLI is a command-line interface for interacting with Philips Hue smart lighting systems.

License

Notifications You must be signed in to change notification settings

openhue/openhue-cli

Repository files navigation

OpenHue CLI

Build CodeQL Maintainability with Code Climate Test Coverage Docker Image Size (tag)

Overview

OpenHue CLI is a command-line interface for interacting with Philips Hue smart lighting systems. This tool provides a convenient way to control your Philips Hue lights and perform various tasks using the command line.

How to setup OpenHue CLI

Features

  • Discover and connect to Philips Hue bridges.
  • List available lights and their status.
  • Control lights: on, off, brightness, and color.
  • Schedule light actions.

For a complete list of features and usage, please refer to the OpenHue CLI online documentation.

Getting Started

To begin developing with Open-Hue's OpenAPI specification, follow these steps:

Prerequisites

Before you start, ensure that you have the following prerequisites installed:

  • Golang that is used to build and run the project
  • GoReleaser that is used to build and release the binaries. Used behind the scene when running the make build command
  • oapi-codegen (optional) that is used to generate the client code from the openhue-api specification. Used behind the scene when running the make generate command
  • Docker (optional) that is used to build the CLI Docker Image and run it as a container

Fork the Repository

Before contributing to OpenHue CLI, it's a good practice to fork the repository to your own GitHub account. This will create a copy of the project that you can work on independently.

Build

  1. Clone the OpenHue CLI repository to your local machine:
git clone https://github.com/your-username/openhue-cli.git
cd openhue-cli
  1. Run the following command to build OpenHue CLI on your local environment:
make build

Test

Run the following command to execute all the tests and calculate the code coverage:

make test

If you want, you can also run the following command to visualize the coverage analysis in your browser:

make coverage

or use make coverage html=true to visualize the HTML report in your default web browser

Generate the OpenHue API Client

Run the following command to generate the OpenHue API Client:

make generate

If there was any OpenAPI specification change, this command will update the ./openhue/gen/openhue.openhue.go file. Please note that this file must never be manually edited!

You also generate the client from another spec location:

make generate spec=/path/to/local/openhue.yaml

License

GitHub License

Open-Hue is distributed under the Apache License 2.0, making it open and free for anyone to use and contribute to. See the license file for detailed terms.