@neeo/cli

NEEO SDK CLI

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
@neeo/cli
Minified + gzip package size for @neeo/cli in KB

Readme

neeo-cli

The NEEO CLI helps with running and developing NEEO SDK drivers.

Installing NEEO SDK drivers and running them with the CLI

For example if you want to run the https://github.com/nklerk/neeo_driver-kodi driver with the CLI in the my-neeo-server/ folder.

To install locally:

mkdir my-neeo-server
cd my-neeo-server
npm init -y
npm install --save https://github.com/nklerk/neeo_driver-kodi @neeo/cli

To start the server with the driver:

npx neeo-cli start

NOTE: if you use Node 6 npx is not available, you can start the cli using this command:

node_modules/.bin/neeo-cli start

The CLI tool will automatically scan the node_modules directory to find NEEO Drivers.

Debug

Run DEBUG="neeo:cli*" npx neeo-cli start to see debug messages.

Using the CLI to run drivers:

neeo-cli start will start the drivers installed in the current folder.

Installing drivers for the CLI server

Drivers can easily be installed from different sources via npm:

  • Drivers hosted on npm (for example ${driverName}):
    • npm install --save ${driverName}
  • Drivers hosted on Github (for example: ${githubURL}):
    • npm install --save git+${githubURL}
  • Drivers availabe locally (relative to current path for example ../neeo-driver-custom-device):
    • npm install ../neeo-driver-custom-device
  • For more options see npm install documentation

The NEEO CLI will automatically load installed drivers it finds in the node_modules folder. Currently NEEO Drivers are detected by prefix (recommendation neeo-driver-):

For example:

  • neeo-driver-example
  • neeo-driver-device-example
  • neeo-driver-custom-example

For backwards compatibility reasons drivers prefixed with neeo- or neeo_ are still loaded, but we recommend new drivers to use neeo-driver- as a prefix.

Configuration and options

The neeo-cli can be configured to start the server with different options.

In the package.json you can use a neeoSdkOptions property:

  "dependencies": { ... },
  "devDependencies": { ... },
  "neeoSdkOptions": {
    "serverName": "neeo-sdk-examples-server", // Optional name for the server
    "serverPort": 6336, // Port the server will listen for connections on
    "brainHost": "10.0.0.2", // If set will connect to a specific Brain instead of discovering one
  }

Environment variable options (these will take precedence over the neeoSdkOptions above):

  • NEEO_SERVER_NAME: Sets the server name (overrides neeoSdkOptions.serverName)
  • NEEO_SERVER_PORT: Sets the port the server will run on (overrides neeoSdkOptions.serverPort)
  • NEEO_HOST_IP: Sets IP of the NEEO Brain to connect to (overrides neeoSdkOptions.brainHost)

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.