GithubHelp home page GithubHelp logo

fjgalesloot / roon-extension-mqtt Goto Github PK

View Code? Open in Web Editor NEW
16.0 16.0 5.0 59 KB

Roon Extension to integrate Roon into home automation systems by using the MQTT protocol.

License: Apache License 2.0

JavaScript 95.66% Dockerfile 3.68% Shell 0.66%

roon-extension-mqtt's People

Contributors

fjgalesloot avatar nseibert avatar volschin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

roon-extension-mqtt's Issues

Docker important note

Don't forget to set the docker container to use host network

here my docker-compose.yaml or stack using portainer

version: "2"
services:
  roon-extension-mqtt:
    image: fjgalesloot/roon-extension-mqtt:latest
    container_name: roon-extension-mqtt
    network_mode: "host"
    restart: unless-stopped
    environment:
      - TZ=Europe/Zurich
    volumes:
      - /home/my-username/roon-extension-mqtt/config:/usr/src/app/config/

Output control randomly not working

Hello, I have some issues with the MQTT Extension.
I use it to control the volume of multiple zones and global playback.
The playback control works everytime, but the volume control randomly stops working, only after a restart of the extension it works again.

In the logs I found this:
received mqtt packet: topic=roon/FullHouse/outputs/Cuisine/volume/set, message=20
*** we know of zones: [ 'FullHouse', 'FullHouse + 2' ]
*** find output id for zone=FullHouse, output=Cuisine
*** output Cuisine not found in zone FullHouse!
*** we know of zones: [ 'FullHouse', 'FullHouse + 2' ]
*** zoneevent=zones_seek_changed
*** we know of zones: [ 'FullHouse', 'FullHouse + 2' ]
*** zoneevent=zones_seek_changed
*** we know of zones: [ 'FullHouse', 'FullHouse + 2' ]
*** zoneevent=zones_seek_changed
*** we know of zones: [ 'FullHouse', 'FullHouse + 2' ]
*** zoneevent=zones_seek_changed
*** we know of zones: [ 'FullHouse', 'FullHouse + 2' ]
*** zoneevent=zones_seek_changed
received mqtt packet: topic=roon/FullHouse/outputs/Salon/volume/set, message=mute
*** we know of zones: [ 'FullHouse', 'FullHouse + 2' ]
*** find output id for zone=FullHouse, output=Salon
*** output Salon not found in zone FullHouse!
*** we know of zones: [ 'FullHouse', 'FullHouse + 2' ]
*** zoneevent=zones_seek_changed
*** we know of zones: [ 'FullHouse', 'FullHouse + 2' ]
*** zoneevent=zones_seek_changed
received mqtt packet: topic=roon/FullHouse/outputs/Salon/volume/set, message=mute
*** we know of zones: [ 'FullHouse', 'FullHouse + 2' ]
*** find output id for zone=FullHouse, output=Salon
*** output Salon not found in zone FullHouse!

After a restart of the extension it looks like that:
*** we know of zones: [ 'FullHouse + 2' ]
*** zoneevent=zones_seek_changed
*** we know of zones: [ 'FullHouse + 2' ]
*** zoneevent=zones_seek_changed
received mqtt packet: topic=roon/FullHouse/outputs/Cuisine/volume/set, message=20
*** we know of zones: [ 'FullHouse + 2' ]
*** find output id for zone=FullHouse + 2, output=Cuisine
-> REQUEST 9 com.roonlabs.transport:2/change_volume {"output_id":"170162dfe691ccc85358d8a350ecd3046da6","how":"absolute","value":20}

What I did:

  • Extension reinstalled on the same Linux virtual machine
  • Extension installed in a new docker extension manager
  • roon server reinstalled without restoring an old backup
  • reinstalled all RoPieee Endpoints
  • Endpoints and Extension Manager migrated in a separate Subnet

Sometimes it works for days without any issue, sometimes it stops multiple times a day.

What I am doing wrong?

Limited subscription data

Thanks for this very handy extension--very cool!

When I monitor all messages being passed through the broker (with two zones playing in this example, but same result with one zone), I only see roon/[zonename]/queue_time_remaining and roon/[zonename]/seek_position. You refer to the now_playing and other topics, so I wasn't sure if I was missing something here.

Thanks again!

Adjust Volume setting to min /max

If volume ist set to a value outside min/max the value is accepted.

It should be adjusted to be between min and max. I'm not sure if this is really a problem of the extension or should better be handled in the core.

Group Zones

Is it possible to group zones together using mqtt? if not is this something that could be implented?

Shuffle/Repeat for existing playlist/zoning?

Hi!

I am not 100% sure I understood the documentation correctly, but is it currently not possible to control shuffle/repeat for the current playlist?

I can read the setting from roon//settings/* but there seems to be no way to set them...

Modifing zones/handing off audio to other zones is currently also not supported?

Both options seem to be present in the API in general...

Smaller Docker image

The node standard base Image is fairly large. Iโ€˜m testing a smaller one at the Moment and will deliver a PR shortly.

Mute / Unmute

Setting a volume doesn't unmute a muted zone. So it would be helpful to have control via mqtt also, or at least unmute a muted device by setting the volume.
At least for playing live radio stations via roon mute instead of pause makes sense IMO.

any build for arm/raspberry platform

Dear all,

i strugle to get this docker running on my raspberry pi 4, which I use for home automation extensions.

If I specify platfor command with linux/arm/v7 I get following issue:

root@loxberry:/opt/roonmqtt# docker run -v /opt/roonmqtt/:/usr/src/app/config/ --platform linux/arm/v7 fjgalesloot/roon-extension-mqtt
Unable to find image 'fjgalesloot/roon-extension-mqtt:latest' locally
latest: Pulling from fjgalesloot/roon-extension-mqtt
Digest: sha256:4e06957c9fd550cc4ed66dcce7328d52f6b8a14572710f9a8cac7af78a10bf13
Status: Image is up to date for fjgalesloot/roon-extension-mqtt:latest
docker: Error response from daemon: image with reference fjgalesloot/roon-extension-mqtt was found but does not match the specified platform: wanted linux/arm/v7, actual: linux/amd64.
See 'docker run --help'.

Is there any way to get this running on raspberry?
Thank you so much for your work!
Rest regargs, NiDr

Stopping the service

I wanted to switch my service to another pi , now how can I stop the service?there is no stop command within the systemd file...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.