[Modul] SqueezeBox (Release)

Hmm Vorführeffekt. heute lief alles einwandfrei. Der gleiche Player der gestern Fehler geworfen hat beim Alarm Instanz erzeugen, hatte heute innerhab von 1-2 Sekunden eine korrekte Alarm Instanz!

Ich nutze nen Intel Nuc i5 4th Gen mit ESXi 6.7. Die Ubuntu VM hat 2 CPUs und 2GB Ram provisioniert. Anzahl der PHP Threads steht auf 20.

Wenn der Fehler Auftritt, prüfe bitte in der Console die Ansicht der laufenden PHP-Threads. Eventuell sind 20 einfach zu wenig (je nachdem was du sonst noch an Scripten bzw. Modulen installiert hast).
Michael

Hallo Michael,

ein herzliches Dankeschön von mir für dieses tolle Modul!

Bisher funktioniert bei mir alles super - nun möchte ich aber ein wenig mehr Komplexität ins Spiel bringen:

Ich möchte bei Eintreten eines Ereignisses (zB. Klingeltaster) auf einem (oder mehreren) Player einen Signalton wiedergeben. Wenn der Player vorher was abgespielt hat (Playlist), soll er das danach aber auch wieder tun. Ebenso soll er wieder stumm sein, wenn er es vorher war. Meine Frage ist nun, ob das mit den vorhandenen Befehlen Deines Moduls überhaupt geht? Wenn ja, wären die Befehle „LSQ_SaveTempPlaylist“ und „LSQ_LoadTempPlaylist“ der richtige Ansatz zur Lösung?

Vielen Dank,
Carsten

Ja, aber damit hast du ‚nur‘ die Playlist sowie die Position in der Playlist.
Was du also beim Eintreffen des Ereignisses machen musst:

  1. Dir den Zustand der Variablen von z.B. Power, Status (Play, Pause, Stop), Zufallswiedergabe und Wiederholung usw. ‚merken‘.
  2. Dann LSQ_SaveTempPlaylist.
  3. Deine Datei laden und abspielen
  4. nach Zeit x, oder wie auch immer LSQ_LoadTempPlaylist bzw wenn Power aus war, Player ausschalten, wenn Play war, dann Play senden usw…

Also doch etwas mehr Arbeit :wink:

Schau mal hier:
„alle Status speichern - Infoausgabe - alle Staus wiederherstellen“

Michael

Ich hab nun folgendes gemacht:


// Status Player 1 speichern
$status_play = GetValue(24753);

// Speichere temporäre Playlist
LSQ_SaveTempPlaylist(39548);

// Lade Klingel-Playlist und spiele ab
LSQ_LoadPlaylist(39548,"Klingel");
LSQ_Play(39548);
Sleep(2);
LSQ_Stop(39548);

// Lade temporäre Playliste
LSQ_LoadTempPlaylist(39548);

// Status wiederherstellen
SetValue(24753,$status_play);

Die Playlist wird gestoppt, die „Klingel“-Playlist allerdings nicht geladen. Das Script gibt mir folgendes aus:


Notice:  TempPlaylist nicht gefunden. in C:\IP-Symcon\modules\IPSSqueezeBox\SqueezeBoxDevice\module.php on line 2094

Was hab ich eventuell falsch gemacht?

Kommt der Fehler beim laden oder speichern der Playlist?
Der letzte Befehl ist schon mal falsch.
Mit SetValue kannst kein Play, Pause, Stop ausführen.
Da muss schon LSQ_Play, LSQ_Pause usw rein.
Michael
Edit: kannst du bitte den Reiter Debug der Instanz öffnen, dann das Script ausführen und den Dump vom Debug hier anhängen?

Hab das Dumpfile angehängt. Der Fehler kommt nicht mehr, wenn ich LSQ_LoadTempPlaylist auskommentiere. Nachdem ich mir das Dumpfile mal angesehen habe, könnte ich mir aber auch vorstellen, dass ich ein Problem mit der Konfiguration des Verzeichnisses bzw. der Freigabe des NAS habe. Im Dump ist nämlich nicht der korrekte Pfad zur Playlist (hier Klingel) drin.

dump.txt (54.6 KB)

Sorry Michael, mein Fehler. Das Thema hat sich erledigt. Ich hatte ein Berechtigungsproblem mit der Samba-Freigabe auf meinem NAS. Das Script konnte die temporäre Playlist nicht speichern.
Die Zeile zum wiederherstellen des Status hab ich verändert in:

if($status_play == 2) LSQ_Play(39548);

Danke nochmal für Deine Hilfe!

Aber danke für das Dump.
Ich habe da noch eine Verbesserung gefunden :slight_smile:
Michael

Das Problem Türklingel hatte ich auch. Ich habe Squeezelite auf einem Raspberry laufen. Ich habe dann eine zweite Instanz von Squeezelite auf dem Raspberry für die Klingel eingerichtet, die den gleichen Ausgang benutzt. Eigentlich hatte ich gehofft, dass die Klingel einfach den laufenden Ton überlagert, aber das geht bei laufender Ausgabe wohl nicht. Also stoppe ich die Musik, spiele dann den Klingelton über die zweite Instanz und starte dann die Musik wieder über die normal Instanz. Funktioniert 1A.

Hallo Michael,

ich setze Dein SqueezeBox-Modul bereits seit längerer Zeit ein … Vielen Dank und Hochachtung für Deine Leistung. :loveips:

Normalerweise handle ich nach dem Motto „never touch a running system“ … aber ab und zu juck’s dann doch im Maus-Finger … :smiley: . Gedacht, getan und siehe da, Murphy lässt grüßen. :banghead:

Das Update (master) verlief ohne Auffälligkeiten. Der LMS-Konfigurator findet die Player. Dies kann ich einzeln im WebFront bedienen.

Folgende Fehler bzw. Meldungen sind jedoch auffällig:

  1. [li] Wenn ich beim LMS-Splitter die Box „Playlist als Html-Box anlegen“ deaktiviere, erscheint eine Fehlermeldung (siehe Bild 1) Der Fehler ist reproduzierbar. Box aktiviert -> übernehmen = OK, Box deaktiviert -> übernehmen=Fehlermeldung.
    [/li]


    [li] Im Log erscheinen in mehr oder weniger kurzem Abstand diverse Fehlermeldungen (Bilder 2,3,4), die ich nicht interpretieren kann.
    [/li]


    [li] Die Statusvariable „Playlisten“ des LMS-Splitters bleibt leer.
    [/li]

    [li] Sobald der LMS die Mediendateien durchsucht, verursacht dies hunderte der folgenden Meldungen:
    [/li]

Mein LMS läut auf einer Synology DS116 in der Version 7.9.1 - 1504317335, IPS in der Version 4.4 auf Win10 (64 bit).

Hast Du ein paar Tipps, wo ich bei der Fehlersuche anfangen sollte.

Gruß

Swifty

Holla… Das ist ja gleich eine ganze Latte von Meldungen :smiley:
Ich weiß, das einige schon Probleme mit dem LMS auf der Synology hatten.
Offizielles Paket? Oder ein neueres von slimdevices?
Ich meine ersteres hatte einige Bugs in der CLI des Server.
Das mit der HTMLBox ist aber schon komisch, kann ich aber erst morgen prüfen.
Von dem Suchlauf hätte ich gerne einen Ausschnitt vom Debug des Splitters.
Schätze mal das sind die Infos vom Fortschritt des Scans, welche irgendwie anders bei dir sind.
Michael

Hallo Michael,

danke für die schnelle Rückmeldung.

Ich nutze bisher auf der DS116 das BETA Paket von Synology (LMS 7.9.1). Nunmehr habe mal von der SynoCommunity die aktuelle 7.9.2 installiert … leider Zeigt sich auch hier das gleiche Verhalten. :o

Anbei findest Du einen Ausschnitt vom Debug des Splitters während des Suchlaufs.

Gruß

Swifty

dump.zip (19.6 KB)

Hallo Forum - mein erster Post :slight_smile:

Das Squeezebox Modul funktioniert hervorragend - herzlichen Dank dafür.

Gibt es eine Möglichkeit, für eine Player-Instanz eine Wiedergabelistenauswahl anzeigen zu lassen analog zur Wecker-Instanz?

Thx

G.

Ja, über die Splitter-Instanz.
Dazu einen Link auf den Splitter legen um ihn im WebFront sichtbar zu bekommen.
Michael

Perfekt :-).

Danke für die sehr prompte Antwort!

G.

Moin Moin,

ich habe auch das Problem welches „Swifty“ angesprochen hat.

Lösung?

Also ich habe mal in meine Server Einstellung vom LMS geschaut und habe den Log File mal angehängt.
Der Server hat auch immer wieder einige Fehlermeldung besonders nach dem Hochfahren.

Als weiteres habe ich geschaut welche Version ich derzeit habe:
LMS 7.9.1
IPS 5.0
Squeezbox Library 2.00 ( zeigt auch keine Aktualisierung an)

server.log.zip (18.2 KB)

Vielleicht kann einer weiterhelfen?!?!? :slight_smile:

Eigentlich war ich der Meinung das die Fehler von Swiftys Post inzwischen behoben sind.
Schau mir das aber noch mal an.
Edit: Kommt bei dir auch die Meldung mit dem memory?
Wie viele Playlisten hast du ?
Vermutlich liegt hier das Problem.
Michael

Das Problem habe ich auch gerade, Server 7.9.0. Neuer Suchlauf und folgende Ausgabe im Splitter-Debug:

Eventuell ein Problem vom leeren Address?