Sonos Modul

In IPSView benutzt Du einen ValueButton und gibst diesem dann den Wert an der gesetzt werden soll. Wenn Du NEO nutzt, dann gehts Du auf Button weist diesem einen Status zu und wählst dort dann bei der passenden Variable set value den Wert der gesetzt werden soll.

Play 1
Pause 2
Stop 3
Rewind 0
Forward 4

Hallo,

neben ein paar neuen Radiosendern, habe ich alle bereits vorhandenen auf TuneIn umgestellt.
Aber damit bin ich nicht so glücklich, weil es gefühlt ewig dauert, bis das Radio endlich an ist.
Allerdings ist es dann viel netter mit Logos und so…
Gibt es von euch eine Meinung ob ich das wieder zurüch auf die WebRadio URLs umstellen muss? (Die zählt zwar nicht so viel, weil ich schauen muss, ob meine Frau meckert…)

Weiterhin gibt es jetzt neben SNS_SetAnalogInput($InstanceID, $InputInstanceID); auch noch


SNS_SetSpdifInput($InstanceID, $InputInstanceID);  

, dank der freundlichen Unterstützung von Timo.

Gruß,
Thorsten

Hallo Thorsten,

Logos sind zwar schön, aber schnelles umschalten finde ich besser.
Meine Meinung, Textzeile mit Radio Sender und Titel reicht mir, und wird auch im LCN Display, wie im Webfront dargestellt.

Ich wäre dafür, die Radiosender nur als Beispiel mit zu geben, die jeder selbst anpassen kann. (nur wie…:confused:)

Moin,

ich habe auch noch einen Wunsch Radiosender.

Bremen Vier : http://httpmedia.radiobremen.de/bremenvier.m3u

Thema mit oder ohne Logo. Der WAF Faktor ist mir Logos ist eindeutig höher.

Abend!

Da ich es selbst grad bei mir umgebaut habe von TuneIn zu direktem Radio-Stream-Zugriff > es geht jetzt DEUTLICH schneller bis ein Stream startet!!! Da verzichte ich lieber auf ein Cover oder jubel es meinem IPS/IPSView anderweitig zu. Die Metadaten kann man ja selbst „festlegen“. Also würde ich lieber noch eine Logo-URL einbauen…müsste man sich mal genauer anschauen.

Grüße,
Chris

Sehe ich genauso! Die jetzige TuneIn-Lösung ist zu langsam. Wenn ich nur Hände wasche bin ich ja schon fast wieder aus dem Bad bevor Musik kommt … :slight_smile:
Die Lösung mit der Url für die Grafiken ist doch relativ einfach und perfekt für den WAF. Du legst als Standard irgendein Radio-Bild ab, jeder der es anders wünscht ändert dies (auch möglich wäre nur die IPS-ID eines Media-Objektes (Bild)).

Ciao Herbertf

N’abend,

eine Frage - wie kann ich denn via Script eine Sonor Playlists über das neue (ist-das-cool-Modul) wiedergeben?

Danke und Viele Grüße

Enno

Hallo,

was bin ich froh, dass ihr der gleichen Meinung seid wie meine Frau. So muss ich eure Meinung wenigstens nicht ignorieren :smiley:
Habe es wieder zurück gestellt.

Ist drin.

Gruß,
Thorsten

Hallo,

noch gar nicht.

Aber mal sehen wann mir wieder langweilig ist. Wird aber ein paar Tage dauern.
Da Chris das aber gerade bei sich eingebaut hat, hätte ich zumindest eine vorlage wie es geht…

Ich habe ab Wochenden Bereitschaft. Könnte sein, dass ich es mir dann mal anschaue.

Gruß,
Thorsten

Moin Thorsten!

Ich kopier dir nachher mal die entsprechenden Funktionen für die Playlisten zusammen und schreib dir noch was dazu, dann musst du nicht lange suchen :slight_smile: Noch verstehe ich selbst was ich da gemacht hab :smiley:

Grüße,
Chris

seit dem letzten Update bekomme ich beim neu anlegen einer neuen Sonos Instanz immer folgende Fehlermeldung.

PS. in den vorhanden Instanzen konnte man „Bremen Vier“ auch nicht als Radiosender auswählen.

Ich habe heute meinen Pi in Betrieb genommen und bei Benutzen des Moduls ebenfalls die Fehlermeldung erhalten.

Nabend,

Wie nur 32?! och menno…
Bremen Vier war Nummer 33…
Ich habe jetzt folgenes gemacht: Wenn in der Config bei „Stations in Webfront“ mehr als 32 ausgewählt sind (oder „<all>“), werden nur die ersten 32 in die associations aufgenommen. Somit auch maximal 32 im Webfront als Knöpfe.

Das ändert aber nichts daran, dass man alle Radiodenser mit SNS_SetRadio(InstanceID,„Name“); auswählen kann. dafür braucht man die associations nicht!

Ja, hatte ich vergessen in das Formular aufzunehmen. Ist jetzt drin.

Gruß,
Thorsten

Hallo,

versuch es mal mit SNS_SetPlaylist(<InstanceID>, ‚name‘);
Das sollte nun die Playliste mit dem namen „name“ anstarten. Natürlich nur sofern es sie gibt…

Gruß,
Thorsten

Hallo Thorsten,

ich habe das Modul aktualisiert.
Leider kann ich nur noch Loudness schalten.
Bei allen anderen Aktionen bekomme ich die Meldung dass die Sonos Box nicht erreichbar sei.
Kannst du dir das erklären?

Hallo,

ja, bei Loudness habe ich vergessen meinen check einzubauen.

Was ich gemacht habe:

ich habe am Anfang der einzelnen funktionen eingabaut, dass die Verfügbarkeit der Box überptüft wird.

Das ganze mit


        $ip = $this->ReadPropertyString("IPAddress");
        if (Sys_Ping($ip, 500) != true)
           throw new Exception("Sonos Box ".$ip." is not available");

Sprich, wenn nach 500ms die Box nicht anwortet, gehe ich davon aus, dass sie nicht verfügbar ist.

500ms finde ich schon recht hoch!
Wenn ich bei mir einen ping von raspberry aus mache, komme ich auf maximal 17ms:


root@ipsymcon:~# ping sonos-kueche-l.fritz.box
PING sonos-kueche-l.fritz.box (192.168.1.10) 56(84) bytes of data.
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=1 ttl=64 time=1.10 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=2 ttl=64 time=1.23 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=3 ttl=64 time=2.49 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=4 ttl=64 time=1.08 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=5 ttl=64 time=1.12 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=6 ttl=64 time=6.27 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=7 ttl=64 time=17.2 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=8 ttl=64 time=1.77 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=9 ttl=64 time=1.23 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=10 ttl=64 time=1.43 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=11 ttl=64 time=1.08 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=12 ttl=64 time=1.08 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=13 ttl=64 time=6.19 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=14 ttl=64 time=1.18 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=15 ttl=64 time=1.92 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=16 ttl=64 time=1.74 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=17 ttl=64 time=1.12 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=18 ttl=64 time=1.10 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=19 ttl=64 time=1.76 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=20 ttl=64 time=1.10 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=21 ttl=64 time=15.2 ms
64 bytes from SonosZP.fritz.box (192.168.1.10): icmp_req=22 ttl=64 time=3.28 ms
^C
--- sonos-kueche-l.fritz.box ping statistics ---
22 packets transmitted, 22 received, 0% packet loss, time 21034ms
rtt min/avg/max/mdev = 1.080/3.266/17.246/4.371 ms
root@ipsymcon:~#

Könntest Du mal bei Dir schauen, wie lange die Boxen brauchen zum antworten?

Danke,
Thorsten

da ich auf der Symbox arbeite kann ich leider keinen direkten Ping ausführen.
Wenn ich einen SYS-Ping aus einem Skript heraus starte habe ich eine Skript-Laufzeit von ca. 55 ms.

Von einem anderen Rechner aus habe ich einen Ping gesendet:

„Ping“ wurde gestartet …

PING 192.168.0.124 (192.168.0.124): 56 data bytes
64 bytes from 192.168.0.124: icmp_seq=0 ttl=64 time=2.579 ms
64 bytes from 192.168.0.124: icmp_seq=1 ttl=64 time=0.953 ms
64 bytes from 192.168.0.124: icmp_seq=2 ttl=64 time=0.999 ms
64 bytes from 192.168.0.124: icmp_seq=3 ttl=64 time=0.932 ms
64 bytes from 192.168.0.124: icmp_seq=4 ttl=64 time=1.098 ms
64 bytes from 192.168.0.124: icmp_seq=5 ttl=64 time=1.118 ms
64 bytes from 192.168.0.124: icmp_seq=6 ttl=64 time=1.135 ms
64 bytes from 192.168.0.124: icmp_seq=7 ttl=64 time=1.118 ms
64 bytes from 192.168.0.124: icmp_seq=8 ttl=64 time=1.080 ms
64 bytes from 192.168.0.124: icmp_seq=9 ttl=64 time=1.130 ms

— 192.168.0.124 ping statistics —
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.932/1.214/2.579/0.460 ms

Das ist seltsam. Anhand der daten sollten die 500ms reichen…

kannst Du bitte mal den output von diesem Script posten:


<?

$ip = '192.168.0.124';

if (Sys_Ping($ip, 1))
  print "1
";

if (Sys_Ping($ip, 1500))
  print "1500
";

if (Sys_Ping($ip, 1400))
  print "1400
";

if (Sys_Ping($ip, 1300))
  print "1300
";

if (Sys_Ping($ip, 1200))
  print "1200
";

if (Sys_Ping($ip, 1100))
  print "1100
";

if (Sys_Ping($ip, 1000))
  print "1000
";

if (Sys_Ping($ip, 900))
  print "900
";

if (Sys_Ping($ip, 800))
  print "800
";

if (Sys_Ping($ip, 700))
  print "700
";

if (Sys_Ping($ip, 600))
  print "600
";

if (Sys_Ping($ip, 500))
  print "500
";

if (Sys_Ping($ip, 400))
  print "400
";

if (Sys_Ping($ip, 300))
  print "300
";

if (Sys_Ping($ip, 200))
  print "200
";

if (Sys_Ping($ip, 100))
  print "100
";

if (Sys_Ping($ip, 1))
  print "1
";

?>

Ich bekomme bei mir bis runter zur 1 angezeigt…

Werden bei Dir denn die Variablen upgedatet? In den scripten ist eine überprüfung mit einem timeout von 1000ms drin.

Gruß,
Thorsten

Hallo,

wenn Du herausfindest, dass es nicht reicht, kannst Du mit dem Update von gerade den Timeout in der Konfiguration der Instanz anpassen.
Einfach den Wert von „Maximal ping timeout“ auf den gewünschten Wert setzen.

Gruß,
Thorsten

Hallo Thorsten,

dein Skript ergibt keine Ausgabe!:loveips::eek:

EDIT: in IPS 3.4 (Win7) funktioniert es.
Das muss wohl an der SymBox liegen…