[Archiv][Modul] Squeezebox (Testversion)

Hallo
Wenn ich einen Scan laufen lassen erhalte ich jede Menge Fehler im Log.

09:24:08 | 00000 | CUSTOM  | scanner progress     | LMSTaggingData Object
(
    [progress] => 1451117863.84164||importer||D:\Musik\mp3|discovering_directory||189001||0||
)

09:24:08 | 00000 | CUSTOM  | scanner progress2    | 
09:24:08 | 29211 | ERROR   | FlowHandler          | Kann Daten nicht zur Instanz #29211 weiterleiten: <br />
<b>Notice</b>:  Undefined property: LMSTaggingData::$0 in <b>C:\Program Files (x86)\IP-SYMCON\modules\IPSSqueezeBox\LMSSplitter\module.php</b> on line <b>614</b><br />

folgende Zeile bringt den Fehler

IPS_LogMessage("scanner progress2", print_r($Data->{0}, 1));

Hab die mal auskommentiert.

UPS…was macht die dem im Release :o
Dachte ich hätte es ohne die auf Github gepusht.
Ich muss da endlich mal wieder einen neuen Zweig pushen… dauert aber wohl noch.
Michael

Hallo
Ich benutze jetzt das Modul seit ein paar Tagen und habe jeden Morgen das gleiche Problem.
Ich habe 3 Player im Einsatz und wirklich jeden Morgen bringt irgendeiner den Fehler

Fatal error:  Uncaught exception 'Exception' with message 'Device not connected' in C:\Program Files (x86)\IP-SYMCON\modules\IPSSqueezeBox\SqueezeBoxDevice\module.php:2006
Stack trace:
#0 C:\Program Files (x86)\IP-SYMCON\modules\IPSSqueezeBox\SqueezeBoxDevice\module.php(825): SqueezeboxDevice->SendLSQData(Object(LSQData))
#1 C:\Program Files (x86)\IP-SYMCON\scripts\__generated.inc.php(406): SqueezeboxDevice->Power(true)
#2 C:\Program Files (x86)\IP-SYMCON\scripts\13778.ips.php(12): LSQ_Power(53199, true)
#3 {main}
  thrown in C:\Program Files (x86)\IP-SYMCON\modules\IPSSqueezeBox\SqueezeBoxDevice\module.php on line 2006
Abort Processing during Fatal-Error: Uncaught exception 'Exception' with message 'Device not connected' in C:\Program Files (x86)\IP-SYMCON\modules\IPSSqueezeBox\SqueezeBoxDevice\module.php:2006
Stack trace:
#0 C:\Program Files (x86)\IP-SYMCON\modules\IPSSqueezeBox\SqueezeBoxDevice\module.php(825): SqueezeboxDevice->SendLSQData(Object(LSQData))
#1 C:\Program Files (x86)\IP-SYMCON\scripts\__generated.inc.php(406): SqueezeboxDevice->Power(true)
#2 C:\Program Files (x86)\IP-SYMCON\scripts\13778.ips.php(12): LSQ_Power(53199, true)
#3 {main}

Im Tree kann ich sehen ,dass die Variable „Connected“ auf FALSE steht mit der Uhrzeit zum Ende einer Durchsuchung der Medien.
Wenn ich die Zeile 2006 auskommentiere funktioniert alles einwandfrei

            throw new Exception("Device not connected");

Noch einfacher ist es einfach die Variable auf TRUE zu setzen.
Kann ich irgendwie einen Reconnect automatisieren ?

Die Variable wird durch connect / disconnect Meldungen vom Server gesetzt.
Was ist den am Morgen anders ?
Neustart von IPS oder des LMS ?
Dann kann ich da mal suchen wo es hakt.
Die Geräte waren aber auch immer online ?
Michael

Also ich mache jede Nacht um 03:00 Uhr regelmaessig einen Medien-Scan. Der war heute Morgen um 04:41 Uhr fertig.
Die Variable „Connected“ von allen Clienten wurde 04:47 Uhr gesetzt. Nur bei einer auf FALSE.
Die Box ist aber definitiv „Connected“. Ich kann sie ansteuern zB ueber das Webfront des LMS-Servers oder die App iPeng oder SqueezePad. Auch wenn ich die Fehlerzeile auskommentiere oder einfach nur die Variable „Connected“
auf TRUE setze geht alles ueber das Modul. Auch die Funktion „LMS_GetNumberOfPlayers“ liefert 4.
3 Boxen und einmal Softsqueeze.

Okay wenn GetNumbersOfPlayers 4 ergibt, dann ist da etwas asyncron.
Immer der gleiche der als Disconneted erscheint ?
Ich muss da wohl man einen KeepAlive für die Player einbauen :slight_smile:
Michael

Das wäre gut, bei meinen SoftPlayern gibt es auch zeitweise Probleme, wenn ich die nicht ordentlich ausschalte und nur das Programm beende.

Aber gerade wenn du das Programm nur beendest, sollte der Server die Info ja wohl vom Softplayer bekommen.
Sonst liegt ja da der Fehler schon.
Wobei ich mich mit dem Protokollen zwischen Player / Server nie befasst habe.
Wie es auch sei… ich werde da mal etwas versuchen.
Aktuell aber doch weniger Freizeit als erwartet :o
Michael

Hab eben mal einen Medien-Scan gemacht.Sobald der Scan abschlossen ist dauert es ca 2 Minuten dann
gehen ALLE Player gleichzeitig auf „Connected=FALSE“ und nach ein paar Sekunden wieder auf „Connected=TRUE“.
Alle bis auf einen. Diesmal ist es aber ein anderer wie beim letzten Scan.
Einfach die Variable haendisch auf TRUE setzten behebt das Problem.

Mhhh… egal welcher Typ von Scan ?
Ich habe das bei mir noch nicht in diesem Zusammenhang beobachtet.
Kannst du mir einen Debug vom ClientSocket (gerne auch per PN und/oder Link) senden, von dem Zeitraum Ende-Scan bis die Geräte wieder als verbunden gemeldet werden ?

Michael

Nachts mach ich einen Scan nach veraenderten Titeln. Eben hab ich nur Wiedergabelisten gescannt.
da ist es genau wie die letzte Nacht passiert
Debug starte ich mal.

Hallo Michael,
ich kriege das Teil auch nicht zum laufen.
Selbe Fehlermeldung wie Murcel https://www.symcon.de/forum/threads/28232-Modul-Squeezebox-%28Testversion%29?p=275254#post275254

IP-Symcon Management Console [IP-Symcon]_2016-01-03_23-01-47.png

Die Squeezebox ist aber vom LMS erreichbar.
Die MAC Adresse stimmt auch.
Der Player ist an.

Hast Du eine Idee?
Danke, Frank

Aktuell gerade so aus dem Kopf keine Idee.
Ich stellte das morgen mal nach. Steht fest auf meiner Todo .
Michael

Update online

Ich habe mal einiges gefixt.
Durch zwei Bugs, wurden sowohl die Server-Playlisten als auch die aktiven Client-Playlisten doppelt geladen.
Dadurch gab es auch einen Engpass beim herstellen der Verbindung zum Server.
Ich hoffe das hierdurch einige kleinere Probleme und Nebeneffekte behoben sind.

Außerdem werden jetzt Daten welche beim erstellen der Playlist im WebFront fehlen, mit leeren Feldern ergänzt.
Dies waren die ganzen '<b>Notice</b>: Undefined index: ’ Meldungen.
Wobei ich es komisch finde. Meine LMS liefert bei Medien ohne Metadaten (z.B. WAV) einfach ‚Kein Album‘, ‚Kein Interpret‘ etc… aber wo und wie man das im Server einstellt… öhm… keine Ahnung :smiley:

Der Server hat jetzt auch ein KeepAlive bekommen, so das dieser hoffentlich IPS nicht mehr ‚verliert‘.
Alle PHP-Befehle welche einen String für einen $Name, $URL oder $File erwarten, konvertieren jetzt selbstständig den String.
Ein rawurlencode ist bei euch also nicht mehr nötig.

Beispiel:
ALT

$ret = LSQ_LoadPlaylist(38340,rawurlencode('F:/ServerFolders/Micha/Eigene Musik/%Music/WaveDump01.wav'));

NEU

LSQ_LoadPlaylist(38340,'F:/ServerFolders/Micha/Eigene Musik/%Music/WaveDump01.wav');

Cover werden auch neu geladen, wenn sich ein Player verbindet oder IPS die Verbindung zum LMS wieder herstellt.

Nach einen Rescan wurden Playlisten ebenfalls doppelt vom Server geladen, was einige Disconnect-Meldungen erzeugt :frowning:

Das Modul erzeugt keine ‚Exception‘ mehr, sondern wirft nur noch ‚Notice‘ Meldungen aus.
Somit brechen eure PHP-Scripte nicht mehr ab, wenn mal ein Fehler auftritt.
Außerdem können die ‚Notice‘-Meldungen wie auch bei IPS-Fehlern, mit @ unterdrückt werden.

Michael

PS: Wer jetzt noch „Device not connected“ Probleme hat, bitte Melden :wink:

Update durchgeführt und Symcon abgeschossen :eek:, das kann aber auch davon gekommen sein, das IPS oder ein anderes Modul nicht mit meinem „sehr zeitnahen“ Updaten umgehen konnte. Soll heißen ich habe zwei Modul relativ direkt nacheinander zum Update angeklickt.
Nach Symcon Neustart gab es diverse Fehler im Squeezbox-Modul, da das Update scheinbar unvollständig war.
Modul gelöscht und neu eingespielt war ausreichend ;), alle vorhandenen Instanzen wurde gleich wieder korrekt verwendet.
TOP Arbeit von dir :D.

Ich war eigentlich auf der Suche, warum ich die Playlist nicht scrollen kann. Du generierst da noch etwas html-„Müll“

<body scroll=no><body bgcolor='#000000'>

gehört da eigentlich nicht hin :p. Body gehört da nicht hin, da die Liste ja im Webfront eingebunden ist und es Body nur einmal geben darf (soll).

Ich suche nach einer Lösung, damit die Playlist automatisch die „aktive“ Zeile in die Mitte des Fensters scrollt. Ich habe auf meinem Bad-Dashboard nicht genug Platz für lange Listen.

Ah, danke für den Hinweis.
Ich wußte ich habe da was vergessen :wink:
Dann werden da auch noch andere Fehler in der Tabelle sein.
Copy & Paste Fehler.
Die ziehe ich dann mal morgen glatt.

Ich schau mal ob ich da was machen kann wegen der Größe der Liste.
Sonst gibt es ein eigenes kleines Script mit Beispielen, wie du es umsetzen kannst.
Michael

Hallo,

auch auf die Gefahr hin das ich ausgelacht werde oder das dies hier keiner mehr benutzt, habe ich trotzdem noch eine, zwei Fragen. :confused:

Was ich gemacht habe:

  1. Logitech Media Server auf meiner Syno Diskstation installiert.
  2. piCorePlayer auf Raspberry geflashed und mit dem LMS verbunden.
  3. 3x Playlisten in LMS angelegt. (1x ein Album - 2x jeweils einen Radio Stream)
  4. Mit Mühe und Not (da dies alles Neuland ist :rolleyes:) der Anleitung von dieser Seite https://github.com/Nall-chan/IPSSqueezeBox#4-funktionsreferenz einen LMSSplitter und ein Device erstellen lassen.
  5. IP beim Server und MAC beim Device angepasst.
  6. Verbindung steht, und im Webfront bekomme ich alles Angezeigt. :smiley:

Nun zu den Fragen:

  1. Wie wechsel ich die Play Liste??!! :o
  2. Wie in den Screenshots gesehen, bekomme ich beim Album ein Cover, beim Radiosender nicht. :frowning:

Vielen Dank schon mal im Voraus
MfG.
Daniel

Wenn du offensichtlich mit der V4 das Modul von Michael nutzt, dann solltest du auch dort die Fragen stellen ;).

Cover gibt es nicht immer, wenn durch den Sender/Stream kein Bild bereitgestellt wird, dann gibt es auch keins ;). Manchmal dauert das Laden des Cover auch „länger“.

Und in der Doku von Michael findest du z.B. „LSQ_LoadPlaylist“, damit kannst du eine Playlist laden und dann mit LSQ_Play abspielen. Das müsstest du in einem kleinen eigenen Script reralisieren.

Siehe hier:
[Modul] Squeezebox (Testversion) - Seite 10

Du kannst auch über einen Link im Objekt Baum auf den LMS-Splitter, diesen im WebFront darstellen. Dort gibt es eine fertige ‚Steuerung‘.

Dieser Funkmast ist das Cover welches der Server bereitstellt, mehr gibt es dann leider nicht.

Michael

Oh mist, hab es grad gesehen, hatte aber eigentlich den richtigen Thread ausgewählt, dann geht es jetzt da weiter… Oder ist das hier aktueller?! :rolleyes::smiley:

Im LMS sehe ich dieses Cover. (Anhang)

MfG.
Daniel

box4.PNG