[Archiv][Modul] Squeezebox (Testversion)

Schaue ich mir an.
Habe die letzten Updates von IPS noch nicht installiert.

Fix dafür jetzt online.

Dadurch (weil ich jetzt zu faul war noch einen Zweig zu erstellen :slight_smile: ) gibt es auch wieder ein paar neue Funktionen.

Doku dafür fehlt aber noch (darum hatte ich es auch bisher nicht online gestellt).

[ul]
[li]SleepTimer für Geräte kann aus dem WebFront bedient werden.
[/li][li]Restzeit bis zum Sleep wird in Variable geschrieben.
[/li][li]Aktueller Rescan der Datenbank wird in Variablen geschrieben.
[/li][li]Scanner kann über das WebFront bedient werden (Variable muss per Link in einen ‚sichtbaren‘ Baum verlinkt werden)
[/li][li]LMS_GetPlaylists ließt alle Server Playlisten in ein Array.
[/li][li]Verbindet sich der Splitter mit dem LMS, so werden die Server Playlisten automatisch geladen und in eine HTML-Box geschrieben.
[/li][li]Diese Variable kann zusammen mit ‚PlayerSelect‘ / ‚Player wählen‘ in das WF verlinkt werden um das Laden von Playlisten auf einem Gerät, aus dem WF, zu ermöglichen.
[/li][/ul]

Hier mal ein Bild von der LMS-Instanz in das WF verlinkt:

Zum laden einer Playlist:

[ol]
[li]Player auswählen (Alle noch in Arbeit / ohne Funktion)
[/li][li]Dann auf den Eintrag in der Tabelle mit den Playlisten klicken
[/li][li]Diese Playlist wird dann in den unter 1. gewählten Player geladen.
[/li][/ol]

Michael

PS: Eine Playlist ist meine… 5-6 sind durch das Testen mit IPS entstanden. Und der ‚Rest‘ ist von meinen 9jährigen Zwombie-Jungs… die hatten die Funktionen der Playlisten viel schneller drauf als ich :smiley:

MAC Adresse bleibt nach dem letzen IPS Update jetzt erhalten.

Super…Danke für testen, bin noch unterwegs.

Vielleicht sollte ich jetzt immer Muffins organisieren damit Bugs schnell beseitigt werden :wink:
Michael

Bestechung hat schon immer gut gewirkt :slight_smile: Gibt gleich noch für Windows ein Update, damit überall PHP 5.5 dabei ist.

paresy

PS: Hast du deine Module im Constructor schon auf die neue Version portiert?

Was meinst du genau ?
Bzw. wann war die Änderung ?
Letztes Update der Module ist bestimmt 10-14 Tg her.
Michael

Hab gerade alle Repos durchgeschaut. Bei dir ist alles Konvertiert. Ich werfe den alten Code somit raus und schreibe virusmoere mal in seinem Thread, dass er der einzige ist, dessen Module noch die alte Variante nutzen :slight_smile:

paresy

Moin!

seit den letzten Updates kann ich die Splitter Instanz nicht mehr öffnen!?
Ist da was bekannt?

Moin ChristianL,

bei mir geht es.
evt. symcon restart machen ?

Schon probiert, bringt leider nix.
Dann muss ich es wohl noch einmal ganz raus schmeissen…

IPS oder Modul Update ?

Ich habe auch noch ein paar kleiner Bugs beseitigt.
Außerdem werden die Cover jetzt im Media-Verzeichnis angelegt (mit aktiviertem Cache, siehe :IPS_SetMediaCached — IP-Symcon :: Automatisierungssoftware)

Bei einem Update werden jetzt leider die Devices erstmal in einen Fehlerzustand gehen, weil IPS erst die Geräte und dann den Splitter aktualisiert. :frowning:

Also doch noch einmal die Einstellungen der Geräte öffnen und neu übernehmen.
ODER einfach warten (max 60 sek.) dann behebt IPS das ‚Problem‘ automatisch.

Michael

Habe leider beides aktualisiert und kann jetzt nicht mehr genau sagen ab wann es aufgetreten ist.

Bin gestern allerdings auch nicht mehr dazu gekommen, das Modul neu anzulegen…

Hallo,

benutze das Modul und finde es prima. Danke erstmal dafür.

Einziger Kritikpunkt ist das Logging. Wenn ein Player läuft, wird das Logfile ziemlich zugemüllt, kann man das mal unterbinden oder konfigurierbar machen.

Danke
Klaus

An den ganzen RunScript Meldungen kann ich leider gar nicht machen :frowning:

Oder hast du noch andere Meldungen ?
Michael

Hallo zusammen!

habe mir mal dieses Modul installiert… und momentan ein Problem:

wollte mir die Playlisten vom LMS laden lassen.
Habe dazu einen vollständigen Scan gemacht… er rattert auch alles durch, allerdings kommt am Ende dann folgende Fehlermeldung im Log:

01.11.2015 10:33:25 | PHP | Error: Error: Uncaught exception 'Exception' with message 'Error on read Playlist' in D:\IP-Symcon\modules\IPSSqueezeBox\LMSSplitter\module.php:408
Stack trace:
#0 D:\IP-Symcon\scripts\__generated.inc.php(210): LMSSplitter->DisplayPlaylist(Array)
#1 D:\IP-Symcon\scripts\53172.ips.php(74): LMS_DisplayPlaylist(28806, Array)
#2 {main}
  thrown
   Error in Script D:\IP-Symcon\modules\IPSSqueezeBox\LMSSplitter\module.php on Line 408
  134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
   33 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
  121 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_PhpErrorHandler)
      in IPSLogger_PhpFatalErrorHandler
01.11.2015 10:33:28 | PHP | Error: Error: Uncaught exception 'Exception' with message 'Error on read Playlist' in D:\IP-Symcon\modules\IPSSqueezeBox\LMSSplitter\module.php:408
Stack trace:
#0 D:\IP-Symcon\scripts\__generated.inc.php(210): LMSSplitter->DisplayPlaylist(Array)
#1 D:\IP-Symcon\scripts\53172.ips.php(74): LMS_DisplayPlaylist(28806, Array)
#2 {main}
  thrown
   Error in Script D:\IP-Symcon\modules\IPSSqueezeBox\LMSSplitter\module.php on Line 408
  134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
   33 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
  121 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_PhpErrorHandler)
      in IPSLogger_PhpFatalErrorHandler


im LMS sieht man keinen Fehler!

Benutzte LMS Version: Logitech Media Server Version: 7.8.1 - 1445336020 @ Sun Nov 1 03:04:59 CUT 2015
IPS-Version: IP-Symcon 4.00, 30.10.2015, 5c107a6e43ce

vermutlich/hoffentlich nur eine Kleinigkeit g

lg,
Christian

Fix dafür jetzt online.

Der LMS Splitter zieht sich die Playlist automatisch wenn er sich verbindet, dafür ist kein aktiver Rescan nötig.

Ebenso werden Sie neu geladen, wenn der Server einen beendeten Scan meldet.

Michael

wunderbar, funktioniert jetzt! :slight_smile:

erstmal eins Vorweg:

Klasse Modul :slight_smile:

Habe aber zwei Fragen und hoffe ihr könnt mir aus Pferd helfen :).

Zum einen bin ich offensichtlich zu Blöd den „boolean LSQ_Power“ Befehl zu nutzen. Könnt ihr mir dazu mal ein Beispiel geben ? Möchte infach per Skript den Sqeezeplayer abschalten wenn ich die Wohung verlasse.

Zum anderen würde ich gern ein Simples Soundfile aus dem Media Ordner abspielen wenn die Wäsche fertiig ist.
Danach soll aber wieder wie gewohnt WDR 2 laufen wenn ich den Player bewusst wieder einschalte.

Wahrscheinlich kein Hexenwerk aber mir fehlt gerade etwas der Ansatz.

Gruß Philip

Danke für die Blumen :o

Mhh ich sollte die Doku wohl mal um Beispiele ergänzen… noch jemand etwas Zeit für mich :wink:
Das sollte helfen:

LSQ_Power (12345 /*[InstanzID des Player]*/, false);

Etwas ‚fertiges‘ in der Richtung habe ich aktuell noch nicht.
Zumal man ja auch den aktuellen Playerstatus (an/aus, Play, Pause etc…) sowie die aktuell geladene Playlist berücksichtigen müßte. Außerdem sollte man verhinden das zwei Benachrichtigungen gleichzeitig laufen.

Ungeachtet dieser tollen Dinge, ‚sollte‘ es so gehen (ungetestet):
Vorraussetzung das du eine Playlist erstellt hast, wo das SoundFile enthalten ist.


$InstanzID = 12345  /*[InstanzID des Player]*/;
$Volume = LSQ_GetVolume($InstanzID);
$Mute = LSQ_GetMute ($InstanzID);
$Status = GetValue(IPS_GetObjectIDByIdent($InstanzID,'Status')); 
$Position = LSQ_GetPosition($InstanzID); //wo waren wir ?

LSQ_SaveTempPlaylist ($InstanzID); //alte Wiedergabeliste speichern
LSQ_Stop($InstanzID); // alte Wiedergabe stoppen, wenn vorhanden

LSQ_LoadPlaylist($InstanzID, "Name der PlayListe Benachrichtigung"); // lade Playliste
LSQ_SetVolume($InstanzID, $Volume+20); //mach lauter
LSQ_Play(($InstanzID);
IPS_Sleep(5000); // Warte 5 Sekunden

LSQ_SetVolume($InstanzID, $Volume); //alte Lautstärke;
LSQ_SetMute($InstanzID, $Mute);
LSQ_LoadTempPlaylist($InstanzID); // lade alte Playliste
if ($Status <> 1) // Also Play oder Pause
{
  LSQ_SetPosition($InstanzID,$Position );
  if ($Status == 2)
    LSQ_Play($InstanzID);
}

Michael

Hallo zusammen!

wir haben heut Nachmittag einen Kinderradiosender gehört, und da ist mir folgende Fehlermeldung im log aufgefallen:

15:58:26 | 55782 | WARNING | ScriptEngine         | Result for Script 55782
<br /><b>Notice</b>:  Undefined index: Artist in <b>D:\IP-Symcon\modules\IPSSqueezeBox\SqueezeBoxDevice\module.php</b> on line <b>1631</b><br />

ich hab mir mal selbst geholfen und vor „$HTMLData = …“ folgendes eingefügt:

if(!isset($Line[$feldIndex])) $Line[$feldIndex] = '';

nun ist die Fehlermeldung weg g

lg,
Christian.