npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pimatic-yamaha-avr

v0.9.4

Published

Pimatic Plugin to monitor and control a Yamaha AV Receiver

Downloads

5

Readme

pimatic-yamaha-avr

Npm Version Build Status Dependency Status

Pimatic plugin to monitor & control a Yamaha AV Receiver over a network connection.

Status of Implementation

The following features are provided:

  • support for power switching, volume mute, volume control, input selection, and status display (main zone, only)
  • auto-discovery of devices for pimatic 0.9
  • action to select input source, devices for power switching, volume mute, volume control are "switch" or "dimmer" devices types and support the respective action operations

Additional features can be added easily and I am happy to do this on demand.

Contributions

Contributions to the project are welcome. You can simply fork the project and create a pull request with your contribution to start with. If you like this plugin, please consider ★ starring the project on github.

Credits

Many thanks to @ccvh and @seelenbrokat for their support in testing stuff at the early stages of development!

Plugin Configuration

{
      "plugin": "yamaha-avr",
      "host": "avr.fritz.box",
}

The plugin has the following configuration properties:

| Property | Default | Type | Description | |:------------------|:---------|:--------|:--------------------------------------------| | host | - | String | Hostname or IP address of the AVR | | port | 80 | Number | AVR control port. Only required for testing purposes | | debug | false | Boolean | Debug mode. Writes debug messages to the pimatic log, if set to true |

Device Configuration

The following devices can be used. As of pimatic 0.9 you can use the auto-discovery of the frontend to add devices easily.

For each device the time interval used to obtain status updates from the AVR can be specified. The default is 30 seconds, the minimum value accepted is 10 seconds. It should be noted that updates are acquired by an centralized update handler. Thus the device with the smallest values set defines the time interval for the update handler. If no devices exist, e.g. devices have been removed at runtime, the update handler is stopped.

YamahaAvrPresenceSensor

The Presence Sensor presents the power status of the receiver and provides information about the master volume and selected input source.

{
      "id": "avr-1",
      "name": "AVR Status",
      "class": "YamahaAvrPresenceSensor"
}

The device has the following configuration properties:

| Property | Default | Type | Description | |:------------------|:---------|:--------|:--------------------------------------------| | interval | 30 | Number | The time interval in seconds (minimum 10) at which the power state of the AVR will be read |

The following predicates and actions are supported:

  • {device} is present|absent

YamahaAvrPowerSwitch

The Power Switch can be used to switch the AVR on or off (standby) mode. Depending on your AVR configuration you may not be able to switch it on. See the AVR manual for details.

{
      "id": "avr-2",
      "name": "AVR Power",
      "class": "YamahaAvrPowerSwitch"
}

The device has the following configuration properties:

| Property | Default | Type | Description | |:------------------|:---------|:--------|:--------------------------------------------| | interval | 30 | Number | The time interval in seconds (minimum 10) at which the power state of the AVR will be read |

The following predicates and actions are supported:

  • {device} is turned on|off
  • switch {device} on|off
  • toggle {device}

YamahaAvrMuteSwitch

The Mute Switch can be used to mute or un-mute the master volume.

{
      "id": "avr-3",
      "name": "AVR Mute",
      "class": "YamahaAvrMuteSwitch"
}

The device has the following configuration properties:

| Property | Default | Type | Description | |:------------------|:---------|:--------|:--------------------------------------------| | interval | 30 | Number | The time interval in seconds (minimum 10) at which the power state of the AVR will be read |

The following predicates and actions are supported:

  • {device} is turned on|off
  • switch {device} on|off
  • toggle {device}

YamahaAvrMasterVolume

The Master Volume can be used to change the absolute master volume. This device can only be used with AVRs which support absolute volume control on a scale from 0-98. As some AVRs already stop at a lower maximum volume the maxAbsoluteVolume property is provided (see properties table below).

{
      "id": "avr-4",
      "name": "AVR Master Volume",
      "class": "YamahaAvrMasterVolume"
}

The device has the following configuration properties:

| Property | Default | Type | Description | |:------------------|:---------|:--------|:--------------------------------------------| | interval | 30 | Number | The time interval in seconds (minimum 10) at which the power state of the AVR will be read | | volumeDecibel | 16.5 | Number | The maximum volume which can be set using the volume control | | volumeDbMin | -80.5 | Number | The minimal volume in dB of the receiver (check the AVR manual to get the right setting) | | volumeDbMax | 16.5 | Number | The maximum volume in dB of the receiver (check the AVR manual to get the right setting) |

The following predicates and actions are supported:

  • dimlevel of {device} {Comparison Operator} {Value}, where {Value} is the percentage of volume 0-100
  • dim {device} to {Value}, where {Value} is the percentage of volume 0-100

YamahaAvrInputSelector

The YamahaAvrInputSelector can be used to select the input source. Allowed values for input selection depend on the AVR model.

{
      "id": "avr-5",
      "name": "AVR Input Selector",
      "class": "YamahaAvrInputSelector"
      "buttons": [
           {
             "id": "TUNER"
           }
           {
             "id": "AUDIO1"
           }
      ]
}

The device has the following configuration properties:

| Property | Default | Type | Description | |:------------------|:---------|:--------|:--------------------------------------------| | interval | 20 | Number | The time interval in seconds (minimum 10) at which the power state of the AVR will be read | | buttons | see example | Array | The buttons to display for selection. See device configuration schema for details |

The following action is provided to switch the input source as part of rules

  • avr input <device> to "<id>", for example: avr input yamaha-avr to "tv"

YamahaAvrSceneSelector (Experimental)

Similar to the input selector, the YamahaAvrSceneSelector can be used switch the the input by selecting a scene if the AVR supports that feature. Allowed values for scene selection depend on the AVR model.

{
      "id": "avr-5",
      "name": "AVR Scene Selector",
      "class": "YamahaAvrSceneSelector"
      "buttons": [
           {
             "id": "TV"
           }
      ]
}

The device has the following configuration properties:

| Property | Default | Type | Description | |:------------------|:---------|:--------|:--------------------------------------------| | interval | 20 | Number | The time interval in seconds (minimum 10) at which the power state of the AVR will be read | | buttons | see example | Array | The buttons to display for selection. See device configuration schema for details |

History

See Release History.

License

Copyright (c) 2015-2018, Marcus Wittig and contributors. All rights reserved.

AGPL-3.0