Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

denon-client

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

denon-client

A handy denon avr client. Allows controlling the AVR and listen to events. May work with Marantz devices too.

  • 0.2.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4
increased by33.33%
Maintainers
1
Weekly downloads
 
Created
Source

denon-client

A handy node library which allows you to control and receive events of a Denon AVR.

Few words

This library is not complete. There are functions missing. Feel free to contribute by doing pull requests. New functions are easy to implement.

Get the protocol specification here: http://assets.denon.com/documentmaster/de/avr3313ci_protocol_v02.pdf

The protocol is pretty unified so any Denon AVR should be somewhat compatible.

Docs

A yuidoc based documentation is available here: http://lmoe.github.io/node-denon-client

Introduction

This library is designed to provide a simple way to operate with a Denon AVR. Making it an easy use in your own IoT project, or any lazy remote after your remote went missing.

It's using ES6 functionality and is based on promises. You are still able to receive events though.

Make sure to use strict and a newer version of node. I haven't tested it with a lower version than 5.10.1 yet.

Examples

Setting up is simple.

// Initialization
const Denon = require('denon-client');
/**
 * Denon is now an object containing DenonClient and Options.
 * Use the DenonClient to send requests. Use the Options to define the data.
 */
const denonClient = new Denon.DenonClient(`${DenonAVRHost}`);

// Subscribe to any available event
denonClient.on('masterVolumeChanged', (volume) => {
  // This event will fire every time when the volume changes.
  // Including non requested volume changes (Using a remote, using the volume wheel on the device).

  console.log(`Volume changed to: ${volume}`);
});

// Connecting
denonClient
  .connect()
  .then(() => {
    // Tasty promise chains..
    //
    // You are free to send any command now.

    return denonClient.setInput(Denon.Options.InputOptions.Aux1);
  })
  .then(() => {

    return denonClient.setSurround(Denon.Options.SurroundOptions.Stereo);
  })
  .then(() => {

    return denonClient.setVolume(98); // Destroy neighborhood
  })
  .catch((error) => {
    // Oh noez.
    console.error(error);
  });

Changelog

0.2.4

  • Added Zone2 control (ON, OFF, DOWN, UP). (Thanks to @jzucker2)

0.2.3

  • Extended input options (Game2, Dock, VAux, NetUsb). (Thanks to @MrFjellstad)

0.2.1 - 0.2.2

  • Update Readme

0.2.0

  • To meet the Semver rules the package version was changed from 0.1.9 to 0.2.0 because of the last new feature.

  • Four new input options have been added (Aux2, MPlay, MXPort, VDP). (Thanks to @DarkCinema and @jaydonoghue)

  • The port can now be set manually. Port 23 is still the default one. (Thanks to @jaydonoghue)

0.1.9

  • Implemented set and get of the display brightness.

0.1.8

  • Fix setVolume not being able to use a volume under 10 or floats.

0.1.7

  • Remove console.log ..

0.1.6

  • Fix setVolume returns no promise
  • Fix setVolume does not set float values like 22.5 as the denon API requires a non float number (225)

0.1.5

  • Fix the getVolume functionality as it returned a three digit value when the receiver returns a double (22.5 -> 225)
  • Implemented transform methods for each event / hook

Keywords

FAQs

Package last updated on 13 Dec 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc