[Modul] SqueezeBox (Release)

Leere Adresse ist korrekt.
Das bedeutet es ist eine Nachricht welche den Server betrifft und kein Gerät.
Michael

Also die Meldung mit dem Memory kommt bei mir nicht.
Nur die Meldung unter Punkt 4.
Intressant ist derzeit bei mir auch das alle Meldungen auf Englisch sind.
Nach einem Neustart des LMS läuft der Suchlauf auch einmal durch, danach nicht mehr.
Es werden bei mir Playlisten angezeigt, die ich auch verwenden kann. Habe gestern erstmal alle Playlisten gelöscht und nur noch zwei Stück angelegt.

Modul Version noch 2.00!?!?!?
Laut Github soll es doch 2.01 geben oder wird es bei IPS nicht so genau angezeigt?

Kann sein daß ich vergessen habe das im Modul auf 2.01 zu ändern :wink:
Ist dann aber nur ein Anzeigefehler.
Welche Meldungen kommen auf Englisch?
Läuft der LMS oder IPS unter englischer Sprache?
Eventuell ist da das Problem.
Habe natürlich nur mit deutschen Systemen getestet :smiley:
Michael

Also die Meldungen im Scanner von LMS laufen alle auf Englisch.
Komischer weiße auch die Meldungen im IPS.

Eine Meldung aus dem IPS:
16.08.2018 19:15:43*| FlowHandler*| Could not forward data to instance #24157: <br />
<b>Notice</b>: Undefined property: LMSTaggingData::$value in <b>/var/lib/symcon/modules/IPSSqueezeBox/LMSSplitter/module.php</b> on line <b>2031</b><br />
<br />
<b>Notice</b>: Undefined offset: 2 in <b>/var/lib/symcon/modules/IPSSqueezeBox/LMSSplitter/module.php</b> on line <b>2032</b><br />
<br />
<b>Notice</b>: Undefined offset: 3 in <b>/var/lib/symcon/modules/IPSSqueezeBox/LMSSplitter/module.php</b> on line <b>2037</b><br />
<br />
<b>Notice</b>: Undefined offset: 4 in <b>/var/lib/symcon/modules/IPSSqueezeBox/LMSSplitter/module.php</b> on line <b>2037</b><br />

Eine Meldung aus dem Scanner.log von LMS:
[18-08-16 19:16:33.4060] Audio::Scan::scan (75) Warning: APE: [Tag larger than maximum possible size] /media/usb0/Sortiert/

Hallo Michael,

… leider sind die Fehler noch vorhanden … :o

Gruß

Swifty

Ich habe die Fehler ebenfalls. In meiner Wahrnehmung - habe dies auch bei anderen Modulen mit Sockets - könnte dies vielleicht ein Problem mit der Kommunikation zum Parent-Socket sein?
Eventuell ein Problem im Symcon 5 und nicht unbedingt im Modul?

Da ich den Fehler nicht habe, wird es nicht daran liegen.
Ich komme aber einfach nicht dazu mir die Dumps anzuschauen :frowning:
:banghead: Das war ein Typo welcher bei mir schon lange gefixt war, aber nicht auf GitHub lag.
Sollte jetzt funktionieren.
Michael

:), danke.

Habe mal etwas geforscht:

Das Thema hatten wir hier schon mal:
[Archiv][Modul] Squeezebox (Testversion) - Seite 21

Da ist irgendwas bei deiner LMS Version kaputt, was das Abfragen der Playlisten betrifft.
Versuche mal eine Version neuer oder älter vom LMS zu installieren.

  1. kann ich nicht reproduzieren. Der Code ist an der Stelle sehr überschaubar. Wie viele Variablen hat dein IPS?
echo count(IPS_GetVariableList());

Ich habe dennoch etwas geändert, vielleicht senkt das den Speicherverbrauch :wink: Also Update bitte testen.

2 und 3) Hängen wohl zusammen. Da bräuchte ich aber bitte einen Dump von der Splitter-Instanz. Ich vermute das hier irgendwo Ressourcen fehlen. Vermutlich bei der Synology. Wie viele Playlisten hast du? Die werden alle einzeln gelesen um die Laufzeit der Playlist und die Anzahl der Tracks zu ermitteln. Das erfolgt über einen neuen TCP-Socket. Eventuell kommt deine Synology da nicht hinterher. Ist ja auch eine Fehlermeldung dabei welche beim Verbindungsaufbau geworfen wurde.
Hast du auch Fehlermeldungen im Server.log des LMS, wie:

 Request [playlists] failed with error: Bad dispatch!

Dann gilt für dich das gleiche wie bei n0b0dy90.

  1. Ist behoben.

Welches der vier? :wink:

Michael

Hallo Michael,

vielen Dank für Dein Engagement …:loveips:

Ich habe mittlerweile IPS 5.0 im Einsatz und das Modul upgedatet. Fehler vier ist weg :smiley:
Mein LMS hat 1900 Playlisten, IPS besitzt ca. 5200 Variablen (… läuft auf einem PC, Win 10 Pro …).

Fehler 1: … führt nicht mehr zum „Fatal error“ … jetzt verliert die Konsole nach kurzer zeit die Verbindung zum Server. Dies sowohl beim aktivieren, wie auch beim deaktivieren der Box „Playlist als Html-Box anlegen“

Fehler 2 und 3 melden sich auch wieder.

Zu den Playlisten hatten wir und hier schon einmal unterhalten: Link. M.E. hattest du dann irgend etwas angepasst und dann lief es.

Bei meinen Experimenten, die Playlisten auszulesen und in eine "schöne " HTML-Box zu packen bin ich den Weg gegangen, die Listen nicht auf einmal, sondern immer in 100er Päckchen vom LMS einzulesen. Das lief super … :slight_smile:

Gruß

Swifty

PS: Der Server.log des LMS weist keine Fehler auf.
PPS: Zum Dump kann ich folgendes Zwischenergebnis liefern: Datenverkehr wird nur aufgezeichnet, sobald ein Player läuft bzw. ein Scann durchgeführt wird. Hierbei gibt es jedoch keine Fehlermeldungen. Erfolgt keine Musikwiedergabe bzw. kein Scan bleibt der Dump auch leer. Die Fehlermeldungen (2) werden jedoch regelmäßig angezeigt.

Ich mache da aber gar nix… nur einmal den einfachen Status vom LMS lesen.
Aber siehe unten… wegen Dump.

Ich hatte da nichts mehr angepasst. Bzw. höchstens noch etwas am Socket geändert. Ich vergleiche das mal.
Eine richtig gut Idee wie ich das Umsetze, habe ich gerade nicht.

Soweit korrekt, aber beim Übernehmen der Einstellungen (siehe Problem 1) muss da (viel) mehr passieren.
Zuerst werden die Stati des LMS gelesen und dann alle Playlisten gelesen*.

  • dies erfolgt nicht im Script-Kontex beim Klick auf Übernehmen, sondern durch eine Variablenänderung der Variable ‚Scanner‘ bei Wert 0. Der Status des Scanner wird beim Klick auf Übernehmen abgefragt.

Wenn du da einen Dump hättest, wo auch zeitgleich die Fehler im Log auftauchen, dann sende ihr mir gerne per Mail.
(micha @ nall-chan . net )

Michael

Hallo Michael,

ich habe die IPS Konsole jetzt direkt auf dem Server geöffnet. Bei Setzen der Option „Playlist als Html-Box anlegen“ kommt nach kurzer Zeit auch hier ein Fehler (siehe Bild) und die Konsole verliert die Verbindung zu IPS. Den bis dahin aufgezeichneten Dump sende ich Dir per E-Mail.

Abbruch.JPG

Gruß

Swifty

Hallo Michael,

kannst du mir bitte mal das LSQ_SetSync etwas genauer erklären… ich hab es schon mehrfach probiert aber
ich glaube der Durchblick fehlt…:confused:

Gruß Thorsten

Probier nicht weiter.
Das ist in dieser Version leider noch nicht fertig.
Den Befehl gibt es aktuell nicht.
Michael

Danke Michael,
du hast mir den Tag gerettet, ich hab langsam schon an mir gezweifelt:D

Hallo,

ich spiele mich gerade mit Google Home und versuche gerade über einen Befehl z.B. „Musik GongFM an“.
Dabei sollte die Squeezebox die „Radio - Gong FM“ Wiedergabeliste laden und starten.

Ich habe bereits gezielte Durchsagen mit MP3 Dateien laufen:

@file_get_contents("http://192.168.XXX.XXX:9000/anyurl?p0=playlist&p1=play&p2=file%3A%2F%2F%2Fmnt%2Fmusic%2Fdurchsage.mp3", false, NULL, 0,0);

Dass er aber eine Wiedergabeliste lädt hab ich weder über die URL noch über PHP direkt hinbekommen.

LSQ_ResumePlaylist(XXX, 'Radio - Gong FM');

Das bringt zwar gerade keine Fehler mehr, aber die Playlist geladen geschweige denn gestartet wird auch nicht.

Mit:

LSQ_Play/Stop(XXX);

kann ich schonmal die vorhandene starten / stoppen.

Vermutlich muss ich die Player-ID irgendwie mitgeben? Obwohl ich nur einen Player habe der gleichzeitig der Squeezebox Server ist??? Ist ein Max2Play Raspberry.

LSQ_LoadPlaylist wäre korrekt.
Als InstanzID musst du die ObjekteID der Player-Instanz übergeben.
Michael

Morgen,

klappt leider auch nicht. Die vorhandene Playlist wird geleert, die Neue wird aber auch nicht geladen.

Hab schon eine Playlist ohne Leerzeichen auch damit klappts nicht???

Fehler kommen mit der richtigen InstanzID keine…

Update 1:
Auch mit LSQ_LoadPlaylistByPlaylistID komme ich nicht weiter.

Update 2:
Doch mit der PlaylistID klappts nun. Man muss nur die richtige ID verwenden…

Danke

Zeig Mal die URL welche du für die Playlist ausprobiert hast.
Michael

Hallo Michael,

ich habe das ein ganz komisches Phänomen…

Dein geniales Modul ist aktuell, im Debug kommen auch alle zwei Sekunden jede Menge Daten an, jedoch werden die Statusvariablen nicht aktualisiert!:eek:

Aktualisierung der Statusvariablen bekomme ich auf diesem Wege hin:

  • Instanz öffnen
  • etwas verändern
  • Übernehmen klicken

Wie kann das angehen??:confused:

Joachim