Or is it possible to connect VIs/VOs to the MSG?
Music Server Interface
Einklappen
X
-
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.-
#151.1Gast kommentierte02.08.2020, 23:57Kommentar bearbeitenNot 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. -
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 !
-
-
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 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" }
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
-
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" }, { .......
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
-
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. -
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. -
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...
-
-
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:
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
-
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
-
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
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
GagiKommentar
-
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
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
-
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
-
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.
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.
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 ?
Ahh ok, dann aber scheinbar auf der Server-Seite, die App requested weiter bis man am Ende ist.Kommentar
-
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
-
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
-
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 ;-) -
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.
-
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
-
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. -
Cannot find module 'async-mutex' -
@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
-
Kommentar