Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

Sonos | edomi

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • timberland
    antwortet
    Hi,

    den ersten Baustein habe ich mal in den Download geladen.

    Dieser Baustein liest die ersten 5 Playlisten und 5 Meine Radiosender aus und gibt den Namen und uri auf den Ausgängen aus.
    Die uri kann in ein KO übernommen werden. Somit lassen sich die Radiosender oder Playlisten am SONOS Baustein ansteuern.

    Für jede Verbesserung bin wäre ich dankbar.


    ###[DEF]###
    [name =SONOS Playlisten / Meine Radiosender (v1.1) ]

    [e#1 =Trigger/Starten #init=1]
    [e#2 =ipAddr #init=192.168.0.12 ]
    [e#3 =Trace-Log #init=0]

    [a#1 = 1. Playliste ]
    [a#2 = 1. uri ]
    [a#3 = 2. Playliste ]
    [a#4 = 2. uri ]
    [a#5 = 3. Playliste ]
    [a#6 = 3. uri ]
    [a#7 = 4. Playliste ]
    [a#8 = 4. uri ]
    [a#9 = 5. Playliste ]
    [a#10 = 5. uri ]

    [a#11 = 1. Radio ]
    [a#12 = 1. uri ]
    [a#13 = 2. Radio ]
    [a#14 = 2. uri ]
    [a#15 = 3. Radio ]
    [a#16 = 3. uri ]
    [a#17 = 4. Radio ]
    [a#18 = 4. uri ]
    [a#19 = 5. Radio ]
    [a#20 = 5. uri ]

    [a#21 = Debug ]

    [v#1 = 0 ]

    ###[/DEF]###

    ###[HELP]###

    Die Datei sonosAccess.php wird benötigt. Datei ist im Download dabei.
    Diese muss im Ordner /usr/local/edomi/main/include/php liegen.
    Die Classen stammen von https://github.com/tkugelberg/SymconSonos. Aber bitte nicht genau diese Verwenden
    von der Webseite. Hab Sie ein wenig angepasst!

    Dieser Baustein liest von einem SONOS Gerät die gespeicherten Sonos-Playlisten und Meine Radiosender aus (Name und uri).
    Der uri kann an ein anderes Ko übergeben werden (KO: Wert eines anderen KO setzen) und so den SONOS Baustein übergeben werden.
    An E9 Radio uri und an E10 Playlist uri vom SONOS Baustein.

    E1:= !=0 Triggert den Baustein
    E2:= IP Adresse Sonos Gerät

    A1 - A10:= Namen und uri für die gespeicherten Sonos-Playlisten
    A11 - A20:= Name und uri für die gespeichten Radiosender in Meine Radiosender
    A21:= Debug ob SONOS erreichbar oder nicht

    ###[/HELP]###


    Sonos1.png

    Sonos2.png

    Einen Kommentar schreiben:


  • Friese
    antwortet
    Zitat von timberland Beitrag anzeigen
    Freiwillige an die Front....

    Wer mag testen bevor ich den Einstelle.

    [ATTACH=CONFIG]n915981[/ATTACH]


    Moin timberland,

    da ich gerade dabei bin mich in edomi zurechtzufinden und die ersten Baustellen bereits meistern konnte - und somit noch in Probierlaune bin, würde ich mich als Tester anbieten. Zwei Play1 wären zum Testen da

    Gruß
    friese

    Einen Kommentar schreiben:


  • ttcoach
    antwortet
    Guten Abend. Habe mir jetzt auch Sonos-Boxen angeschafft. Würde diese auch gerne mit Edomi ansteuern. Habe im download aber nichts gefunden. Hab ich es überlesen oder gibt es da noch nichts? Muss ich das anders integrieren?
    Leider bin ich selbst nicht mit Programmierkenntnissen gesegnet und bin froh wenn ich einen LBS richtig integrieren kann.
    Danke für eure Hilfe und eure Ideen. Schöne Ostern

    Einen Kommentar schreiben:


  • Robby
    antwortet
    .@LynnBayer

    ....und zur Strafe wird jetzt mal 500 mal

    EDOMI EDOMI EDOMI EDOMI.....
    geschrieben.....wobei sich Eiomi auch nicht schlecht anhört

    EDOMI: "domi" ist lateinisch für "Zuhause" - und das "e" steht für garnix (Die Begründung vom Namensgeber......dem GROSSEN Meister aus Übersee!!!!!)

    Einen Kommentar schreiben:


  • LynnBayer
    antwortet
    Habe mir heute mal alle Videos zu Eiomi angeschaut. Sieht sehr gut aus und jetzt sehe ich das Sonos darüber auch laufen wird Sehr cool. Dann muss ich jetzt mal Eiomi installieren dann kann ich mit testen

    Einen Kommentar schreiben:


  • KNXFan1970
    antwortet
    Zitat von timberland Beitrag anzeigen
    wenn du ihn schon testen möchtest, kannst dich bei mir melden.
    Klar - ich teste gern mit. PM ist unterwegs...
    Danke.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von timberland Beitrag anzeigen
    Danke nochmals!
    Haett ich gewusst, dass Du ne Playlist hast die "Schlager" heisst, haett ich nicht geholfen

    Ne, gern geschehen...

    Einen Kommentar schreiben:


  • timberland
    antwortet
    Mein Meister

    192_168_0_51_data_log_TRACELOG_htm_20160305061401.png

    Jetzt kann ich die Radio Favoriten und Favoriten Playliste vom Sonos auslesen und in ein KO übergeben.

    Danke, Danke, Danke nochmals!



    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von timberland Beitrag anzeigen
    Wo ich aber immer noch ein Problem habe ist bei "xpath".
    Das ist dieselbe Problematik:
    PHP-Code:
    $container->xpath('dc:title')[0
    ist syntaktisch falsch, denn [xyz] kann man nur als Array Index verwenden, was Du da aber hast ist erstmal ein Funktionsaufruf, da darf man das nicht einfach hinterdranhaengen...
    Also auch hier:
    PHP-Code:
    $b=$container->xpath('dc:title');
    $Associations[] = Array($Value++, (string)$b[0], (string)$container->res, -1); 

    Einen Kommentar schreiben:


  • timberland
    antwortet
    @KNXFan1970
    wenn du ihn schon testen möchtest, kannst dich bei mir melden.
    Muss noch ein wenig Feintunen

    Einen Kommentar schreiben:


  • timberland
    antwortet
    Hallo Michael,

    diese Problem habe ich so ähnlich gelöst.
    Wo ich aber immer noch ein Problem habe ist bei "xpath". Sobald das drinnen ist, kann ich das Projekt nicht übertragen. Es kommt eine Fehlermeldung.

    $Associations[] = Array($Value++, (string)$container->xpath('dc:title')[0], (string)$container->res, -1);

    wobei wenn ich xpath rausnehme, dann geht es.
    $Associations[] = Array($Value++,(string)$container->res, -1);

    aber dann fehlt mir halt der string
    Zuletzt geändert von timberland; 05.03.2016, 16:04.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von timberland Beitrag anzeigen
    kannst du mir bitte sagen warum ich hier das Projekt nicht übertragen kann sobald ["Result"] in der Zeile steht.
    Ich kenn die Sonos-Klasse nicht, aber das ist ein simpler Syntaxfehler. So aehnlich waere es vermutlich richtiger:
    PHP-Code:
    $a=$sonos->BrowseContentDirectory('SQ:');
    $radio=$a['Result']; 

    Einen Kommentar schreiben:


  • KNXFan1970
    antwortet
    timberland
    Interessehalber - wie ist der Status deines Sonos-LBS?
    Zuletzt geändert von KNXFan1970; 05.03.2016, 15:51.

    Einen Kommentar schreiben:


  • timberland
    antwortet
    Christian

    kannst du mir bitte sagen warum ich hier das Projekt nicht übertragen kann sobald ["Result"] in der Zeile steht.

    $radio=$sonos->BrowseContentDirectory('SQ:')['Result'];

    Einen Kommentar schreiben:


  • timberland
    antwortet
    Hi,

    gibt es dafür einen Grund, dass diese Funktion im Logikbaustein nicht funktionieren? Auf der Webseite funktioniert das problemlos.

    PHP-Code:
    public function UpdatePlaylists()
     {
        
    $Associations=Array();
                
    $Value=1;
                    foreach ((new 
    SimpleXMLElement($this->BrowseContentDirectory('SQ:')['Result']))->container as $container) {
                            
    $Associations[] = Array($Value++, (string)$container->xpath('dc:title')[0], (string)$container->res, -1);
                            
    // associations only support up to 32 variables
                        
    if( $Value === 33 ) break;
                    }
             
    usort($Associations, function($a,$b){return strnatcmp($a[1], $b[1]);});
                   
    $Value 1;
                    foreach(
    $Associations as $Association) {
                       
    $Associations[$Value-1][0] = $Value++ ;
               } 
          return  
    $Associations;

    Einen Kommentar schreiben:

Lädt...
X