+ Antworten
Ergebnis 1 bis 1 von 1
  1. #1
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,304

    Cool Sonos CONNECT > Autoplay Raum - per Skript einstellen

    Hallo allerseits

    Es gab ja immer wieder mal die Frage "wie kann ich den Eingang von einem Sonos Connect auswählen"

    Ich habe FAST eine Antwort

    Für mich ist es die perfekte Lösung Ich beschreibe mal kurz meinen Aufbau. Ich hab im Wohnzimmer einen Denon Dolby Receiver. Daran angeschlossen sind TV, PS4, ... und ein Sonos Connect auf Zone2. Wenn ich beim Denon "All Zone Stereo" aktiviere, dann kommt der Ton vom Denon (egal was darüber gerade läuft) auf Zone2 raus und geht damit auf den Eingang vom Sonos Connect. Jetzt war die Frage, wie bekomme ich das in einen bestimmten Raum (und nicht immer in den gleichen Raum).

    Sonos bietet beim Connect die Möglichkeit einen "Autoplay Raum" einzustellen (in der Handy App unter "Einstellungen > Raumeinstellungen > Raumname vom Connect > Eingang > Autoplay-Raum"). Das bedeutet, sobald am Eingang vom Connect ein Audio-Signal rein kommt, dann wird dieses automatisch in einem bestimmten voreingestellten Raum abgespielt. Aber ich will ja nicht immer den gleichen Raum zur Wiedergabe haben!

    Meine Lösung dazu > dieses Skript:
    PHP-Code:
    <?
    /* Trigger mit Variablenänderung auf eine Integer-Variable, mit Variablenprofil mit allen Sonos-Raumnamen */
    $SonosZP_Connect_IP "192.168.1.20";  // IP vom Sonos Connect
    $SonosZP_Connect_Port 1400;  // Default Port für SOAP von Sonos
    $BadOben_RINCON "RINCON_1111111111";
    $Flur_RINCON "RINCON_2222222222";
    $Gaestezimmer_RINCON =  "RINCON_3333333333";
    $Kueche_RINCON =  "RINCON_4444444444";
    $Schlafzimmer_RINCON =  "RINCON_5555555555";


    switch(
    GetValueFormatted(@$_IPS['VARIABLE'])) {
        case 
    "Bad oben":
        
    Sonos_SetConnectAutoplayRoom($BadOben_RINCON);
        break;

        case 
    "Flur":
        
    Sonos_SetConnectAutoplayRoom($Flur_RINCON);
        break;

        case 
    "Gaestezimmer":
        
    Sonos_SetConnectAutoplayRoom($Gaestezimmer_RINCON);
        break;

        case 
    "Kueche":
        
    Sonos_SetConnectAutoplayRoom($Kueche_RINCON);
        break;

        case 
    "Schlafzimmer":
        
    Sonos_SetConnectAutoplayRoom($Schlafzimmer_RINCON);
        break;
    }


    function 
    Sonos_SetConnectAutoplayRoom($SonosZP_AutoplayRoom_RINCON) {
    Global 
    $SonosZP_Connect_IP;
    Global 
    $SonosZP_Connect_Port;
    $content='POST /DeviceProperties/Control HTTP/1.1
    HOST: '
    .$SonosZP_Connect_IP.':'.$SonosZP_Connect_Port.'
    SOAPACTION: "urn:schemas-upnp-org:service:DeviceProperties:1#SetAutoplayRoomUUID"
    CONTENT-TYPE: text/xml; charset="utf-8"
    Content-Length: 383

    <?xml version="1.0" encoding="utf-8"?>
    <s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
       <s:Body>
          <u:SetAutoplayRoomUUID xmlns:u="urn:schemas-upnp-org:service:DeviceProperties:1">
             <RoomUUID>'
    .$SonosZP_AutoplayRoom_RINCON.'</RoomUUID>
          </u:SetAutoplayRoomUUID>
       </s:Body>
    </s:Envelope>'
    ;
    $result Sonos_SendSOAP($SonosZP_Connect_IP$SonosZP_Connect_Port$content);
    return 
    $result;
    }

    function 
    Sonos_SendSOAP($address$port$content) {
        
    $fp fsockopen($address$port);
       
    fputs ($fp$content);
       
    $result stream_get_contents($fp, -1);
       
    fclose($fp);
       return 
    $result;
    }

    ?>
    ...ich habe mir noch ein wenig drum herum gebaut, so dass ich im WebFront/IPSView in jedem Raum die Möglichkeit habe "Denon Ton abspielen" zu aktivieren. Aber wie wo was da jeder außen rum machen will, das bleibt euch überlassen

    Wenn man den Inhalt von $content entsprechend ändert, kann man ALLES von seinen Sonos steuern, was man auch mit der Sonos App oder der Desktop Software einstellen oder steuern/bedienen kann!!! Also seid kreativ und bastelt mal ein paar schöne Sachen

    Viel Spaß damit!

    EDIT: Noch ein kurzer Nachtrag. Dieses Skript setzt in den Einstellungen ja nur den Autoplay-Raum, danach muss man noch (durch dieses oder ein anderes Skript) dafür sorgen, dass am Eingang vom Connect ein Audio-Signal aufläuft. Ich überwache dazu meine einzelnen, extra angelegten, Autoplay-Raum-Variablen und aktiviere NACH diesem diesem Skript das AllZoneStereo vom Denon. Also erst den Autoplay-Raum setzt, 2 Sekunden warten und dann das Signal zum Eingang vom Connect abspielen und schon spielt der gewählte Raum das ab

    Grüße,
    Chris
    Geändert von Bayaro (30.08.15 um 10:04 Uhr)
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

Ähnliche Themen

  1. Sonos - Eingang setzen (Auswahl des Cinch-Eingangs bei SONOS CONNECT)
    Von herbertf im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 5
    Letzter Beitrag: 29.08.15, 22:58
  2. Sonos - einzelne Befehle in ein Skript packen
    Von Lieschen im Forum WebFront
    Antworten: 4
    Letzter Beitrag: 08.04.15, 15:54
  3. Cutter per Skript Einstellen
    Von fraggle im Forum Skripte, PHP, SQL
    Antworten: 2
    Letzter Beitrag: 25.11.13, 07:24
  4. IP-Symcon Spezialist Raum Stuttgart
    Von arndroller im Forum Stammtische
    Antworten: 7
    Letzter Beitrag: 21.02.10, 11:59
  5. Umschaltung Betriebsart pro Raum
    Von sabbelsau im Forum Eaton Xcomfort
    Antworten: 2
    Letzter Beitrag: 14.09.08, 20:00

Stichworte