Squeezebox / Squeezeserver Skript

Ist die Datei inc_squeezebox.ips.php wirklich mit dem Namen vorhanden und wenn ja dann im Skriptverzeichnis?

Zeig mir mal die include-Zeile aus dem Skript 57961

Hi Werner,

danke für deine Unterstützung.

Hier der Anfang des Steuerscriptes:

<?

include "inc_Squeezebox.ips.php"; // Squeeze-Funktionssammlung laden

$box = Wohnzimmer;

if($IPS_SENDER == "WebFront")
{
  	SetValue($IPS_VARIABLE, $IPS_VALUE);
	SqueezeInit(Wohnzimmer);
}

Aber was meinst Du mit Scriptverzeichnis?

Ich habe das Script erstellt mit der Option „spezielle Dateinendung“,
die Endung habe ich „.php“ genannt.

Liegt hier der Fehler? :rolleyes:

Gruß

Michael

Schande über mich. :o

Werner, Dein Hinweis mit dem Scriptverzeichnis hat mich auf die richtige Spur gebracht.

Ich hatte in „Verwende speziellen Dateinamen“ nur die ENDUNG „.ips.php“ verwendet, statt „inc_Squeezeboc.ips.php“.

Ich dachte, dass hier nur die Endung eingeben wird… :rolleyes:
Wer lesen kann ist klar im Vorteil. :wink:

Scheint jetzt alles richtig zu laufen, ich hoffe das war es.:smiley:

Schönen Tag noch.

Gruß

Michael

Schau einmal in dein Skriptverzeichnis von IPS (scripts). Dort sollte die inc_squeezebox.ips.php sein

Hi,

nachdem ich das Script nun mit der richtigen Benennung gespichert habe,
taucht es jetzt auch dort unter diesem Namen auf.:slight_smile:
Davor hies es nur .ips.php.

Da lag der Fehler.
Peinlich, peinlich… :o

Nochmal danke an dieser Stelle.
Manchmal denke ich zu kompliziert, da sehe ich die einfachen Dinge nicht.

Gruß

EDIT:

Unsere Antworten habe sich vorher überschnitten…

Ich werd dull :wink:

Kann mir mal jemand sagen warum da ein Fehler sein soll!?

<?

include "16646.ips.php";      // Squeezefunktions-Sammlung

$box = Kueche;

if($IPS_SENDER == "WebFront")
{
  	SetValue($IPS_VARIABLE, $IPS_VALUE);
	SqueezeInit(Kueche);
}


if($IPS_VARIABLE == 56877 /*[Media\Squeezebox\Küche\Power]*/ ) {
	SqueezePower(Kueche, $IPS_VALUE);
}

Parse error: syntax error, unexpected ‚;‘ in [Media\Squeezebox\inc_Squeezebox] on line 5

Der Fehler ist nicht in diesem Script sondern im inc_squeezebox (16646) Zeile 5

Wie recht du hast! Wer lesen kann…

Hab wohl schon einfach zu lange auf den Code gestarrt :wink:

Dank dir für den Schubser!

Das kenne ich nur zugut.

Sooo, vom feinsten, habe soweit erst mal alles am laufen.
Feine Sache das und großen Respekt!

Eine kleine Frage noch, der Slider für die Position, worauf muss dieser getriggert werden? Die Abfrage im Aktionsskript ist ja nicht vorhanden. Von daher fehlt mir hier noch die Funktion.

Eigentlich garnicht.

Der sollte automatisch durch das Auswerteskript gestartet werden wenn Du eine Playlist startest die nicht mit „Radio“ beginnt.

Hier wird dem Squeezeserver gesagt er soll bei NICHTRADIO alle 2 Sekunden den Status senden (Achtung!!! Das kann bei schwachen Servern zu Performanceproblemen führen. Hatten wir schon)

  // Subscripe auf entsprechende Box für Anzeige des Laufzeitbalkens und Cover oder Radioartwork laden
   $playlist = GetValueFormatted(41742 /*[Tools\Squeezebox\Auswertung Squeezeboxen\Wiedergabelisten\Wiedergabelisten Wohnzimmer]*/);
  if(substr($playlist, 0, 5) == 'Radio') {
       $cmd = "status - 1 subscribe:0";
     artwork_url(Wohnzimmer); // Hole Cover/Artwork URL von Radiosendern
  }
  else
  {
--->       $cmd = "status - 1 subscribe:2";
     cover(Wohnzimmer, 50072 /*[Tools\Squeezebox\Auswertung Squeezeboxen\Musik Büro\Cover]*/); // Cover anzeigen
  }
--->  CSCK_SendText(SqueezeServer, $box." ".$cmd.chr(13));

Der nun alle 2 Sekunden kommende Status wird dann hier im Auswerteskript

   if(GetValue(30117 /*[Tools\Squeezebox\Auswertung Squeezeboxen\Musik Büro\Länge (Text)]*/) !== "00:00") {
    slider2(36846 /*[Tools\Squeezebox\Auswertung Squeezeboxen\Musik Büro\Position Neu]*/, 100/GetValue(12610 /*[Tools\Squeezebox\Auswertung Squeezeboxen\Musik Büro\Länge]*/)*GetValue(37989 /*[Tools\Squeezebox\Auswertung Squeezeboxen\Musik Büro\akt. Position]*/));
   }

über die Funktion slider2 im inc_squeezebox

// Slider für %-Ausgabe --------------------------------------------------------
function slider2($var_id, $percent)
{
 SetValue($var_id, $percent);
}

der entsprechenden Variable zugewiesen.

Mein Problem derzeit ist nur das ich die Skripte im Forum nicht mehr 100% aktuell habe. Der Slider sollte aber trotzdem funktionieren.

Mal schauen wann ich dazukomme das Grundgerüst im Forum zu aktualisieren.

Hm der oberste Teil hat sich allerdings ein wenig geändert.

Leider tut er das bei mir nicht. Der Wert der Variable zwar, aber ich sehe keinen Slider. Aber es gibt schlimmeres, warte sonst einfach mal bis du das bei Zeiten angepasst hast…

Welche Varialbe wir bei Dir aktualisiert?

Die Stringvariable (akt. Position) oder
die Integervarialbe (Position)?

Sollte es die Integer sein einfach das passende Profil drauf setzen.

slider.png

Jap, die Integer ist es. Habe das Profil mal erstellt.
Welches Aktionsskript hast du da unten hinterlegt? Ebenfalls das Steuerskript?

Das Steuerskript der entsprechenden Squeezebox, also NICHT das Auswerteskript.

Damit kannst Du dann mit Klick auf den Slider im Song springen.

Ja, so hatte ich mir das auch gedacht und probiert, dann habe ich zwar visuell den slider, aber eine position anspringen geht nicht, er geht dann sofort wieder auf die alte.

Im Steuerungsskript ist doch aber auch gar keine Abfrage für den Slider drin!?
Das meinte ich ja im ersten post…

<?

include "16646.ips.php";      // Squeezefunktions-Sammlung

$box = Kueche;

if($IPS_SENDER == "WebFront")
{
  	SetValue($IPS_VARIABLE, $IPS_VALUE);
	SqueezeInit(Kueche);
}


if($IPS_VARIABLE == 56877 /*[Media\Squeezebox\Küche\Power]*/ ) {
	SqueezePower(Kueche, $IPS_VALUE);
}

if($IPS_VARIABLE == 40335 /*[Media\Squeezebox\Küche\Volume]*/ ) {
	SqueezeVolume(Kueche, $IPS_VALUE);
}

if($IPS_VARIABLE == 26084 /*[Media\Squeezebox\Küche\Steuerung]*/ ) {

	switch($IPS_VALUE) {

	   case 0:
	      SqueezeButton(Kueche, 'stop');
		break;
		case 1:
		   SqueezeButton(Kueche, 'pause');
		break;
		case 2:
		   SqueezeButton(Kueche, 'play');
		break;
		case 3:
		   SqueezeButton(Kueche, 'jump_fwd');
		break;
		case 4:
		   SqueezeButton(Kueche, 'jump_rew');
		break;
	}
}

if($IPS_VARIABLE == 17637 /*[Media\Squeezebox\Küche\Wiederholung]*/ ) {
      $cmd = " playlist repeat $IPS_VALUE";
		CSCK_SendText(SqueezeServer, $box." ".$cmd.chr(13));
}

if($IPS_VARIABLE == 48456 /*[Media\Squeezebox\Küche\Zufallswiedergabe]*/ ) {
      $cmd = " playlist shuffle $IPS_VALUE";
		CSCK_SendText(SqueezeServer,$box." ".$cmd.chr(13));
}


?>

Tja. Da hat sich dann doch ein unvollständiges Skript eingeschlichen.

Schau ich mir morgen an und poste den Part der fehlt.

Sent from my iPhone using Tapatalk

Moin Werner!

Hast wahrscheinlich noch keine Zeit gefunden für die Skripte!?

Woher wußtest Du das? :smiley:

Hier die Erweiterung für den Slider damit Du im Song springen kannst.

if($IPS_VARIABLE == 36846 /*[Tools\Squeezebox\Auswertung Squeezeboxen\Musik Büro\Position Neu]*/) {
  $time = GetValue(12610 /*[Tools\Squeezebox\Auswertung Squeezeboxen\Musik Büro\Länge]*/)/100*$IPS_VALUE;
      $cmd = " time $time";
  CSCK_SendText(SqueezeServer, $box." ".$cmd.chr(13));
}

Die 12610 ist die Int-Slidervariable für die Position und $box natürlich die entsprechende Squeezebox.

Top, nun geht alles.
Besten Dank nochmals!