Music Server Interface

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Lee
    Dumb Home'r
    • 08.09.2017
    • 15

    Please don't let the MSI die. I liked the idea with the virtual I/Os about the mini server. I use the plugin to easily integrate different music systems into Loxone without the need of a MS4L or LMS.
    Or is it possible to connect VIs/VOs to the MSG?
    Zuletzt geändert von Lee; 02.08.2020, 23:43.

    Kommentar


    • Gast
      Gast kommentierte
      Kommentar bearbeiten
      Not yet, but it should be possible to create a MSG <-> UDP VI/VO plugin easily. Once MSG is considered stable I can take a look at transforming MSI into a plugin that connects to MSG. What is sure by now is that MSI, if it keeps existing, should not take care of the communication with Loxone; because this has proven to be a big mess and it's better to have it isolated in MSG.

    • Lenardo
      Lenardo kommentierte
      Kommentar bearbeiten
      full agree, with the MSI i can use also the Bose API to bring the datas in the Loxone MS-GUI, but the advantage from the LMS is i can connect to other airplay loudspeakers, so i prefer LMS as media center. have still a few problems to connect all VI`s to VO`s, but great work from the developers here !

    • Lee
      Lee kommentierte
      Kommentar bearbeiten
      Gast If you could provide such a plugin for MSG that would be great. Thank you for your great work.
  • Lenardo
    MS Profi
    • 25.08.2015
    • 602

    in der Beschreibung auf Github steht das die Cover mit einem Bild Link in das MSI gepusht werden können, auf Loxwiki hingegen steht in der Beschreibung davon nichts, was stimmt ?

    Data expected to be received by the Music Server
    • setTitle::<TITLE>: sets the title of the song being played. This is used in multiple places of the UI.
    • setAlbum::<ALBUM>: sets the album name.
    • setArtist::<ARTIST>: sets the artist(s) name(s).
    • setCover::<COVER>: sets the URL of the cover to be shown. Any HTTP or HTTPS URL is valid. This is not required, but covers are shown in multiple places of the UI.
    • setDuration::<DURATION>: sets the duration, in seconds, of the current song being played.
    • setTime::<TIME>: used to set internally the current time. This is not required, but it helps to keep the time shown in the UI accurately synced with the internal player time.

    Kommentar

    • hismastersvoice
      Supermoderator
      • 25.08.2015
      • 7189

      Du musst die CoverArt URL aus dem LMS auslesen und senden. Dann wird ein Cover angezeigt.
      Kein Support per PN!

      Kommentar


      • Lenardo
        Lenardo kommentierte
        Kommentar bearbeiten
        danke muss nur das richtige format haben
    • Prof.Mobilux
      Supermoderator
      • 25.08.2015
      • 4626

      hismastersvoice Wie findest Du bei den Favoriten heraus, um welche Art von "Datei" bzw, Stream es sich handelt? Wenn ich einen Favoriten speichere, bekomme ich vom MSG folgendes zurück:

      Code:
      {
      "id": "32:60:67:3c:06:74",
      "title": "ABBA - Ring Ring (Definitive Collection CD 1)",
      "image": "http://192.168.3.97:9000/music/current/cover.jpg?player=32:60:67:3c:06:74&id=1600891340"
      }
      Anhand des Titels sehe ich ja nun nicht, ob es sich um ein File handelt, um einen Albumtitel, eine "richtige" Stream-URL oder etwas aus Spotify. Aber die Information brauche ich ja, um dan Favoriten im LMS zu speichern.

      Wie hast Du das gelöst?
      🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


      LoxBerry - Beyond the Limits

      Kommentar

      • hismastersvoice
        Supermoderator
        • 25.08.2015
        • 7189

        War bei mir das gleiche Problem.
        Ich mache das so:

        Globale-Favs (favorites.opml) aus LMS lesen in JSON umwandeln und als eigenes File speichern
        Somit kann habe ich alle Favs für das MSG um sie in der App anzuzeigen.

        Code:
        {"total": 13, "items": [{
        "id": "fav:0",
        "url": "http://opml.radiotime.com/Tune.ashx?id=s24896&formats=aac,ogg,mp3,wmpro,wma, wmvoice&partnerId=16&serial=750e5cf1d34bf17ffcab36 593f7ce799",
        "title": "SWR3",
        "image": "http://cdn-profiles.tunein.com/s24896/images/logoq.png?t=1" },{
        "id": "fav:1",
        "url": "http://opml.radiotime.com/Tune.ashx?id=s20291&formats=aac,ogg,mp3,wmpro,wma, wmvoice&partnerId=16&serial=750e5cf1d34bf17ffcab36 593f7ce799",
        "title": "SWR1 Baden-Württemberg",
        "image": "http://cdn-profiles.tunein.com/s20291/images/logoq.png?t=1" },{
        "id": "fav:2",
        "url": "http://opml.radiotime.com/Tune.ashx?id=s37126&formats=aac,ogg,mp3,wmpro,wma, wmvoice&partnerId=16&serial=750e5cf1d34bf17ffcab36 593f7ce799",
        "title": "SWR Aktuell",
        "image": "http://cdn-profiles.tunein.com/s37126/images/logoq.png?t=153243" },{
        "id": "fav:3",
        "url": "spotify:user:spotify:playlist:37i9dQZF1DWSWyJydK4fTU",
        "title": "Top of the Morning",
        "image": "https://i.scdn.co/image/e9b8e2e1e9624e6eec20e3781df4420d6e5325cb" },{
        "id": "fav:4",
        "url": "spotify:playlist:37i9dQZF1EtsqjKrtRB2MN",
        "title": "Deine Top Tracks aus 2019",
        "image": "https://lineup-images.scdn.co/your-top-songs-2019_DEFAULT-de.jpg" },{
        "id": "fav:5",
        "url": "spotify:playlist:1qErKv5LbnaWtst1w6iiGU",
        "title": "Radio-Favoriten",
        "image": "https://i.scdn.co/image/ab67616d0000b27360a98c3be4daffefe9014c7e" },{
        "id": "fav:6",
        "url": "spotify:playlist:37i9dQZF1DWWYIyS8LLUDj",
        "title": "This Is Stevie Wonder",
        "image": "https://i.scdn.co/image/ab67706f00000002fcac3bd5ce244380d871e0d2" },{
        "id": "fav:7",
        "url": "spotify:playlist:37i9dQZF1DX8TvdyVZSYFY",
        "title": "Acoustic Throwbacks",
        "image": "https://i.scdn.co/image/ab67706f00000002b993db2853bd63806df2464f" },{
        "id": "fav:8",
        "url": "spotify:album:2Sp7RyPLGufav4PONZLztX",
        "title": "The Singles '82 - '88 von Marillion",
        "image": "https://i.scdn.co/image/ab67616d0000b273ec500071e0c7b546565687a4" },{
        "id": "fav:9",
        "url": "spotify:album:3cjyoPcUrOMSvQlKWrcpnR",
        "title": "The Singles '89-'95 von Marillion",
        "image": "https://i.scdn.co/image/ab67616d0000b2738404eddaefcecc8192a9433d" },{
        "id": "fav:10",
        "url": "spotify:playlist:37i9dQZEVXbJiZcmkrIHGU",
        "title": "Top 50 Deutschland",
        "image": "https://charts-images.scdn.co/REGIONAL_DE_DEFAULT.jpg" },{
        "id": "fav:11",
        "url": "spotify:playlist:37i9dQZF1DX4UtSsGT1Sbe",
        "title": "All Out 80s",
        "image": "https://i.scdn.co/image/ab67706f00000003297a97cd74f463daac3aacae" },{
        "id": "fav:12",
        "url": "spotify:album:7Hc3m7konwS0ugyN8vJhNg",
        "title": "S&M2 von Metallica, San Francisco Symphony",
        "image": "https://i.scdn.co/image/ab67616d0000b2731cc6d15e607e0a514b7f4b95" }]}{"total": 13, "items": [{
        "id": "fav:0",
        "url": "http://opml.radiotime.com/Tune.ashx?id=s24896&formats=aac,ogg,mp3,wmpro,wma, wmvoice&partnerId=16&serial=750e5cf1d34bf17ffcab36 593f7ce799",
        "title": "SWR3",
        "image": "http://cdn-profiles.tunein.com/s24896/images/logoq.png?t=1" },{
        "id": "fav:1",
        "url": "http://opml.radiotime.com/Tune.ashx?id=s20291&formats=aac,ogg,mp3,wmpro,wma, wmvoice&partnerId=16&serial=750e5cf1d34bf17ffcab36 593f7ce799",
        "title": "SWR1 Baden-Württemberg",
        "image": "http://cdn-profiles.tunein.com/s20291/images/logoq.png?t=1" },{
        "id": "fav:2",
        "url": "http://opml.radiotime.com/Tune.ashx?id=s37126&formats=aac,ogg,mp3,wmpro,wma, wmvoice&partnerId=16&serial=750e5cf1d34bf17ffcab36 593f7ce799",
        "title": "SWR Aktuell",
        "image": "http://cdn-profiles.tunein.com/s37126/images/logoq.png?t=153243" },{
        "id": "fav:3",
        "url": "spotify:user:spotify:playlist:37i9dQZF1DWSWyJydK4fTU",
        "title": "Top of the Morning",
        "image": "https://i.scdn.co/image/e9b8e2e1e9624e6eec20e3781df4420d6e5325cb" },{
        "id": "fav:4",
        "url": "spotify:playlist:37i9dQZF1EtsqjKrtRB2MN",
        "title": "Deine Top Tracks aus 2019",
        "image": "https://lineup-images.scdn.co/your-top-songs-2019_DEFAULT-de.jpg" },{
        "id": "fav:5",
        "url": "spotify:playlist:1qErKv5LbnaWtst1w6iiGU",
        "title": "Radio-Favoriten",
        "image": "https://i.scdn.co/image/ab67616d0000b27360a98c3be4daffefe9014c7e" },{
        "id": "fav:6",
        "url": "spotify:playlist:37i9dQZF1DWWYIyS8LLUDj",
        "title": "This Is Stevie Wonder",
        "image": "https://i.scdn.co/image/ab67706f00000002fcac3bd5ce244380d871e0d2" },{
        "id": "fav:7",
        "url": "spotify:playlist:37i9dQZF1DX8TvdyVZSYFY",
        "title": "Acoustic Throwbacks",
        "image": "https://i.scdn.co/image/ab67706f00000002b993db2853bd63806df2464f" },{
        "id": "fav:8",
        "url": "spotify:album:2Sp7RyPLGufav4PONZLztX",
        "title": "The Singles '82 - '88 von Marillion",
        "image": "https://i.scdn.co/image/ab67616d0000b273ec500071e0c7b546565687a4" },{
        "id": "fav:9",
        "url": "spotify:album:3cjyoPcUrOMSvQlKWrcpnR",
        "title": "The Singles '89-'95 von Marillion",
        "image": "https://i.scdn.co/image/ab67616d0000b2738404eddaefcecc8192a9433d" },{
        "id": "fav:10",
        "url": "spotify:playlist:37i9dQZEVXbJiZcmkrIHGU",
        "title": "Top 50 Deutschland",
        "image": "https://charts-images.scdn.co/REGIONAL_DE_DEFAULT.jpg" },{
        "id": "fav:11",
        "url": "spotify:playlist:37i9dQZF1DX4UtSsGT1Sbe",
        "title": "All Out 80s",
        "image": "https://i.scdn.co/image/ab67706f00000003297a97cd74f463daac3aacae" },{
        "id": "fav:12",
        "url": "spotify:album:7Hc3m7konwS0ugyN8vJhNg",
        "title": "S&M2 von Metallica, San Francisco Symphony",
        "image": "https://i.scdn.co/image/ab67616d0000b2731cc6d15e607e0a514b7f4b95" }]}

        Die Room-Favs speichere ich nach meinem eigenen Schema ab indem ich die URL der entsprechenden Globalen-Fav mit abspeichere.
        Beim Play suche ich dann die entsprechende ID und ziehe die URL.
        Somit ist ist es egal ob Spotify, Datei, Stream...

        Code:
        {
        "total":8,
        "items":[
        {
        "id":"room_fav:0",
        "url":"http:\/\/opml.radiotime.com\/Tune.ashx?id=s24896&formats=aac,ogg,mp3,wmpro,wma, wmvoice&partnerId=16&serial=750e5cf1d34bf17ffcab36 593f7ce799",
        "title":"SWR3",
        "image":"http:\/\/cdn-profiles.tunein.com\/s24896\/images\/logoq.png?t=1\/image.png"
        },
        {
        "id":"room_fav:1",
        "url":"http:\/\/opml.radiotime.com\/Tune.ashx?id=s20291&formats=aac,ogg,mp3,wmpro,wma, wmvoice&partnerId=16&serial=750e5cf1d34bf17ffcab36 593f7ce799",
        "title":"SWR1 Baden-W\u00fcrttemberg",
        "image":"http:\/\/cdn-profiles.tunein.com\/s20291\/images\/logoq.png?t=1\/image.png"
        },
        {
        "id":"room_fav:2",
        "url":"http:\/\/opml.radiotime.com\/Tune.ashx?id=s37126&formats=aac,ogg,mp3,wmpro,wma, wmvoice&partnerId=16&serial=750e5cf1d34bf17ffcab36 593f7ce799",
        "title":"SWR Aktuell",
        "image":"http:\/\/cdn-profiles.tunein.com\/s37126\/images\/logoq.png?t=153243\/image.png"
        },
        {
        "id":"room_fav:3",
        "url":"spotify:user:spotify:playlist:37i9dQZF1DWSWyJydK4fTU",
        "title":"Top of the Morning",
        "image":"https:\/\/i.scdn.co\/image\/e9b8e2e1e9624e6eec20e3781df4420d6e5325cb"
        },
        {
        "id":"room_fav:4",
        "url":"spotify:playlist:37i9dQZF1EtsqjKrtRB2MN",
        "title":"Deine Top Tracks aus 2019",
        "image":"https:\/\/lineup-images.scdn.co\/your-top-songs-2019_DEFAULT-de.jpg"
        },
        {
        .......
        Es steckt immer viel Aufwand in der Aufbereitung der Daten.
        Das gesamte PHP File liegt in /opt/music_server/msg/index.php und ist inzwischen auch recht groß für die paar Funktionen

        PS:
        Wenn sich in der Fav-Datei etwas ändert wird das in der CLI gemeldet, und ich lasse die Global-Fav-Datei neu erzeugen.
        So ist direkt nach dem Anlegen eines neuen Fav im LMS dieser auch in der App zu sehen.
        Kein Support per PN!

        Kommentar


        • hismastersvoice
          hismastersvoice kommentierte
          Kommentar bearbeiten
          Ich habe mich um SSE bis jetzt nicht weiter gekümmert. Hatte ein paar Versuche am Anfang gemacht, aber bin nicht weiter gekommen, und habe es dann wieder sein gelassen.

          Wenn ich es richtig verstehe muss in den Ordner des SSE etwas geschrieben werden. Aber wie und in was für einer Form... Keine Ahnung.

          Ich habe auch schon einiges am Code verändern müssen, um zB die reale MAC-Adresse anstatt einer Fake an den MusikServer zu senden, da ansonsten das starten des MusikServer per WOL aus der App heraus nicht funktioniert.

          Wenn es hier nicht weiter geht, werde ich in den Witter-Monaten versuchen das ganze weiter umzusetzen. Allerdings muss ich bei 0 beginnen da ich in Java nicht fit bin und wohl PHP nutzen müsste.
          Das MSG erzeugt durch das Abfragen alle 5 Sekunden eine ordentliche Last wenn zB wie bei mir insgesamt 13 Zonen bearbeitet werden.
          Durchschnittlich 5-6% mehr CPU Last, das finde ich unnötig.

        • Prof.Mobilux
          Prof.Mobilux kommentierte
          Kommentar bearbeiten
          Mmmhh, ok. Schade, dass das hier so stockt und auch etwas "eigenwillige" Protokolle verwendet werden. Hätte man alles etwas schlanker implementieren können und auch "gängige" Schnittstellen verwenden können. Ich hab übrigens jetzt im Squeezelite Plugin auch die MSG Implementierung vom MS4Home übernommen.

        • Prof.Mobilux
          Prof.Mobilux kommentierte
          Kommentar bearbeiten
          Ah, sehe gerade, dass es implementiert wurde: https://github.com/mjesun/loxberry-m...ADME.md#events Mal sehen, ob mich irgendwie schaffe so einen SSE-Server (was immer das auch ist) aufzusetzen...
      • hodojazi
        Extension Master
        • 03.10.2016
        • 102

        I really like the concept of this plugin and want to thank you for it!

        I installed it and got in working in the way that the zone shows artist and title. But after clicking it, the interfaces does not open and keeps hanging on the loading-screen. I see those kind of errors in the Chrome Developer Console:
        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Screenshot 2020-09-26 at 21.33.10.png Ansichten: 0 Größe: 279,2 KB ID: 267111

        192.168.0.4 is the miniserver.
        192.168.0.5 is the loxberry.

        My plugin settings are:
        • Music servers: 1
        • Music Server 1 is located in port 6091:
        • Zones: 2
        • Send to miniserver as virtual inputs/outputs: checked
        • IPs to send messages (comma separated list): 192.168.0.4

        Aside of that I have trouble receiving the UDP messages in Loxone. Receiving port seems to be correct and sending those kind of messages via bash works from the loxberry.

        Any ideas what I could check next?
        Zuletzt geändert von hodojazi; 26.09.2020, 21:42.

        Kommentar

        • Juras
          Smart Home'r
          • 10.09.2016
          • 36

          Aby idea how integrate favourites radios from LMS?

          Kommentar

          • J V
            LoxBus Spammer
            • 28.08.2015
            • 367

            The version on the repository is still listed as "unstable"... I have installed it on my Loxberry but have not yet integrated it... I'm using LMS. Will there be big changes to the plugin or should I wait for it to come to the Squeezelite plugin?

            Kommentar

            • Gagi
              LoxBus Spammer
              • 20.01.2018
              • 289

              Hi,

              ich hab mir die letzten Tage mal den MSG source code angeschaut und mal angefangen damit ein bisschen rumzuspielen. Nachdem ja Gast ja im Moment gerade Zeit dafuer hat, dachte ich koennte man ja trotzdem schonmal ein bisschen weiterarbeiten und das upstreamen wenn er wieder Zeit hat ;-)

              Damit ich den Code verstehe und auch vernuenftig erweitern kann, hab ich mir gleich im MSG eine Anbindung an den LMS programmiert incl. der notification events falls sich was aendert. Ich will damit nicht in Konkurrenz mit Prof.Mobilux oder hismastersvoice treten, ich seh aber durchaus das Potenzial bestimmte generische Logik zu teilen und nur spezifische Teile wie TTS oder equalizer in den jeweiligen Projekten zu handeln, aber das ist anderes Thema, muss man auch nicht so machen, ich bin offen fuer alles

              Kurz mal zu dem was in meiner Implementierung geht (wobei das recht aehnlich ist zu dem was in den anderen Servern auch schon geht):
              • Current Track Info + Cover
              • Play/Pause, repeat, shuffle
              • Global Favs
              • Playlists
              • Play-Queue anzeige
              Es gibt noch Probleme mit den coverarts an manchen Stellen, aber das sollte leicht zu loesen sein. Speziell beim Managen der Listen ist mir aber aufgefallen, dass doch noch ein paar calls im MSG fehlen bzw. nicht richtig weitergegeben werden, deswegen funktioniert oft das loeschen von elementen nicht richtig.
              Bei der Play-Queue ist mir aufgefallen dass sie zwar richtig angezeigt wird, aber der index immer falsch ist, auch wenn man weiter springt. Den Fehler im MSG hab ich auch schon gefunden und mein Plan ist das zumindest mal in einem Fork mal zu fixen.
              Aehnlich ist es bei der Library. Etwas anzuzeigen geht ohne Probleme (auch incl. Cover). Das sind dann aber immer Tracks, die man direkt abspielen kann. Der MSG kodiert das Moment hart, deswegen ist das Momentan auch wenig sinnvoll zu verwenden. Ich hab damit auch mal rumgespielt und wenn man den Typ aendert kann man auch einen richtigen Tree aufbauen zum navigieren. Was mir momentan fehlt ist ne Idee was die Library denn eigentlich sein soll. Soll das die Ordner anzeigen oder eher wie die Library im LMS also unterteilt nach Artist, Album etc. ? Hat denn jemand zufaellig einen MusikServer bzw. den Audioserver und kann ein video oder so machen vom UI was da denn drinn ist ?

              Ich hab mir auch ein wenig die Spotify bzw. Radio integration angeschaut und denke dass ich ungefaehr verstehe wie man das implementieren muss, allerdings ist mir auch aufgefallen dass es fuer die Library auch noch servies gibt, aber daraus werde ich im Moment nicht schlau ohne mal ne App mit vollem Umfang gesehen zu haben.

              Gruss
              Gagi

              Kommentar

              • Gagi
                LoxBus Spammer
                • 20.01.2018
                • 289

                Ich hab die letzten Tage mal ein bisschen weiter gebaut und gerade für das Queue handling ein paar calls im MSG gefixt. Meine Version findet ihr hier:



                Wenn ihr den MSG so startet wie er ist, arbeitet er weiterhin als Gateway und leitet alle calls an euer REST interface weiter. Zusätzlich zum normalen MSG hab ich jetzt folgende Änderungen gemacht:
                • PlayQueue support
                • Correctly showing the current Index in the playqueue
                • Show RadioStations as such in the play queue and current song info
                • Changing the current song in the queue, also by swiping the cover
                • Removing and moving songs within the queue
                • Adding new Tracks to the Queue
                • Inserting Tracks to be played next
                • Fixed saving current Track as favorite
                Zusätzlich gibt es auch eine config.json. In der config.json könnt ihr plugin auf "lms" setzen und die restlichen Optionen konfigurieren und der MSG benutzt meine LMS integration um per TCP sockets direkt mit dem LMS zu reden.

                Beim testen ist mir aufgefallen das die App wohl keine langen Queues mag, zumindest ist die App unbedienbar wenn ich ne Spotify Playlist mit 400 Tracks lade. Evtl. kann das ja jemand bei nem MusicServer bzw. Audioserver testen.

                Die Playlisten sind zwar im MSG schon implementiert, allerdings sind sie noch nicht navigierbar. Das werde ich als nächstes angehen. Damit sollte man dann auch die Tracks in einer Playlist organisieren können. Sobald das fertig ist, sollte es eigentlich auch nicht mehr so viel Aufwand sein Radio und Spotify rein zu kriegen, nur die Suche ist mir noch ein bisschen schleierhaft.

                P.S. Das Durchsage Feature hab ich mir auch schon angeschaut. Da wird eine Aufnahme über SMB hochgeladen und dann abgespielt. Das sollte man auch hinbekommen ;-)

                Kommentar

                • hismastersvoice
                  Supermoderator
                  • 25.08.2015
                  • 7189

                  Wenn du direkt mit dem LMS agierst, wie löst du das mit RoomFavs etc?

                  mjesun hat ja SSE integriert, ich habe allerdings keine Ahnung wie ich das einsetzten kann/soll um die Zonen nur bei Änderung upzudaten.
                  Hast du dafür eine Lösung?
                  Mir wäre eine UDP Schnittstelle lieber als dieses SSE so im Sinne von ich schicke ein UDP Befehl und er gibt den Befehl weiter an MiniServer oder App etc.

                  Was auch noch im Musikbaustein fehlt, ist min. max volume und sleep.

                  Das mit der Durchsage wäre wirklich sehr cool, das vermisse ich tatsächlich... bzw. meine Frau

                  Das mit den langen Listen ist bekannt, bei der WindowsApp ist das ab 250 schon ein Problem. Ich glaube das Loxone das auch auf 200 oder so begrenzt hat.
                  Zuletzt geändert von hismastersvoice; 07.10.2020, 19:50.
                  Kein Support per PN!

                  Kommentar


                  • Gagi
                    Gagi kommentierte
                    Kommentar bearbeiten
                    50 ist das Abfrage window. Zusätzlich sendest du ja auch total. Das total sind alle Tracks in der Queue. Sobald die App die ersten 50 hat, fragt es dann die nächsten 50 an: audio/2/getqueue/50/50

                  • hismastersvoice
                    hismastersvoice kommentierte
                    Kommentar bearbeiten
                    Kann mich errineren das es hier im Forum mal einen Thread darüber gab das Loxone mit zu langen Playlisten nicht umgehen kann.
                    Aber egal, dann sollte man halt eine Begrenzung einbauen wenn es Probleme bei zu langen Listen gibt.

                  • Gagi
                    Gagi kommentierte
                    Kommentar bearbeiten
                    Ich teste gerade noch mit der App 11.0, evtl. ist das ja mit dem neuen UI schon besser geworden ? Aber ja, ein Limit ist schnell eingebaut, ich hoffe noch das Loxone das in der App fixt ;-)
                • Gagi
                  LoxBus Spammer
                  • 20.01.2018
                  • 289

                  Zitat von hismastersvoice
                  Wenn du direkt mit dem LMS agierst, wie löst du das mit RoomFavs etc?
                  Für die RoomFavs leg ich keine JSON Datei an und arbeite damit. Ich denke das ist die einfachste Lösung. Ich habe vergessen zu erwähnen dass ich manche calls weiterhin durchschleifen würde, bzw. man eine tiefere Integration braucht. Die zoneFavs kann man jetzt so oder so machen. Die Equalizer sind da schon was anderes, da ich nur den vom LMS abfragen kann, der allerdings ja meistens nicht benutzt wird.


                  Zitat von hismastersvoice
                  mjesun hat ja SSE integriert, ich habe allerdings keine Ahnung wie ich das einsetzten kann/soll um die Zonen nur bei Änderung upzudaten.
                  Hast du dafür eine Lösung?
                  Mir wäre eine UDP Schnittstelle lieber als dieses SSE so im Sinne von ich schicke ein UDP Befehl und er gibt den Befehl weiter an MiniServer oder App etc.
                  Nachdem meine Integration direkt im MSG läuft ruf ich einfach die passende Event funktion auf sobald der LMS mir eine notification dafür schickt. Wie das das SSE genau funktioniert hab ich mir nicht angeschaut. Man könnte das aber auch ohne Problem mit einem UDP Socket umsetzen.
                  Wenn man meine integration als basis verwendet, braucht man wahrscheinlich sowieso nicht mehr soviele events von aussen.

                  Würdest du denn die lms-integration verwenden wollen, oder doch lieber selbster alles in der Hand haben ?

                  Zitat von hismastersvoice
                  Was auch noch im Musikbaustein fehlt, ist min. max volume und sleep.

                  Das mit der Durchsage wäre wirklich sehr cool, das vermisse ich tatsächlich... bzw. meine Frau
                  Ja das ist die gesammte Settings Geschichte, da fehlt es leider noch komplett. Hab ich zwar jetzt nicht als Priorität gesehen, aber ich kann mal schauen was ich machen kann.


                  Zitat von hismastersvoice
                  Das mit den langen Listen ist bekannt, bei der WindowsApp ist das ab 250 schon ein Problem. Ich glaube das Loxone das auch auf 200 oder so begrenzt hat.
                  Ahh ok, dann aber scheinbar auf der Server-Seite, die App requested weiter bis man am Ende ist.

                  Kommentar

                  • hismastersvoice
                    Supermoderator
                    • 25.08.2015
                    • 7189

                    Gagi
                    Irgendwas stimmt auch noch nicht mit dem laden der Queue
                    Org. Version lädt die Queue
                    [WSCK] Received message: audio/2/getqueue/0/50
                    --> [CALL] Calling GET to http://localhost:8091/zone/2/queue/0

                    Deine Version
                    Lädt sie leider nicht...
                    [WSCK] Received message: audio/2/getqueue/0/50
                    --> [CALL] Calling GET to http://localhost:8091/zone/2/queue/0
                    [ERR!] Could not fetch list fragment: Cannot read property '0' of null


                    Kein Support per PN!

                    Kommentar


                    • Gagi
                      Gagi kommentierte
                      Kommentar bearbeiten
                      Du verwendest den MSG ohne lms integration. An der Queue hab ich an der Stelle nichts geändert.

                      Im MSG vom MusicServer funktioniert die Queue leider bei mir aber auch nicht ?

                    • hismastersvoice
                      hismastersvoice kommentierte
                      Kommentar bearbeiten
                      Im org. MSG geht es ja, aber wenn du natürlich alles direkt über LMS machst erklärt sich das ganze schon
                  • hismastersvoice
                    Supermoderator
                    • 25.08.2015
                    • 7189

                    Zitat von Gagi
                    Würdest du denn die lms-integration verwenden wollen, oder doch lieber selbster alles in der Hand haben ?
                    Ich muss nur wissen wie ich die ganzen Settings wie EQ/Min/Max Volume oder TTS/Alarm etc. verarbeiten muss.
                    Bzw. welche Calls du direkt machst und welche ich verarbeiten muss.

                    Je mehr direkt abläuft, um so lieber. Muss ja nicht alles doppelt machen
                    Kein Support per PN!

                    Kommentar


                    • hme0354
                      hme0354 kommentierte
                      Kommentar bearbeiten
                      bin gerne beta Tester! 😉😋

                    • Gagi
                      Gagi kommentierte
                      Kommentar bearbeiten
                      Ja, stimmt schon. Wenn es für dich einfacher ist, könnte ich die zonen auch per REST call abfragen. Dann kannst du weiter alles so behalten wie es ist und musst nur das mapping einmal schicken. Aber das kriegen wir schon hin, wenn dass das einzige Problem ist ;-)

                    • hismastersvoice
                      hismastersvoice kommentierte
                      Kommentar bearbeiten
                      Nein, das ist nicht einfacher.
                      Ich werde das dann halt bei einem Update alles umschreiben, der Ansatz von dir ist so schon gut!

                      Ich meinte nur das wir uns dann sicher sein müssen das alles wieder so geht wie es soll. bzw. mehr
                      Es muss eben klar sein welche Calls ich noch bearbeiten muss und welche du direkt weiter gibst, so das ich alles darauf anpassen kann.

                      Ich denke das die meisten ja direkt laufen können, nur Calls die im LMS gar nicht vorhanden sind müssen eben noch bearbeitet werden.
                  • hismastersvoice
                    Supermoderator
                    • 25.08.2015
                    • 7189

                    Gagi
                    In welchem Format muss das Mapping eingetragen werden?
                    Wenn ich auf lms stelle und macs eintrage kommt direkt ein Fehler.

                    Wie muss die Config aussehen?
                    Kein Support per PN!

                    Kommentar


                    • Gagi
                      Gagi kommentierte
                      Kommentar bearbeiten
                      Meine config sieht im Moment so aus:

                      {
                      "plugin": "lms",
                      "zones": 4,
                      "zone_map": {
                      "1": "dc:44:6d:cb:cf:ae",
                      "2": "dc:44:6d:cb:cf:ac",
                      "3": "dc:44:6d:cb:cf:ad",
                      "4": "74:da:38:8d:c0:bb"
                      },
                      "lms_host": "192.168.1.6",
                      "lms_port": 9000,
                      "lms_cli_port": 9090
                      }

                      Zum Entwickeln hab ich mein Notebook als Server in Loxone eingetragen und den MSG starte ich dann hier lokal. Damit kannst du dir dann ne TestZone anlegen und damit testen um nicht dein Hauptsetup kaputt zu machen.

                    • hismastersvoice
                      hismastersvoice kommentierte
                      Kommentar bearbeiten
                      Cannot find module 'async-mutex'

                    • Gast
                      Gast kommentierte
                      Kommentar bearbeiten
                      @Gagi:
                      ich installiere deinen Fork, ändere die Config und sofot bekommen ich folgendes:

                      Oct 11 16:42:55 loxberry loxberry[685]: Error: ENOENT: no such file or directory, open 'config.json'
                      Oct 11 16:42:55 loxberry loxberry[685]: at Object.openSync (fs.js:458:3)
                      Oct 11 16:42:55 loxberry loxberry[685]: at Object.readFileSync (fs.js:360:35)
                      Oct 11 16:42:55 loxberry loxberry[685]: at Object.<anonymous> (/opt/loxberry/bin/plugins/music-server-gateway/service/music-server/index.js:8:30)
                      Oct 11 16:42:55 loxberry loxberry[685]: at Module._compile (internal/modules/cjs/loader.js:1133:30)
                      Oct 11 16:42:55 loxberry loxberry[685]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
                      Oct 11 16:42:55 loxberry loxberry[685]: at Module.load (internal/modules/cjs/loader.js:977:32)
                      Oct 11 16:42:55 loxberry loxberry[685]: at Function.Module._load (internal/modules/cjs/loader.js:877:14)
                      Oct 11 16:42:55 loxberry loxberry[685]: at Module.require (internal/modules/cjs/loader.js:1019:19)
                      Oct 11 16:42:55 loxberry loxberry[685]: at require (internal/modules/cjs/helpers.js:77:18)
                      Oct 11 16:42:55 loxberry loxberry[685]: at Object.<anonymous> (/opt/loxberry/bin/plugins/music-server-gateway/service/index.js:7:21) {
                      Oct 11 16:42:55 loxberry loxberry[685]: errno: -2,
                      Oct 11 16:42:55 loxberry loxberry[685]: syscall: 'open',
                      Oct 11 16:42:55 loxberry loxberry[685]: code: 'ENOENT',
                      Oct 11 16:42:55 loxberry loxberry[685]: path: 'config.json'
                      Oct 11 16:42:55 loxberry loxberry[685]: }

                      wenn ich dann in der index.js vor config.json noch den Pfad ändere dann kommt der fehler dass die "async-mutex" fehlt.

                      Ich habe es schon mehrfach neu installiert, aber leider ohne Erfolg.

                      LG
                  Lädt...