Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/robertklep/nefit-easy-cli

Command line interface for communications with Nefit/Bosch backend.
https://github.com/robertklep/nefit-easy-cli

bosch cli home-automation nefit-easy node

Last synced: 2 months ago
JSON representation

Command line interface for communications with Nefit/Bosch backend.

Awesome Lists containing this project

README

        

# Nefit Easy™ command line interface

Command line interface for communications with Nefit/Bosch backend.

## Use in moderation!

Each command that you execute using this tool will set up a new connection to the backend, which is relatively CPU-intensive (for both the client and the backend).

If you want to run commands periodically (say, more than once every few minutes), you should consider running the [HTTP server](https://github.com/robertklep/nefit-easy-http-server), which opens a connection to the backend at startup and reuses it for all commands sent to it. The HTTP server will (eventually) support all the commands that the CLI tool supports.

## Installation

This library requires Node.js 4.0.0 or later.

```
$ npm i nefit-easy-cli -g
```

This will install the `easy` client in a well-known "bin/" directory (`npm
config get prefix` will show you where)

## Options

```

easy – Nefit Easy™ client

Usage:
easy [options] status
easy [options] pressure
easy [options] location
easy [options] active-program
easy [options] program-data
easy [options] display-code
easy [options] supply-temperature
easy [options] gas-usage [ | "?"]
easy [options] hot-water-supply [ on | off ]
easy [options] get
easy [options] put
easy [options] set temperature
easy [options] set active-program
easy [options] decrypt [--type=TYPE]

Options:
-h --help Show this screen
-v --version Show version
-V --verbose Be more verbose
--serial=SERIAL Nefit Easy™ serial number
--access-key=KEY Nefit Easy™ access key
--password=PASSWORD Nefit Easy™ password
--timeout=TIMEOUT Request timeout in seconds [default: 30]
--type=TYPE Message type ('chat', 'alarm', 'email') [default: chat]
--pretty Pretty-print JSON output

Instead of specifying serial number, access key or password through
options, you can also define them through environment variables:

NEFIT_SERIAL_NUMBER
NEFIT_ACCESS_KEY
NEFIT_PASSWORD

The temperature value for "set temperature" can be prefixed with a specifier
to conditionally set the temperature if the current temperature doesn't
already meet the specification. For example, to set the temperature to 21°C,
unless it's not already set higher:

$ easy set temperature '>21'

```