Version history and releases can be found in Github: https://github.com/mjesun/loxberry-music-server-interface
Note: right now the plugin is in a very early phase of development, and it's currently unstable. Please report bugs through the GitHub interface. Some help is also welcome, especially in the Virtual IO and the Web interface parts. Thanks for your understanding!
This plugin provides a fake music server that the Loxone Miniserver can connect to. Fake music servers are created in different ports of the LoxBerry, starting at port 6091. Each fake music server can be configured with an arbitrary number of zones. The Music Server interface provides virtual inputs and outputs into the Loxone Miniserver, from which you can act based on the different actions provided by the Music Zone interface. While this may seem to be a tricky setup, it enables users to configure whatever action they want when the user clicks play, pause, etc.
Installation is fairly straightforward:
- Download and install the ZIP file and restart the LoxBerry.
- Configure the amount of music servers you want, and their zones. Restart the LoxBerry again.
- Head to the Loxone Config, and add a Music Server (Audio/Add Audio Server/Loxone Music Server/Loxone Music Server x Zones).
- Set as its address http://192.168.1.2:6091, where
192.168.1.2is the IP address of the LoxBerry.
- Drag the first zone of the Music Server and make it visible in the UI. After rebooting you should get the zone as connected, with the player stopped.
Now it's time to bring in the virtual inputs and outputs to be able to act on them. You can download templates for both of them from the configuration page.
- Virtual inputs: those will let you know when something happens in a zone, triggered by the user. You have access to the following inputs:
- Play: digital, will emit a pulse when starting to play.
- Pause: digital, will emit a pulse when pausing.
- Volume: analog, represents the volume set by the user on a
- Time: analog, represents the current time set by the user, in seconds (e.g. when seeking).
- Queue index: analog, represents the position in the queue, as
- Shuffle: analog, represents the shuffling state (
0= not active,
- Repeat: analog, represents the repeating state (
0= do not repeat,
1= repeat one song,
2= repeat playlist).
- Virtual outputs: those will let you inform the plugin about data needed by the player. After importing them, and before anything else, you will have to configure the IP of the LoxBerry, replacing
<LOXBERRY_IP>by the real IP. You have access to the following outputs:
- Title: text, push the title of the current song being played.
- Album: text, push the album of the current song being played.
- Artist: text, push the album of the current song being played.
- Duration: analog, push the duration, in seconds, of the current song being played. Pushing 0 will set the player in "streaming" mode.
- Time: analog, push the time of the current song being played. This is not required, but useful to keep the fake and the real music server in sync.
If you need a digital exit where on/off means playing/not-playing, use an RS Flip-flop:
- Make sure you've got the plugin running. You can check that by heading to http://192.168.1.2:6090/, where
192.168.1.2is the IP address of the LoxBerry, and you should get a 404. If not, make sure the service is active. Service should start at boot time, so restarting the LoxBerry should suffice to bring it back.
- Make sure you have got at least one server configured. If so, head to http://192.168.1.2:6091/audio/cfg/all, where
192.168.1.2is the IP address of the LoxBerry, and you should see some JSON with a fake configuration. If not, there is probably a bug in the service.
- Write better documentation, both in this page, the LoxForum, and the GitHub project.
- Automate releases.
- Make auto-upgrades work.
- Translate the plugin to other languages.
- Make the configuration page better.
- Support zone favorites via UI.
- Support line-in and other sources of audio.
- Show shuffling and repeating.
- Get full list of files and favorites.
- Provide data for streaming services provided (Spotify, etc.).