Squeezebox steuern

Achja. Sobald die Verbindung zum LMS abreist, egal ob IPS- oder LMS-Seite, wird die Unterhaltung eingestellt (außer bei Rainer ;))

So, mit dem Cutter bei LF sowie beim eintragen vom Init Script bin ich jetzt zufrieden.

So sieht jetzt mein AuswerteCode aus… Eigentlich wie der von Werner…



######################Daten von Squezzebox######################################

if($_IPS['SENDER'] == "RegisterVariable")
{
	
    $array = explode ( ' ', $_IPS['VALUE']); // Antwortstring in Array umwandeln
    $array[0] =  urldecode ( $array[0] ); // MAC in lesbares Format umwandeln


if($array[0] == $touchwohnzimmer)

	 {          // Wohnzimmer

	// Powertaste bei Änderung aktualisieren

	if($array[1] == 'power') {

		if ($array[2] == 1) {

			SetValue(43000 /*[Squeezebox\Touch Wohnzimmer\Power]*/, true);

		} else {

			SetValue(43000 /*[Squeezebox\Touch Wohnzimmer\Power]*/, false);

		}
	}
	
	//Titel aktualisieren
	
		if($array[1]=='playlist' and $array[2]=='newsong') {

		SetValueString(23399 /*[Squeezebox\Touch Wohnzimmer\Sender]*/ , utf8_decode(urldecode($array[3])));
	
		}
		
 	//Lautstärke bei Änderung aktualisieren

	if($array[1]=='prefset' and $array[3]=='volume') {

		SetValue(12523 /*[Tools\Squeezebox\Auswertung Squeezeboxen\Musik Wohnzimmer\Volume]*/, urldecode($array[4]));

	}
		

    
	}

}

Da hast Du noch viel Luft für zig Möglichkeiten des Squeeze- Logitech Media -Servers.

So hatte ich für einiger Zeit auch angefangen und was daraus geworden ist hast Du anscheinend schon gesehen.

Als nächstes kommt eine Durchsage-Funktion von IPS -> Squeezeboxen, da die mittlerweile flächendeckend im Haus verbaut sind. Dazu aber mehr im entsprechenden Thread. Dies ist Rainer´s.

Aber schön das wir es zum Laufen bekommen haben. Viel Spaß damit.

@wgreipl

Stimmt - da ist noch Luft nach oben. Aber ich steuer meine Squeezeboxen meistens mit iPeng. Im WebFront wollte ich nur ganz rudimentäre Möglichkeiten haben. Das reicht mir. Für alle andere hab ich mein iPhone / iPad.
Bin heute übrigends noch ein gutes Stück weiter gekommen. Meine Onkyo spricht jetzt auch via Netzwerk mit mir :wink:

Genau deshalb hab ich das geschrieben. Ganz einfach und simpel. Wir hören auch nur Radio drüber und Meldungen von IPS.

Die Durchsagen hab ich grad eingebaut. :wink:

So bin seit gestern auch ein stolzer SQB Besitzer.:slight_smile:
Hat jemand schon eine Funktion zur Statusabfrage geschrieben oder habe ich diese übersehen? D.h. ich möchte beim Start von IPS den SQB Status abfragen.

Hi Thomas,
schau mal hier. Da sollte eigentlich alles drin sein.

Hallo Uwe,

danke. Hab ich mir schon angeschaut, aber da finde ich auch keine Statusabfrage. Werner fragt den Status nach dem „Power“ Befehl ab, ich möchte Ihn aber vorher wissen.

Habs jetz so gelöst:
Server auf listen stellen und Infos holen.


CSCK_SendText(11209 /*[Client Socket Squeezebox]*/, $mac.' status '.chr(13));

Statusinfos können dann über die RegVar aus dem array geholt werden.

Hallo Thomas,
alle Kommandos der SQB findest du über die Server URL

http://server: port/html/docs/cli-api.html

Port ist bei mir 9001

Finde ich gut, dass du auch mit Squeeze einsteigst :D. Ich kämpfe gerade mit den „alarm“ und „alarms“ um sie vernünftig im Webfront darzustellen. Vielleicht sogar mal Standard-Weckzeiten mit einem Knopfdruck zu setzen bzw. wenigstens „einfach“ ein und aus zu schalten.

Hallo Ralf,

die CLI Infos hattest Du schonmal woanders gepostet, hatte ich gefunden.:wink:
Vieleicht kann man den Wecker dann mit meinem WF-Weckerscript verheiraten.

Erstmal Danke für den Ansatz die Grundfunktionen über möglichst einfaches Scripting anzusteuern. In diesem Zusammenhang suche ich noch nach folgendem Feature:

Gibt es denn die Möglichkeit einen auf der Squeezebox hinterlegten Favoriten (z.B. auch die Squeezebox Stationstasten) zu starten?
Oder gibt es hier nur den Ansatz über vordefinierte Playlisten eine Song-Auswahl zu starten?

Grüße
Blopp

Für die Stationstasten kannst Du SquezzePresetButton($box, $button); benutzen.

Für die Favoriten kannst Du folgende Funktion benutzen, einfach in Rainers Functionsscript einfügen:


function SqueezePlayFavorites($box, $item)
{
   CSCK_SendText(mediaserver, $box.' favorites playlist play item_id:'.$item.chr(13));
}

Aufruf dann z.B. so:


SqueezePlayFavorites($box, 0); 

Hier die Presettasten Funktion.

//Kurzwahltasten 1-6
function SquezzePresetButton($box, $button)
{
    $chr = "button preset_".$button.".single";
    CSCK_SendText(mediaserver, $box." ".$chr.chr(10));
}

Die Steuerung fürs Webfront.

case 37473:
           switch($_IPS['VALUE'])
           {
              case 1: SquezzePresetButton($buero, 1); break;
              case 2: SquezzePresetButton($buero, 2); break;
              case 3: SquezzePresetButton($buero, 3); break;
              case 4: SquezzePresetButton($buero, 4); break;
              case 5: SquezzePresetButton($buero, 5); break;
              case 6: SquezzePresetButton($buero, 6); break;
            }
        break;

und die Auswertung

case "button": // Presettasten
           if($mac == $buero) SetValue(37473 /*[Squezzeboxen\Büro\Presettasten]*/, substr(strstr(trim($data), ".", true), -1));
        break;

Hallo Thomas,

so nicht ganz korrekt.

Wir/ich fragen explezit nur bestimmte Statis ab, prinzipiell liefert der Squeezeserver / LMS alle Statis von alleine (wenn man es dem LMS sagt (listen 1)).

Rainer und ich werten die Statis ab die geliefert werden, Power ist hier nur einer. Wenn Du dir mal die Antwort in der RegisterVariable ansiehst wirst Du sehen das hier eine Unmenge an Daten ankommen die man visualisieren kann.

leider wird die Antwort „button“ nur geliefert wenn die Taste mit einer Playlist/Favoriten belegt wurde. Es gibt aber für den LMS ein AddOn mit dem man das umgehen kann, hat bei mir aber nie richtig funktioniert, also sind die 6 Tasten für mich derzeit sinnlos.

leider wird die Antwort „button“ nur geliefert wenn die Taste mit einer Playlist/Favoriten belegt wurde
Das ist richtig, da wir aber nur über diese Tasten bedienen, passt das schon.

Du kannst aber wenn ich mich nicht irre, die Favoriten zuordnen.
Ich sag ja, ganz simpel. :smiley:

Mit dem Listen, hattest Recht. So wie ich das jetzt gesehen habe, wird es aber nur einmal benötigt, entweder nach IPS-Neustart oder Mediaserver-Neustart.

Rainer,

stimmt natürlich.

Das „listen 1“ wird nur nach einem öffnen des CSKS z.B. nach Neustart des IPS- oder Logitech Media Servers benötigt, danach ist der gesprächig, und wie.

Bzgl. der Buttons ist es schon Schade denn ich würde die Preset.Buttons gerne zur Steuerung meines IPS nutzen, da seltsame ist das es schon mal geklapp hat, aber so ist das halt mit Updates.

so nicht ganz korrekt.

Wir/ich fragen explezit nur bestimmte Statis ab, prinzipiell liefert der Squeezeserver / LMS alle Statis von alleine (wenn man es dem LMS sagt (listen 1)).

Hallo Werner,

ich habe auch nicht gesagt das Du den Status „nur“ nach dem Power Befehl holst, so wie ich Dein Script verstanden habe werden die Stati aber nur über die RegVar aktuell gehalten wenn a) der IPS Dienst an ist und etwas von der Box kommt oder b) wenn Du einen Befehl sendest und etwas zurückgemeldet wird. Ich wollte den Status aber beim Start von IPS abfragen. Und das habe ich dann über die Statusabfrage s.o. so gelöst bekommen.:wink:

Hallo zusammenn

zum Thema Squeezebox habe ich jetzt jede Menge gelesen und auch eines der Scripts ausprobiert.

Aber die Kernfrage lautet: Ich will mein Squeezebox Radio fernsteuern OHNE über den Squeeze Server gehen zu müssen.
Geht das überhaupt?

(Kein Server notwendig da ich nur Radio oder Podcasts aus dem Netz direkt höre)

Danke für eine Info
Alexander