Skip to content
A denon network receiver (telnet woohoo) to mqtt bridge process
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
.travis.yml
Dockerfile.template
LICENSE.md
Makefile
README.md
bridge.go
client.go
config.go
denon.go
go.mod
go.sum
interfaces.go
main.go
mqttClient.go More generic components Apr 21, 2019
wire.go
wire_gen.go

README.md

denon2mqtt

Software License Travis CI Coverage Status Go Report Card

Previously I used the Denon (note: not the Denon AVR) Home Assistant component, and it worked fine. I don't really know why I'm writing this, other than as an attempt to decouple my HA from some of my hardware via MQTT. I might just throw it away after awhile...

If you're looking for an MQTT replacement for the Denon AVR component, might I suggest the AVRMQTT project? It seems like it'd work nicely.

Installation

Via Docker

docker run -d --name="denon2mqtt" -e "DENON_HOST=avr.local" -v /etc/localtime:/etc/localtime:ro mannkind/denon2mqtt

Via Make

git clone https://github.com/mannkind/denon2mqtt
cd denon2mqtt
make
DENON_HOST="avr.local" ./denon2mqtt

Configuration

Configuration happens via environmental variables

DENON_HOST              - The reciver IP address or hostname
DENON_NAME              - [OPTIONAL] The name for the reciver, defaults to "receiver"
MQTT_TOPICPREFIX        - [OPTIONAL] The MQTT topic on which to publish the receiver status, defaults to "denon"
MQTT_DISCOVERY          - [OPTIONAL] The MQTT discovery flag for Home Assistant, defaults to false
MQTT_DISCOVERYPREFIX    - [OPTIONAL] The MQTT discovery prefix for Home Assistant, defaults to "homeassistant"
MQTT_DISCOVERYNAME      - [OPTIONAL] The MQTT discovery name for Home Assistant, defaults to "denon"
MQTT_CLIENTID           - [OPTIONAL] The clientId, defaults to "DefaultDenon2mqttClientID"
MQTT_BROKER             - [OPTIONAL] The MQTT broker, defaults to "tcp://mosquitto.org:1883"
MQTT_USERNAME           - [OPTIONAL] The MQTT username, default to ""
MQTT_PASSWORD           - [OPTIONAL] The MQTT password, default to ""

Home Assistant Configuration

- platform: universal
  name: "Denon"
  children:
    - media_player.other_entity_id
  commands:
    turn_on:
      service: switch.turn_on
      data:
        entity_id: switch.denon_receiver_power
    turn_off:
      service: switch.turn_off
      data:
        entity_id: switch.denon_receiver_power
    volume_mute:
      service: switch.toggle
      data:
        entity_id: switch.denon_receiver_muted
    volume_up:
      service: mqtt.publish
      data:
        topic: "home/denon/receiver/media/command"
        payload: "volume_up"
    volume_down:
      service: mqtt.publish
      data:
        topic: "home/denon/receiver/media/command"
        payload: "volume_down"
    select_source:
      service: mqtt.publish
      data_template:
        topic: "home/denon/receiver/source/command"
        payload: "{{ source }}"
    volume_set:
      service: mqtt.publish
      data_template:
        topic: "home/denon/receiver/volume/command"
        payload: "{{ volume_level }}"

  attributes:
    state: switch.denon_receiver_power
    is_volume_muted: switch.denon_receiver_muted
    volume_level: sensor.denon_receiver_volume
    source: sensor.denon_receiver_source|source_list
You can’t perform that action at this time.