Music Server Interface

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • hme0354
    MS Profi
    • 06.07.2019
    • 957

    #16
    Can you please explain me how to use all the virtual outputs?

    Pause, Play and volume is working. What is queue index? And for what du I use the time?
    Smarthome: 1x Miniserver Gen. 2, 3x Relay Extensions, 1x Tree Extension, 1x DI-Extension, 1x Air Base Extension, 8x RGBW Tree Dimmer, 9x Touch-Tree, 1x Nano DI Tree, 10x Tree BWM
    Technik: IDM Aero SLM 3-11 mit HGL, MS4H mit 9 Zonen, 2x Loxberry, 2x RPI für Anzeige, Doorbird, Froggit WH2600, POE+ System für Peripherie, Gedad Luftgütesensoren, Deconz (Bridge + 2x BWM + 2x RGBW + 5 Smartplug)

    Kommentar

    • hismastersvoice
      Supermoderator
      • 25.08.2015
      • 7189

      #17
      Index is for next/prev title, and jumps to the position with the number
      aa:aa:aa:aa:aa:aa playlist index <v>\r

      time/duration
      is used to show how long the song plays and how long the rest of the song is.
      The MS4L don´t provide this at the moment!
      The reason is that you have to send the time normally ever second. 2 VIs each Zone every second is a lot of traffic if some zones playing.

      Also Artwork and separtion of titel/artist is not provided for now.
      It works for me becouse I implementet it quick and dirty into squeeze2lox

      I will provide a beta version until the weekend that sends all the Data to the MiniServer to conect the VQs.
      For the future I send all values direct to port 6091/6092.. without going over the MiniServer. That avoids a lot of traffic.
      Zuletzt geändert von hismastersvoice; 14.04.2020, 18:55.
      Kein Support per PN!

      Kommentar


      • hme0354
        hme0354 kommentierte
        Kommentar bearbeiten
        ok. Index is like your Track >> and Track __, but insteat of +1 or -1 I have to use <v>.

        Really cool!! Thanks Gast and @hismastervoice for the great work!!

      • Gast
        Gast kommentierte
        Kommentar bearbeiten
        Traffic should be good enough for the Miniserver I think (commands are not sent very frequently, for time syncing once every 5 seconds, alternating sources should be good enough).

        But I agree, if we could get a plugin that bridges LMS to the 6091 simple commands that would be awesome! People could then install both plugins side-by-side and get a full music server just by putting my plugin side with yours; and if they want to perform extra functionality, rely on the UDP Virtual Inputs in Loxone Config.

        To be honest, that would be my way of finishing my own music server
    • Gast

      #18
      The script is showing the msg but there is no upadte in the App
      Bug caught; I'm not always sending an audio_event immediately after an update. Will publish the fix in 1.0.2.

      If I stop the plugin/musikserver the zone playes like before without stoping.
      How do you stop a zone? I tried finding the option but I could not (in fact, there is no virtual input to get the "stop" command from the UI).

      Kommentar


      • hismastersvoice
        hismastersvoice kommentierte
        Kommentar bearbeiten
        I have to check the stop, maybe it not stop it could also be paused. I will investigate what happens.
    • Gast

      #19
      I updated with 1.1.0 that should include the aforementioned bugfixes + shuffle as a virtual input now.

      hismastersvoice I noticed that commands (e.g. volume, time, queueIndex, etc) are only pushed to the Miniserver, by connecting to the IP provided by it when connecting. If you want to read/write directly from/to the plugin, I assume you would need the plugin to push you the UDP commands. Let me know if that's the case and I can implement an extra field on the configuration.

      Kommentar

      • Prof.Mobilux
        Supermoderator
        • 25.08.2015
        • 4626

        #20
        Gast I send you you pull request with some icons. Maybe not the best ones, but better than the standard "plug". It's dificult to find something which do not violate any (Loxone) coprights. So the icon is a combination between Logitech media Server Logo and LoxBerry "green house"-Logo.
        🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


        LoxBerry - Beyond the Limits

        Kommentar


        • Gast
          Gast kommentierte
          Kommentar bearbeiten
          Merged, thanks!
      • hismastersvoice
        Supermoderator
        • 25.08.2015
        • 7189

        #21
        Zitat von mjesun
        I updated with 1.1.0 that should include the aforementioned bugfixes + shuffle as a virtual input now.

        hismastersvoice I noticed that commands (e.g. volume, time, queueIndex, etc) are only pushed to the Miniserver, by connecting to the IP provided by it when connecting. If you want to read/write directly from/to the plugin, I assume you would need the plugin to push you the UDP commands. Let me know if that's the case and I can implement an extra field on the configuration.

        Now we do the following way
        LMS->Gateqway (squeeze2lox) -> MiniServer (VTI/VI) -> MiniServer VQ -> Interface-Plugin (VQs) -> Interface-Plugin (VI) -> MiniServer (VI) -> LMS

        LMS -> Gateway <-> Interface Plugin

        So it would be grate if we can set the IP for the MSG.
        Kein Support per PN!

        Kommentar

        • Gast

          #22
          The architecture I had in mind was more something like:

          Code:
          LMS -> Gateway <-> LMS Interface plugin <-> Music server interface plugin <-> Loxone UI
                                                                  ^
                                                                   \------------------> Miniserver UDP
          What changes it that the interface between the Gateway and the music server is done by a plugin, which can later be swapped. I'm aware for instance that madito has a CasaTunes Music Server, and other people have a Roon one, etc. People would install then the generic one (MSI) and the one crafted for their music server (LMS, CS, Roon, etc).

          What do you think? To be honest I'm not sure this architecture is feasible with the LMS Gateway, but hopefully that can be done

          ---

          Edit: if the plugin is not available for the technology used in people's systems, they can still configure that using the UDP virtual inputs, as the initial approach. So plugins are made available only for common solutions, avoiding the requirement of going through the Miniserver.
          Zuletzt geändert von Gast; 15.04.2020, 14:21.

          Kommentar

          • Smart
            Extension Master
            • 20.05.2016
            • 130

            #23
            Great work! Could it be possible to Control Sonos via the Music Server interface? :-)

            Kommentar


            • Smart
              Smart kommentierte
              Kommentar bearbeiten
              i thought about combining the loxone music server gateway with the sonos plugin of Liver_64 :-)

            • hismastersvoice
              hismastersvoice kommentierte
              Kommentar bearbeiten
              Should work if you get all the needed data from the plug-in.
              You have to set the VIs to the Sonos play pause etc commands instead of LMS commands. About the Artwork I'm not sure how to get it from sonos.

            • Smart
              Smart kommentierte
              Kommentar bearbeiten
              I`ll try it this evening - thank you!
          • hismastersvoice
            Supermoderator
            • 25.08.2015
            • 7189

            #24
            What changes it that the interface between the Gateway and the music server is done by a plugin, which can later be swapped. I'm aware for instance that madito has a CasaTunes Music Server, and other people have a Roon one, etc. People would install then the generic one (MSI) and the one crafted for their music server (LMS, CS, Roon, etc).

            What do you think? To be honest I'm not sure this architecture is feasible with the LMS Gateway, but hopefully that can be done
            I don`t think that it is a problem at all to create the gateway in a way that it works with your Pluign.
            The Gateway has to know some thing about the zones.
            LMS CLI-PORT to listen
            Mac-Address and the VI/VTI where to send to. So the Gateway acts if a command begins with the known Mac and send the Msg to the VI/VTI of the MiniServer / or direct to to the UDP Port.

            The Gateway can be installed on every Linux System like Loxberry or on the System by them self if Linux is running if the LMS-Port is not closed at the Firewall.
            Than it is possible to send all the needed Data to the Interface-Plugin.

            ---
            Edit: if the plugin is not available for the technology used in people's systems, they can still configure that using the UDP virtual inputs, as the initial approach. So plugins are made available only for common solutions, avoiding the requirement of going through the Miniserver.
            If you make the IP editable everbody has both options.
            If the IP is set to the Gateway, than the exchange is done direct. If it set to the MiniServer the exchange goes over the MiniServer.

            But I think the other systems like Rune etc. needs the same gateway to get the needed information from LMS, so the situation is always the same.
            As long an LMS is running and the CLI Port is open it should work with such a gateway.
            Kein Support per PN!

            Kommentar


            • hismastersvoice
              hismastersvoice kommentierte
              Kommentar bearbeiten
              If possible you can switch of the msg to the MiniServer if an IP is set, so the MiniServer has nothing to do if a the gateway is doing the work.

              My intention is always to keep away any work for the MiniServer if possible. If there is a Gen1 MiniServer in the system, like at the most User at the moment, the capacity is limited. As more the work is done from outside as better for the system.

            • Gast
              Gast kommentierte
              Kommentar bearbeiten
              Ah, understood. I didn't know that Gen1 was more limited in resources than Gen2. Yes, we can add a toggle to decide whether data should be sent to the Miniserver or not.

            • hme0354
              hme0354 kommentierte
              Kommentar bearbeiten
              There about 10years between the generations. My Project used about 95% in Gen 1 but only 20 in Gen 2
          • hme0354
            MS Profi
            • 06.07.2019
            • 957

            #25
            I tried the VIs and they all work. But the shuffle, not as it should. You could activate Shuffle, but not shuffle album (state 2) an deactivate shuffle (state 0). I think deaktivate doesn't work because there is no feedback to the miniserver and musikserver plugin.
            Smarthome: 1x Miniserver Gen. 2, 3x Relay Extensions, 1x Tree Extension, 1x DI-Extension, 1x Air Base Extension, 8x RGBW Tree Dimmer, 9x Touch-Tree, 1x Nano DI Tree, 10x Tree BWM
            Technik: IDM Aero SLM 3-11 mit HGL, MS4H mit 9 Zonen, 2x Loxberry, 2x RPI für Anzeige, Doorbird, Froggit WH2600, POE+ System für Peripherie, Gedad Luftgütesensoren, Deconz (Bridge + 2x BWM + 2x RGBW + 5 Smartplug)

            Kommentar

            • jviheavy
              Dumb Home'r
              • 19.08.2019
              • 22

              #26
              Hello,
              When is done, do you see the Music Server on line in "Devices State" in Loxone Config?
              Is in red or green the monitoring?
              Best regards

              Kommentar


              • hme0354
                hme0354 kommentierte
                Kommentar bearbeiten
                it is green and seems to be online!
            • jviheavy
              Dumb Home'r
              • 19.08.2019
              • 22

              #27
              Mine is in red

              In Loxberry:

              Install repository
              Restart Loxberry
              Set the number of zones to 4 (I don't know why another line appears with another music server)
              Restart Loxberry

              In Loxone Config:
              Configure MS http://192.168.3.76:6091
              Take zones to a page
              Load the MS configuration

              I try to restart the Loxberry or the MS but it does not work

              It seems very simple, but I don't understand why it doesn't work

              Does it have to have any services lactive SSDP?

              Best regards

              P.D.:
              Pictures attached
              Loxberry Current Version: 2.0.1.3
              Music Server Interface Version 1.0.1 (But I install the link from the wiki 2.0)
              Angehängte Dateien
              Zuletzt geändert von jviheavy; 16.04.2020, 07:44.

              Kommentar


              • jviheavy
                jviheavy kommentierte
                Kommentar bearbeiten
                When enter in http://192.168.3.76:6091/audio/cfg/all nothing happens...No results...no 404...the website doesn't exist
                I installed another Music Server from Loxone...and works fine
                Now I'm trying to enter in the by Configuration way but doen't works...Directly from the Loxone config neither...
                My Loxone version is 10.3.11.25

              • Gast
                Gast kommentierte
                Kommentar bearbeiten
                That is weird. It looks like other plugin daemon is preventing starting this one. Which other plugins do you have installed?

              • jviheavy
                jviheavy kommentierte
                Kommentar bearbeiten
                Thanks
                With SSH and this command: ~/bin/plugins/music-server-interface/index.sh
                Works perfect
            • Gast

              #28
              I just published 1.2.0 that contains a fix for shuffle (I'm not sure what I was thinking on when I programmed that part 😅), implemented repeat support (no repeat, single track repeat, full playlist repeat), and added some fake responses to some additional sections to avoid spinners being shown. My next focus will be to implement IP coding in the LoxBerry interface to decide where to send UDP messages.

              Kommentar

            • TomekWaw
              LoxBus Spammer
              • 25.07.2019
              • 435

              #29
              I just wanted to say I'm SO HAPPY I didn't miss this forum thread (and I start carefully following it).
              With my setup of 5 MS4Lox / LMS zones and the best UI solution I could accomplish so far it's as clean as it gets, but sill means 30 buttons in total.
              I'd me more than happy on possibility to change it to the native interface.
              Zuletzt geändert von TomekWaw; 16.04.2020, 01:48.
              Noch ein oder zwei Jahre mit Loxone und ich werde Deutsch sprechen

              Kommentar


              • Gagi
                Gagi kommentierte
                Kommentar bearbeiten
                Same here ;-)

                But the original MusicServer also supports external zones, does anybody know how it works there, maybe you can reuse the logic for the numbering ?

              • Gast
                Gast kommentierte
                Kommentar bearbeiten
                Glad to see you like it! I started the project 'cause I found myself in your position, where you wanted more of the UI but couldn't be done easily. The plugin is just scratching the surface of what can be done. I'm focusing first on getting the core player working (prev, next, play, pause, shuffle, repeat, etc) working. Then, favorites listing, saving and retrieving, external inputs (line ins), etc.

                Regarding the zones, all of them are implemented as INTERNAL (type 0). There are also UPNP zones (type 1), but given that the plugin does not distinguish between any of them (i.e. it just provides you virtual inputs to the actions, there is no "physical" zone behind it) I coded all of them as type 0.

                Line in's will come as a feature in the future because those are slightly different; they are "streams" of music only, and the UI reflects them as so. Keep tuned

              • hismastersvoice
                hismastersvoice kommentierte
                Kommentar bearbeiten
                I have tested it quick and dirty..
                We give every zone a number from 1-20 if the LMS shows an event for a Zone I send it to the Interface Plugin with the Number.
                If the number is >20-40 to the next music server. So in the App it don´t matter if it is an external Zone or internal.
                Now I have to look how it work best when I receive an Command for play etc.
                For the moment I sniff the Port 6091 or higher if there is more than one Music-Serer. If I do so I have to start a sniffer for every Port, have to check if I can sniff more than one Port in the same skript.
            • hismastersvoice
              Supermoderator
              • 25.08.2015
              • 7189

              #30
              Gast
              If you change the program to send to a different ip, it would be also helpful to send to a different port than the sender udp-Port.
              The sniffer stops some times with port already used if send an receive is the same port.
              Kein Support per PN!

              Kommentar

              Lädt...