Giter Site home page Giter Site logo

nest-cli's Introduction

Home Assistant CLI

Command line interface to facilitate interaction with the Home Assistant Supervisor.

Usage

  • ha help
  • ha <subcommand> <action> [<options>]

E.g.:

  • ha core info --raw-json

Modifiers

Global

      --api-token string   Home Assistant Supervisor API token
      --config string      Optional config file (default is $HOME/.homeassistant.yaml)
      --endpoint string    Endpoint for Home Assistant Supervisor (default is 'supervisor')
  -h, --help               help for ha
      --log-level string   Log level (defaults to Warn)
      --no-progress        Disable the progress spinner
      --raw-json           Output raw JSON from the API

All options are also available as SUPERVISOR_ prefixed environment variables like SUPERVISOR_LOG_LEVEL

Subcommands

Available commands:

  addons         Install, update, remove and configure Home Assistant add-ons
  audio          Audio device handling.
  authentication Authentication for Home Assistant users.
  cli            Get information, update or configure the Home Assistant cli backend
  core           Provides control of the Home Assistant Core
  dns            Get information, update or configure the Home Assistant DNS server
  docker         Docker backend specific for info and OCI configuration
  hardware       Provides hardware information about your system
  help           Help about any command
  host           Control the host/system that Home Assistant is running on
  info           Provides a general Home Assistant information overview
  multicast      Get information, update or configure the Home Assistant Multicast
  network        Network specific for updating, info and configuration imports
  observer       Get information, update or configure the Home Assistant observer
  os             Operating System specific for updating, info and configuration imports
  resolution     Resolution center of Supervisor, show issues and suggest solutions
  backups        Create, restore and remove backups
  supervisor     Monitor, control and configure the Home Assistant Supervisor

Installation

The CLI is provided by the CLI container on Home Assistant systems and is available on the device terminal when using the Home Assistant Operating System.

The CLI is automatically updated on those systems.

Furthermore, the SSH add-on (available in the add-on store) provides access to this tool and several community add-ons provide it as well (e.g., the Visual Studio Code add-on).

Developing & contributing

Prerequisites

The CLI can interact remotely with the Home Assistant Supervisor using the remote_api add-on from the developer add-ons repository.

After installing and starting the add-on, a token is shown in the remote_api add-on log, which is needed for further development.

Get the source code

Fork (https://github.com/home-assistant/cli/fork) or clone this repository.

Using it in development

export SUPERVISOR_ENDPOINT=http://192.168.1.2
export SUPERVISOR_API_TOKEN=replace_this_with_remote_api_token
go run main.go info

Note: Replace the 192.168.1.2 with the IP address of your Home Assistant instance running the remote_api add-on and use the token provided.

Building

We use go modules; an example build below:

CGO_ENABLED=0 go build -ldflags="-s -w" -o "ha"

For details how we build cross for different architectures, please see our build action file.

Contributing a change

  1. Create a feature branch on your fork/clone of the git repository.
  2. Commit your changes.
  3. Rebase your local changes against the master branch.
  4. Run test suite with the go test ./... command and confirm that it passes.
  5. Run gofmt -s to ensure your code is formatted properly.
  6. Create a new Pull Request.

nest-cli's People

Contributors

3v1n0 avatar agners avatar alecrust avatar alexiri avatar dependabot-preview[bot] avatar dependabot[bot] avatar fabaff avatar frenck avatar gregkh avatar jagee23 avatar jansepke avatar jdahlgren avatar kongo09 avatar ludeeus avatar mariusthvdb avatar matt1 avatar maxandersen avatar mdegat01 avatar mjrider avatar pdecat avatar pvizeli avatar ryanm101 avatar scop avatar sgruby avatar skorfulose avatar thomasmauerer avatar tjorim avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.